fix: 修改项目相关代码

This commit is contained in:
Shu Guang 2025-05-16 19:22:00 +08:00
parent 8d987c6b1b
commit 23e3e37f70
15 changed files with 133 additions and 78 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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":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]}
{"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":1747394469647},{"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+CiAgICA8YS10YWItcGFuZQogICAgICB2LWZvcj0icGFnZSBpbiBwYWdlTGlzdCIKICAgICAgOmtleT0icGFnZS5mdWxsUGF0aCIKICAgICAgOmNsb3NhYmxlPSJwYWdlTGlzdC5sZW5ndGggPiAxIgogICAgPgogICAgICA8dGVtcGxhdGUgI3RhYj4KICAgICAgICA8c3BhbiA6ZGF0YS1rZXk9InBhZ2UuZnVsbFBhdGgiIGNsYXNzPSJ0YWItaXRlbSI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLXRpdGxlIj57eyBwYWdlLm1ldGEudGl0bGUgfX08L3NwYW4+CiAgICAgICAgPC9zcGFuPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9hLXRhYi1wYW5lPgogIDwvYS10YWJzPgogIDxQYWdlVG9nZ2xlVHJhbnNpdGlvbiBuYW1lPSJmYWRlSW4iPgogICAgPGtlZXAtYWxpdmUgOmV4Y2x1ZGU9ImR1c3RiaW4iPgogICAgICA8cm91dGVyLXZpZXcgLz4KICAgIDwva2VlcC1hbGl2ZT4KICA8L1BhZ2VUb2dnbGVUcmFuc2l0aW9uPgogIDxDb250ZXh0TWVudQogICAgOmxpc3Q9Im1lbnVJdGVtcyIKICAgIDp2aXNpYmxlLnN5bmM9Im1lbnVWaXNpYmxlIgogICAgQHNlbGVjdD0ib25NZW51U2VsZWN0IgogIC8+CjwvZGl2Pgo="},null]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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":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]}
{"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":1747391264501},{"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:Cjxwcm8tbGF5b3V0CiAgOm1lbnVzPSJtZW51cyIKICA6Y29sbGFwc2VkPSJjb2xsYXBzZWQiCiAgOm1lZGlhUXVlcnk9InF1ZXJ5IgogIDppc01vYmlsZT0iaXNNb2JpbGUiCiAgOmhhbmRsZU1lZGlhUXVlcnk9ImhhbmRsZU1lZGlhUXVlcnkiCiAgOmhhbmRsZUNvbGxhcHNlPSJoYW5kbGVDb2xsYXBzZSIKICA6bG9nbz0iJy9sb2dvLnBuZyciCiAgdGl0bGU9Iuernui1m+euoeeQhuezu+e7nyIKICBmaXhlZEhlYWRlcgogIGZpeFNpZGVyYmFyCiAgOmhlYWRlckhlaWdodD0iNjQiCiAgOnNpZGVyV2lkdGg9IjI1NiIKICBwcmltYXJ5Q29sb3I9IiMxODkwZmYiCj4KICA8dGVtcGxhdGUgI21lbnVIZWFkZXJSZW5kZXI+CiAgICA8YS1hdmF0YXIgc3JjPSIvbG9nby5wbmciIDpzaXplPSI0MCIgLz4KICAgIDxoMT7nq57otZvnrqHnkIbns7vnu588L2gxPgogIDwvdGVtcGxhdGU+CiAgPHRlbXBsYXRlICNyaWdodENvbnRlbnRSZW5kZXI+CiAgICA8ZGl2IDpjbGFzcz0icmlnaHRDb250ZW50Q2xhc3MiPgogICAgICA8TG9naW5TdGF0ZSAvPgogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KICA8dGVtcGxhdGUgI2Zvb3RlclJlbmRlcj4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1jb250YWluZXIiPgogICAgICDmoKHlm63kv6Hmga/ljJYt56ue6LWb566h55CG57O757ufIMKpMjAyNCBDcmVhdGVkIGJ5IOmZleilv+enkeaKgOWkp+WtpumVkOS6rOWtpumZogogICAgPC9kaXY+CiAgPC90ZW1wbGF0ZT4KICA8dGVtcGxhdGUgI2hlYWRlckNvbnRlbnRSZW5kZXI+CiAgICA8YS1icmVhZGNydW1iCiAgICAgIHN0eWxlPSJoZWlnaHQ6IDY0cHg7IGxpbmUtaGVpZ2h0OiA2NHB4IgogICAgICBjbGFzcz0iYnJlYWRjcnVtYiIKICAgICAgOnJvdXRlcz0iJHJvdXRlLm1hdGNoZWQiCiAgICA+CiAgICAgIDx0ZW1wbGF0ZSAjaXRlbVJlbmRlcj0ieyByb3V0ZSB9Ij4KICAgICAgICB7eyByb3V0ZS5tZXRhLnRpdGxlIH19CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2EtYnJlYWRjcnVtYj4KICA8L3RlbXBsYXRlPgogIDxUYWJMYXlvdXQgLz4KPC9wcm8tbGF5b3V0Pgo="},null]}

View File

@ -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":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=="}]}
{"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":1747390993887},{"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=="}]}

View File

@ -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":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=="}]}
{"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":1747394469647},{"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=="}]}

View File

