1.1.1 • Published 2 years ago

genie-request-sdk v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

智能闹钟请求sdk

流程图

npm.io

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.1.1

2 years ago

1.1.0

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago