调整项目框架

This commit is contained in:
2024-04-23 11:48:55 +08:00
parent 01ea333978
commit 2b8797a1ac
26 changed files with 962 additions and 352 deletions

View File

@ -1,52 +1,54 @@
import config from './envConfig.js';
import wf from './public.js'
const request = (url = '', data = {}, header = { //这里这样封装是为了后续具体组件中使用时可以直接传参,需按此顺序传参而不需要写urlxxx等键值对传参
//具体的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 = { //这里这样封装是为了后续具体组件中使用时可以直接传参,需按此顺序传参而不需要写urlxxx等键值对传参
//具体的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
};

View File

@ -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,
};

View File

@ -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
};