官网:https://www.quanzhan.co/luch-request/

/*** @version 3.0.4* @Author lu-ch* @Email webwork.s@qq.com* 文档: https://www.quanzhan.co/luch-request/* github: https://github.com/lei-mu/luch-request* DCloud: http://ext.dcloud.net.cn/plugin?id=392* HBuilderX: beat-2.7.14 alpha-2.8.0*/
import Request from '@/utils/luch-request/index.js'
import $mConfig from '@/config/index.config.js';
const getTokenStorage = () => {let Authorization = ''try {Authorization = uni.getStorageSync('Authorization')} catch (e) {}return Authorization
}const http = new Request()
http.setConfig((config) => {/* 设置全局配置 */// #ifdef H5config.baseURL = "/api/graphql";// #endif// #ifdef MP-WEIXINconfig.baseURL = $mConfig.baseUrl /* 根域名不同 */// #endifconfig.header = {...config.header}return config
})http.interceptors.request.use((config) => {/* 请求之前拦截器。可以使用async await 做异步操作 */config.header = {...config.header,Authorization: getTokenStorage()}return config
}, (config) => {return Promise.reject(config)
})http.interceptors.response.use(async (response) => {/* 请求之后拦截器。可以使用async await 做异步操作  */let isShowApp = uni.getStorageSync("isShowApp") || null;if (isShowApp && !isShowApp.show) {return Promise.reject(null)}return response.data
}, (response) => { // 请求错误做点什么// 小程序未登录弹窗//#ifdef MP-WEIXINif (response.statusCode == 401) {// 立马获取 获取不到 故延迟setTimeout(() => {const pages = getCurrentPages();const curPage = pages[pages.length - 1].$page.fullPath;uni.setStorageSync('redirectURL', curPage);}, 1000)uni.showModal({title: "温馨提示",content: "你还未登录,是否前往登录?",success(res) {if (res.confirm) {uni.navigateTo({url: "/pages/login/login"})}}})return Promise.reject(null)}//#endifreturn Promise.reject(response)
})export {http
}

uni-app 跨平台、项目级别的请求库 luch-request封装相关推荐

  1. python urllib.request 爬虫 数据处理-python爬虫1--urllib请求库之request模块

    urllib为python内置的HTTP请求库,包含四个模块: request:最基本的HTTP请求模块, 只需要传入URL和参数 error:异常处理模块 parse:工具模块,处理URL,拆分.解 ...

  2. 基于vue.js的uni app跨平台框架webapp、安卓app、苹果app、微信小程序 毕业设计 毕设作品 开题报告论文参考(2)预约订座APP系统

    效果图

  3. vue基于promise可以用于浏览器和node.js的网络请求库【axios封装-收藏版】

  4. uni app(H5)中软键盘弹出,固定定位绝对定位元素位置发生错乱

    一.问题如下 最近用uni app写项目,发现H5软键盘弹起,导致我固定定位的按钮被顶了上去,如图 二.解决方法 1.让其在输入框获取焦点时隐藏 百度了许多,有让输入框获取焦点时让按钮隐藏的方法,失去 ...

  5. 自学Python第二十二天- Django框架(一)创建项目、APP、快速上手、请求和响应流程、模板、数据库操作

    Django 框架是一个基于 python 的重量级的 web 开发框架,现今很多大公司大项目都是使用 Django 框架.采用了 MVC(model view controller) 的框架模式,p ...

  6. uni app input添加获取验证码按钮_uni-app跨平台框架对微信小程序的无障碍支持探索...

    uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝).快应用等多个平台. ...

  7. 利用Flutter写一个跨平台的果核APP(3)——网络请求

    前言 紧接上文界面篇,上文中在构建布局的时候因为是直接将文字图片显示出来的,所以消息类Message,和日知录类One都是采用的无状态的StatelessWidget类,这次我们需要调用接口,然后将返 ...

  8. Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍经常使用的开发库,包含依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本号向低版本号 ...

  9. App跨平台开发方案与抉择

    内心强大才敢于承认错误,但是首先你要敢于去试错. 现在做客户端开发的公司都会面临一个巨大的问题,那么就是跨平台.对于目前上市面上的移动设备来说.Android.IOS.WindowsPhone.Bla ...

最新文章

  1. AXIS2整合spring需要的jar,以及大部分缺少jar所报的异常
  2. vs c语言 多线程demo,一个多线程的Socket通信Demo(C语言实现)
  3. 20170623_oracle_SQL
  4. java私聊_【转帖】实现了视频私聊功能
  5. 如何建立个人创业的基石
  6. Boosting and AdaBoost
  7. altium designer设计3D PCB技巧
  8. 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 Baseline
  9. 耳目一新的汇小贷P2P网贷加盟连锁优势
  10. 新版白话空间统计(24):中位数中心
  11. OSError: [Errno 28] inotify watch limit reached
  12. [0CTF 2016] piapiapia 题解
  13. ohmyzsh用在mysql_oh-my-zsh git 命令缩写 以及macbook使用感受
  14. 动态图册用HTML怎么制作,imgplay gif动图制作如何使用?imgplay图文使用教程
  15. 利用imu估计roll、pitch的理解
  16. 北大ACM线上比赛有感
  17. win7系统安装sql server 2000 图解全过程
  18. Hadoop大数据技术栈详解
  19. 2021年完美的借条怎么写
  20. MogaFX —北美和大洋洲的汇率

热门文章

  1. python北京培训视频
  2. Unity中让角色朝摄像机方向移动
  3. 微信小程序开发制作注意这几个重点方面
  4. Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW
  5. Android/Java汉字转拼音类及按A-Z排序方法
  6. 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”
  7. daubcqf matlab,ShearLab-1.1 matlab 238万源代码下载- www.pudn.com
  8. 前端学习记录 —— HTML篇(下)
  9. Android OpenGL ES (八)纹理绘制
  10. 从0到1搞出个人app实现长久盈利