设备验证
This commit is contained in:
1 parent
c02c8a2ac8
commit
38a6f85b30
3 files changed
+33
-37
No files matched your search
+8
-2
@@ -1,19 +1,25 @@
|
||||
import { h, render } from "vue"
|
||||
import ImpModel from "./verifyDeviceImpModel.vue"
|
||||
import VerifyDeviceImpModel from "./verifyDeviceImpModel.vue"
|
||||
|
||||
let VerifyDeviceImpModelInstance: boolean | null = null
|
||||
|
||||
const showVerifyDeviceImpModel = (onClose: () => any = () => null) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (VerifyDeviceImpModelInstance) return
|
||||
|
||||
const close = () => {
|
||||
render(null, document.body)
|
||||
VerifyDeviceImpModelInstance = false
|
||||
onClose()
|
||||
}
|
||||
|
||||
const vnode = h(ImpModel, {
|
||||
const vnode = h(VerifyDeviceImpModel, {
|
||||
show: true,
|
||||
showCancel: false,
|
||||
close,
|
||||
})
|
||||
render(vnode, document.body)
|
||||
VerifyDeviceImpModelInstance = true
|
||||
})
|
||||
}
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
:showCancel="showCancel"
|
||||
title="您的设备需要验证"
|
||||
height="650rpx"
|
||||
zIndex="900"
|
||||
zIndex="999"
|
||||
cancelText="取消"
|
||||
confirmText="确认"
|
||||
@confirm=""
|
||||
+24
-34
@@ -4,6 +4,7 @@ import { userApi } from "../api"
|
||||
import { isEmpty } from "radash"
|
||||
import isDevEnv from "./isDevEnv"
|
||||
import { getAppInfo } from "@@/utils/getAppInfo"
|
||||
import showVerifyDeviceImpModel from "../components/verifyDeviceImpModel/verifyDeviceImpModel"
|
||||
|
||||
const TOKEN_KEY = constant.storageConstant.TOKEN
|
||||
const USER_INFO_KEY = constant.storageConstant.USERINFO
|
||||
@@ -56,51 +57,40 @@ async function handleShLogin(): Promise<boolean> {
|
||||
try {
|
||||
uni.showLoading({ title: "登录中...", mask: true })
|
||||
|
||||
const userInfo = await (window as any).CP2.getUserInfo()
|
||||
if (userInfo.code == 0 || !userInfo.data.accountId || !userInfo.data.sessionId) {
|
||||
uni.showToast({ title: "获取诗画用户信息失败", icon: "none" })
|
||||
return false
|
||||
}
|
||||
// const userInfo = await (window as any).CP2.getUserInfo()
|
||||
// if (userInfo.code == 0 || !userInfo.data.accountId || !userInfo.data.sessionId) {
|
||||
// uni.showToast({ title: "获取诗画用户信息失败", icon: "none" })
|
||||
// return false
|
||||
// }
|
||||
|
||||
const { accountId, sessionId } = userInfo.data
|
||||
const response = await userApi.authsh({ accountId, sessionId })
|
||||
// const response = await userApi.authsh({ accountId: "67e790d6a95d5a7b507e53dd", sessionId: "68215b03a95d5a4899d20cb4" }) // 测试
|
||||
// const { accountId, sessionId } = userInfo.data
|
||||
// const response = await userApi.authsh({ accountId, sessionId })
|
||||
const response = await userApi.authsh({ accountId: "67e790d6a95d5a7b507e53dd", sessionId: "68215b03a95d5a4899d20cb4" }) // 测试
|
||||
|
||||
if (response.code == 0) {
|
||||
uni.setStorageSync(TOKEN_KEY, { accessToken: response.data.accessToken })
|
||||
const { data: userData } = await userApi.userInfo()
|
||||
uni.setStorageSync(USER_INFO_KEY, userData)
|
||||
uni.showToast({ title: "登录成功", icon: "none" })
|
||||
|
||||
// if (response.data == -1) {
|
||||
// uni.showToast({ title: "您的设备需要信任验证", icon: "none" })
|
||||
|
||||
// const pages = getCurrentPages()
|
||||
// const currentPage = pages[pages.length - 1]
|
||||
// const route = currentPage.route
|
||||
// router.jump("/pages/user/deviceVerify", { redirect: route })
|
||||
|
||||
// return false
|
||||
// } else {
|
||||
// uni.removeStorageSync(TOKEN_KEY)
|
||||
// uni.removeStorageSync(USER_INFO_KEY)
|
||||
// if (response.msg == "token已失效") {
|
||||
// uni.showToast({ title: "用户凭证已失效,请退出并重新进入智慧后勤应用", icon: "none", duration: 6000 })
|
||||
// } else {
|
||||
// uni.showToast({ title: response.msg || "登录失败", icon: "none" })
|
||||
// }
|
||||
// return false
|
||||
// }
|
||||
|
||||
return true
|
||||
} else {
|
||||
uni.removeStorageSync(TOKEN_KEY)
|
||||
uni.removeStorageSync(USER_INFO_KEY)
|
||||
if (response.msg == "token已失效") {
|
||||
uni.showToast({ title: "用户凭证已失效,请退出并重新进入智慧后勤应用", icon: "none", duration: 6000 })
|
||||
} else {
|
||||
uni.showToast({ title: response.msg || "登录失败", icon: "none" })
|
||||
return false
|
||||
}
|
||||
|
||||
if (response.data == -1) {
|
||||
uni.showToast({ title: "您的设备需要信任验证", icon: "none" })
|
||||
await showVerifyDeviceImpModel(async () => {
|
||||
await autoLogin()
|
||||
uni.reLaunch({ url: window.location.href.split("#")[1] })
|
||||
})
|
||||
return false
|
||||
}
|
||||
|
||||
uni.showToast({ title: response.msg || "登录失败", icon: "none" })
|
||||
return false
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -167,7 +157,7 @@ const http = new Request({
|
||||
|
||||
// 请求拦截器
|
||||
http.interceptors.request.use(async (config) => {
|
||||
console.log("config", config)
|
||||
// console.log("config", config)
|
||||
|
||||
const tokenStorage = uni.getStorageSync(TOKEN_KEY)
|
||||
const config_header: any = config.header || {}
|
||||
@@ -204,7 +194,7 @@ http.interceptors.request.use(async (config) => {
|
||||
// 响应拦截器
|
||||
http.interceptors.response.use(
|
||||
async (response) => {
|
||||
console.log("response", response)
|
||||
// console.log("response", response)
|
||||
|
||||
// 账号密码登录响应结果特殊处理
|
||||
if (response.config.url === "/auth/oauth2/token") {
|
||||
@@ -218,7 +208,7 @@ http.interceptors.response.use(
|
||||
return Promise.resolve(response.data)
|
||||
},
|
||||
async (error) => {
|
||||
console.log("error", error)
|
||||
// console.log("error", error)
|
||||
|
||||
// 处理 424 错误(token过期)
|
||||
if (error.statusCode === 424) {
|
||||
|
||||
Reference in new issue
Block a user