From 4dccbb68399da2d46943b8d613585afb49aa5455 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Fri, 22 Jul 2022 20:48:54 +0800
Subject: [PATCH] V1.1.0 for dock
---
src/pages/page-pilot/pilot-index.vue | 96 +++++++++++++++++++++++++-----------------------
1 files changed, 50 insertions(+), 46 deletions(-)
diff --git a/src/pages/page-pilot/pilot-index.vue b/src/pages/page-pilot/pilot-index.vue
index a4181fe..5a5d56b 100644
--- a/src/pages/page-pilot/pilot-index.vue
+++ b/src/pages/page-pilot/pilot-index.vue
@@ -2,7 +2,7 @@
<div class="login flex-column flex-justify-center flex-align-center m0 b0">
<a-image
style="width: 17vw; height: 10vw; margin-bottom: 50px"
- src="http://lofrev.net/wp-content/photos/2016/09/dji_logo_png.png"
+ :src="djiLogo"
/>
<p class="logo fz35 pb50">Pilot Cloud API Demo</p>
<a-form
@@ -11,7 +11,7 @@
class="flex-row flex-justify-center flex-align-center"
>
<a-form-item>
- <a-input v-model:value="formState.user" placeholder="Username">
+ <a-input v-model:value="formState.username" placeholder="Username">
<template #prefix
><UserOutlined style="color: rgba(0, 0, 0, 0.25)"
/></template>
@@ -44,93 +44,97 @@
</template>
<script lang="ts" setup>
-import { LockOutlined, UserOutlined } from '@ant-design/icons-vue'
import { message } from 'ant-design-vue'
-import { onMounted, reactive, UnwrapRef } from 'vue'
+import { onMounted, reactive, ref, UnwrapRef } from 'vue'
import { CURRENT_CONFIG } from '/@/api/http/config'
-import { login, refreshToken } from '/@/api/manage'
+import { login, LoginBody, refreshToken } from '/@/api/manage'
import apiPilot from '/@/api/pilot-bridge'
import { getRoot } from '/@/root'
+import router from '/@/router'
+import { EComponentName, ELocalStorageKey, ERouterName, EUserType } from '/@/types'
+import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
+import djiLogo from '/@/assets/icons/dji_logo.png'
-interface FormState {
- user: string
- password: string
-}
const root = getRoot()
-const formState: UnwrapRef<FormState> = reactive({
- user: 'pilot',
- password: 'pilot123'
+const formState: UnwrapRef<LoginBody> = reactive({
+ username: 'pilot',
+ password: 'pilot123',
+ flag: EUserType.Pilot,
})
-let isVerified:any
+const isVerified = ref<boolean>(false)
onMounted(async () => {
- const verifyLicense = JSON.parse(apiPilot.platformVerifyLicense(CURRENT_CONFIG.appId,
- CURRENT_CONFIG.appKey, CURRENT_CONFIG.appLicense))
- const platformVerify = JSON.parse(apiPilot.isPlatformVerifySuccess())
- isVerified = platformVerify.data
- if (platformVerify.data === true) {
- message.success('The license verification is successful.')
- } else {
- message.error('Filed to verify the license. message is ' + verifyLicense.data)
+ verifyLicense()
+ if (!isVerified.value) {
return
}
- const token = apiPilot.getToken()
- console.log('api token:', token)
+
apiPilot.setPlatformMessage('Cloud Api Platform', '', '')
- if (token && token !== undefined) {
+
+ const token = localStorage.getItem(ELocalStorageKey.Token)
+ if (token) {
await refreshToken({})
.then(res => {
- apiPilot.setComponentParam('api', {
+ apiPilot.setComponentParam(EComponentName.Api, {
host: CURRENT_CONFIG.baseURL,
token: res.data.access_token
})
- const jsres = JSON.parse(
- apiPilot.loadComponent('api', apiPilot.getComponentParam('api'))
- )
- console.log('load api module status:', jsres)
+ const jsres = apiPilot.loadComponent(EComponentName.Api, apiPilot.getComponentParam(EComponentName.Api))
+ if (!jsres) {
+ message.error('Failed to load api module.')
+ return
+ }
apiPilot.setToken(res.data.access_token)
- localStorage.setItem('x-auth-token', res.data.access_token)
- message.success('Login Success')
- root.$router.push('/pilot-home')
+ localStorage.setItem(ELocalStorageKey.Token, res.data.access_token)
+ root.$router.push(ERouterName.PILOT_HOME)
})
.catch(err => {
- console.error(err)
+ message.error(err)
})
}
})
const onSubmit = async (e: any) => {
- await login({
- username: formState.user,
- password: formState.password
- })
+ await login(formState)
.then(res => {
- if (!isVerified) {
+ if (!isVerified.value) {
message.error('Please verify the license firstly.')
return
}
console.log('login res:', res)
if (res.code === 0) {
- apiPilot.setComponentParam('api', {
+ apiPilot.setComponentParam(EComponentName.Api, {
host: CURRENT_CONFIG.baseURL,
token: res.data.access_token
})
const jsres = apiPilot.loadComponent(
- 'api',
- apiPilot.getComponentParam('api')
+ EComponentName.Api,
+ apiPilot.getComponentParam(EComponentName.Api)
)
console.log('load api module res:', jsres)
apiPilot.setToken(res.data.access_token)
- localStorage.setItem('x-auth-token', res.data.access_token)
- localStorage.setItem('workspace-id', res.data.workspace_id)
- localStorage.setItem('username', res.data.username)
+ 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('Login Success')
- root.$router.push('/pilot-home')
+ root.$router.push(ERouterName.PILOT_HOME)
}
})
.catch(err => {
- console.error(err)
+ message.error(err)
})
}
+
+function verifyLicense () {
+ isVerified.value = apiPilot.platformVerifyLicense(CURRENT_CONFIG.appId, CURRENT_CONFIG.appKey, CURRENT_CONFIG.appLicense) &&
+ apiPilot.isPlatformVerifySuccess()
+ if (isVerified.value) {
+ message.success('The license verification is successful.')
+ } else {
+ message.error('Filed to verify the license. Please check license whether the license is correct, or apply again.')
+ }
+}
</script>
<style lang="scss" scoped>
--
Gitblit v1.9.3