From c4d18744b685f03c2fb8cbe2720fec18c97c1e66 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 27 Nov 2024 11:16:58 +0800
Subject: [PATCH] 遥控器上云
---
src/pages/page-pilot/pilot-index.vue | 164 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 96 insertions(+), 68 deletions(-)
diff --git a/src/pages/page-pilot/pilot-index.vue b/src/pages/page-pilot/pilot-index.vue
index 51670e8..9e54cbb 100644
--- a/src/pages/page-pilot/pilot-index.vue
+++ b/src/pages/page-pilot/pilot-index.vue
@@ -55,13 +55,35 @@
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
import djiLogo from '/@/assets/icons/dji_logo.png'
import { useMyStore } from '/@/store'
-// const root = getRoot()
+const root = getRoot()
+const store = useMyStore()
// const formState: UnwrapRef<LoginBody> = reactive({
// username: 'pilot',
// password: 'pilot123',
// flag: EUserType.Pilot,
// })
+const formState: UnwrapRef<LoginBody> = reactive({
+ // 租户ID
+ tenantId: '000000',
+ // 部门ID
+ deptId: '',
+ // 角色ID
+ roleId: '',
+ // 用户名
+ username: '',
+ // 密码
+ password: '',
+ // 账号类型
+ type: 'account',
+ // 验证码的值
+ code: '',
+ // 验证码的索引
+ key: '',
+ // 预加载白色背景
+ image: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
+ flag: EUserType.Web,
+})
const isVerified = ref<boolean>(false)
onMounted(async () => {
verifyLicense()
@@ -75,6 +97,7 @@
if (token) {
await refreshToken({})
.then(res => {
+ console.log('e' + CURRENT_CONFIG.baseURL)
apiPilot.setComponentParam(EComponentName.Api, {
host: CURRENT_CONFIG.baseURL,
token: res.data.access_token
@@ -93,38 +116,63 @@
})
}
})
-const root = getRoot()
+const onSubmit = async (e: any) => {
+ try {
+ // 调用登录方法
+ const loginResponse = await store.dispatch('LoginByUsername', formState)
-const store = useMyStore()
+ if (loginResponse) {
+ // 调用 refreshToken 方法获取 access_token
+ const refreshTokenResponse = await refreshToken({})
+ console.log(refreshTokenResponse)
+ if (refreshTokenResponse && refreshTokenResponse.data.access_token) {
+ const accessToken = refreshTokenResponse.data.access_token
-const formState: UnwrapRef<LoginBody> = reactive({
- // 租户ID
- tenantId: '000000',
- // 部门ID
- deptId: '',
- // 角色ID
- roleId: '',
- // 用户名
- username: 'pilot',
- // 密码
- password: 'pilot123',
- // 账号类型
- type: 'account',
- // 验证码的值
- code: '',
- // 验证码的索引
- key: '',
- // 预加载白色背景
- image: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
- flag: EUserType.Pilot,
-})
-// const onSubmit = async (e: any) => {
+ console.log('Current Base URL:', CURRENT_CONFIG.baseURL)
+ console.log('Current Base URL:', accessToken)
+ // 配置 API 组件参数
+ apiPilot.setComponentParam(EComponentName.Api, {
+ host: CURRENT_CONFIG.baseURL,
+ token: accessToken,
+ })
+
+ // 加载 API 组件
+ const jsres = apiPilot.loadComponent(
+ EComponentName.Api,
+ apiPilot.getComponentParam(EComponentName.Api)
+ )
+
+ if (!jsres) {
+ message.error('加载 API 模块失败')
+ return
+ }
+
+ // 设置 token
+ apiPilot.setToken(accessToken)
+
+ // 存储 token 到 localStorage
+ localStorage.setItem(ELocalStorageKey.Token, accessToken)
+
+ // 跳转到首页
+ root.$router.push(ERouterName.PILOT_HOME)
+ } else {
+ throw new Error('Failed to retrieve access token from refreshToken method')
+ }
+ }
+ } catch (err) {
+ // 错误处理
+ console.error(err)
+ message.error(err.message || 'An error occurred during login')
+ }
+}
+
+// const onSubmit = async () => {
// await login(formState)
// .then(res => {
-// if (!isVerified.value) {
-// message.error('请先核实许可证.')
-// return
-// }
+// if (!isVerified.value) {
+// message.error('请先核实许可证.')
+// return
+// }
// console.log('login res:', res)
// if (res.code === 0) {
// apiPilot.setComponentParam(EComponentName.Api, {
@@ -135,46 +183,26 @@
// EComponentName.Api,
// apiPilot.getComponentParam(EComponentName.Api)
// )
-// console.log('load api module res:', jsres)
-// apiPilot.setToken(res.data.access_token)
-// localStorage.setItem(ELocalStorageKey.Token, res.data.access_token)
-// localStorage.setItem(ELocalStorageKey.WorkspaceId, res.data.workspace_id)
-// localStorage.setItem(ELocalStorageKey.UserId, res.data.user_id)
-// localStorage.setItem(ELocalStorageKey.Username, res.data.username)
-// localStorage.setItem(ELocalStorageKey.Flag, EUserType.Pilot.toString())
-// message.success('登录成功')
-// root.$router.push(ERouterName.PILOT_HOME)
-// }
-// })
-// .catch(err => {
-// message.error(err)
-// })
+// store
+// .dispatch('LoginByUsername', formState)
+// .then((res) => {
+// root.$router.push(ERouterName.PILOT_HOME)
+// })
+// .catch(() => {
+// })
+// const password = encrypt(formState.password)
+// const result = await login(formState)
+// if (result.code === 0) {
+// localStorage.setItem(ELocalStorageKey.Token, result.data.access_token)
+// localStorage.setItem(ELocalStorageKey.WorkspaceId, result.data.workspace_id)
+// localStorage.setItem(ELocalStorageKey.Username, result.data.username)
+// localStorage.setItem(ELocalStorageKey.UserId, result.data.user_id)
+// localStorage.setItem(ELocalStorageKey.Flag, EUserType.Web.toString())
+// root.$router.push(ERouterName.PROJECT_LIST)
+// } else {
+// message.error(result.message)
// }
-const onSubmit = async () => {
- if (!isVerified.value) {
- message.error('请先核实许可证.')
- return
- }
- store
- .dispatch('LoginByUsername', formState)
- .then((res) => {
- root.$router.push(ERouterName.PILOT_HOME)
- })
- .catch(() => {
- })
- // const password = encrypt(formState.password)
- // const result = await login(formState)
- // if (result.code === 0) {
- // localStorage.setItem(ELocalStorageKey.Token, result.data.access_token)
- // localStorage.setItem(ELocalStorageKey.WorkspaceId, result.data.workspace_id)
- // localStorage.setItem(ELocalStorageKey.Username, result.data.username)
- // localStorage.setItem(ELocalStorageKey.UserId, result.data.user_id)
- // localStorage.setItem(ELocalStorageKey.Flag, EUserType.Web.toString())
- // root.$router.push(ERouterName.PROJECT_LIST)
- // } else {
- // message.error(result.message)
- // }
-}
+// }
function verifyLicense () {
isVerified.value = apiPilot.platformVerifyLicense(CURRENT_CONFIG.appId, CURRENT_CONFIG.appKey, CURRENT_CONFIG.appLicense) &&
apiPilot.isPlatformVerifySuccess()
--
Gitblit v1.9.3