uni-app 跨平台、项目级别的请求库 luch-request封装
官网: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封装相关推荐
- python urllib.request 爬虫 数据处理-python爬虫1--urllib请求库之request模块
urllib为python内置的HTTP请求库,包含四个模块: request:最基本的HTTP请求模块, 只需要传入URL和参数 error:异常处理模块 parse:工具模块,处理URL,拆分.解 ...
- 基于vue.js的uni app跨平台框架webapp、安卓app、苹果app、微信小程序 毕业设计 毕设作品 开题报告论文参考(2)预约订座APP系统
效果图
- vue基于promise可以用于浏览器和node.js的网络请求库【axios封装-收藏版】
- uni app(H5)中软键盘弹出,固定定位绝对定位元素位置发生错乱
一.问题如下 最近用uni app写项目,发现H5软键盘弹起,导致我固定定位的按钮被顶了上去,如图 二.解决方法 1.让其在输入框获取焦点时隐藏 百度了许多,有让输入框获取焦点时让按钮隐藏的方法,失去 ...
- 自学Python第二十二天- Django框架(一)创建项目、APP、快速上手、请求和响应流程、模板、数据库操作
Django 框架是一个基于 python 的重量级的 web 开发框架,现今很多大公司大项目都是使用 Django 框架.采用了 MVC(model view controller) 的框架模式,p ...
- uni app input添加获取验证码按钮_uni-app跨平台框架对微信小程序的无障碍支持探索...
uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝).快应用等多个平台. ...
- 利用Flutter写一个跨平台的果核APP(3)——网络请求
前言 紧接上文界面篇,上文中在构建布局的时候因为是直接将文字图片显示出来的,所以消息类Message,和日知录类One都是采用的无状态的StatelessWidget类,这次我们需要调用接口,然后将返 ...
- Android开源项目第二篇——工具库篇
本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍经常使用的开发库,包含依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本号向低版本号 ...
- App跨平台开发方案与抉择
内心强大才敢于承认错误,但是首先你要敢于去试错. 现在做客户端开发的公司都会面临一个巨大的问题,那么就是跨平台.对于目前上市面上的移动设备来说.Android.IOS.WindowsPhone.Bla ...
最新文章
- AXIS2整合spring需要的jar,以及大部分缺少jar所报的异常
- vs c语言 多线程demo,一个多线程的Socket通信Demo(C语言实现)
- 20170623_oracle_SQL
- java私聊_【转帖】实现了视频私聊功能
- 如何建立个人创业的基石
- Boosting and AdaBoost
- altium designer设计3D PCB技巧
- 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 Baseline
- 耳目一新的汇小贷P2P网贷加盟连锁优势
- 新版白话空间统计(24):中位数中心
- OSError: [Errno 28] inotify watch limit reached
- [0CTF 2016] piapiapia 题解
- ohmyzsh用在mysql_oh-my-zsh git 命令缩写 以及macbook使用感受
- 动态图册用HTML怎么制作,imgplay gif动图制作如何使用?imgplay图文使用教程
- 利用imu估计roll、pitch的理解
- 北大ACM线上比赛有感
- win7系统安装sql server 2000 图解全过程
- Hadoop大数据技术栈详解
- 2021年完美的借条怎么写
- MogaFX —北美和大洋洲的汇率
热门文章
- python北京培训视频
- Unity中让角色朝摄像机方向移动
- 微信小程序开发制作注意这几个重点方面
- Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW
- Android/Java汉字转拼音类及按A-Z排序方法
- 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”
- daubcqf matlab,ShearLab-1.1 matlab 238万源代码下载- www.pudn.com
- 前端学习记录 —— HTML篇(下)
- Android OpenGL ES (八)纹理绘制
- 从0到1搞出个人app实现长久盈利