微信小程序--3.request.ts文件封装
3.request.ts文件封装
api.ts
import request from './request' //获取token export function init(data: object){ return request({ url:'/api/wechat_mini/auth/wx_init', data }) }
request.ts
const app = getApp(); //提示语方法 function Toast( title: string | WechatMiniprogram.IAnyObject | ArrayBuffer, icon = "none" ) { wx.showToast({ title, icon, duration: 2000, }); }//这里ts校验还有一些问题,后续改正 //封装request请求 const request = (params: any) => { const { url, method = "POST", data = {}, contentType = "application/json", } = params; console.log('url:',url) console.log('method:',method) console.log('data:',data) console.log('contentType:',contentType) const token = wx.getStorageSync("token") || ""; return new Promise(function (resolve, reject) { wx.request({ url: `${app.globalData.baseUrl}/home/${url}`, data: data, method: method, header: { "Content-Type": contentType, Authorization: token, }, success: function (res) { if (res.header.Authorization || res.header.authorization) { wx.setStorageSync( "token", res.header.Authorization || res.header.authorization ); } var code = res.statusCode; switch (code) { case 401: wx.showModal({ title: "登录提示", content: "身份已过期,请重新登录后再来操作!", success(res) { if (res.confirm) { wx.navigateTo({ url: "../accredit/accredit", }); } }, }); break; case 402: Toast("该用户账号被冻结"); break; case 403: wx.showModal({ title: "温馨提示", content: "请认证后再来操作!", success(res) { if (res.confirm) { wx.navigateTo({ url: "../register/register", }); } }, }); break; case 422: Toast(res.data); resolve(res); break; default: resolve(res); break; } }, fail: function (err: any) { Toast("网络错误"); reject(err); }, }); }); }; export default request;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
2022-10-25 js禁止浏览器操作页面回退