From 650569b550790eedf806c5b86a440ba61c6aecee Mon Sep 17 00:00:00 2001 From: simple321vip Date: Sun, 30 Oct 2022 18:18:53 +0800 Subject: [PATCH] write page modify --- package.json | 5 ++- src/const/config.ts | 12 +++++- src/main.ts | 16 +++---- src/store/tenant.ts | 27 ++++-------- src/utils/copyutil.ts | 8 ++++ src/utils/request.ts | 22 +++++++--- src/view/blog/createBlog.vue | 83 +++++++++++++++++++----------------- src/view/blog/index.vue | 17 +++++++- 8 files changed, 114 insertions(+), 76 deletions(-) create mode 100644 src/utils/copyutil.ts diff --git a/package.json b/package.json index 5c73140..3530426 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { "name": "violin-home-home", "private": true, - "version": "0.0.5", + "version": "1.0.0", "scripts": { "dev": "vite --host", "build": "vue-tsc --noEmit && vite build", "development": "vite build --mode development", + "test": "vite --mode test", "preview": "vite preview" }, "dependencies": { @@ -42,4 +43,4 @@ "vite-plugin-mock": "^2.9.6", "vue-tsc": "^0.29.8" } -} +} \ No newline at end of file diff --git a/src/const/config.ts b/src/const/config.ts index fa7388d..dff62e4 100644 --- a/src/const/config.ts +++ b/src/const/config.ts @@ -23,7 +23,17 @@ const configObj: any = { DEVICE_ID: '&device_id=27103657', QR_CODE: '&qrcode=' + '1', DISPLAY: '&display=popup' - } + }, + test: { + BAIDU_CLOUD_URL: 'http://openapi.baidu.com/oauth/2.0/authorize', + RESPONSE_TYPE: '?response_type=' + 'code', + CLIENT_ID: '&client_id=' + 'BIukdHDXeNPmIXe96GA6OOXGgnP5GEhM', + REDIRECT_URI: '&redirect_uri=' + 'http://localhost:8080/auth/api/v1/authorize/baidu', + SCOPE: '&scope=basic,netdisk', + DEVICE_ID: '&device_id=27103657', + QR_CODE: '&qrcode=' + '1', + DISPLAY: '&display=popup' + }, }; export default { ...configObj[env] }; diff --git a/src/main.ts b/src/main.ts index 562d29d..5261aa0 100644 --- a/src/main.ts +++ b/src/main.ts @@ -60,13 +60,14 @@ async function checktoken(url: string) { account: query_data.account } const tenant_store = tenantStore() - await tenant_store.login(tenant, query_data.token) - - const { href } = router.resolve({ - path: '/' - }); - window.open(href, '_self'); - return + await tenant_store.login(tenant, query_data.token).then(() => { + const { href } = router.resolve({ + path: '/' + }); + window.open(href, '_self'); + }).catch((error) => { + console.log(error) + }) } if (url.search("sorryPage") != -1) { router.push({ @@ -90,7 +91,6 @@ router.beforeEach((to, from, next) => { const token = getToken() - if (typeof token === 'string') { switch (to.path) { case '/login': diff --git a/src/store/tenant.ts b/src/store/tenant.ts index bca4259..3e017e5 100644 --- a/src/store/tenant.ts +++ b/src/store/tenant.ts @@ -42,29 +42,20 @@ export const tenantStore = defineStore({ * @param {string} user_password */ async login(tenant: any, token: string) { - const userData = await authorize({ - tenant_id: tenant.tenant_id, token: token - }) - if (userData.data.token) { - this.$patch({ - account: tenant.tenant_id, - ...userData.data, - id: 'true' + try { + await authorize({ + tenant_id: tenant.tenant_id, token: token }) - setToken(userData.data.token) - setTenant(userData) - console.log('authorize success!') + setToken(token) + setTenant(tenant) + } catch { + Promise.resolve("authorize error") } - return new Promise((resolve, reject) => { - if (userData.data.message) { - reject(userData.data.message) - } else { - resolve(userData.data) - } - }) }, + + async reflush() { if (getToken()) { const tenant = (JSON.parse(getTenant() as string)) diff --git a/src/utils/copyutil.ts b/src/utils/copyutil.ts new file mode 100644 index 0000000..1c32803 --- /dev/null +++ b/src/utils/copyutil.ts @@ -0,0 +1,8 @@ +const copy = (small_object: any, big_object: any) => { + Object.keys(small_object).forEach((key) => { + small_object[key] = big_object[key] + }) + return small_object +} + +export { copy } \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts index 16921c5..c883bff 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -20,18 +20,30 @@ const trader_service = axios.create( service.interceptors.request.use( config => { if (typeof getToken() === 'string') { - (config as any).headers['Authorization'] = 'Bearer' + getToken() + (config as any).headers['Authorization'] = 'Bearer:' + getToken() } const tenant = getTenant() if (typeof tenant === 'string') { - (config as any).headers['id'] = JSON.parse(tenant).id + (config as any).headers['tenantId'] = JSON.parse(tenant).tenant_id } return config }, - error => { - console.log(error) - return Promise.reject(error) + async error => { + console.log("-----------------") + const err = {} as any + if (error.code === "ECONNABORTED") { + err.message = "time out" + return Promise.reject(error) + } + if (!error.response) { + err.message = "server error" + return Promise.reject(error) + } + if (error.response) { + return Promise.reject(error.response.data) + } + return Promise.reject(error.response.data) } ) diff --git a/src/view/blog/createBlog.vue b/src/view/blog/createBlog.vue index 6044554..05a1a0d 100644 --- a/src/view/blog/createBlog.vue +++ b/src/view/blog/createBlog.vue @@ -64,14 +64,14 @@ +
已保存 更新中
- +
@@ -118,10 +118,10 @@