// toast 提示信息功能封装
// delectAllLocal 删除缓存功能
// toastMsgByNetwork 接口请求超时后根据网络状态提示不同信息
// baseUrlHead 主域名配置
import { toast, delectAllLocal, toastMsgByNetwork } from '@/common/utils.js';
import { baseUrlHead } from '@/config/common_config.js';
const baseUrl = `${baseUrlHead}xinche`;
export const request = async (url, params, type = 'POST') => {
const requestHeader = {
// 获取手机C_ID 用于push动作
// #ifdef APP-PLUS
'C_ID': plus.push.getClientInfo().clientid || '',
// #endif
// 获取用户token
'Authentication': uni.getStorageSync('token'),
// 做多点登录 PC APP 可同时登录两个账号
'Os-Type': 'APP'
}
let [err, res] = await uni.request({
url: baseUrl + url,
method: type,
data: params,
dataType: 'json',
header: requestHeader
})
uni.hideLoading();
if (err) {
err.errMsg === 'request:fail timeout' ? toastMsgByNetwork() : toast('请求失败');
Promise.reject(new Error(err));
return;
}
if (res.statusCode !== 200 && res.statusCode !== 400) {
Promise.reject(new Error('服务器错误'));
} else if (res.data.code === 401) {
delectAllLocal();
Promise.reject(new Error('token失效'));
uni.reLaunch({ url: '/pages/home/login/login?token=true' });
} else return res.data;
}
uniapp 封装 request 请求
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 以下内容直接放入main.js中,方法都是挂载在vue原型上的,使用this直接调用 import Vue fro...