oa自动登录

This commit is contained in:
砂糖
2025-07-14 10:04:33 +08:00
parent 94b3ded9fb
commit fc8741c0c1
3 changed files with 87 additions and 103 deletions

View File

@@ -1,12 +1,25 @@
import { getToken } from './auth'
import errorCode from './errorCode'
import { toast, showConfirm, tansParams } from './common'
import { toast, tansParams } from './common'
import { getSMSCodeFromOa, loginOaByPhone } from '../api/oa/login'
let timeout = 10000
const baseUrl = 'http://110.41.139.73:8080'
// const baseUrl = 'http://localhost:8080'
// 显示loading提示
const showLoading = (title = '正在重新登录...') => {
uni.showLoading({
title: title,
mask: true
})
}
// 隐藏loading提示
const hideLoading = () => {
uni.hideLoading()
}
const request = config => {
// 是否需要设置 token
const isToken = (config.headers || {}).isToken === false
@@ -50,30 +63,25 @@ const request = config => {
const code = res.data.code || 200
const msg = errorCode[code] || res.data.msg || errorCode['default']
if (code === 401) {
showConfirm('登录状态已过期,是否刷新登录状态').then(async res => {
if (res.confirm) {
// 从store中获取phoneNumber并依次调用getSMSCodeFromOa和loginOaByPhone
const store = require('@/store').default
const phoneNumber = store.getters.storeSelfInfo?.phoneNumber
if (phoneNumber) {
try {
await getSMSCodeFromOa(phoneNumber)
await loginOaByPhone(phoneNumber)
const pages = getCurrentPages();
const page = pages[pages.length - 1];
// 重新加载当前页面
if (page && page.onLoad) {
page.onLoad(page.options || {});
}
} catch (e) {
console.log('OA自动登录失败', e)
toast('OA自动登录失败')
}
} else {
toast('无法获取手机号OA自动登录失败')
}
// 显示loading提示
showLoading()
// 从store中获取phoneNumber并依次调用getSMSCodeFromOa和loginOaByPhone
const store = require('@/store').default
const phoneNumber = store.getters.storeSelfInfo?.phoneNumber
if (phoneNumber) {
try {
await getSMSCodeFromOa(phoneNumber)
await loginOaByPhone(phoneNumber)
hideLoading()
} catch (e) {
hideLoading()
console.log('OA自动登录失败', e)
toast('OA自动登录失败')
}
})
} else {
hideLoading()
toast('无法获取手机号OA自动登录失败')
}
reject('无效的会话,或者会话已过期,请重新登录。')
} else if (code === 500) {
toast(msg)