You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
3.9 KiB
178 lines
3.9 KiB
1 year ago
|
import store from "@/store/index.js";
|
||
|
import utils from '@/utils/utils.js'
|
||
|
import functions from '@/utils/functions.js'
|
||
|
import {
|
||
|
host,
|
||
|
APPKEY
|
||
|
} from "@/config/host";
|
||
|
import base64 from '@/utils/base64.js';
|
||
|
import {
|
||
|
hexMD5
|
||
|
} from '@/utils/md5.js'
|
||
|
// import {
|
||
|
// useUserStore
|
||
|
// } from "@/store/uaeUserStore";
|
||
|
|
||
|
// import {
|
||
|
// storeToRefs
|
||
|
// } from 'pinia';
|
||
|
|
||
|
// const userStore = useUserStore()
|
||
|
|
||
|
// const {
|
||
|
// HANDLE_ACCTOKEN,
|
||
|
// HANDLE_ISLOGIN,
|
||
|
// HANDLE_REFTOKEN,
|
||
|
// HANDLE_USERINFO
|
||
|
// } = userStore
|
||
|
|
||
|
const service = (params) => {
|
||
|
|
||
|
return new Promise(async (relove, reject) => {
|
||
|
let refresh_token = uni.getStorageSync('refresh_token')
|
||
|
let token = uni.getStorageSync('access_token')
|
||
|
let user = uni.getStorageSync('userinfo')
|
||
|
let header = {};
|
||
|
if (user && token && refresh_token) {
|
||
|
store.commit('updateislog', true)
|
||
|
store.commit('updaterftk', refresh_token)
|
||
|
store.commit('updatetk', token)
|
||
|
store.commit('updatauser', user)
|
||
|
header['Blade-Auth'] = `bearer ${store.state.access_token}`
|
||
|
} else {
|
||
|
if (!token && params.url.indexOf('oauth/token') == -1) {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
header.Authorization = `Basic ${base64.encode(APPKEY)}`
|
||
|
|
||
|
// return
|
||
|
if (params.url.indexOf('blade-auth/oauth/token') != -1) {
|
||
|
header['Content-Type'] = 'application/x-www-form-urlencoded'
|
||
|
header['Tenant-Id'] = params.data.tenantId
|
||
|
// 登录请求时, 加密密码
|
||
|
if (params.data.password) params.data.password = hexMD5(params.data.password)
|
||
|
}
|
||
|
// uni.showLoading({
|
||
|
// title:'请求中',
|
||
|
// mask:true
|
||
|
// })
|
||
|
let urlhd = ''
|
||
|
if (uni.getStorageSync('setip')) {
|
||
|
urlhd = uni.getStorageSync('setip')
|
||
|
} else {
|
||
|
urlhd = host
|
||
|
}
|
||
|
|
||
|
let version = ''
|
||
|
if (!version) {
|
||
|
// #ifdef APP
|
||
|
version = await utils.getversion()
|
||
|
version = version.version
|
||
|
// #endif
|
||
|
}
|
||
|
|
||
|
function req() {
|
||
|
let submitData = {
|
||
|
url: urlhd + params.url,
|
||
|
data: params.data,
|
||
|
method: params.method,
|
||
|
header
|
||
|
}
|
||
|
// 当程序在app上运行时, 带上版本号
|
||
|
// #ifdef APP
|
||
|
submitData = {
|
||
|
url: urlhd + params.url,
|
||
|
data: {
|
||
|
...params.data,
|
||
|
version
|
||
|
},
|
||
|
method: params.method,
|
||
|
// dataType: "json",
|
||
|
header
|
||
|
}
|
||
|
// #endif
|
||
|
|
||
|
const request = uni.request(submitData)
|
||
|
|
||
|
console.log('request :>> ', request);
|
||
|
|
||
|
request.then(res => {
|
||
|
// console.log(res);
|
||
|
console.log('登录res :>> ', res);
|
||
|
uni.hideLoading()
|
||
|
if (res.statusCode == 200) {
|
||
|
|
||
|
let data = res.data;
|
||
|
// #ifdef APP
|
||
|
utils.ttsspke(data.audio || '')
|
||
|
// #endif
|
||
|
if (data.code != 200 && data?.msg) {
|
||
|
uni.showToast({
|
||
|
title: data?.msg || '',
|
||
|
icon: 'none'
|
||
|
})
|
||
|
} else if (data.audio) {
|
||
|
uni.showToast({
|
||
|
title: data.msg,
|
||
|
icon: 'none'
|
||
|
})
|
||
|
}
|
||
|
|
||
|
switch (data.code) {
|
||
|
case 200:
|
||
|
relove(data);
|
||
|
break;
|
||
|
case 203:
|
||
|
relove(data);
|
||
|
break;
|
||
|
default:
|
||
|
relove(data);
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
} else {
|
||
|
if (res.statusCode == 400) {
|
||
|
relove({});
|
||
|
return
|
||
|
} else if (res.statusCode == 500) {
|
||
|
functions.error('接口出错,请联系后端开发人员')
|
||
|
// #ifdef APP
|
||
|
utils.ttsspke('接口出错,请联系后端开发人员')
|
||
|
// #endif
|
||
|
return
|
||
|
} else if (res.statusCode == 401) {
|
||
|
// 没有权限, 返回login页面
|
||
|
uni.reLaunch({
|
||
|
url: '/pages/login/login'
|
||
|
})
|
||
|
uni.removeStorage({
|
||
|
key: 'access_token'
|
||
|
})
|
||
|
functions.error('请登录')
|
||
|
return
|
||
|
}
|
||
|
functions.error('连接服务器失败')
|
||
|
// #ifdef APP
|
||
|
utils.ttsspke('连接服务器失败')
|
||
|
// #endif
|
||
|
}
|
||
|
}).catch(err => {
|
||
|
console.log(err);
|
||
|
// uni.reLaunch({
|
||
|
// url: '/pages/index/index'
|
||
|
// })
|
||
|
functions.error('请检查是否连接到无线网络')
|
||
|
// #ifdef APP
|
||
|
utils.ttsspke('请检查是否连接到无线网络')
|
||
|
// #endif
|
||
|
uni.hideLoading()
|
||
|
})
|
||
|
}
|
||
|
req()
|
||
|
})
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
export default service;
|