From 6e5d90d613df6ceb573313ed13ca324d2e8b7716 Mon Sep 17 00:00:00 2001 From: simple321vip Date: Sun, 24 Apr 2022 23:13:47 +0800 Subject: [PATCH] =?UTF-8?q?=E3=83=96=E3=83=AD=E3=82=B0=E4=B8=80=E6=99=82?= =?UTF-8?q?=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 130 +++++++++++++++++++++++++++++++++++ package.json | 2 + src/api/blog.ts | 59 +++++++++++++--- src/entity/index.ts | 15 ++-- src/main.ts | 64 +++++++---------- src/utils/request.ts | 3 +- src/view/blog/createBlog.vue | 82 ++++++++++++---------- src/view/blog/index.vue | 41 ++++++++++- vite.config.ts | 9 ++- 9 files changed, 306 insertions(+), 99 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ea5ea1..b1037b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -343,6 +343,15 @@ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -394,6 +403,16 @@ "get-intrinsic": "^1.0.2" } }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "character-parser": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", @@ -413,6 +432,21 @@ "tiny-emitter": "^2.0.0" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "constantinople": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", @@ -441,6 +475,15 @@ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz", "integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==" }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, "delegate": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", @@ -502,6 +545,15 @@ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" }, + "echarts": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.3.2.tgz", + "integrity": "sha512-LWCt7ohOKdJqyiBJ0OGBmE9szLdfA9sGcsMEi+GGoc6+Xo75C+BkcT/6NNGRHAWtnQl2fNow05AQjznpap28TQ==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.3.1" + } + }, "element-plus": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.7.tgz", @@ -740,6 +792,17 @@ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", @@ -770,6 +833,12 @@ "delegate": "^3.1.2" } }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -778,6 +847,12 @@ "function-bind": "^1.1.1" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -856,6 +931,16 @@ "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", "dev": true }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, "jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", @@ -928,6 +1013,12 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "nanoid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", @@ -1221,6 +1312,15 @@ "through": "~2.3.4" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -1254,6 +1354,11 @@ "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", "dev": true }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, "type-fest": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz", @@ -1265,6 +1370,12 @@ "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", "dev": true }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, "upath": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", @@ -1284,6 +1395,17 @@ "rollup": "^2.59.0" } }, + "vite-plugin-compression": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/vite-plugin-compression/-/vite-plugin-compression-0.5.1.tgz", + "integrity": "sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==", + "dev": true, + "requires": { + "chalk": "^4.1.2", + "debug": "^4.3.3", + "fs-extra": "^10.0.0" + } + }, "void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", @@ -1512,6 +1634,14 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true + }, + "zrender": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.3.1.tgz", + "integrity": "sha512-7olqIjy0gWfznKr6vgfnGBk7y4UtdMvdwFmK92vVQsQeDPyzkHW1OlrLEKg6GHz1W5ePf0FeN1q2vkl/HFqhXw==", + "requires": { + "tslib": "2.3.0" + } } } } diff --git a/package.json b/package.json index a049c0e..b43bf2b 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "axios": "^0.26.1", "clipboard": "^2.0.10", "copy-to-clipboard": "^3.3.1", + "echarts": "^5.3.2", "element-plus": "^2.1.7", "js-cookie": "^3.0.1", "lodash": "^4.17.21", @@ -35,6 +36,7 @@ "@vitejs/plugin-vue": "^2.3.0", "typescript": "^4.5.4", "vite": "^2.9.0", + "vite-plugin-compression": "^0.5.1", "vue-tsc": "^0.29.8" } } diff --git a/src/api/blog.ts b/src/api/blog.ts index 167f5fa..1611079 100644 --- a/src/api/blog.ts +++ b/src/api/blog.ts @@ -18,20 +18,19 @@ const get_blog = (params: any) => { }) } -const get_user_blogs = (params: Object) => { +const listAll = () => { return request({ - url: '/blog', + url: '/author/blog/list', method: 'get', - params: params, - paramsSerializer: (params) => { - return Qs.stringify(params, { arrayFormat: 'repeat' }) - }, + headers: { + 'Content-Type': 'application/json;charsetset=UTF-8' + } }) } -const update_blog_type = (params: Object) => { +const updateBtName = (params: Object) => { return request({ - url: '/blog/update_blog_type', + url: '/author/blog/update_blog_type', method: 'post', headers: { 'Content-Type': 'application/json;charsetset=UTF-8' @@ -51,5 +50,47 @@ const insert_blog_type = (params: Object) => { }) } +const getContent = (id: string) => { + return request({ + url: '/author/blog/' + id + '/content', + method: 'get', + headers: { + 'Content-Type': 'application/json;charsetset=UTF-8' + } + }) +} -export { get_blogs, get_blog, get_user_blogs, update_blog_type, insert_blog_type } \ No newline at end of file +const newBlog = (params: Object) => { + return request({ + url: '/author/blog/createContent', + method: 'post', + headers: { + 'Content-Type': 'application/json;charsetset=UTF-8' + }, + data: params + }) +} + +const updateContent = (params: Object) => { + return request({ + url: '/author/blog/updateContent', + method: 'post', + headers: { + 'Content-Type': 'application/json;charsetset=UTF-8' + }, + data: params + }) +} + +const deleteContent = (params: string) => { + return request({ + url: '/author/blog/delete/' + params, + method: 'get', + headers: { + 'Content-Type': 'application/json;charsetset=UTF-8' + } + }) +} + + +export { get_blogs, get_blog, listAll, updateBtName, insert_blog_type, getContent, newBlog, updateContent, deleteContent } \ No newline at end of file diff --git a/src/entity/index.ts b/src/entity/index.ts index 00c9491..8c21ae1 100644 --- a/src/entity/index.ts +++ b/src/entity/index.ts @@ -1,14 +1,15 @@ type Blog = { - blog_id: string, - blog_type_id: string, - blog_type_name: string, - blog_title: string, - blog_prex: string + bid: string, + btId: string, + btName: string, + title: string, + blog_prex: string, + content: string } type BlogType = { - blog_type_id: string, - blog_type_name: string, + btId: string, + btName: string, blog_list: Blog[] } diff --git a/src/main.ts b/src/main.ts index 8520320..f2c8d0b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -16,51 +16,40 @@ import { getToken, getUser } from './utils/auth' import { User } from './entity/index' const whiteList = ['/login'] let url = window.location.href -console.log(url) -if (url != 'http://localhost:3000/') { - // if(url.search("blog=") != -1) { - // let blog = { - // blog_id: url.split("=")[1] - // } - // router.push({ - // path: '/feedback', - // query: blog - // }) - // } - if (url.search("edit_blog=") != -1) { - let blog = { - blog_id: url.split("=")[1] - } - router.push({ - path: '/BlogEditer', - query: blog - }) - } -} +/** + * ルーター監視 + * 1、トーケン取得 + * 2、トーケンなし場合はログイン画面に遷移 + * 3、トーケンあり場合: + *  既にログイン場合はデフォルト /  に遷移 + *   + */ router.beforeEach((to, from, next) => { console.log(from.path, to.path) const token = getToken() + + if (typeof token === 'string') { - if (to.path === '/login') { - if (token) { + switch (to.path) { + case '/login': next('/') - } - } else if (to.path === '/') { - const user = (JSON.parse(getUser() as string)) - console.log(user) - if (user) { - router.push({ - path: '/home', - query: user - }) - } - } else { - next() + break; + case '/': + const user = (JSON.parse(getUser() as string)) + if (url.search("edit_blog") != -1) { + next('/BlogEditer') + } else { + router.push({ + path: '/home', + query: user + }) + } + break; + default: + next() } - - } else { if (whiteList.includes(to.path)) { next() @@ -69,7 +58,6 @@ router.beforeEach((to, from, next) => { } } - }) diff --git a/src/utils/request.ts b/src/utils/request.ts index d533cb7..c37f606 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -3,8 +3,7 @@ import { getToken } from '../utils/auth' const service = axios.create( { - baseURL: 'http://localhost:8081', - // baseURL: 'http://49.233.4.79:8081', + baseURL: import.meta.env.VITE_APP_URL as string, timeout: 5000 } ) diff --git a/src/view/blog/createBlog.vue b/src/view/blog/createBlog.vue index bea05c8..dc08a8e 100644 --- a/src/view/blog/createBlog.vue +++ b/src/view/blog/createBlog.vue @@ -1,31 +1,29 @@ diff --git a/src/view/blog/index.vue b/src/view/blog/index.vue index 413157a..b4e9516 100644 --- a/src/view/blog/index.vue +++ b/src/view/blog/index.vue @@ -1,7 +1,12 @@