pinia替换vuex
This commit is contained in:
parent
01a159d4a7
commit
fe3834916a
@ -13,9 +13,10 @@ import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, select
|
|||||||
|
|
||||||
export function createApp() {
|
export function createApp() {
|
||||||
const app = createSSRApp(App)
|
const app = createSSRApp(App)
|
||||||
|
app.use(store)
|
||||||
app.use(uviewPlus)
|
app.use(uviewPlus)
|
||||||
app.use(plugins)
|
app.use(plugins)
|
||||||
app.use(store)
|
|
||||||
|
|
||||||
// 全局方法挂载
|
// 全局方法挂载
|
||||||
app.config.globalProperties.useDict = useDict
|
app.config.globalProperties.useDict = useDict
|
||||||
|
|||||||
@ -40,6 +40,7 @@ import { getCodeImg } from '@/api/login'
|
|||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import config from '@/config.js'
|
import config from '@/config.js'
|
||||||
import useUserStore from '@/store/modules/user'
|
import useUserStore from '@/store/modules/user'
|
||||||
|
const userStore = useUserStore()
|
||||||
const codeUrl = ref("");
|
const codeUrl = ref("");
|
||||||
const captchaEnabled = ref(true);
|
const captchaEnabled = ref(true);
|
||||||
const globalConfig = ref(config);
|
const globalConfig = ref(config);
|
||||||
@ -49,7 +50,7 @@ const loginForm = ref({
|
|||||||
code: "",
|
code: "",
|
||||||
uuid: ''
|
uuid: ''
|
||||||
});
|
});
|
||||||
const userStore = useUserStore()
|
|
||||||
|
|
||||||
// 获取图形验证码
|
// 获取图形验证码
|
||||||
function getCode() {
|
function getCode() {
|
||||||
|
|||||||
@ -51,8 +51,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import config from '@/config'
|
import config from '@/config'
|
||||||
import store from "@/store"
|
|
||||||
import { uploadAvatar } from "@/api/system/user"
|
import { uploadAvatar } from "@/api/system/user"
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
|
const userStore = useUserStore()
|
||||||
|
|
||||||
const baseUrl = config.baseUrl
|
const baseUrl = config.baseUrl
|
||||||
let sysInfo = uni.getSystemInfoSync()
|
let sysInfo = uni.getSystemInfoSync()
|
||||||
@ -81,7 +82,7 @@ export default {
|
|||||||
*/
|
*/
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
imageSrc: store.getters.avatar,
|
imageSrc: userStore.avatar,
|
||||||
isShowImg: false,
|
isShowImg: false,
|
||||||
// 初始化的宽高
|
// 初始化的宽高
|
||||||
cropperInitW: SCREEN_WIDTH,
|
cropperInitW: SCREEN_WIDTH,
|
||||||
@ -270,9 +271,9 @@ export default {
|
|||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
let data = { name: 'avatarfile', filePath: res.tempFilePath }
|
let data = { name: 'avatarfile', filePath: res.tempFilePath }
|
||||||
uploadAvatar(data).then(response => {
|
uploadAvatar(data).then(response => {
|
||||||
//store.commit('SET_AVATAR', response.imgUrl)
|
// userStore.avatar = response.imgUrl
|
||||||
/*cloud*/
|
/*cloud*/
|
||||||
store.commit('SET_AVATAR', baseUrl + response.imgUrl)
|
userStore.avatar = baseUrl + response.imgUrl
|
||||||
uni.showToast({ title: "修改成功", icon: 'success' })
|
uni.showToast({ title: "修改成功", icon: 'success' })
|
||||||
uni.$emit('refresh');
|
uni.$emit('refresh');
|
||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="setting-container" :style="{height: `${windowHeight}px`}">
|
<view class="setting-container" :style="{ height: `${windowHeight}px` }">
|
||||||
<view class="menu-list">
|
<view class="menu-list">
|
||||||
<view class="list-cell list-cell-arrow" @click="handleToPwd">
|
<view class="list-cell list-cell-arrow" @click="handleToPwd">
|
||||||
<view class="menu-item-box">
|
<view class="menu-item-box">
|
||||||
@ -30,67 +30,66 @@
|
|||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<uni-popup ref="popup" type="dialog">
|
<uni-popup ref="popup" type="dialog">
|
||||||
<uni-popup-dialog type="info" cancelText="关闭" confirmText="退出"
|
<uni-popup-dialog type="info" cancelText="关闭" confirmText="退出" title="通知" content="确定注销并退出系统吗"
|
||||||
title="通知" content="确定注销并退出系统吗"
|
@confirm="dialogConfirm" @close="dialogClose">
|
||||||
@confirm="dialogConfirm"
|
|
||||||
@close="dialogClose">
|
|
||||||
</uni-popup-dialog>
|
</uni-popup-dialog>
|
||||||
</uni-popup>
|
</uni-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import store from '@/store'
|
import useUserStore from '@/store/modules/user'
|
||||||
|
const userStore = useUserStore()
|
||||||
|
|
||||||
const windowHeight=ref(uni.getSystemInfoSync().windowHeight) ;
|
const windowHeight = ref(uni.getSystemInfoSync().windowHeight);
|
||||||
const popup = ref(null);
|
const popup = ref(null);
|
||||||
|
|
||||||
function handleToPwd() {
|
function handleToPwd() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/mine/pwd/index'
|
url: '/pages/mine/pwd/index'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function handleToUpgrade() {
|
function handleToUpgrade() {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '模块建设中~',
|
title: '模块建设中~',
|
||||||
mask: false,
|
mask: false,
|
||||||
icon:"none",
|
icon: "none",
|
||||||
duration: 1000
|
duration: 1000
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
function handleCleanTmp() {
|
function handleCleanTmp() {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '模块建设中~',
|
title: '模块建设中~',
|
||||||
mask: false,
|
mask: false,
|
||||||
icon:"none",
|
icon: "none",
|
||||||
duration: 1000
|
duration: 1000
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
function handleLogout() {
|
function handleLogout() {
|
||||||
popup.value.open();
|
popup.value.open();
|
||||||
};
|
};
|
||||||
function dialogConfirm() {
|
function dialogConfirm() {
|
||||||
//console.log('----------------点击确认------------')
|
//console.log('----------------点击确认------------')
|
||||||
store.dispatch('LogOut').then(() => {
|
userStore.logOut().then(() => {
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '/pages/login'
|
url: '/pages/login'
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
function dialogClose() {
|
function dialogClose() {
|
||||||
//console.log('点击关闭')
|
//console.log('点击关闭')
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.page {
|
.page {
|
||||||
background-color: #f8f8f8;
|
background-color: #f8f8f8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-box {
|
.item-box {
|
||||||
background-color: #FFFFFF;
|
background-color: #FFFFFF;
|
||||||
margin: 30rpx;
|
margin: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -101,5 +100,5 @@
|
|||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
color: #303133;
|
color: #303133;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -71,7 +71,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -154,7 +154,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 密码登录
|
// 密码登录
|
||||||
async pwdLogin() {
|
async pwdLogin() {
|
||||||
this.$store.dispatch('Login', this.loginForm).then(() => {
|
useUserStore().login(this.loginForm).then(() => {
|
||||||
this.$modal.closeLoading()
|
this.$modal.closeLoading()
|
||||||
this.loginSuccess()
|
this.loginSuccess()
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
@ -166,7 +166,7 @@ export default {
|
|||||||
// 登录成功后,处理函数
|
// 登录成功后,处理函数
|
||||||
loginSuccess(result) {
|
loginSuccess(result) {
|
||||||
// 设置用户信息
|
// 设置用户信息
|
||||||
this.$store.dispatch('GetInfo').then(res => {
|
useUserStore().getInfo().then(res => {
|
||||||
this.$tab.reLaunch('/pages/index')
|
this.$tab.reLaunch('/pages/index')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,26 +1,25 @@
|
|||||||
import store from '@/store'
|
import useUserStore from "@/store/modules/user";
|
||||||
|
|
||||||
function authPermission(permission: string): boolean {
|
function authPermission(permission: string): boolean {
|
||||||
const all_permission = "*:*:*"
|
const all_permission = "*:*:*";
|
||||||
const permissions: Array<string> = store.getters && store.getters.permissions
|
const permissions: Array<string> = useUserStore().permissions;
|
||||||
if (permission && permission.length > 0) {
|
if (permission && permission.length > 0) {
|
||||||
return permissions.some(v => {
|
return permissions.some((v) => {
|
||||||
return all_permission === v || v === permission
|
return all_permission === v || v === permission;
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function authRole(role: string): boolean {
|
function authRole(role: string): boolean {
|
||||||
const super_admin = "admin"
|
const super_admin = "admin";
|
||||||
const roles: Array<string> = store.getters && store.getters.roles
|
const roles: Array<string> = useUserStore().roles;
|
||||||
if (role && role.length > 0) {
|
if (role && role.length > 0) {
|
||||||
return roles.some(v => {
|
return roles.some((v) => {
|
||||||
return super_admin === v || v === role
|
return super_admin === v || v === role;
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,7 +30,7 @@ export default {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
hasPermi(permission: string): boolean {
|
hasPermi(permission: string): boolean {
|
||||||
return authPermission(permission)
|
return authPermission(permission);
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 验证用户是否含有指定权限,只需包含其中一个
|
* 验证用户是否含有指定权限,只需包含其中一个
|
||||||
@ -39,9 +38,9 @@ export default {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
hasPermiOr(permissions: Array<string>): boolean {
|
hasPermiOr(permissions: Array<string>): boolean {
|
||||||
return permissions.some(item => {
|
return permissions.some((item) => {
|
||||||
return authPermission(item)
|
return authPermission(item);
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 验证用户是否含有指定权限,必须全部拥有
|
* 验证用户是否含有指定权限,必须全部拥有
|
||||||
@ -49,9 +48,9 @@ export default {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
hasPermiAnd(permissions: Array<string>): boolean {
|
hasPermiAnd(permissions: Array<string>): boolean {
|
||||||
return permissions.every(item => {
|
return permissions.every((item) => {
|
||||||
return authPermission(item)
|
return authPermission(item);
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 验证用户是否具备某角色
|
* 验证用户是否具备某角色
|
||||||
@ -59,7 +58,7 @@ export default {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
hasRole(role: string): boolean {
|
hasRole(role: string): boolean {
|
||||||
return authRole(role)
|
return authRole(role);
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 验证用户是否含有指定角色,只需包含其中一个
|
* 验证用户是否含有指定角色,只需包含其中一个
|
||||||
@ -67,9 +66,9 @@ export default {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
hasRoleOr(roles: Array<string>): boolean {
|
hasRoleOr(roles: Array<string>): boolean {
|
||||||
return roles.some(item => {
|
return roles.some((item) => {
|
||||||
return authRole(item)
|
return authRole(item);
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 验证用户是否含有指定角色,必须全部拥有
|
* 验证用户是否含有指定角色,必须全部拥有
|
||||||
@ -77,8 +76,8 @@ export default {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
hasRoleAnd(roles: Array<string>): boolean {
|
hasRoleAnd(roles: Array<string>): boolean {
|
||||||
return roles.every(item => {
|
return roles.every((item) => {
|
||||||
return authRole(item)
|
return authRole(item);
|
||||||
})
|
});
|
||||||
}
|
},
|
||||||
}
|
};
|
||||||
|
|||||||
@ -1,80 +1,89 @@
|
|||||||
import { login, logout, getInfo } from '@/api/login'
|
import { login, logout, getInfo } from "@/api/login";
|
||||||
import { getToken, setToken, removeToken } from '@/utils/auth'
|
import { getToken, setToken, removeToken } from "@/utils/auth";
|
||||||
import defAva from '@/static/images/profile.jpg'
|
import defAva from "@/static/images/profile.jpg";
|
||||||
import { defineStore } from 'pinia'
|
import { defineStore } from "pinia";
|
||||||
|
|
||||||
export interface LoginForm {
|
export interface LoginForm {
|
||||||
username: string
|
username: string;
|
||||||
password: string
|
password: string;
|
||||||
code: string
|
code: string;
|
||||||
uuid: string
|
uuid: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const useUserStore = defineStore("user", {
|
||||||
const useUserStore = defineStore(
|
|
||||||
'user',
|
|
||||||
{
|
|
||||||
state: () => ({
|
state: () => ({
|
||||||
token: getToken(),
|
token: getToken(),
|
||||||
name: '',
|
name: "",
|
||||||
avatar: '',
|
avatar: "",
|
||||||
roles: Array(),
|
roles: Array(),
|
||||||
permissions: []
|
permissions: [],
|
||||||
}),
|
}),
|
||||||
actions: {
|
actions: {
|
||||||
// 登录
|
// 登录
|
||||||
login(userInfo: LoginForm) {
|
login(userInfo: LoginForm) {
|
||||||
const username = userInfo.username.trim()
|
const username = userInfo.username.trim();
|
||||||
const password = userInfo.password
|
const password = userInfo.password;
|
||||||
const code = userInfo.code
|
const code = userInfo.code;
|
||||||
const uuid = userInfo.uuid
|
const uuid = userInfo.uuid;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
login(username, password, code, uuid).then((res:any) => {
|
login(username, password, code, uuid)
|
||||||
setToken(res.token)
|
.then((res: any) => {
|
||||||
this.token = res.token
|
setToken(res.token);
|
||||||
resolve(null)
|
this.token = res.token;
|
||||||
}).catch(error => {
|
resolve(null);
|
||||||
reject(error)
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
getInfo() {
|
getInfo() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
getInfo().then((res:any) => {
|
getInfo()
|
||||||
const user = res.user
|
.then((res: any) => {
|
||||||
|
const user = res.user;
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar;
|
const avatar =
|
||||||
|
user.avatar == "" || user.avatar == null
|
||||||
|
? defAva
|
||||||
|
: import.meta.env.VITE_APP_BASE_API + user.avatar;
|
||||||
|
|
||||||
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|
if (res.roles && res.roles.length > 0) {
|
||||||
this.roles = res.roles
|
// 验证返回的roles是否是一个非空数组
|
||||||
this.permissions = res.permissions
|
this.roles = res.roles;
|
||||||
|
this.permissions = res.permissions;
|
||||||
} else {
|
} else {
|
||||||
this.roles = ['ROLE_DEFAULT']
|
this.roles = ["ROLE_DEFAULT"];
|
||||||
}
|
}
|
||||||
this.name = user.userName
|
this.name = user.userName;
|
||||||
this.avatar = avatar;
|
this.avatar = avatar;
|
||||||
resolve(res)
|
resolve(res);
|
||||||
}).catch(error => {
|
|
||||||
reject(error)
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
// 退出系统
|
// 退出系统
|
||||||
logOut() {
|
logOut() {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
logout().then(() => {
|
logout()
|
||||||
this.token = ''
|
.then(() => {
|
||||||
this.roles = []
|
this.token = "";
|
||||||
this.permissions = []
|
this.roles = [];
|
||||||
removeToken()
|
this.permissions = [];
|
||||||
resolve(null)
|
this.name = "";
|
||||||
}).catch(error => {
|
this.avatar = "";
|
||||||
reject(error)
|
removeToken();
|
||||||
})
|
resolve(null);
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
export default useUserStore
|
export default useUserStore;
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import store from '@/store'
|
import useUserStore from '@/store/modules/user'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字符权限校验
|
* 字符权限校验
|
||||||
@ -7,7 +7,7 @@ import store from '@/store'
|
|||||||
*/
|
*/
|
||||||
export function checkPermi(value:Array<string>) {
|
export function checkPermi(value:Array<string>) {
|
||||||
if (value && value instanceof Array && value.length > 0) {
|
if (value && value instanceof Array && value.length > 0) {
|
||||||
const permissions:Array<string> = store.getters && store.getters.permissions
|
const permissions:Array<string> = useUserStore().permissions
|
||||||
const permissionDatas = value
|
const permissionDatas = value
|
||||||
const all_permission = "*:*:*"
|
const all_permission = "*:*:*"
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ export function checkPermi(value:Array<string>) {
|
|||||||
*/
|
*/
|
||||||
export function checkRole(value:Array<string>) {
|
export function checkRole(value:Array<string>) {
|
||||||
if (value && value instanceof Array && value.length > 0) {
|
if (value && value instanceof Array && value.length > 0) {
|
||||||
const roles:Array<string> = store.getters && store.getters.roles
|
const roles:Array<string> = useUserStore().roles
|
||||||
const permissionRoles = value
|
const permissionRoles = value
|
||||||
const super_admin = "admin"
|
const super_admin = "admin"
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import store from '@/store'
|
|
||||||
import config from '@/config'
|
import config from '@/config'
|
||||||
import { getToken } from '@/utils/auth'
|
import { getToken } from '@/utils/auth'
|
||||||
import errorCode from '@/utils/errorCode'
|
import errorCode from '@/utils/errorCode'
|
||||||
import { toast, showConfirm, tansParams } from '@/utils/common'
|
import { toast, showConfirm, tansParams } from '@/utils/common'
|
||||||
import { RequestConfig, ResponseData } from '@/types/request'
|
import { RequestConfig, ResponseData } from '@/types/request'
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
|
|
||||||
let timeout = 10000
|
let timeout = 10000
|
||||||
const baseUrl = config.baseUrl
|
const baseUrl = config.baseUrl
|
||||||
@ -44,7 +44,7 @@ const request = <T>(config:RequestConfig):Promise<ResponseData<T>> => {
|
|||||||
if (code === 401) {
|
if (code === 401) {
|
||||||
showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
|
showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then(res => {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
store.dispatch('LogOut').then(res => {
|
useUserStore().logOut().then(res => {
|
||||||
uni.reLaunch({ url: '/pages/login' })
|
uni.reLaunch({ url: '/pages/login' })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
import store from '@/store'
|
|
||||||
import config from '@/config'
|
import config from '@/config'
|
||||||
import { getToken } from '@/utils/auth'
|
import { getToken } from '@/utils/auth'
|
||||||
import errorCode from '@/utils/errorCode'
|
import errorCode from '@/utils/errorCode'
|
||||||
import { toast, showConfirm, tansParams } from '@/utils/common'
|
import { toast, showConfirm, tansParams } from '@/utils/common'
|
||||||
import { ResponseData, RequestUploadConfig } from '@/types/request'
|
import { ResponseData, RequestUploadConfig } from '@/types/request'
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
|
const userStore = useUserStore()
|
||||||
|
|
||||||
let timeout = 10000
|
let timeout = 10000
|
||||||
const baseUrl = config.baseUrl
|
const baseUrl = config.baseUrl
|
||||||
@ -39,7 +40,7 @@ const upload = <T>(config:RequestUploadConfig):Promise<ResponseData<T>> => {
|
|||||||
} else if (code == 401) {
|
} else if (code == 401) {
|
||||||
showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then(res => {
|
showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then(res => {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
store.dispatch('LogOut').then(res => {
|
userStore.logOut().then(res => {
|
||||||
uni.reLaunch({ url: '/pages/login' })
|
uni.reLaunch({ url: '/pages/login' })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user