fix-0430: 优化论坛页面展示
This commit is contained in:
parent
6028118a63
commit
9ecf6e451a
6
.gitignore
vendored
6
.gitignore
vendored
@ -1,6 +1,6 @@
|
||||
# .DS_Store
|
||||
# node_modules
|
||||
# /dist
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
# # local env files
|
||||
# .env.local
|
||||
|
2
node_modules/.cache/babel-loader/258f394782f3e988fa5f40c7bc1ba2fc.json
generated
vendored
2
node_modules/.cache/babel-loader/258f394782f3e988fa5f40c7bc1ba2fc.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/318fc50aea93115e1aa249121e882d31.json
generated
vendored
2
node_modules/.cache/babel-loader/318fc50aea93115e1aa249121e882d31.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/9b797156a445e79a87b68340d25146d3.json
generated
vendored
2
node_modules/.cache/babel-loader/9b797156a445e79a87b68340d25146d3.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/9c8584ba5a805a8e2adce1e00941c41a.json
generated
vendored
2
node_modules/.cache/babel-loader/9c8584ba5a805a8e2adce1e00941c41a.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/ae8261003d4e2731ef240f33c422e9d4.json
generated
vendored
2
node_modules/.cache/babel-loader/ae8261003d4e2731ef240f33c422e9d4.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/b4e6113d00298fc441baef88a9bda9fb.json
generated
vendored
2
node_modules/.cache/babel-loader/b4e6113d00298fc441baef88a9bda9fb.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/bea25400efe738847adef78412ecbe0a.json
generated
vendored
2
node_modules/.cache/babel-loader/bea25400efe738847adef78412ecbe0a.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/c5a434557b794190201183b38acfc0cb.json
generated
vendored
2
node_modules/.cache/babel-loader/c5a434557b794190201183b38acfc0cb.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/c99c93c2ace3a30a2d02c3408191237e.json
generated
vendored
2
node_modules/.cache/babel-loader/c99c93c2ace3a30a2d02c3408191237e.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/e3de9015aef3fed14b7d9572b2533699.json
generated
vendored
2
node_modules/.cache/babel-loader/e3de9015aef3fed14b7d9572b2533699.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/babel-loader/f7f6f45dd148f24d5a1bbbf77a102290.json
generated
vendored
2
node_modules/.cache/babel-loader/f7f6f45dd148f24d5a1bbbf77a102290.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/09b9ac55311be37fd73ba61bc8ac1d83.json
generated
vendored
2
node_modules/.cache/vue-loader/09b9ac55311be37fd73ba61bc8ac1d83.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/14bc26024cd1d8e0b6fd9f291c9fd8d1.json
generated
vendored
2
node_modules/.cache/vue-loader/14bc26024cd1d8e0b6fd9f291c9fd8d1.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/15e1b1b0378c02e82383b0cdc9ae4e03.json
generated
vendored
2
node_modules/.cache/vue-loader/15e1b1b0378c02e82383b0cdc9ae4e03.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/2388b60e3de1bfe32bea6a6ac8446a30.json
generated
vendored
2
node_modules/.cache/vue-loader/2388b60e3de1bfe32bea6a6ac8446a30.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/edit/tinymce.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/edit/tinymce.vue","mtime":1742646402768},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL3RpbnltY2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwNjVlZTlhJnNjb3BlZD10cnVlIgppbXBvcnQgc2NyaXB0IGZyb20gIi4vdGlueW1jZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmV4cG9ydCAqIGZyb20gIi4vdGlueW1jZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi90aW55bWNlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTcwNjVlZTlhJnNjb3BlZD10cnVlJmxhbmc9Y3NzIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgIjcwNjVlZTlhIiwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNzA2NWVlOWEnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCc3MDY1ZWU5YScsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnNzA2NWVlOWEnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL3RpbnltY2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwNjVlZTlhJnNjb3BlZD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICBhcGkucmVyZW5kZXIoJzcwNjVlZTlhJywgewogICAgICAgIHJlbmRlcjogcmVuZGVyLAogICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zCiAgICAgIH0pCiAgICB9KQogIH0KfQpjb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSAic3JjL2NvbXBvbmVudHMvZWRpdC90aW55bWNlLnZ1ZSIKZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHM="}]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/edit/tinymce.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/edit/tinymce.vue","mtime":1743947405816},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL3RpbnltY2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwNjVlZTlhJnNjb3BlZD10cnVlIgppbXBvcnQgc2NyaXB0IGZyb20gIi4vdGlueW1jZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmV4cG9ydCAqIGZyb20gIi4vdGlueW1jZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi90aW55bWNlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTcwNjVlZTlhJnNjb3BlZD10cnVlJmxhbmc9Y3NzIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgIjcwNjVlZTlhIiwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNzA2NWVlOWEnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCc3MDY1ZWU5YScsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnNzA2NWVlOWEnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL3RpbnltY2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwNjVlZTlhJnNjb3BlZD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICBhcGkucmVyZW5kZXIoJzcwNjVlZTlhJywgewogICAgICAgIHJlbmRlcjogcmVuZGVyLAogICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zCiAgICAgIH0pCiAgICB9KQogIH0KfQpjb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSAic3JjL2NvbXBvbmVudHMvZWRpdC90aW55bWNlLnZ1ZSIKZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHM="}]}
|
2
node_modules/.cache/vue-loader/251a52eb0d24ce5a357c4102e85a294f.json
generated
vendored
2
node_modules/.cache/vue-loader/251a52eb0d24ce5a357c4102e85a294f.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/263b33d4158dd8da858c4194edcea09b.json
generated
vendored
2
node_modules/.cache/vue-loader/263b33d4158dd8da858c4194edcea09b.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/3750ad4b98510419c7775a9821f49674.json
generated
vendored
2
node_modules/.cache/vue-loader/3750ad4b98510419c7775a9821f49674.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/626ccf6f5fb492f6ec093c8ed8bccb15.json
generated
vendored
2
node_modules/.cache/vue-loader/626ccf6f5fb492f6ec093c8ed8bccb15.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/72d7b772b62215c4dba72a936b6ebbfd.json
generated
vendored
2
node_modules/.cache/vue-loader/72d7b772b62215c4dba72a936b6ebbfd.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/8080d565096b4a0176433394d1dfa492.json
generated
vendored
2
node_modules/.cache/vue-loader/8080d565096b4a0176433394d1dfa492.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue","mtime":1742646402766},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL0xvZ2luU3RhdGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQzNzQwOGU4JnNjb3BlZD10cnVlIgppbXBvcnQgc2NyaXB0IGZyb20gIi4vTG9naW5TdGF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmV4cG9ydCAqIGZyb20gIi4vTG9naW5TdGF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9Mb2dpblN0YXRlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWQzNzQwOGU4JnNjb3BlZD10cnVlJmxhbmc9c3R5bHVzIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgImQzNzQwOGU4IiwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnZDM3NDA4ZTgnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCdkMzc0MDhlOCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnZDM3NDA4ZTgnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL0xvZ2luU3RhdGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQzNzQwOGU4JnNjb3BlZD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICBhcGkucmVyZW5kZXIoJ2QzNzQwOGU4JywgewogICAgICAgIHJlbmRlcjogcmVuZGVyLAogICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zCiAgICAgIH0pCiAgICB9KQogIH0KfQpjb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSAic3JjL2NvbXBvbmVudHMvY29tbW9uL0xvZ2luU3RhdGUudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue","mtime":1743947900593},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL0xvZ2luU3RhdGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQzNzQwOGU4JnNjb3BlZD10cnVlIgppbXBvcnQgc2NyaXB0IGZyb20gIi4vTG9naW5TdGF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmV4cG9ydCAqIGZyb20gIi4vTG9naW5TdGF0ZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9Mb2dpblN0YXRlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWQzNzQwOGU4JnNjb3BlZD10cnVlJmxhbmc9c3R5bHVzIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgImQzNzQwOGU4IiwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnZDM3NDA4ZTgnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCdkMzc0MDhlOCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnZDM3NDA4ZTgnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL0xvZ2luU3RhdGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWQzNzQwOGU4JnNjb3BlZD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICBhcGkucmVyZW5kZXIoJ2QzNzQwOGU4JywgewogICAgICAgIHJlbmRlcjogcmVuZGVyLAogICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zCiAgICAgIH0pCiAgICB9KQogIH0KfQpjb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSAic3JjL2NvbXBvbmVudHMvY29tbW9uL0xvZ2luU3RhdGUudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}
|
2
node_modules/.cache/vue-loader/868f2381c9f8c874d841244fa650dc70.json
generated
vendored
2
node_modules/.cache/vue-loader/868f2381c9f8c874d841244fa650dc70.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue?vue&type=template&id=76d05bf0&scoped=true","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue","mtime":1742646402773},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1743264597097},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CjxkaXYgY2xhc3M9InRhYi1sYXlvdXQiPgogIDxhLXRhYnMKICAgIHR5cGU9ImVkaXRhYmxlLWNhcmQiCiAgICBjbGFzcz0idGFiLWJhciIKICAgIDpoaWRlLWFkZD0idHJ1ZSIKICAgIDphY3RpdmUta2V5PSJhY3RpdmVQYWdlIgogICAgQGNoYW5nZT0iY2hhbmdlUGFnZSIKICAgIEBlZGl0PSJlZGl0UGFnZSIKICAgIEBjb250ZXh0bWVudT0ib25Db250ZXh0bWVudSIKICA+CiAgICA8YS10YWItcGFuZSB2LWZvcj0icGFnZSBpbiBwYWdlTGlzdCIgOmtleT0icGFnZS5mdWxsUGF0aCI+CiAgICAgIDx0ZW1wbGF0ZSAjdGFiPgogICAgICAgIDxzcGFuIDpkYXRhLWtleT0icGFnZS5mdWxsUGF0aCI+CiAgICAgICAgICB7eyBwYWdlLm1ldGEudGl0bGUgfX0KICAgICAgICA8L3NwYW4+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2EtdGFiLXBhbmU+CiAgPC9hLXRhYnM+CiAgPFBhZ2VUb2dnbGVUcmFuc2l0aW9uIG5hbWU9ImZhZGVJbiI+CiAgICA8a2VlcC1hbGl2ZSA6ZXhjbHVkZT0iZHVzdGJpbiI+CiAgICAgIDxyb3V0ZXItdmlldyAvPgogICAgPC9rZWVwLWFsaXZlPgogIDwvUGFnZVRvZ2dsZVRyYW5zaXRpb24+CiAgPENvbnRleHRNZW51CiAgICA6bGlzdD0ibWVudUl0ZW1zIgogICAgOnZpc2libGUuc3luYz0ibWVudVZpc2libGUiCiAgICBAc2VsZWN0PSJvbk1lbnVTZWxlY3QiCiAgLz4KPC9kaXY+Cg=="},null]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue?vue&type=template&id=76d05bf0&scoped=true","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue","mtime":1743945250914},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1743264597097},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CjxkaXYgY2xhc3M9InRhYi1sYXlvdXQiPgogIDxhLXRhYnMKICAgIHR5cGU9ImVkaXRhYmxlLWNhcmQiCiAgICBjbGFzcz0idGFiLWJhciIKICAgIDpoaWRlLWFkZD0idHJ1ZSIKICAgIDphY3RpdmUta2V5PSJhY3RpdmVQYWdlIgogICAgQGNoYW5nZT0iY2hhbmdlUGFnZSIKICAgIEBlZGl0PSJlZGl0UGFnZSIKICAgIEBjb250ZXh0bWVudT0ib25Db250ZXh0bWVudSIKICA+CiAgICA8YS10YWItcGFuZSB2LWZvcj0icGFnZSBpbiBwYWdlTGlzdCIgOmtleT0icGFnZS5mdWxsUGF0aCI+CiAgICAgIDx0ZW1wbGF0ZSAjdGFiPgogICAgICAgIDxzcGFuIDpkYXRhLWtleT0icGFnZS5mdWxsUGF0aCI+CiAgICAgICAgICB7eyBwYWdlLm1ldGEudGl0bGUgfX0KICAgICAgICA8L3NwYW4+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2EtdGFiLXBhbmU+CiAgPC9hLXRhYnM+CiAgPFBhZ2VUb2dnbGVUcmFuc2l0aW9uIG5hbWU9ImZhZGVJbiI+CiAgICA8a2VlcC1hbGl2ZSA6ZXhjbHVkZT0iZHVzdGJpbiI+CiAgICAgIDxyb3V0ZXItdmlldyAvPgogICAgPC9rZWVwLWFsaXZlPgogIDwvUGFnZVRvZ2dsZVRyYW5zaXRpb24+CiAgPENvbnRleHRNZW51CiAgICA6bGlzdD0ibWVudUl0ZW1zIgogICAgOnZpc2libGUuc3luYz0ibWVudVZpc2libGUiCiAgICBAc2VsZWN0PSJvbk1lbnVTZWxlY3QiCiAgLz4KPC9kaXY+Cg=="},null]}
|
2
node_modules/.cache/vue-loader/89ca84ebc5b418d093da4869060f9dce.json
generated
vendored
2
node_modules/.cache/vue-loader/89ca84ebc5b418d093da4869060f9dce.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/8a124f385f0f7e7a30c188221ab2930c.json
generated
vendored
2
node_modules/.cache/vue-loader/8a124f385f0f7e7a30c188221ab2930c.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/8ce6f07c4e922d54bdcfd177262bbfc0.json
generated
vendored
2
node_modules/.cache/vue-loader/8ce6f07c4e922d54bdcfd177262bbfc0.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/8f0d586b3a0e082ed09f7f6482fa57cb.json
generated
vendored
2
node_modules/.cache/vue-loader/8f0d586b3a0e082ed09f7f6482fa57cb.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/91878bec3310fbccbe5bbf9b8ee994b6.json
generated
vendored
2
node_modules/.cache/vue-loader/91878bec3310fbccbe5bbf9b8ee994b6.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue?vue&type=template&id=6cf2f728","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","mtime":1743939532635},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1743264597097},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Cjxwcm8tbGF5b3V0CiAgOm1lbnVzPSJtZW51cyIKICA6Y29sbGFwc2VkPSJjb2xsYXBzZWQiCiAgOm1lZGlhUXVlcnk9InF1ZXJ5IgogIDppc01vYmlsZT0iaXNNb2JpbGUiCiAgOmhhbmRsZU1lZGlhUXVlcnk9ImhhbmRsZU1lZGlhUXVlcnkiCiAgOmhhbmRsZUNvbGxhcHNlPSJoYW5kbGVDb2xsYXBzZSIKICBmaXhlZEhlYWRlcgogIGZpeFNpZGVyYmFyCj4KICA8dGVtcGxhdGUgI21lbnVIZWFkZXJSZW5kZXI+CiAgICA8YS1hdmF0YXIgc3JjPSIvbG9nby5wbmciIDpzaXplPSI0MCIgLz4KICAgIDxoMT7nq57otZvnrqHnkIbns7vnu588L2gxPgogIDwvdGVtcGxhdGU+CiAgPHRlbXBsYXRlICNyaWdodENvbnRlbnRSZW5kZXI+CiAgICA8ZGl2IDpjbGFzcz0icmlnaHRDb250ZW50Q2xhc3MiPgogICAgICA8TG9naW5TdGF0ZSAvPgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KICA8dGVtcGxhdGUgI2Zvb3RlclJlbmRlcj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1jb250YWluZXIiPgogICAgICDmoKHlm63kv6Hmga/ljJYt56ue6LWb566h55CG57O757ufIMKpMjAyNCBDcmVhdGVkIGJ5IOmZleilv+enkeaKgOWkp+WtpumVkOS6rOWtpumZogogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KICA8dGVtcGxhdGUgI2hlYWRlckNvbnRlbnRSZW5kZXI+CiAgICA8YS1icmVhZGNydW1iCiAgICAgIHN0eWxlPSJoZWlnaHQ6IDY0cHg7IGxpbmUtaGVpZ2h0OiA2NHB4IgogICAgICBjbGFzcz0iYnJlYWRjcnVtYiIKICAgICAgOnJvdXRlcz0iJHJvdXRlLm1hdGNoZWQiCiAgICA+CiAgICAgIDx0ZW1wbGF0ZSAjaXRlbVJlbmRlcj0ieyByb3V0ZSB9Ij4KICAgICAgICB7eyByb3V0ZS5tZXRhLnRpdGxlIH19CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2EtYnJlYWRjcnVtYj4KICA8L3RlbXBsYXRlPgogIDxUYWJMYXlvdXQgLz4KPC9wcm8tbGF5b3V0Pgo="},null]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue?vue&type=template&id=6cf2f728","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","mtime":1743947423844},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1743264597097},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Cjxwcm8tbGF5b3V0CiAgOm1lbnVzPSJtZW51cyIKICA6Y29sbGFwc2VkPSJjb2xsYXBzZWQiCiAgOm1lZGlhUXVlcnk9InF1ZXJ5IgogIDppc01vYmlsZT0iaXNNb2JpbGUiCiAgOmhhbmRsZU1lZGlhUXVlcnk9ImhhbmRsZU1lZGlhUXVlcnkiCiAgOmhhbmRsZUNvbGxhcHNlPSJoYW5kbGVDb2xsYXBzZSIKICBmaXhlZEhlYWRlcgogIGZpeFNpZGVyYmFyCj4KICA8dGVtcGxhdGUgI21lbnVIZWFkZXJSZW5kZXI+CiAgICA8YS1hdmF0YXIgc3JjPSIvbG9nby5wbmciIDpzaXplPSI0MCIgLz4KICAgIDxoMT7nq57otZvnrqHnkIbns7vnu588L2gxPgogIDwvdGVtcGxhdGU+CiAgPHRlbXBsYXRlICNyaWdodENvbnRlbnRSZW5kZXI+CiAgICA8ZGl2IDpjbGFzcz0icmlnaHRDb250ZW50Q2xhc3MiPgogICAgICA8TG9naW5TdGF0ZSAvPgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KICA8dGVtcGxhdGUgI2Zvb3RlclJlbmRlcj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1jb250YWluZXIiPgogICAgICDmoKHlm63kv6Hmga/ljJYt56ue6LWb566h55CG57O757ufIMKpMjAyNCBDcmVhdGVkIGJ5IOmZleilv+enkeaKgOWkp+WtpumVkOS6rOWtpumZogogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KICA8dGVtcGxhdGUgI2hlYWRlckNvbnRlbnRSZW5kZXI+CiAgICA8YS1icmVhZGNydW1iCiAgICAgIHN0eWxlPSJoZWlnaHQ6IDY0cHg7IGxpbmUtaGVpZ2h0OiA2NHB4IgogICAgICBjbGFzcz0iYnJlYWRjcnVtYiIKICAgICAgOnJvdXRlcz0iJHJvdXRlLm1hdGNoZWQiCiAgICA+CiAgICAgIDx0ZW1wbGF0ZSAjaXRlbVJlbmRlcj0ieyByb3V0ZSB9Ij4KICAgICAgICB7eyByb3V0ZS5tZXRhLnRpdGxlIH19CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2EtYnJlYWRjcnVtYj4KICA8L3RlbXBsYXRlPgogIDxUYWJMYXlvdXQgLz4KPC9wcm8tbGF5b3V0Pgo="},null]}
|
2
node_modules/.cache/vue-loader/9f731a93a0f452cff570a9ffbcd7b87f.json
generated
vendored
2
node_modules/.cache/vue-loader/9f731a93a0f452cff570a9ffbcd7b87f.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/account/center/index.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/account/center/index.vue","mtime":1743941931949},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03MDZiOWQ1NCZzY29wZWQ9dHJ1ZSIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyIKZXhwb3J0ICogZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03MDZiOWQ1NCZsYW5nPWxlc3Mmc2NvcGVkPXRydWUiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICAiNzA2YjlkNTQiLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCIvVXNlcnMvc2h1Z3VhbmcvRGVza3RvcC/mr5Xorr4vQ29kZU1hc3Rlci9Db2RlTWFzdGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qcyIpCiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpCiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7CiAgICBtb2R1bGUuaG90LmFjY2VwdCgpCiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc3MDZiOWQ1NCcpKSB7CiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzcwNmI5ZDU0JywgY29tcG9uZW50Lm9wdGlvbnMpCiAgICB9IGVsc2UgewogICAgICBhcGkucmVsb2FkKCc3MDZiOWQ1NCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfQogICAgbW9kdWxlLmhvdC5hY2NlcHQoIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwNmI5ZDU0JnNjb3BlZD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICBhcGkucmVyZW5kZXIoJzcwNmI5ZDU0JywgewogICAgICAgIHJlbmRlcjogcmVuZGVyLAogICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zCiAgICAgIH0pCiAgICB9KQogIH0KfQpjb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSAic3JjL3ZpZXdzL2FjY291bnQvY2VudGVyL2luZGV4LnZ1ZSIKZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHM="}]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/account/center/index.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/account/center/index.vue","mtime":1743943089632},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03MDZiOWQ1NCZzY29wZWQ9dHJ1ZSIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyIKZXhwb3J0ICogZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03MDZiOWQ1NCZsYW5nPWxlc3Mmc2NvcGVkPXRydWUiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICAiNzA2YjlkNTQiLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCIvVXNlcnMvc2h1Z3VhbmcvRGVza3RvcC/mr5Xorr4vQ29kZU1hc3Rlci9Db2RlTWFzdGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qcyIpCiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpCiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7CiAgICBtb2R1bGUuaG90LmFjY2VwdCgpCiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc3MDZiOWQ1NCcpKSB7CiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzcwNmI5ZDU0JywgY29tcG9uZW50Lm9wdGlvbnMpCiAgICB9IGVsc2UgewogICAgICBhcGkucmVsb2FkKCc3MDZiOWQ1NCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfQogICAgbW9kdWxlLmhvdC5hY2NlcHQoIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTcwNmI5ZDU0JnNjb3BlZD10cnVlIiwgZnVuY3Rpb24gKCkgewogICAgICBhcGkucmVyZW5kZXIoJzcwNmI5ZDU0JywgewogICAgICAgIHJlbmRlcjogcmVuZGVyLAogICAgICAgIHN0YXRpY1JlbmRlckZuczogc3RhdGljUmVuZGVyRm5zCiAgICAgIH0pCiAgICB9KQogIH0KfQpjb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSAic3JjL3ZpZXdzL2FjY291bnQvY2VudGVyL2luZGV4LnZ1ZSIKZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHM="}]}
|
2
node_modules/.cache/vue-loader/af209828f8b83eee2bd9d6d21479b2d1.json
generated
vendored
2
node_modules/.cache/vue-loader/af209828f8b83eee2bd9d6d21479b2d1.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue?vue&type=template&id=d37408e8&scoped=true","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue","mtime":1742646402766},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1743264597097},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CjxhLWRyb3Bkb3duPgogIDxhLXNwaW4gdi1pZj0iIXVzZXIubmFtZSIgc2l6ZT0ic21hbGwiIC8+CiAgPGRpdiB2LWVsc2UgY2xhc3M9ImhlYWRlci1hdmF0YXIiPgogICAgPGEtaWNvbiBjbGFzcz0iYXZhdGFyIiB0eXBlPSJ1c2VyIiAvPgogICAgPHNwYW4gY2xhc3M9Im5hbWUiPnt7IHVzZXIubmFtZSB9fTwvc3Bhbj4KICA8L2Rpdj4KICA8YS1tZW51IHNsb3Q9Im92ZXJsYXkiPgogICAgPGEtbWVudS1pdGVtIGRpc2FibGVkPgogICAgICA8YS1pY29uIHR5cGU9InNtaWxlIiAvPgogICAgICB7eyB1c2VyLnJvbGUgJiYgdXNlci5yb2xlLmxhYmVsIH19CiAgICA8L2EtbWVudS1pdGVtPgogICAgPGEtbWVudS1pdGVtIEBjbGljaz0ibW9kaWZ5U2VsZkluZm8iPgogICAgICA8YS1pY29uIHR5cGU9InVzZXIiIC8+CiAgICAgIDxzcGFuPuS4quS6uuS/oeaBrzwvc3Bhbj4KICAgIDwvYS1tZW51LWl0ZW0+CiAgICA8YS1tZW51LWl0ZW0gQGNsaWNrPSJtb2RpZnlQYXNzd29yZCI+CiAgICAgIDxhLWljb24gdHlwZT0ibG9jayIgLz4KICAgICAgPHNwYW4+5L+u5pS55a+G56CBPC9zcGFuPgogICAgPC9hLW1lbnUtaXRlbT4KICAgIDxhLW1lbnUtZGl2aWRlciAvPgogICAgPGEtbWVudS1pdGVtIEBjbGljaz0ibG9nb3V0Ij4KICAgICAgPGEtaWNvbiB0eXBlPSJwb3dlcm9mZiIgLz4KICAgICAgPHNwYW4+6YCA5Ye655m75b2VPC9zcGFuPgogICAgPC9hLW1lbnUtaXRlbT4KICA8L2EtbWVudT4KPC9hLWRyb3Bkb3duPgo="},null]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue?vue&type=template&id=d37408e8&scoped=true","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/components/common/LoginState.vue","mtime":1743947900593},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js","mtime":1743264596348},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/templateLoader.js","mtime":1743264597097},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CjxhLWRyb3Bkb3duPgogIDxhLXNwaW4gdi1pZj0iIXVzZXIiIHNpemU9InNtYWxsIiAvPgogIDxkaXYgdi1lbHNlIGNsYXNzPSJoZWFkZXItYXZhdGFyIj4KICAgIDxhLWljb24gY2xhc3M9ImF2YXRhciIgdHlwZT0idXNlciIgLz4KICAgIDxzcGFuIGNsYXNzPSJuYW1lIj57eyB1c2VyLnVzZXJOYW1lIH19PC9zcGFuPgogIDwvZGl2PgogIDxhLW1lbnUgc2xvdD0ib3ZlcmxheSI+CiAgICA8IS0tIDxhLW1lbnUtaXRlbSBkaXNhYmxlZD4KICAgICAgPGEtaWNvbiB0eXBlPSJzbWlsZSIgLz4KICAgICAge3sgdXNlci5yb2xlICYmIHVzZXIucm9sZS5sYWJlbCB9fQogICAgPC9hLW1lbnUtaXRlbT4gLS0+CiAgICA8YS1tZW51LWl0ZW0gQGNsaWNrPSJtb2RpZnlTZWxmSW5mbyI+CiAgICAgIDxhLWljb24gdHlwZT0idXNlciIgLz4KICAgICAgPHNwYW4+5Liq5Lq65L+h5oGvPC9zcGFuPgogICAgPC9hLW1lbnUtaXRlbT4KICAgIDxhLW1lbnUtaXRlbSBAY2xpY2s9Im1vZGlmeVBhc3N3b3JkIj4KICAgICAgPGEtaWNvbiB0eXBlPSJsb2NrIiAvPgogICAgICA8c3Bhbj7kv67mlLnlr4bnoIE8L3NwYW4+CiAgICA8L2EtbWVudS1pdGVtPgogICAgPGEtbWVudS1kaXZpZGVyIC8+CiAgICA8YS1tZW51LWl0ZW0gQGNsaWNrPSJsb2dvdXQiPgogICAgICA8YS1pY29uIHR5cGU9InBvd2Vyb2ZmIiAvPgogICAgICA8c3Bhbj7pgIDlh7rnmbvlvZU8L3NwYW4+CiAgICA8L2EtbWVudS1pdGVtPgogIDwvYS1tZW51Pgo8L2EtZHJvcGRvd24+Cg=="},null]}
|
2
node_modules/.cache/vue-loader/b28f695cf7253b8a7589e46debbaedb1.json
generated
vendored
2
node_modules/.cache/vue-loader/b28f695cf7253b8a7589e46debbaedb1.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/b3e96cf614f0a49f2049761821a5131c.json
generated
vendored
2
node_modules/.cache/vue-loader/b3e96cf614f0a49f2049761821a5131c.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","mtime":1743939532635},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL0dsb2JhbExheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmNmMmY3MjgiCmltcG9ydCBzY3JpcHQgZnJvbSAiLi9HbG9iYWxMYXlvdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzIgpleHBvcnQgKiBmcm9tICIuL0dsb2JhbExheW91dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9HbG9iYWxMYXlvdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmNmMmY3MjgmbGFuZz1sZXNzIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgbnVsbCwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNmNmMmY3MjgnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCc2Y2YyZjcyOCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnNmNmMmY3MjgnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL0dsb2JhbExheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmNmMmY3MjgiLCBmdW5jdGlvbiAoKSB7CiAgICAgIGFwaS5yZXJlbmRlcignNmNmMmY3MjgnLCB7CiAgICAgICAgcmVuZGVyOiByZW5kZXIsCiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMKICAgICAgfSkKICAgIH0pCiAgfQp9CmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9ICJzcmMvbGF5b3V0cy9HbG9iYWxMYXlvdXQudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/GlobalLayout.vue","mtime":1743947423844},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL0dsb2JhbExheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmNmMmY3MjgiCmltcG9ydCBzY3JpcHQgZnJvbSAiLi9HbG9iYWxMYXlvdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzIgpleHBvcnQgKiBmcm9tICIuL0dsb2JhbExheW91dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9HbG9iYWxMYXlvdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NmNmMmY3MjgmbGFuZz1sZXNzIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgbnVsbCwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNmNmMmY3MjgnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCc2Y2YyZjcyOCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnNmNmMmY3MjgnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL0dsb2JhbExheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NmNmMmY3MjgiLCBmdW5jdGlvbiAoKSB7CiAgICAgIGFwaS5yZXJlbmRlcignNmNmMmY3MjgnLCB7CiAgICAgICAgcmVuZGVyOiByZW5kZXIsCiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMKICAgICAgfSkKICAgIH0pCiAgfQp9CmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9ICJzcmMvbGF5b3V0cy9HbG9iYWxMYXlvdXQudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}
|
2
node_modules/.cache/vue-loader/ca54e7862180bb46b771fd759ac032d0.json
generated
vendored
2
node_modules/.cache/vue-loader/ca54e7862180bb46b771fd759ac032d0.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/d1aebec29e75b10d8642b1a3f2f06df9.json
generated
vendored
2
node_modules/.cache/vue-loader/d1aebec29e75b10d8642b1a3f2f06df9.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/d6abd862b1d27f21323953dbce95771d.json
generated
vendored
2
node_modules/.cache/vue-loader/d6abd862b1d27f21323953dbce95771d.json
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/.cache/vue-loader/dc0d91cd7918255975715e62d76a863b.json
generated
vendored
2
node_modules/.cache/vue-loader/dc0d91cd7918255975715e62d76a863b.json
generated
vendored
@ -1 +1 @@
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue","mtime":1742646402773},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL1RhYkxheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzZkMDViZjAmc2NvcGVkPXRydWUiCmltcG9ydCBzY3JpcHQgZnJvbSAiLi9UYWJMYXlvdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzIgpleHBvcnQgKiBmcm9tICIuL1RhYkxheW91dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9UYWJMYXlvdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NzZkMDViZjAmc2NvcGVkPXRydWUmbGFuZz1jc3MiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICAiNzZkMDViZjAiLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCIvVXNlcnMvc2h1Z3VhbmcvRGVza3RvcC/mr5Xorr4vQ29kZU1hc3Rlci9Db2RlTWFzdGVyL25vZGVfbW9kdWxlcy92dWUtaG90LXJlbG9hZC1hcGkvZGlzdC9pbmRleC5qcyIpCiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpCiAgaWYgKGFwaS5jb21wYXRpYmxlKSB7CiAgICBtb2R1bGUuaG90LmFjY2VwdCgpCiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc3NmQwNWJmMCcpKSB7CiAgICAgIGFwaS5jcmVhdGVSZWNvcmQoJzc2ZDA1YmYwJywgY29tcG9uZW50Lm9wdGlvbnMpCiAgICB9IGVsc2UgewogICAgICBhcGkucmVsb2FkKCc3NmQwNWJmMCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfQogICAgbW9kdWxlLmhvdC5hY2NlcHQoIi4vVGFiTGF5b3V0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03NmQwNWJmMCZzY29wZWQ9dHJ1ZSIsIGZ1bmN0aW9uICgpIHsKICAgICAgYXBpLnJlcmVuZGVyKCc3NmQwNWJmMCcsIHsKICAgICAgICByZW5kZXI6IHJlbmRlciwKICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucwogICAgICB9KQogICAgfSkKICB9Cn0KY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gInNyYy9sYXlvdXRzL1RhYkxheW91dC52dWUiCmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRz"}]}
|
||||
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/layouts/TabLayout.vue","mtime":1743945250914},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL1RhYkxheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzZkMDViZjAmc2NvcGVkPXRydWUiCmltcG9ydCBzY3JpcHQgZnJvbSAiLi9UYWJMYXlvdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzIgpleHBvcnQgKiBmcm9tICIuL1RhYkxheW91dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCmltcG9ydCBzdHlsZTAgZnJvbSAiLi9UYWJMYXlvdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NzZkMDViZjAmbGFuZz1sZXNzJnNjb3BlZD10cnVlIgoKCi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi8KaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSAiIS4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiCnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKAogIHNjcmlwdCwKICByZW5kZXIsCiAgc3RhdGljUmVuZGVyRm5zLAogIGZhbHNlLAogIG51bGwsCiAgIjc2ZDA1YmYwIiwKICBudWxsCiAgCikKCi8qIGhvdCByZWxvYWQgKi8KaWYgKG1vZHVsZS5ob3QpIHsKICB2YXIgYXBpID0gcmVxdWlyZSgiL1VzZXJzL3NodWd1YW5nL0Rlc2t0b3Av5q+V6K6+L0NvZGVNYXN0ZXIvQ29kZU1hc3Rlci9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnNzZkMDViZjAnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCc3NmQwNWJmMCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnNzZkMDViZjAnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL1RhYkxheW91dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzZkMDViZjAmc2NvcGVkPXRydWUiLCBmdW5jdGlvbiAoKSB7CiAgICAgIGFwaS5yZXJlbmRlcignNzZkMDViZjAnLCB7CiAgICAgICAgcmVuZGVyOiByZW5kZXIsCiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnMKICAgICAgfSkKICAgIH0pCiAgfQp9CmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9ICJzcmMvbGF5b3V0cy9UYWJMYXlvdXQudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}
|
@ -1,9 +1,9 @@
|
||||
<script>
|
||||
import { merge, isFunction } from 'lodash-es';
|
||||
import ColumnSetting from '@/components/common/ColumnSetting';
|
||||
import { merge, isFunction } from "lodash-es";
|
||||
import ColumnSetting from "@/components/common/ColumnSetting";
|
||||
|
||||
export default {
|
||||
name: 'AntTable',
|
||||
name: "AntTable",
|
||||
props: {
|
||||
// v-model绑定已选项
|
||||
value: {
|
||||
@ -12,7 +12,7 @@ export default {
|
||||
},
|
||||
rowKey: {
|
||||
type: [String, Function],
|
||||
default: 'id',
|
||||
default: "id",
|
||||
},
|
||||
columns: {
|
||||
type: Array,
|
||||
@ -20,7 +20,7 @@ export default {
|
||||
},
|
||||
size: {
|
||||
type: String,
|
||||
default: 'middle',
|
||||
default: "middle",
|
||||
},
|
||||
rowSelection: {
|
||||
type: Object,
|
||||
@ -47,11 +47,11 @@ export default {
|
||||
const allProps = {
|
||||
scopedSlots: this.$scopedSlots,
|
||||
on: this.$listeners,
|
||||
props: merge({
|
||||
props: merge(
|
||||
{
|
||||
size: this.customSize,
|
||||
rowKey: this.rowKey,
|
||||
columns: this.customTableColumns,
|
||||
bordered: true,
|
||||
scroll: { x: 1000 },
|
||||
rowSelection: useVModel
|
||||
? { selectedRowKeys: this.value, onChange: input }
|
||||
@ -59,9 +59,11 @@ export default {
|
||||
pagination: {
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
showTotal: total => `共 ${total} 条记录`,
|
||||
showTotal: (total) => `共 ${total} 条记录`,
|
||||
},
|
||||
}, this.$attrs),
|
||||
},
|
||||
this.$attrs
|
||||
),
|
||||
};
|
||||
return (
|
||||
<div class="table-wrapper">
|
||||
@ -70,14 +72,16 @@ export default {
|
||||
<div class="right">
|
||||
<ColumnSetting
|
||||
columns={this.columns}
|
||||
onChange={e => { this.customTableColumns = e; }}
|
||||
onChange={(e) => {
|
||||
this.customTableColumns = e;
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<a-divider style="margin: 10px 0" />
|
||||
<a-table {...allProps}>
|
||||
{/* 原样传递插槽 */}
|
||||
{Object.keys(this.$slots).map(name => (
|
||||
{Object.keys(this.$slots).map((name) => (
|
||||
<template slot={name}>{this.$slots[name]}</template>
|
||||
))}
|
||||
</a-table>
|
||||
|
@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<a-dropdown>
|
||||
<a-spin v-if="!user.name" size="small" />
|
||||
<a-spin v-if="!user" size="small" />
|
||||
<div v-else class="header-avatar">
|
||||
<a-icon class="avatar" type="user" />
|
||||
<span class="name">{{ user.name }}</span>
|
||||
<span class="name">{{ user.userName }}</span>
|
||||
</div>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item disabled>
|
||||
<!-- <a-menu-item disabled>
|
||||
<a-icon type="smile" />
|
||||
{{ user.role && user.role.label }}
|
||||
</a-menu-item>
|
||||
</a-menu-item> -->
|
||||
<a-menu-item @click="modifySelfInfo">
|
||||
<a-icon type="user" />
|
||||
<span>个人信息</span>
|
||||
@ -28,39 +28,42 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UpdatePassword from '@/components/common/UpdatePassword';
|
||||
import EditStudent from '@/components/edit/EditStudent';
|
||||
import EditTeacher from '@/components/edit/EditTeacher';
|
||||
import { mapState, mapActions } from 'vuex';
|
||||
import UpdatePassword from "@/components/common/UpdatePassword";
|
||||
import EditStudent from "@/components/edit/EditStudent";
|
||||
import EditTeacher from "@/components/edit/EditTeacher";
|
||||
import { mapState, mapActions } from "vuex";
|
||||
|
||||
export default {
|
||||
name: 'LoginState',
|
||||
name: "LoginState",
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
...mapState(["user"]),
|
||||
},
|
||||
methods: {
|
||||
...mapActions(['initUser']),
|
||||
...mapActions(["initUser"]),
|
||||
logout() {
|
||||
this.$store.commit('logout');
|
||||
this.$router.replace('/login');
|
||||
this.$store.commit("logout");
|
||||
this.$router.replace("/login");
|
||||
},
|
||||
modifyPassword() {
|
||||
let vnode;
|
||||
this.$drawer({
|
||||
title: '修改密码',
|
||||
content: h => (vnode = <UpdatePassword />),
|
||||
title: "修改密码",
|
||||
content: (h) => (vnode = <UpdatePassword />),
|
||||
onOk: async () => {
|
||||
const values = await vnode.componentInstance.validate();
|
||||
return this.$api.updatePassword({
|
||||
return this.$api
|
||||
.updatePassword({
|
||||
account: this.user.account,
|
||||
identity: this.user.identity,
|
||||
oldVal: values.oldVal,
|
||||
newVal: values.newVal,
|
||||
}).then(() => {
|
||||
this.$message.success('修改成功');
|
||||
}).catch(e => {
|
||||
})
|
||||
.then(() => {
|
||||
this.$message.success("修改成功");
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
this.$message.error(e.msg || '修改失败');
|
||||
this.$message.error(e.msg || "修改失败");
|
||||
throw e;
|
||||
});
|
||||
},
|
||||
@ -69,10 +72,14 @@ export default {
|
||||
modifySelfInfo() {
|
||||
let vnode;
|
||||
this.$drawer({
|
||||
title: '修改个人信息',
|
||||
content: h => (vnode = this.$store.state.user.userPrivileges == 2
|
||||
? <EditStudent type="update" data={this.user} />
|
||||
: <EditTeacher type="update" data={this.user} />),
|
||||
title: "修改个人信息",
|
||||
content: (h) =>
|
||||
(vnode =
|
||||
this.$store.state.user.userPrivileges == 2 ? (
|
||||
<EditStudent type="update" data={this.user} />
|
||||
) : (
|
||||
<EditTeacher type="update" data={this.user} />
|
||||
)),
|
||||
onOk: async () => {
|
||||
const values = await vnode.componentInstance.validate();
|
||||
const data = {
|
||||
@ -80,15 +87,16 @@ export default {
|
||||
email: values.email,
|
||||
UserPassword: values.password,
|
||||
sTId: values.stid,
|
||||
}
|
||||
return this.$api.updateUser(
|
||||
data
|
||||
).then(() => {
|
||||
this.$message.success('修改成功');
|
||||
this.$store.dispatch('initUser');
|
||||
}).catch(e => {
|
||||
};
|
||||
return this.$api
|
||||
.updateUser(data)
|
||||
.then(() => {
|
||||
this.$message.success("修改成功");
|
||||
this.$store.dispatch("initUser");
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
this.$message.error(e.msg || '修改失败');
|
||||
this.$message.error(e.msg || "修改失败");
|
||||
throw e;
|
||||
});
|
||||
},
|
||||
|
@ -1,31 +1,103 @@
|
||||
<template>
|
||||
<div class="tinymce-editor">
|
||||
<a-input v-model="ArticleTitle" placeholder="请输入文字标题" />
|
||||
<div class="tinymce-editor fade-in">
|
||||
<!-- 页面标题 -->
|
||||
<div class="editor-header">
|
||||
<h1 class="editor-title">创建新文章</h1>
|
||||
<p class="editor-subtitle">分享你的知识、经验和创意</p>
|
||||
</div>
|
||||
|
||||
<!-- 文章标题输入 -->
|
||||
<a-input
|
||||
v-model="ArticleTitle"
|
||||
placeholder="请输入文章标题 (5-50字)"
|
||||
class="article-title-input"
|
||||
:maxLength="50"
|
||||
:allowClear="true"
|
||||
/>
|
||||
|
||||
<!-- 文章简介输入 -->
|
||||
<a-textarea
|
||||
v-model="briefContent"
|
||||
placeholder="请输入文章简介"
|
||||
placeholder="请输入文章简介,简明扼要地介绍文章内容 (50-200字)"
|
||||
:auto-size="{ minRows: 2, maxRows: 5 }"
|
||||
class="article-brief-textarea"
|
||||
:maxLength="200"
|
||||
/>
|
||||
<a-form-item style="width: 100%" label="选择比赛与类型:">
|
||||
|
||||
<!-- 文章信息 -->
|
||||
<div class="article-info-card fade-in-delay-1">
|
||||
<div class="info-title">
|
||||
<a-icon type="info-circle" />
|
||||
<span>文章信息</span>
|
||||
</div>
|
||||
|
||||
<div class="form-item-container">
|
||||
<!-- 选择比赛 -->
|
||||
<a-form-item label="选择相关比赛">
|
||||
<a-select
|
||||
v-model="competitionId"
|
||||
style="width: 100%"
|
||||
:options="grades"
|
||||
allowClear
|
||||
:placeholder="请选择相关比赛"
|
||||
/>
|
||||
<a-select
|
||||
v-model="articleType"
|
||||
style="width: 100%"
|
||||
:options="message"
|
||||
allowClear
|
||||
:placeholder="选择类型"
|
||||
/>
|
||||
placeholder="请选择相关比赛"
|
||||
:showSearch="true"
|
||||
:filterOption="filterOption"
|
||||
>
|
||||
<template slot="suffixIcon">
|
||||
<a-icon type="trophy" />
|
||||
</template>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<!-- 选择文章类型 -->
|
||||
<a-form-item label="文章类型">
|
||||
<a-select
|
||||
v-model="articleType"
|
||||
:options="message"
|
||||
allowClear
|
||||
placeholder="请选择文章类型"
|
||||
>
|
||||
<template slot="suffixIcon">
|
||||
<a-icon type="tags" />
|
||||
</template>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 文章封面 -->
|
||||
<!-- <div class="cover-upload fade-in-delay-2">
|
||||
<div class="cover-title">
|
||||
<a-icon type="picture" />
|
||||
<span style="margin-left: 8px">文章封面</span>
|
||||
</div>
|
||||
|
||||
<p class="cover-description">
|
||||
一个好的封面图能够吸引更多读者,建议尺寸 900×500 像素
|
||||
</p>
|
||||
|
||||
<div class="cover-preview hover-lift">
|
||||
<img v-if="coverUrl" :src="coverUrl" alt="文章封面" />
|
||||
<div v-else class="upload-placeholder">
|
||||
<a-icon type="file-image" style="font-size: 48px; color: #d9d9d9" />
|
||||
<p style="margin-top: 16px; color: #999">点击上传封面图片</p>
|
||||
</div>
|
||||
|
||||
<a-upload
|
||||
name="file"
|
||||
:showUploadList="false"
|
||||
:beforeUpload="beforeUpload"
|
||||
@change="handleCoverChange"
|
||||
>
|
||||
<a-button type="primary" class="cover-upload-btn">
|
||||
<a-icon :type="coverUrl ? 'edit' : 'upload'" />
|
||||
{{ coverUrl ? "更换封面" : "上传封面" }}
|
||||
</a-button>
|
||||
</a-upload>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- 编辑器容器 -->
|
||||
<div class="editor-container fade-in-delay-2">
|
||||
<Editor
|
||||
:id="tinymceId"
|
||||
:init="init"
|
||||
@ -33,25 +105,55 @@
|
||||
v-model="myValue"
|
||||
@onClick="onClick"
|
||||
></Editor>
|
||||
<a-button type="primary" @click="SendTinymce">发布文章</a-button>
|
||||
<div class="word-count">字数: {{ wordCount }}</div>
|
||||
</div>
|
||||
|
||||
<!-- 内容预览区域 -->
|
||||
<div v-if="showPreview" class="preview-container fade-in">
|
||||
<div class="preview-title">
|
||||
<a-icon type="eye" />
|
||||
<span>文章预览</span>
|
||||
</div>
|
||||
|
||||
<div class="preview-content" v-html="myValue"></div>
|
||||
</div>
|
||||
|
||||
<!-- 操作按钮 -->
|
||||
<div class="publish-container">
|
||||
<a-button @click="togglePreview" style="margin-right: 16px">
|
||||
<a-icon :type="showPreview ? 'eye-invisible' : 'eye'" />
|
||||
{{ showPreview ? "关闭预览" : "预览文章" }}
|
||||
</a-button>
|
||||
|
||||
<a-button type="primary" class="publish-btn" @click="confirmPublish">
|
||||
<a-icon type="plus" />
|
||||
发布文章
|
||||
</a-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { message } from "@/utils/const";
|
||||
import {createArticle,AllCompetition,SendSMS,SendEmail,AllArticle} from "@/api"
|
||||
import tinymce from 'tinymce/tinymce' //tinymce默认hidden,不引入不显示
|
||||
import Editor from '@tinymce/tinymce-vue'//编辑器引入
|
||||
import 'tinymce/themes/silver/theme'//编辑器主题
|
||||
import 'tinymce/icons/default' //引入编辑器图标icon,不引入则不显示对应图标
|
||||
import {
|
||||
createArticle,
|
||||
AllCompetition,
|
||||
SendSMS,
|
||||
SendEmail,
|
||||
AllArticle,
|
||||
} from "@/api";
|
||||
import tinymce from "tinymce/tinymce"; //tinymce默认hidden,不引入不显示
|
||||
import Editor from "@tinymce/tinymce-vue"; //编辑器引入
|
||||
import "tinymce/themes/silver/theme"; //编辑器主题
|
||||
import "tinymce/icons/default"; //引入编辑器图标icon,不引入则不显示对应图标
|
||||
// 引入编辑器插件(基本免费插件都在这儿了)
|
||||
import 'tinymce/plugins/advlist' //高级列表
|
||||
import 'tinymce/plugins/autolink' //自动链接
|
||||
import 'tinymce/plugins/link' //超链接
|
||||
import 'tinymce/plugins/image' //插入编辑图片
|
||||
import 'tinymce/plugins/lists' //列表插件
|
||||
import 'tinymce/plugins/charmap' //特殊字符
|
||||
import 'tinymce/plugins/media' //插入编辑媒体
|
||||
import 'tinymce/plugins/wordcount'// 字数统计
|
||||
import "tinymce/plugins/advlist"; //高级列表
|
||||
import "tinymce/plugins/autolink"; //自动链接
|
||||
import "tinymce/plugins/link"; //超链接
|
||||
import "tinymce/plugins/image"; //插入编辑图片
|
||||
import "tinymce/plugins/lists"; //列表插件
|
||||
import "tinymce/plugins/charmap"; //特殊字符
|
||||
import "tinymce/plugins/media"; //插入编辑媒体
|
||||
import "tinymce/plugins/wordcount"; // 字数统计
|
||||
// import Cookies from "js-cookie";
|
||||
|
||||
const fonts = [
|
||||
@ -79,38 +181,39 @@ const fonts = [
|
||||
"Trebuchet MS=trebuchet ms,geneva",
|
||||
"Verdana=verdana,geneva",
|
||||
"Webdings=webdings",
|
||||
"Wingdings=wingdings,zapf dingbats"
|
||||
"Wingdings=wingdings,zapf dingbats",
|
||||
];
|
||||
export default {
|
||||
components: {
|
||||
Editor
|
||||
Editor,
|
||||
},
|
||||
props: {
|
||||
//内容
|
||||
value: {
|
||||
type: String,
|
||||
default: ''
|
||||
default: "",
|
||||
},
|
||||
//是否禁用
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
default: false,
|
||||
},
|
||||
// 用于区分单个tinymce
|
||||
tinymceId: {
|
||||
type: String,
|
||||
default: "tinymce"
|
||||
default: "tinymce",
|
||||
},
|
||||
//插件
|
||||
plugins: {
|
||||
type: [String, Array],
|
||||
default: 'advlist autolink link image lists charmap media wordcount'
|
||||
default: "advlist autolink link image lists charmap media wordcount",
|
||||
},
|
||||
//工具栏
|
||||
toolbar: {
|
||||
type: [String, Array],
|
||||
default: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | lists image media table'
|
||||
}
|
||||
default:
|
||||
"undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | lists image media table",
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -123,86 +226,88 @@ export default {
|
||||
articleType: "",
|
||||
briefContent: "",
|
||||
init: {
|
||||
selector: '#' + this.tinymceId,
|
||||
language_url: '@/components/edit/zh_CN.js',//汉化路径是自定义的,一般放在public或static里面
|
||||
language: 'zh_CN',
|
||||
skin_url: '/tinymce/skins/ui/oxide',//皮肤
|
||||
selector: "#" + this.tinymceId,
|
||||
language_url: "@/components/edit/zh_CN.js", //汉化路径是自定义的,一般放在public或static里面
|
||||
language: "zh_CN",
|
||||
skin_url: "/tinymce/skins/ui/oxide", //皮肤
|
||||
plugins: this.plugins, //插件
|
||||
//工具栏
|
||||
toolbar: this.toolbar,
|
||||
toolbar_location: '/',
|
||||
fontsize_formats: '12px 14px 16px 18px 20px 22px 24px 28px 32px 36px 48px 56px 72px', //字体大小
|
||||
toolbar_location: "/",
|
||||
fontsize_formats:
|
||||
"12px 14px 16px 18px 20px 22px 24px 28px 32px 36px 48px 56px 72px", //字体大小
|
||||
font_formats: fonts.join(";"),
|
||||
content_style: "p {margin: 0px; border:0px ; padding: 0px}", // 设置p的行间距
|
||||
width: "100%",
|
||||
// height: 500,//高度
|
||||
placeholder: '在这里输入文字',
|
||||
placeholder: "在这里输入文字",
|
||||
|
||||
branding: false, //隐藏右下角技术支持
|
||||
//图片上传
|
||||
},
|
||||
ArticleId: "",
|
||||
Article: {},
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
//监听内容变化
|
||||
value(newValue) {
|
||||
this.myValue = (newValue == null ? '' : newValue)
|
||||
this.myValue = newValue == null ? "" : newValue;
|
||||
},
|
||||
myValue(newValue) {
|
||||
if (this.triggerChange) {
|
||||
this.$emit('change', newValue)
|
||||
this.$emit("change", newValue);
|
||||
} else {
|
||||
this.$emit('input', newValue)
|
||||
}
|
||||
this.$emit("input", newValue);
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
tinymce.init({})
|
||||
tinymce.init({});
|
||||
// console.log(this.toolbar,'======')
|
||||
this.GetAritle()
|
||||
AllCompetition().then(response => {
|
||||
this.GetAritle();
|
||||
AllCompetition()
|
||||
.then((response) => {
|
||||
// 获取竞赛数据
|
||||
const competitions = response.data;
|
||||
|
||||
// 转换数据为适合select选项的格式
|
||||
const selectOptions = competitions.map(competition => ({
|
||||
const selectOptions = competitions.map((competition) => ({
|
||||
label: competition.competitionName,
|
||||
value: competition.competitionId
|
||||
value: competition.competitionId,
|
||||
}));
|
||||
// 将转换后的数据存储在Vue实例中,以便在模板中使用
|
||||
this.grades = selectOptions;
|
||||
}).catch(error => {
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
});
|
||||
|
||||
},
|
||||
methods: {
|
||||
GetAritle() {
|
||||
console.log(this.ArticleId)
|
||||
if(this.ArticleId!=''||null){
|
||||
console.log(this.ArticleId);
|
||||
if (this.ArticleId != "" || null) {
|
||||
AllArticle().then((res) => {
|
||||
res.data.forEach(item=>{
|
||||
console.log(item)
|
||||
res.data.forEach((item) => {
|
||||
console.log(item);
|
||||
if (item.articleId == this.ArticleId) {
|
||||
console.log(item)
|
||||
this.competitionId=item.competitionId
|
||||
this.ArticleTitle = item.articleTitle,
|
||||
this.myValue=item.articleContent,
|
||||
this.articleType=item.articleType,
|
||||
this.briefContent=item.briefContent
|
||||
console.log(item);
|
||||
this.competitionId = item.competitionId;
|
||||
(this.ArticleTitle = item.articleTitle),
|
||||
(this.myValue = item.articleContent),
|
||||
(this.articleType = item.articleType),
|
||||
(this.briefContent = item.briefContent);
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
onClick(e) {
|
||||
this.$emit('onClick', e, tinymce)
|
||||
this.$emit("onClick", e, tinymce);
|
||||
},
|
||||
//可以添加一些自己的自定义事件,如清空内容
|
||||
clear() {
|
||||
this.myValue = ''
|
||||
this.myValue = "";
|
||||
},
|
||||
SendTinymce() {
|
||||
const data = {
|
||||
@ -211,39 +316,42 @@ export default {
|
||||
competitionId: this.competitionId,
|
||||
articleType: this.articleType,
|
||||
articleTitle: this.ArticleTitle,
|
||||
articleContent: this.myValue
|
||||
articleContent: this.myValue,
|
||||
};
|
||||
|
||||
createArticle(data)
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$message.success('发送成功');
|
||||
this.articleId=res.data
|
||||
if (this.articleType == '公告') {
|
||||
this.$message.success("发送成功");
|
||||
this.articleId = res.data;
|
||||
if (this.articleType == "公告") {
|
||||
// 询问是否进行短信和邮件通知
|
||||
this.$modal.confirm({
|
||||
title: `确认发送短信与邮件通知用户?`,
|
||||
onOk: () => {
|
||||
let data = {
|
||||
competitionId: this.competitionId,
|
||||
articleId:this.articleId
|
||||
}
|
||||
this.$api.SendEmail(data).then(() => {
|
||||
articleId: this.articleId,
|
||||
};
|
||||
this.$api
|
||||
.SendEmail(data)
|
||||
.then(() => {
|
||||
this.$api.SendSMS(data).then(() => {
|
||||
this.$message.success('短信邮件提醒成功!');
|
||||
this.$message.success("短信邮件提醒成功!");
|
||||
});
|
||||
})
|
||||
}).catch(e => {
|
||||
this.$message.error(e.msg || '发送失败!');
|
||||
.catch((e) => {
|
||||
this.$message.error(e.msg || "发送失败!");
|
||||
throw e;
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
} else {
|
||||
throw new Error("发布失败");
|
||||
}
|
||||
})
|
||||
.then(notificationData => {
|
||||
.then((notificationData) => {
|
||||
if (notificationData) {
|
||||
return SendEmail(notificationData)
|
||||
.then(() => SendSMS(notificationData))
|
||||
@ -252,20 +360,480 @@ export default {
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
this.$notify.error({ title: '错误', message: error.message });
|
||||
this.$notify.error({ title: "错误", message: error.message });
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
/* 在线发帖页面美化样式 */
|
||||
|
||||
/* 整体容器样式 */
|
||||
.tinymce-editor {
|
||||
/* max-width: 1200px; */
|
||||
margin: 0 auto;
|
||||
padding: 30px;
|
||||
background-color: #fff;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* 页面标题 */
|
||||
.editor-header {
|
||||
text-align: center;
|
||||
margin-bottom: 40px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.editor-title {
|
||||
font-size: 28px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.editor-title::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: -10px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 80px;
|
||||
height: 4px;
|
||||
background: linear-gradient(90deg, #3690cf, #6dc6ff);
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.editor-subtitle {
|
||||
font-size: 16px;
|
||||
color: #666;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
/* 输入框美化 */
|
||||
.tinymce-editor .ant-input,
|
||||
.tinymce-editor .ant-input-affix-wrapper {
|
||||
border-radius: 10px;
|
||||
border: 1px solid #e8e8e8;
|
||||
padding: 12px 16px;
|
||||
font-size: 16px;
|
||||
transition: all 0.3s;
|
||||
margin-bottom: 20px;
|
||||
box-shadow: 0 0 0 2px transparent;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-input:hover,
|
||||
.tinymce-editor .ant-input-affix-wrapper:hover {
|
||||
border-color: #3690cf;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-input:focus,
|
||||
.tinymce-editor .ant-input-affix-wrapper-focused {
|
||||
border-color: #3690cf;
|
||||
box-shadow: 0 0 0 2px rgba(54, 144, 207, 0.2);
|
||||
}
|
||||
|
||||
/* 标题输入框特殊样式 */
|
||||
.article-title-input {
|
||||
font-size: 20px !important;
|
||||
font-weight: 500;
|
||||
padding: 16px 20px !important;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 12px !important;
|
||||
}
|
||||
|
||||
.article-title-input::placeholder {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
/* 文章简介美化 */
|
||||
.article-brief-textarea {
|
||||
border-radius: 10px;
|
||||
min-height: 80px !important;
|
||||
margin-bottom: 30px;
|
||||
background-color: #f9fafc;
|
||||
}
|
||||
|
||||
/* 表单项美化 */
|
||||
.form-item-container {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.form-item-container .ant-form-item {
|
||||
flex: 1;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-form-item-label {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-form-item-label > label {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* 下拉选择框美化 */
|
||||
.tinymce-editor .ant-select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-select-selector {
|
||||
border-radius: 10px !important;
|
||||
padding: 8px 16px !important;
|
||||
height: auto !important;
|
||||
min-height: 48px !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-select-selection-search {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-select:hover .ant-select-selector {
|
||||
border-color: #3690cf !important;
|
||||
}
|
||||
|
||||
.tinymce-editor .ant-select-focused .ant-select-selector {
|
||||
border-color: #3690cf !important;
|
||||
box-shadow: 0 0 0 2px rgba(54, 144, 207, 0.2) !important;
|
||||
}
|
||||
|
||||
/* 编辑器容器 */
|
||||
.editor-container {
|
||||
position: relative;
|
||||
margin-bottom: 25px;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #e8e8e8;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.editor-container:hover {
|
||||
border-color: #3690cf;
|
||||
box-shadow: 0 0 0 2px rgba(54, 144, 207, 0.05);
|
||||
}
|
||||
|
||||
/* TinyMCE编辑器自定义样式 */
|
||||
.tox-tinymce {
|
||||
border-radius: 12px !important;
|
||||
overflow: hidden;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.tox .tox-toolbar__group {
|
||||
border-radius: 6px !important;
|
||||
margin: 2px 4px !important;
|
||||
padding: 0 4px !important;
|
||||
}
|
||||
|
||||
.tox .tox-tbtn {
|
||||
border-radius: 6px !important;
|
||||
}
|
||||
|
||||
.tox .tox-tbtn:hover {
|
||||
background-color: rgba(54, 144, 207, 0.1) !important;
|
||||
}
|
||||
|
||||
.tox .tox-tbtn--enabled {
|
||||
background-color: rgba(54, 144, 207, 0.2) !important;
|
||||
}
|
||||
|
||||
/* 发布按钮容器 */
|
||||
.publish-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 40px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* 发布按钮 */
|
||||
.publish-btn {
|
||||
min-width: 180px;
|
||||
height: 50px;
|
||||
padding: 0 30px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
background: linear-gradient(135deg, #3690cf, #2a78b8) !important;
|
||||
border: none !important;
|
||||
border-radius: 25px !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: 0 8px 15px rgba(54, 144, 207, 0.3);
|
||||
transition: all 0.3s !important;
|
||||
}
|
||||
|
||||
.publish-btn:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 10px 20px rgba(54, 144, 207, 0.4) !important;
|
||||
background: linear-gradient(135deg, #2a78b8, #1e5c8e) !important;
|
||||
}
|
||||
|
||||
.publish-btn .anticon {
|
||||
margin-right: 8px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
/* 文章信息卡片 */
|
||||
.article-info-card {
|
||||
background-color: #f9fafc;
|
||||
border-radius: 12px;
|
||||
padding: 20px;
|
||||
margin-bottom: 25px;
|
||||
border: 1px dashed #e0e0e0;
|
||||
}
|
||||
|
||||
.article-info-card .info-title {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
margin-bottom: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.article-info-card .info-title .anticon {
|
||||
color: #3690cf;
|
||||
margin-right: 8px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
/* 编辑器底部状态栏 */
|
||||
.tox-statusbar {
|
||||
border-top: 1px solid #eee !important;
|
||||
}
|
||||
|
||||
/* 上传图片区域 */
|
||||
.upload-box {
|
||||
border: 2px dashed #e0e0e0;
|
||||
border-radius: 12px;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.upload-box:hover {
|
||||
border-color: #3690cf;
|
||||
background-color: rgba(54, 144, 207, 0.05);
|
||||
}
|
||||
|
||||
.upload-icon {
|
||||
font-size: 48px;
|
||||
color: #d0d0d0;
|
||||
margin-bottom: 10px;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.upload-box:hover .upload-icon {
|
||||
color: #3690cf;
|
||||
}
|
||||
|
||||
.upload-text {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* 响应式调整 */
|
||||
@media (max-width: 768px) {
|
||||
.tinymce-editor {
|
||||
padding: 20px 15px;
|
||||
}
|
||||
|
||||
.form-item-container {
|
||||
flex-direction: column;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.editor-title {
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
.publish-btn {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* 动画效果 */
|
||||
@keyframes fadeIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.fade-in {
|
||||
animation: fadeIn 0.5s ease forwards;
|
||||
}
|
||||
|
||||
.fade-in-delay-1 {
|
||||
animation: fadeIn 0.5s ease 0.1s forwards;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.fade-in-delay-2 {
|
||||
animation: fadeIn 0.5s ease 0.2s forwards;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* 字数统计提示 */
|
||||
.word-count {
|
||||
position: absolute;
|
||||
right: 15px;
|
||||
bottom: 15px;
|
||||
font-size: 12px;
|
||||
color: #999;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
padding: 4px 10px;
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* 预览效果区域 */
|
||||
.preview-container {
|
||||
margin-top: 30px;
|
||||
padding: 20px;
|
||||
border-radius: 12px;
|
||||
background-color: #f9fafc;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
.preview-title {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
color: #333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.preview-title .anticon {
|
||||
margin-right: 8px;
|
||||
color: #3690cf;
|
||||
}
|
||||
|
||||
.preview-content {
|
||||
padding: 15px;
|
||||
background: white;
|
||||
border-radius: 8px;
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
/* 自定义悬停效果 */
|
||||
.hover-lift {
|
||||
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
||||
}
|
||||
|
||||
.hover-lift:hover {
|
||||
transform: translateY(-3px);
|
||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
/* 标签选择区域 */
|
||||
.tags-container {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.tags-title {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.tag-select {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.tag-item {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
padding: 6px 12px;
|
||||
background-color: #f0f2f5;
|
||||
color: #555;
|
||||
border-radius: 20px;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.tag-item:hover {
|
||||
background-color: #e6f7ff;
|
||||
color: #3690cf;
|
||||
}
|
||||
|
||||
.tag-item.active {
|
||||
background-color: #3690cf;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.tag-item .anticon {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
/* 文章封面上传区域 */
|
||||
.cover-upload {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.cover-title {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.cover-description {
|
||||
font-size: 14px;
|
||||
color: #888;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.cover-preview {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
border-radius: 12px;
|
||||
overflow: hidden;
|
||||
background-color: #f5f5f5;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cover-preview img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.cover-upload-btn {
|
||||
position: absolute;
|
||||
bottom: 15px;
|
||||
right: 15px;
|
||||
z-index: 5;
|
||||
}
|
||||
</style>
|
||||
|
@ -116,6 +116,7 @@ export default {
|
||||
margin: 10px 10px 0 10px;
|
||||
padding: 10px;
|
||||
background-color: white;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.ant-pro-global-header-index-right {
|
||||
|
@ -31,24 +31,24 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { message } from 'ant-design-vue';
|
||||
import { last } from 'lodash-es';
|
||||
import ContextMenu from '../components/common/ContextMenu';
|
||||
import PageToggleTransition from '../components/transition/PageToggleTransition';
|
||||
import { message } from "ant-design-vue";
|
||||
import { last } from "lodash-es";
|
||||
import ContextMenu from "../components/common/ContextMenu";
|
||||
import PageToggleTransition from "../components/transition/PageToggleTransition";
|
||||
|
||||
export default {
|
||||
name: 'TabLayout',
|
||||
name: "TabLayout",
|
||||
components: { PageToggleTransition, ContextMenu },
|
||||
data() {
|
||||
return {
|
||||
pageList: [],
|
||||
dustbin: [],
|
||||
activePage: '',
|
||||
activePage: "",
|
||||
menuVisible: false,
|
||||
menuItems: [
|
||||
{ key: '1', icon: 'arrow-left', text: '关闭左侧' },
|
||||
{ key: '2', icon: 'arrow-right', text: '关闭右侧' },
|
||||
{ key: '3', icon: 'close', text: '关闭其它' },
|
||||
{ key: "1", icon: "arrow-left", text: "关闭左侧" },
|
||||
{ key: "2", icon: "arrow-right", text: "关闭右侧" },
|
||||
{ key: "3", icon: "close", text: "关闭其它" },
|
||||
],
|
||||
};
|
||||
},
|
||||
@ -58,7 +58,9 @@ export default {
|
||||
handler(route) {
|
||||
this.activePage = route.fullPath;
|
||||
this.putCache(route);
|
||||
const index = this.pageList.findIndex(item => item.fullPath === route.fullPath);
|
||||
const index = this.pageList.findIndex(
|
||||
(item) => item.fullPath === route.fullPath
|
||||
);
|
||||
if (index === -1) {
|
||||
this.pageList.push(route);
|
||||
}
|
||||
@ -74,15 +76,15 @@ export default {
|
||||
this.$router.push(key);
|
||||
},
|
||||
editPage(key, action) {
|
||||
if (action === 'remove') {
|
||||
if (action === "remove") {
|
||||
this.remove(key);
|
||||
}
|
||||
},
|
||||
remove(key) {
|
||||
if (this.pageList.length <= 1) {
|
||||
return message.info('最后一页了哦~');
|
||||
return message.info("最后一页了哦~");
|
||||
}
|
||||
let curIndex = this.pageList.findIndex(item => item.fullPath === key);
|
||||
let curIndex = this.pageList.findIndex((item) => item.fullPath === key);
|
||||
const { matched } = this.pageList[curIndex];
|
||||
const componentName = last(matched).components.default.name;
|
||||
this.dustbin.push(componentName);
|
||||
@ -90,7 +92,10 @@ export default {
|
||||
// 如果删除的是当前页才需要跳转
|
||||
if (key === this.activePage) {
|
||||
// 判断向左跳还是向右跳
|
||||
curIndex = curIndex >= this.pageList.length ? this.pageList.length - 1 : curIndex;
|
||||
curIndex =
|
||||
curIndex >= this.pageList.length
|
||||
? this.pageList.length - 1
|
||||
: curIndex;
|
||||
const page = this.pageList[curIndex];
|
||||
this.$router.push(page.fullPath).finally(() => {
|
||||
this.dustbin.splice(0); // 重置,否则会影响到某些组件的缓存
|
||||
@ -110,14 +115,21 @@ export default {
|
||||
onMenuSelect(key, target) {
|
||||
const tabKey = getTabKey(target);
|
||||
switch (key) {
|
||||
case '1': this.closeLeft(tabKey); break;
|
||||
case '2': this.closeRight(tabKey); break;
|
||||
case '3': this.closeOthers(tabKey); break;
|
||||
default: break;
|
||||
case "1":
|
||||
this.closeLeft(tabKey);
|
||||
break;
|
||||
case "2":
|
||||
this.closeRight(tabKey);
|
||||
break;
|
||||
case "3":
|
||||
this.closeOthers(tabKey);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
closeOthers(tabKey) {
|
||||
const index = this.pageList.findIndex(item => item.fullPath === tabKey);
|
||||
const index = this.pageList.findIndex((item) => item.fullPath === tabKey);
|
||||
for (const route of this.pageList) {
|
||||
if (route.fullPath !== tabKey) {
|
||||
this.clearCache(route);
|
||||
@ -126,10 +138,10 @@ export default {
|
||||
const page = this.pageList[index];
|
||||
this.pageList = [page];
|
||||
this.activePage = page.fullPath;
|
||||
this.$router.push(this.activePage).catch(e => e);
|
||||
this.$router.push(this.activePage).catch((e) => e);
|
||||
},
|
||||
closeLeft(tabKey) {
|
||||
const index = this.pageList.findIndex(item => item.fullPath === tabKey);
|
||||
const index = this.pageList.findIndex((item) => item.fullPath === tabKey);
|
||||
this.pageList.forEach((route, i) => {
|
||||
if (i < index) {
|
||||
this.clearCache(route);
|
||||
@ -138,14 +150,16 @@ export default {
|
||||
const restPages = this.pageList.slice(index);
|
||||
this.pageList = restPages;
|
||||
// 判断当前activePage是否在将要删除的页面中
|
||||
const curActivePage = restPages.find(item => item.fullPath === this.activePage);
|
||||
const curActivePage = restPages.find(
|
||||
(item) => item.fullPath === this.activePage
|
||||
);
|
||||
if (!curActivePage) {
|
||||
this.activePage = restPages[0].fullPath;
|
||||
this.$router.push(this.activePage).catch(e => e);
|
||||
this.$router.push(this.activePage).catch((e) => e);
|
||||
}
|
||||
},
|
||||
closeRight(tabKey) {
|
||||
const index = this.pageList.findIndex(item => item.fullPath === tabKey);
|
||||
const index = this.pageList.findIndex((item) => item.fullPath === tabKey);
|
||||
this.pageList.forEach((route, i) => {
|
||||
if (i > index) {
|
||||
this.clearCache(route);
|
||||
@ -154,10 +168,12 @@ export default {
|
||||
const restPages = this.pageList.slice(0, index + 1);
|
||||
this.pageList = restPages;
|
||||
// 判断当前activePage是否在将要删除的页面中
|
||||
const curActivePage = restPages.find(item => item.fullPath === this.activePage);
|
||||
const curActivePage = restPages.find(
|
||||
(item) => item.fullPath === this.activePage
|
||||
);
|
||||
if (!curActivePage) {
|
||||
this.activePage = last(restPages).fullPath;
|
||||
this.$router.push(this.activePage).catch(e => e);
|
||||
this.$router.push(this.activePage).catch((e) => e);
|
||||
}
|
||||
},
|
||||
/**
|
||||
@ -170,7 +186,7 @@ export default {
|
||||
putCache(route) {
|
||||
const componentName = last(route.matched).components.default.name;
|
||||
if (this.dustbin.includes(componentName)) {
|
||||
this.dustbin = this.dustbin.filter(item => item !== componentName);
|
||||
this.dustbin = this.dustbin.filter((item) => item !== componentName);
|
||||
}
|
||||
},
|
||||
},
|
||||
@ -190,13 +206,95 @@ function getTabKey(target, depth = 0) {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.tab-bar >>> .ant-tabs-bar {
|
||||
margin-bottom: 0;
|
||||
<style lang="less" scoped>
|
||||
.tab-layout {
|
||||
background: #fff;
|
||||
padding: 6px 4px 0;
|
||||
margin-bottom: 10px;
|
||||
height: 32px !important;
|
||||
|
||||
.tab-bar {
|
||||
background: #fff;
|
||||
margin-bottom: 10px;
|
||||
:deep(.ant-tabs-bar) {
|
||||
margin: 0;
|
||||
border: none;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
:deep(.ant-tabs-nav-container) {
|
||||
height: 32px !important;
|
||||
}
|
||||
|
||||
:deep(.ant-tabs-tab) {
|
||||
margin-right: 6px;
|
||||
height: 32px !important;
|
||||
line-height: 32px !important;
|
||||
background: #fafafa;
|
||||
border: 1px solid #f0f0f0;
|
||||
border-radius: 4px;
|
||||
transition: all 0.3s;
|
||||
padding: 0 16px;
|
||||
|
||||
&:hover {
|
||||
color: #1890ff;
|
||||
background: #e6f7ff;
|
||||
}
|
||||
|
||||
&.ant-tabs-tab-active {
|
||||
background: #fff;
|
||||
border-color: #1890ff;
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
.ant-tabs-close-x {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
margin-right: -4px;
|
||||
margin-left: 4px;
|
||||
opacity: 0.45;
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
color: #ff4d4f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.ant-tabs-ink-bar) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
margin-bottom: 10px;
|
||||
margin-bottom: 12px;
|
||||
padding: 8px 24px;
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
|
||||
// 右键菜单样式优化
|
||||
:deep(.context-menu) {
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
|
||||
.menu-item {
|
||||
padding: 8px 16px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
|
||||
&:hover {
|
||||
background: #e6f7ff;
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
.anticon {
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
@ -29,7 +29,12 @@
|
||||
>
|
||||
<div class="account-center-avatarHolder">
|
||||
<div class="avatar">
|
||||
<img :src="userimg" alt="用户头像" />
|
||||
<img
|
||||
src="https://onlinephoto.oss-cn-chengdu.aliyuncs.com/hangtian/touxiang.jpg"
|
||||
data-src="//www.cmstui.com/wp-content/themes/zibll/img/avatar-default.png"
|
||||
class="lazyload avatar avatar-id-1"
|
||||
alt="用户头像"
|
||||
/>
|
||||
</div>
|
||||
<div class="username">{{ $store.state.user.userName }}</div>
|
||||
<div class="bio">{{ shenfen }}</div>
|
||||
@ -410,8 +415,10 @@ export default {
|
||||
return matches[0];
|
||||
}
|
||||
|
||||
// 否则返回默认图片
|
||||
return require("@/assets/bg.svg");
|
||||
const randomSeed = Math.floor(Math.random() * 10000);
|
||||
|
||||
// 如果没有找到匹配的图片,可以使用随机图片
|
||||
return "https://tu.ltyuanfang.cn/api/fengjing.php?" + randomSeed;
|
||||
},
|
||||
|
||||
// 获取文章摘要
|
||||
|
Loading…
x
Reference in New Issue
Block a user