@ -120,7 +120,8 @@ export default {
.ant-breadcrumb {
margin-left: 16px;
a, span {
a,
span {
color: rgba(255, 255, 255, 0.85);
transition: color 0.3s;
@ -202,7 +203,7 @@ export default {
.ant-pro-basicLayout-content {
margin: 24px;
padding: 24px;
background: #f0f2f5;
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
min-height: calc(100vh - 128px);

View File

@ -9,10 +9,14 @@
@edit="editPage"
@contextmenu="onContextmenu"
>
<a-tab-pane v-for="page in pageList" :key="page.fullPath">
<a-tab-pane
v-for="page in pageList"
:key="page.fullPath"
:closable="pageList.length > 1"
>
<template #tab>
<span :data-key="page.fullPath">
{{ page.meta.title }}
<span :data-key="page.fullPath" class="tab-item">
<span class="tab-title">{{ page.meta.title }}</span>
</span>
</template>
</a-tab-pane>
@ -209,93 +213,142 @@ function getTabKey(target, depth = 0) {
<style lang="less" scoped>
.tab-layout {
background: #fff;
padding: 8px 12px 0;
margin-bottom: 12px;
height: 40px !important;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
padding: 12px 16px 0;
margin-bottom: 16px;
height: 48px !important;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
.tab-bar {
background: #fff;
margin-bottom: 10px;
margin-bottom: 12px;
:deep(.ant-tabs-bar) {
margin: 0;
border: none;
background: linear-gradient(to right, rgba(255,255,255,0.95), rgba(255,255,255,0.8));
backdrop-filter: blur(10px);
border-radius: 8px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03);
background: linear-gradient(
to right,
rgba(255, 255, 255, 0.98),
rgba(255, 255, 255, 0.95)
);
backdrop-filter: blur(20px);
border-radius: 10px;
box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
padding: 4px;
}
:deep(.ant-tabs-nav-container) {
height: 40px !important;
padding: 0 4px;
height: 44px !important;
padding: 0 8px;
}
:deep(.ant-tabs-tab) {
position: relative;
margin: 0 4px;
height: 36px !important;
line-height: 36px !important;
background: rgba(250, 250, 250, 0.8);
border: 1px solid rgba(240, 240, 240, 0.6);
border-radius: 6px;
margin: 0 6px;
height: 38px !important;
line-height: 38px !important;
background: rgba(250, 250, 250, 0.9);
border: 1px solid rgba(240, 240, 240, 0.8);
border-radius: 8px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
padding: 0 16px;
padding: 0 20px;
font-size: 14px;
font-weight: 500;
color: #666;
.tab-item {
display: inline-flex;
align-items: center;
gap: 8px;
.tab-title {
transition: all 0.3s;
white-space: nowrap;
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
}
.close-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
border-radius: 50%;
opacity: 0.4;
transition: all 0.3s;
.anticon {
font-size: 12px;
transition: all 0.3s;
}
&:hover {
opacity: 1;
background: rgba(255, 77, 79, 0.1);
color: #ff4d4f;
transform: rotate(90deg);
}
}
}
&::before {
content: '';
content: "";
position: absolute;
inset: 0;
border-radius: 6px;
border-radius: 8px;
padding: 1px;
background: linear-gradient(45deg, transparent, rgba(24, 144, 255, 0.1));
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
background: linear-gradient(
45deg,
transparent,
rgba(24, 144, 255, 0.15)
);
-webkit-mask: linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
opacity: 0;
transition: opacity 0.3s;
}
&:hover {
color: #1890ff;
background: rgba(230, 247, 255, 0.8);
background: rgba(230, 247, 255, 0.95);
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(24, 144, 255, 0.1);
box-shadow: 0 4px 12px rgba(24, 144, 255, 0.12);
&::before {
opacity: 1;
}
.close-btn {
opacity: 0.6;
}
}
&.ant-tabs-tab-active {
background: #fff;
border-color: rgba(24, 144, 255, 0.3);
color: #1890ff;
box-shadow: 0 2px 12px rgba(24, 144, 255, 0.1);
box-shadow: 0 4px 16px rgba(24, 144, 255, 0.15);
&::before {
background: linear-gradient(45deg, #1890ff20, #40a9ff20);
}
}
.ant-tabs-close-x {
width: 16px;
height: 16px;
line-height: 16px;
margin-right: -4px;
margin-left: 8px;
opacity: 0.4;
transition: all 0.3s;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
&:hover {
background: linear-gradient(45deg, #1890ff30, #40a9ff30);
opacity: 1;
color: #ff4d4f;
background: rgba(255, 77, 79, 0.1);
transform: rotate(90deg);
}
.tab-title {
font-weight: 600;
}
.close-btn {
opacity: 0.6;
&:hover {
opacity: 1;
}
}
}
}
@ -309,21 +362,23 @@ function getTabKey(target, depth = 0) {
//
:deep(.context-menu) {
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(10px);
border-radius: 8px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08),
0 2px 4px rgba(0, 0, 0, 0.02);
border: 1px solid rgba(240, 240, 240, 0.6);
padding: 4px;
backdrop-filter: blur(20px);
border-radius: 10px;
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
border: 1px solid rgba(240, 240, 240, 0.8);
padding: 6px;
.menu-item {
padding: 8px 16px;
padding: 10px 16px;
margin: 2px;
cursor: pointer;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
border-radius: 6px;
border-radius: 8px;
font-size: 14px;
color: #666;
display: flex;
align-items: center;
gap: 8px;
&:hover {
background: rgba(24, 144, 255, 0.08);
@ -332,7 +387,6 @@ function getTabKey(target, depth = 0) {
}
.anticon {
margin-right: 8px;
font-size: 14px;
transition: transform 0.3s;
}