1.0.0 • Published 2 years ago
ai-genie-request-sdk v1.0.0
智能闹钟请求sdk
流程图
api设计
发起请求
import instance from 'genie-request-sdk';
// sdk自动处理环境
instance.baseUrl = 'https://weixin.genie-share.com'
instance.baseUrlPre = 'https://weixin.genie-share.com'
// 前处理
instance.handleRequest = (opt) => {
return opt;
}
// 后处理
instance.handleResponse = (res) => {
// console.log('接口调用结果', res);
if (res.Code === 200 || res.Code === '200' || res.Code === 'SUCCESS') {
return res.Result || true;
} else if (res.Code === 5140001 || res.Code === 5140002) {
// 去小程序绑定账号
return false;
} else {
console.log(res)
const t = Toast.open({ text: res?.Message ?? '服务开小差了,稍后再试试吧', duration: 2500 });
return false;
}
}
const { post } = instance;
// 发起请求
post({
url: '/api', // 或完整url
data: {}, // json会被stringify
withToken: false // 不需要携带登录信息 默认true
}).then(res => {
if (res.Code === 200) {
// get data from res.Result
} else if (res.Code === 5140001) {
// go to login page
} else {
// handle error message from res.Message
}
})
小程序登录逻辑封装
import {
getGenieWithPhone,
createGenieWithPhone,
getTokenWithGenie,
cancelRelate,
deleteUser
} from 'genie-request-sdk';
type genieUserInfo = {
encryptedAligenieUserIdentifier: string, // genie id
aligenieNickname: string, // 昵称
avatar: string // 头像信息
}
// 使用电话获取genieId
getGenieWithPhone({ phoneNumber, ecologyOpennessAuthLoginType }).then(res => {
if (res.Code === 200) {
// 从res.data中获取genieUserInfo
} else if (res.Code === 5140002) {
// 引导用户确认用手机号创建猫精账号
} else {
// 提示错误信息
}
});
// 直接使用电话创建genieId
createGenieWithPhone().then(res => {
if (res.Code === 200) {
// 结束去往业务
} else {
// 提示错误信息
}
})
// 使用genieId获取token
getTokenWithGenie({ encryptedAligenieUserIdentifier }).then(res => {
if (res.Code === 200) {
// 结束去往业务
} else {
// 提示错误信息
}
})
// 解绑微信身份
cancelRelate();
// 注销电话创建的genie账号
deleteUser();
1.0.0
2 years ago