调整项目框架
This commit is contained in:
95
utils/api.js
95
utils/api.js
@ -1,52 +1,54 @@
|
||||
import config from './envConfig.js';
|
||||
import wf from './public.js'
|
||||
|
||||
const request = (url = '', data = {}, header = { //这里这样封装是为了后续具体组件中使用时可以直接传参,需按此顺序传参;而不需要写url:xxx等键值对传参
|
||||
//具体的header和后端商同后再编写,这里以常见的token为例
|
||||
const request = (url = '', data = {}, header = {
|
||||
'Authorization': 'Bearer '+uni.getStorageSync('mes_token') ? 'Bearer '+uni.getStorageSync('mes_token') : '',
|
||||
}) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
// console.log(config,800)
|
||||
uni.request({
|
||||
url: config.dev.VITE_BASE_API + url, //接口地址:前缀+方法中传入的地址
|
||||
method: "POST", //请求方法
|
||||
url: config.dev.VITE_BASE_API + url,
|
||||
method: "POST",
|
||||
dataType: "json",
|
||||
data: data, //传递参数
|
||||
header: header, //自定义头部,和后端商同后编写
|
||||
data: data,
|
||||
header: header,
|
||||
success: (res) => {
|
||||
// console.log('request.js文件的通用接口请求封装返回的结果数据',res);
|
||||
//注:因为这里对请求成功的没有统一设置抛错提示,所以后续具体组件中使用接口请求的res除200(实际以后端同事定好的为准)成功外的其他code需要额外写抛错提示
|
||||
if (res.data.code == 'xxx') { //自定请求失败的情况,这里以常见的token失效或过期为例
|
||||
uni.removeStorageSync('token');
|
||||
if (res.data.code == 401){
|
||||
setTimeout( ()=> {
|
||||
uni.hideLoading();
|
||||
}, 200);
|
||||
|
||||
console.log(res.data.code,455)
|
||||
uni.showModal({
|
||||
showCancel: false,
|
||||
title: '温馨提示',
|
||||
content: res.data.msg,
|
||||
// header: {
|
||||
// "Token": 'Bearer ' + uni.getStorageSync("mes_token")
|
||||
// },
|
||||
success: function(result) {
|
||||
confirmColor:'#009688',
|
||||
content: res.data.message,
|
||||
success: (result)=> {
|
||||
if (result.confirm) {
|
||||
// uni.reLaunch({
|
||||
// url: '/pages/login/index' //这里需用绝对路径才可
|
||||
// });
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
});
|
||||
wf.removeLoginData();
|
||||
}
|
||||
}
|
||||
});
|
||||
console.log(res.data.code,888)
|
||||
|
||||
}
|
||||
if(res.header.Authorization){
|
||||
uni.removeStorageSync('mes_token');
|
||||
let obj = new Object();
|
||||
let str =String(res.header.Authorization)
|
||||
let str = String(res.header.Authorization)
|
||||
let newStr = str.slice(0, 0) + str.slice(7)
|
||||
obj.mes_token=newStr;
|
||||
obj.mes_token = newStr;
|
||||
uni.setStorageSync("mes_token",obj.mes_token);
|
||||
}
|
||||
|
||||
resolve(res.data) //成功
|
||||
// 成功的回调
|
||||
if(res.data.code == 200){
|
||||
resolve(res.data)
|
||||
}
|
||||
},
|
||||
// 这里的接口请求,如果出现问题就输出接口请求失败的msg;
|
||||
//注:因为这里对于请求失败的设置统一抛错提示了,所以后续具体组件中使用接口请求的catch中不需要再写抛错提示
|
||||
fail: (err) => {
|
||||
uni.showToast({
|
||||
title: "" + err.msg,
|
||||
@ -57,8 +59,7 @@ const request = (url = '', data = {}, header = { //这里这样封装是为了
|
||||
})
|
||||
})
|
||||
}
|
||||
const postFuncLoading = (url = '', data = {}, header = { //这里这样封装是为了后续具体组件中使用时可以直接传参,需按此顺序传参;而不需要写url:xxx等键值对传参
|
||||
//具体的header和后端商同后再编写,这里以常见的token为例
|
||||
const postFuncLoading = (url = '', data = {}, header = {
|
||||
'Authorization': 'Bearer '+uni.getStorageSync('mes_token') ? 'Bearer '+uni.getStorageSync('mes_token') : '',
|
||||
}) => {
|
||||
uni.showLoading({
|
||||
@ -66,7 +67,6 @@ const request = (url = '', data = {}, header = { //这里这样封装是为了
|
||||
mask: true
|
||||
})
|
||||
return new Promise((resolve, reject) => {
|
||||
// console.log(config,800)
|
||||
uni.request({
|
||||
url: config.dev.VITE_BASE_API + url, //接口地址:前缀+方法中传入的地址
|
||||
method: "POST", //请求方法
|
||||
@ -74,25 +74,21 @@ const request = (url = '', data = {}, header = { //这里这样封装是为了
|
||||
data: data, //传递参数
|
||||
header: header, //自定义头部,和后端商同后编写
|
||||
success: (res) => {
|
||||
setTimeout(function () {
|
||||
setTimeout( ()=> {
|
||||
uni.hideLoading();
|
||||
}, 200);
|
||||
// console.log('request.js文件的通用接口请求封装返回的结果数据',res);
|
||||
//注:因为这里对请求成功的没有统一设置抛错提示,所以后续具体组件中使用接口请求的res除200(实际以后端同事定好的为准)成功外的其他code需要额外写抛错提示
|
||||
if (res.data.code == 'xxx') { //自定请求失败的情况,这里以常见的token失效或过期为例
|
||||
uni.removeStorageSync('token');
|
||||
}, 200);
|
||||
if (res.data.code == 401){
|
||||
wf.removeLoginData();
|
||||
uni.showModal({
|
||||
showCancel: false,
|
||||
title: '温馨提示',
|
||||
content: res.data.msg,
|
||||
// header: {
|
||||
// "Token": 'Bearer ' + uni.getStorageSync("mes_token")
|
||||
// },
|
||||
success: function(result) {
|
||||
title: '温馨提示',
|
||||
confirmColor:'#009688',
|
||||
content: res.data.message,
|
||||
success: (result)=> {
|
||||
if (result.confirm) {
|
||||
// uni.reLaunch({
|
||||
// url: '/pages/login/index' //这里需用绝对路径才可
|
||||
// });
|
||||
uni.reLaunch({
|
||||
url: '/pages/login/login'
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -100,16 +96,16 @@ const request = (url = '', data = {}, header = { //这里这样封装是为了
|
||||
if(res.header.Authorization){
|
||||
uni.removeStorageSync('mes_token');
|
||||
let obj = new Object();
|
||||
let str =String(res.header.Authorization)
|
||||
let str = String(res.header.Authorization)
|
||||
let newStr = str.slice(0, 0) + str.slice(7)
|
||||
obj.mes_token=newStr;
|
||||
obj.mes_token = newStr;
|
||||
uni.setStorageSync("mes_token",obj.mes_token);
|
||||
}
|
||||
|
||||
resolve(res.data) //成功
|
||||
}
|
||||
// 成功的回调
|
||||
if(res.data.code == 200){
|
||||
resolve(res.data)
|
||||
}
|
||||
},
|
||||
// 这里的接口请求,如果出现问题就输出接口请求失败的msg;
|
||||
//注:因为这里对于请求失败的设置统一抛错提示了,所以后续具体组件中使用接口请求的catch中不需要再写抛错提示
|
||||
fail: (err) => {
|
||||
uni.showToast({
|
||||
title: "" + err.msg,
|
||||
@ -123,6 +119,5 @@ const request = (url = '', data = {}, header = { //这里这样封装是为了
|
||||
export default {
|
||||
request,
|
||||
postFuncLoading
|
||||
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
// 导出的环境请求地址
|
||||
//本地环境
|
||||
const dev = {
|
||||
ENV: "dev",
|
||||
@ -9,13 +8,7 @@ const pro = {
|
||||
ENV: "pro",
|
||||
VITE_BASE_API: "https://api.dev.dwoodauto.com",
|
||||
};
|
||||
// //测试环境
|
||||
// const test = {
|
||||
// ENV: "test",
|
||||
// VITE_BASE_API: "https://api.dev.dwoodauto.com",
|
||||
// };
|
||||
export default {
|
||||
dev,
|
||||
// test,
|
||||
pro,
|
||||
};
|
@ -2,8 +2,14 @@
|
||||
const setLoginData=function(obj){
|
||||
uni.setStorageSync("demu_mes_user_name",obj.mes_user_name);
|
||||
uni.setStorageSync("mes_token",obj.mes_token);
|
||||
}
|
||||
|
||||
const removeLoginData=function(){
|
||||
uni.removeStorageSync("demu_mes_user_name");
|
||||
uni.removeStorageSync("mes_token");
|
||||
}
|
||||
|
||||
export default {
|
||||
setLoginData
|
||||
setLoginData,
|
||||
removeLoginData
|
||||
};
|
Reference in New Issue
Block a user