ブログ一時保存
This commit is contained in:
Generated
+130
@@ -343,6 +343,15 @@
|
|||||||
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
|
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
|
||||||
"dev": true
|
"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": {
|
"asap": {
|
||||||
"version": "2.0.6",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||||
@@ -394,6 +403,16 @@
|
|||||||
"get-intrinsic": "^1.0.2"
|
"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": {
|
"character-parser": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
|
||||||
@@ -413,6 +432,21 @@
|
|||||||
"tiny-emitter": "^2.0.0"
|
"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": {
|
"constantinople": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz",
|
||||||
"integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug=="
|
"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": {
|
"delegate": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
|
||||||
"integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
|
"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": {
|
"element-plus": {
|
||||||
"version": "2.1.7",
|
"version": "2.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.1.7.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
|
||||||
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4="
|
"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": {
|
"fsevents": {
|
||||||
"version": "2.3.2",
|
"version": "2.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||||
@@ -770,6 +833,12 @@
|
|||||||
"delegate": "^3.1.2"
|
"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": {
|
"has": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||||
@@ -778,6 +847,12 @@
|
|||||||
"function-bind": "^1.1.1"
|
"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": {
|
"has-symbols": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||||
@@ -856,6 +931,16 @@
|
|||||||
"integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==",
|
"integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==",
|
||||||
"dev": true
|
"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": {
|
"jstransformer": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz",
|
||||||
"integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg=="
|
"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": {
|
"nanoid": {
|
||||||
"version": "3.3.2",
|
"version": "3.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz",
|
||||||
@@ -1221,6 +1312,15 @@
|
|||||||
"through": "~2.3.4"
|
"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": {
|
"supports-preserve-symlinks-flag": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
"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=",
|
"integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
|
},
|
||||||
"type-fest": {
|
"type-fest": {
|
||||||
"version": "2.12.2",
|
"version": "2.12.2",
|
||||||
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz",
|
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz",
|
||||||
@@ -1265,6 +1370,12 @@
|
|||||||
"integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
|
"integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"universalify": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"upath": {
|
"upath": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz",
|
||||||
@@ -1284,6 +1395,17 @@
|
|||||||
"rollup": "^2.59.0"
|
"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": {
|
"void-elements": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
|
"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",
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||||
"dev": true
|
"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"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
"axios": "^0.26.1",
|
"axios": "^0.26.1",
|
||||||
"clipboard": "^2.0.10",
|
"clipboard": "^2.0.10",
|
||||||
"copy-to-clipboard": "^3.3.1",
|
"copy-to-clipboard": "^3.3.1",
|
||||||
|
"echarts": "^5.3.2",
|
||||||
"element-plus": "^2.1.7",
|
"element-plus": "^2.1.7",
|
||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
@@ -35,6 +36,7 @@
|
|||||||
"@vitejs/plugin-vue": "^2.3.0",
|
"@vitejs/plugin-vue": "^2.3.0",
|
||||||
"typescript": "^4.5.4",
|
"typescript": "^4.5.4",
|
||||||
"vite": "^2.9.0",
|
"vite": "^2.9.0",
|
||||||
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vue-tsc": "^0.29.8"
|
"vue-tsc": "^0.29.8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+50
-9
@@ -18,20 +18,19 @@ const get_blog = (params: any) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const get_user_blogs = (params: Object) => {
|
const listAll = () => {
|
||||||
return request({
|
return request({
|
||||||
url: '/blog',
|
url: '/author/blog/list',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: params,
|
headers: {
|
||||||
paramsSerializer: (params) => {
|
'Content-Type': 'application/json;charsetset=UTF-8'
|
||||||
return Qs.stringify(params, { arrayFormat: 'repeat' })
|
}
|
||||||
},
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const update_blog_type = (params: Object) => {
|
const updateBtName = (params: Object) => {
|
||||||
return request({
|
return request({
|
||||||
url: '/blog/update_blog_type',
|
url: '/author/blog/update_blog_type',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json;charsetset=UTF-8'
|
'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 }
|
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 }
|
||||||
+8
-7
@@ -1,14 +1,15 @@
|
|||||||
type Blog = {
|
type Blog = {
|
||||||
blog_id: string,
|
bid: string,
|
||||||
blog_type_id: string,
|
btId: string,
|
||||||
blog_type_name: string,
|
btName: string,
|
||||||
blog_title: string,
|
title: string,
|
||||||
blog_prex: string
|
blog_prex: string,
|
||||||
|
content: string
|
||||||
}
|
}
|
||||||
|
|
||||||
type BlogType = {
|
type BlogType = {
|
||||||
blog_type_id: string,
|
btId: string,
|
||||||
blog_type_name: string,
|
btName: string,
|
||||||
blog_list: Blog[]
|
blog_list: Blog[]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+19
-31
@@ -16,51 +16,40 @@ import { getToken, getUser } from './utils/auth'
|
|||||||
import { User } from './entity/index'
|
import { User } from './entity/index'
|
||||||
const whiteList = ['/login']
|
const whiteList = ['/login']
|
||||||
let url = window.location.href
|
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) => {
|
router.beforeEach((to, from, next) => {
|
||||||
console.log(from.path, to.path)
|
console.log(from.path, to.path)
|
||||||
|
|
||||||
const token = getToken()
|
const token = getToken()
|
||||||
|
|
||||||
|
|
||||||
if (typeof token === 'string') {
|
if (typeof token === 'string') {
|
||||||
if (to.path === '/login') {
|
switch (to.path) {
|
||||||
if (token) {
|
case '/login':
|
||||||
next('/')
|
next('/')
|
||||||
}
|
break;
|
||||||
} else if (to.path === '/') {
|
case '/':
|
||||||
const user = <User>(JSON.parse(getUser() as string))
|
const user = <User>(JSON.parse(getUser() as string))
|
||||||
console.log(user)
|
if (url.search("edit_blog") != -1) {
|
||||||
if (user) {
|
next('/BlogEditer')
|
||||||
|
} else {
|
||||||
router.push({
|
router.push({
|
||||||
path: '/home',
|
path: '/home',
|
||||||
query: user
|
query: user
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
break;
|
||||||
|
default:
|
||||||
next()
|
next()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (whiteList.includes(to.path)) {
|
if (whiteList.includes(to.path)) {
|
||||||
next()
|
next()
|
||||||
@@ -69,7 +58,6 @@ router.beforeEach((to, from, next) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ import { getToken } from '../utils/auth'
|
|||||||
|
|
||||||
const service = axios.create(
|
const service = axios.create(
|
||||||
{
|
{
|
||||||
baseURL: 'http://localhost:8081',
|
baseURL: import.meta.env.VITE_APP_URL as string,
|
||||||
// baseURL: 'http://49.233.4.79:8081',
|
|
||||||
timeout: 5000
|
timeout: 5000
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,31 +1,29 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="blog_editer">
|
<div class="blog_editer">
|
||||||
<div class="tab_list">
|
<div class="tab_list">
|
||||||
<Tab :row_key="item.blog_type_id" :checked="handleCheck(item.blog_type_id)" :tab_text="item.blog_type_name"
|
<Tab :row_key="item.btId" :checked="handleCheck(item.btId)" :tab_text="item.btName" checked_color="" over_color=""
|
||||||
checked_color="" over_color="" leave_color="" @on-click="saveType"
|
leave_color="" @on-click="saveType" @click="onclickTypeTab(item.btId, index)"
|
||||||
@click="onclickTypeTab(item.blog_type_id, index)" v-for="(item, index) in data_type_list">
|
v-for="(item, index) in blog_type_list">
|
||||||
</Tab>
|
</Tab>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<Tab :row_key="item.blog_type_id" :checked="handleCheck(item.blog_type_id)" :tab_text="item.blog_type_name"
|
<Tab :row_key="item.bid" :checked="handleCheck(item.bid)" :tab_text="item.title" checked_color="" over_color=""
|
||||||
checked_color="" over_color="" leave_color="" @on-click="saveBlog"
|
leave_color="" @on-click="saveTitle" @click="onclickBlogTab(item.bid, index)"
|
||||||
@click="onclickBlogTab(item.blog_type_id, index)"
|
v-for="(item, index) in blog_type_list[checkedIndex].blog_list">
|
||||||
v-for="(item, index) in data_type_list[checkedIndex].blog_list">
|
|
||||||
</Tab>
|
</Tab>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<md-editor v-model="text" />
|
<md-editor v-model="blog_type_list[checkedIndex].blog_list[checkedBlogIndex].content" @save="saveContent" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref } from 'vue';
|
import { reactive, ref } from 'vue'
|
||||||
import MdEditor from 'md-editor-v3';
|
import MdEditor from 'md-editor-v3'
|
||||||
import 'md-editor-v3/lib/style.css';
|
import 'md-editor-v3/lib/style.css'
|
||||||
import { get_user_blogs } from '../../api/blog'
|
|
||||||
import { Blog, BlogType } from '../../entity/index'
|
import { Blog, BlogType } from '../../entity/index'
|
||||||
import { update_blog_type, insert_blog_type } from '../../api/blog'
|
import { updateBtName, updateContent, insert_blog_type, listAll } from '../../api/blog'
|
||||||
import Tab from '../../components/common/Tab.vue'
|
import Tab from '../../components/common/Tab.vue'
|
||||||
|
|
||||||
let text = ref<string>("")
|
let text = ref<string>("")
|
||||||
@@ -36,34 +34,35 @@ type Tab = {
|
|||||||
let type_tab = reactive<Tab>(<Tab>{
|
let type_tab = reactive<Tab>(<Tab>{
|
||||||
id: '1'
|
id: '1'
|
||||||
})
|
})
|
||||||
let blog_tab = reactive<Tab>(<Tab>{
|
let bid = ref("")
|
||||||
id: '1'
|
|
||||||
})
|
|
||||||
|
|
||||||
const data_type_list = reactive<BlogType[]>([])
|
|
||||||
let checkedIndex = ref<number>(0)
|
let checkedIndex = ref<number>(0)
|
||||||
|
let checkedBlogIndex = ref<number>(0)
|
||||||
|
|
||||||
const blog_type_list = reactive<BlogType[]>([])
|
const blog_type_list = reactive<BlogType[]>([])
|
||||||
get_user_blogs({}).then(response => {
|
listAll().then(response => {
|
||||||
|
console.log(response)
|
||||||
response.data.forEach((element: any) => {
|
response.data.forEach((element: any) => {
|
||||||
const blog_type: BlogType = {
|
const blog_type: BlogType = {
|
||||||
blog_type_id: element.blog_type_id,
|
btId: element.btId,
|
||||||
blog_type_name: element.blog_type_id,
|
btName: element.btName,
|
||||||
blog_list: []
|
blog_list: []
|
||||||
}
|
}
|
||||||
element.blog_list.forEach((item: any) => {
|
element.blog_list.forEach((item: any) => {
|
||||||
const blog: Blog = {
|
const blog: Blog = {
|
||||||
blog_id: item.blog_id,
|
bid: item.bid,
|
||||||
blog_type_id: item.blog_type_id,
|
btId: item.btId,
|
||||||
blog_type_name: item.blog_type_name,
|
btName: item.btName,
|
||||||
blog_title: item.blog_title,
|
title: item.title,
|
||||||
blog_prex: item.blog_prex
|
blog_prex: item.blog_prex,
|
||||||
|
content: item.content
|
||||||
}
|
}
|
||||||
blog_type.blog_list.push(blog)
|
blog_type.blog_list.push(blog)
|
||||||
});
|
});
|
||||||
blog_type_list.push(blog_type)
|
blog_type_list.push(blog_type)
|
||||||
});
|
});
|
||||||
|
bid.value = blog_type_list[0].blog_list[0].bid
|
||||||
|
text.value = blog_type_list[0].blog_list[0].content
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
if (blog_type_list.length == 0) {
|
if (blog_type_list.length == 0) {
|
||||||
const data = {
|
const data = {
|
||||||
@@ -72,8 +71,8 @@ get_user_blogs({}).then(response => {
|
|||||||
insert_blog_type(data).then(response => {
|
insert_blog_type(data).then(response => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
blog_type_list.push({
|
blog_type_list.push({
|
||||||
blog_type_id: response.data.blog_type_id,
|
btId: response.data.btId,
|
||||||
blog_type_name: response.data.blog_type_id,
|
btName: response.data.btNmae,
|
||||||
blog_list: []
|
blog_list: []
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -85,16 +84,28 @@ const handleCheck = (id: string) => {
|
|||||||
}
|
}
|
||||||
const saveType = (params: any) => {
|
const saveType = (params: any) => {
|
||||||
const query = {
|
const query = {
|
||||||
blog_type_id: params.id,
|
btId: params.id,
|
||||||
blog_type_name: params.name
|
btName: params.name
|
||||||
}
|
}
|
||||||
update_blog_type(query).then(response => {
|
updateBtName(query).then(response => {
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const saveBlog = (params: any) => {
|
const saveTitle = (params: any) => {
|
||||||
console.log(params)
|
const query = {
|
||||||
update_blog_type(1).then(response => {
|
bid: params.id,
|
||||||
|
title: params.name
|
||||||
|
}
|
||||||
|
updateContent(query).then(response => {
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const saveContent = () => {
|
||||||
|
const query = {
|
||||||
|
bid: bid.value,
|
||||||
|
content: text.value
|
||||||
|
}
|
||||||
|
updateContent(query).then(response => {
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -103,7 +114,8 @@ const onclickTypeTab = (id: string, index: number) => {
|
|||||||
type_tab.id = id
|
type_tab.id = id
|
||||||
}
|
}
|
||||||
const onclickBlogTab = (id: string, index: number) => {
|
const onclickBlogTab = (id: string, index: number) => {
|
||||||
blog_tab.id = id
|
bid.value = id
|
||||||
|
checkedBlogIndex.value = index
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
+38
-3
@@ -1,7 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-button @click="openBlogEditer">++++++</el-button>
|
<el-button @click="openBlogEditer">进入博客小作坊</el-button>
|
||||||
|
<el-button @click="test">获取博客内容</el-button>
|
||||||
|
<el-button @click="test1">新增博客</el-button>
|
||||||
|
<el-button @click="test2">更新博客</el-button>
|
||||||
|
<el-button @click="test3">削除博客</el-button>
|
||||||
|
|
||||||
<div class="blog_list" v-for="item in data_list">
|
<div class="blog_list" v-for="item in data_list">
|
||||||
<h3 style="cursor: pointer;" @click="openBlog">{{ item.blog_title }}</h3>
|
<h3 style="cursor: pointer;" @click="openBlog">{{ item.title }}</h3>
|
||||||
<span style="font-size: 12px;">{{ item.blog_prex }}</span>
|
<span style="font-size: 12px;">{{ item.blog_prex }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -10,7 +15,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref } from 'vue';
|
import { reactive, ref } from 'vue';
|
||||||
import { get_blogs } from '../../api/blog'
|
import { get_blogs, getContent, newBlog, updateContent, deleteContent } from '../../api/blog'
|
||||||
import router from '../../router/index'
|
import router from '../../router/index'
|
||||||
|
|
||||||
import { Blog, BlogType } from '../../entity/index'
|
import { Blog, BlogType } from '../../entity/index'
|
||||||
@@ -42,6 +47,36 @@ const openBlogEditer = () => {
|
|||||||
});
|
});
|
||||||
window.open(href, '_blank');
|
window.open(href, '_blank');
|
||||||
}
|
}
|
||||||
|
const test = () => {
|
||||||
|
getContent('123456').then(response => {
|
||||||
|
console.log(response)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const test1 = () => {
|
||||||
|
const params = {
|
||||||
|
blog_type_id: "2808000",
|
||||||
|
title: "dddddddd"
|
||||||
|
}
|
||||||
|
newBlog(params).then(response => {
|
||||||
|
console.log(response)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const test2 = () => {
|
||||||
|
const params = {
|
||||||
|
bid: "22222",
|
||||||
|
title: "22222222222",
|
||||||
|
content: "dddddddddddddddddddddddddddd"
|
||||||
|
}
|
||||||
|
updateContent(params).then(response => {
|
||||||
|
console.log(response)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const test3 = () => {
|
||||||
|
deleteContent('22222').then(response => {
|
||||||
|
console.log(response)
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
+4
-5
@@ -1,16 +1,15 @@
|
|||||||
import { defineConfig, loadEnv } from 'vite'
|
import { defineConfig, loadEnv } from 'vite'
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
|
import viteCompression from 'vite-plugin-compression';
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.cn/guide/env-and-mode.html#env-files
|
||||||
// export default defineConfig({
|
|
||||||
// plugins: [vue()]
|
|
||||||
// })
|
|
||||||
|
|
||||||
export default defineConfig(({ mode }) => {
|
export default defineConfig(({ mode }) => {
|
||||||
const env = loadEnv(mode, __dirname)
|
const env = loadEnv(mode, __dirname)
|
||||||
return {
|
return {
|
||||||
plugins: [
|
plugins: [
|
||||||
vue(),
|
vue(),
|
||||||
|
// this is a gzip plugin to generate the .js.gz file
|
||||||
|
viteCompression()
|
||||||
],
|
],
|
||||||
base: env.VITE_RES_URL
|
base: env.VITE_RES_URL
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user