当前位置: 首页 > news >正文

网站备案抽查号码会员积分系统

网站备案抽查号码,会员积分系统,兴化网页定制,中国十大门窗品牌排行榜最近在学Uniapp#xff0c;到封装请求的时候本来还想用axios#xff0c;但是看到一些教学视频有更简单的方法#xff0c; 基于uni的拦截器和Promise封装的请求函数 但是他们是用TS写的#xff0c;还没学到TS#xff0c;我就把JS写了#xff0c;最终也是请求成功 // src/…最近在学Uniapp到封装请求的时候本来还想用axios但是看到一些教学视频有更简单的方法 基于uni的拦截器和Promise封装的请求函数 但是他们是用TS写的还没学到TS我就把JS写了最终也是请求成功 // src/utils/http.jsimport { useUserStore } from ../stores/modules/user// 请求基地址 const baseURL https://pcapi-xiaotuxian-front-devtest.itheima.net// 拦截器配置 const httpInterceptor {// 拦截前触发invoke(options) {// 1. 非 http 开头需拼接地址if (!options.url.startsWith(http)) {options.url baseURL options.url}// 2. 请求超时options.timeout 10000// 3. 添加小程序端请求头标识options.header {source-client: miniapp,...options.header,}// 4. 添加 token 请求头标识const userStore useUserStore()const token userStore.getToken() ? userStore.getToken() : if (token) {options.header.Authorization token}}, }// 拦截 request 请求 uni.addInterceptor(request, httpInterceptor) // 拦截 uploadFile 文件上传 uni.addInterceptor(uploadFile, httpInterceptor)export const http (options) {return new Promise((resolve, reject) {uni.request({...options,success(res) {if (res.statusCode 200 res.statusCode 300){resolve(res.data)} else if ( res.statusCode 401){const userStore useUserStore()userStore.removeToken()uni.navigateTo({ url: /pages/login/login })reject(res)} else {uni.showToast({icon: none,title: (res.data).msg || 请求错误,})reject(res)}},fail(err) {uni.showToast({icon: none,title: 请求失败,})reject(err)}})}) } 组件引入http方法进行请求 最后附上TS的写法感觉其实差不多只是用TS语法进行了一下泛型的判断 // src/utils/http.ts// 请求基地址 const baseURL https://pcapi-xiaotuxian-front-devtest.itheima.net// 拦截器配置 const httpInterceptor {// 拦截前触发invoke(options: UniApp.RequestOptions) {// 1. 非 http 开头需拼接地址if (!options.url.startsWith(http)) {options.url baseURL options.url}// 2. 请求超时options.timeout 10000// 3. 添加小程序端请求头标识options.header {source-client: miniapp,...options.header,}// 4. 添加 token 请求头标识const memberStore useMemberStore()const token memberStore.profile?.tokenif (token) {options.header.Authorization token}}, }// 拦截 request 请求 uni.addInterceptor(request, httpInterceptor) // 拦截 uploadFile 文件上传 uni.addInterceptor(uploadFile, httpInterceptor)type DataT {code: stringmsg: stringresult: T } // 2.2 添加类型支持泛型 export const http T(options: UniApp.RequestOptions) {// 1. 返回 Promise 对象return new PromiseDataT((resolve, reject) {uni.request({...options,// 响应成功success(res) {// 状态码 2xx参考 axios 的设计if (res.statusCode 200 res.statusCode 300) {// 2.1 提取核心数据 res.dataresolve(res.data as DataT)} else if (res.statusCode 401) {// 401错误 - 清理用户信息跳转到登录页const memberStore useMemberStore()memberStore.clearProfile()uni.navigateTo({ url: /pages/login/login })reject(res)} else {// 其他错误 - 根据后端错误信息轻提示uni.showToast({icon: none,title: (res.data as DataT).msg || 请求错误,})reject(res)}},// 响应失败fail(err) {uni.showToast({icon: none,title: 网络错误换个网络试试,})reject(err)},})}) }
http://www.dnsts.com.cn/news/123427.html

相关文章:

  • 网站建设付费项目购物网站 怎么做
  • 国内较好的网站设计公司镇平网站建设
  • mvc 门户网站开发框架湖州网络推广
  • 怎么做网站内容调研网站翻页
  • 在本地怎么做网站有没有淄博张店做兼职工作的网站
  • 温州建设网站网站开发代理商
  • 应聘网站建设工程师宝安网站建设多少钱
  • 大连免费模板建站网站死链怎么办
  • 微商城网站建设案例京东网站建设评估
  • 可以做同城活动的网站黑龙江省建设教育协会网站首页
  • 微信网站如何制作做网站 聊城
  • 酒店网站建设策划书怎么写零起飞网站建设工作室
  • 东莞 网站建设平台推广
  • 怎么做电影网站页面的学校网站建设及使用档案
  • 手机网站建设的行情网站建设crm
  • 苏州专业网站建设一流的网站建设与优化
  • 西安现在可以自由出入吗关键词排名优化免费
  • 微网站设计平台2023年注册公司需要什么资料
  • 网站内容建设包括什么数据分析网页
  • 互联网站备案表设计网站的目的
  • 金华浦江网站建设.中国域名的网站
  • 产品商城网站建设怎么把svg做网站背景
  • 如何查询一个网站的空间服务商全网展示型网站建设
  • 新华路街道网站建设营销培训课程
  • 网站 利润投票链接制作
  • 注册网站域名的作用wordpress的小工具怎么用
  • 温州优化网站方法泉州英文网站建设
  • wordpress+外观+权限沈阳seo优化
  • 搭建个网站需要多少钱公司网站建设一条龙
  • 美观网站建设物美价廉希音跨境平台入驻条件