minisns接口
1、全局说明
2、错误码
3、站点整体配置信息
登录
app微信登录
App支付
app支付类型
创建订单(充电,开通会员)
创建订单(购物车)
前端查询订单支付状态
微信支付通知(微信官方调用)
支付宝通知(支付宝官方调用)
购物车订单重新支付
网站扫码支付
模块
滑动视频
用户相关
获取用户
三方系统用户登录状态同步
笔记相关
与我相关的笔记
评论分页
系统相关【后端接口】
用户通知
余额变动
金币变动
定位服务
逆地理编码
收集系统
为收集系统增加数据
分站列表
增加商品
二手系统
新增评论
评论列表
领养系统
领养-留言列表
领养-新增留言
图集系统
图集-新增评论
图集-评论列表
系统转换
DiscuzX导出说明。
其他
获取微信小程序UrlLink
群机器人
获取推送信息
本文档由 @邵闻 发布
-
+
首页
1、全局说明
## 一、接口统一请求 ### 1、head规范 head必须带有device(都是小写),代表当前请求来自的平台。  ### 2、返回格式 status:代表业务是否成功,一般作为判断依据。 code:作为status的补充,code可以作为更细致的判断。 ```json { "status":true, "code":200, "message":"提示", "data":{ "key":"value" } } ``` ```javascript // 大概逻辑是: res = 返回结果 if(res.status){ if(res.code == 200){ 逻辑1 }else if(res.code = 201){ 逻辑2 } }else{ toast(res.message) } ``` ### 3、请求封装 1、目前移动端的request封装是: ```javascript function request(url, data = {}, method = 'GET') { return new Promise(function(resolve, reject) { uni.request({ url, data, method, header: { 'Content-Type': 'application/json', token: uni.getStorageSync('token'), played: uni.getStorageSync('played'), fromUser: uni.getStorageSync('form_user'), safeCode: uni.wen.api.safeCode, // #ifdef MP device: 'mp', // #endif // #ifdef H5 device: 'h5', // #endif // #ifdef APP device: 'app', // #endif }, success: function(res) { // console.log('===============请求数据=================='); // console.log("url",url) // console.log("请求data:", JSON.stringify(data)) // console.log("res",res) // console.log('-----------------------------------------'); uni.hideLoading(); if (res.statusCode == 200) { if (res.data.code == 503002) { if(uni.$store.state.scene == 14){ return; } uni.wen.toUrl(6, '/pages/common/login', null); } else if (res.data.code == 503003) { //token过期 // #ifdef MP getNewToken().then(() => { request(url, data, method).then((res) => { resolve(res); }); }); // #endif // #ifndef MP //非小程序 ,token过期的话,就直接跳登录 console.log("token过期 跳登录11") uni.clearStorageSync("token"); uni.clearStorageSync("userInfo"); debounce(function() { console.log("token过期 跳登录22") if(uni.$store.state.scene == 14){ return; } uni.wen.toUrl(6, '/pages/common/login', null); }, 1000) // #endif } else { resolve(res.data); } } else { reject(res.errMsg); } }, fail: function(err) { if(method == 'POST'){ uni.$store.commit('updatePostingUrl', ''); } console.log("request err", err, url) reject(err); } }); }); } ``` 2、上传文件封装 ```javascript function uploadFile(url, filePath, scene) { let that = this; return new Promise(function(resolve, reject) { uni.uploadFile({ url: url, filePath: filePath, name: 'file', header: { token: uni.getStorageSync('token'), played: uni.getStorageSync('played'), safeCode: uni.wen.api.safeCode, // #ifdef MP device: 'mp', // #endif // #ifdef H5 device: 'h5', // #endif // #ifdef APP device: 'app', // #endif scene: scene }, success: function(res) { uni.hideLoading(); let data = JSON.parse(res.data); if (res.statusCode == 200) { if (data.code == 503002) { if(uni.$store.state.scene == 14){ return; } uni.wen.toUrl(6, '/pages/common/login', null); } else if (data.code == 503003) { //token过期 // #ifdef MP getNewToken().then(() => { uploadFile(url, filePath, scene).then((res) => { resolve(res); }); }); // #endif // #ifndef MP //非小程序 ,token过期的话,就直接跳登录 console.log("token过期 跳登录11") uni.clearStorageSync("token"); uni.$store.commit('updateUserInfo', {}); debounce(function() { console.log("token过期 跳登录22") if(uni.$store.state.scene == 14){ return; } uni.wen.toUrl(6, '/pages/common/login', null); }, 1000) // #endif } else { resolve(data); } } else { reject(res.errMsg); } }, fail: function(err) { reject(err); } }); }); } ``` 更多可以查看示例:(移动端前端代码) 
@邵闻
2023年6月19日 12:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码