CodeMaster/node_modules/.cache/vue-loader/15e1b1b0378c02e82383b0cdc9ae4e03.json
2025-04-06 21:59:05 +08:00

1 line
7.8 KiB
JSON

{"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=script&lang=js","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/babel-loader/lib/index.js","mtime":1743264596348},{"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:CmltcG9ydCBVcGRhdGVQYXNzd29yZCBmcm9tICJAL2NvbXBvbmVudHMvY29tbW9uL1VwZGF0ZVBhc3N3b3JkIjsKaW1wb3J0IEVkaXRTdHVkZW50IGZyb20gIkAvY29tcG9uZW50cy9lZGl0L0VkaXRTdHVkZW50IjsKaW1wb3J0IEVkaXRUZWFjaGVyIGZyb20gIkAvY29tcG9uZW50cy9lZGl0L0VkaXRUZWFjaGVyIjsKaW1wb3J0IHsgbWFwU3RhdGUsIG1hcEFjdGlvbnMgfSBmcm9tICJ2dWV4IjsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiTG9naW5TdGF0ZSIsCiAgY29tcHV0ZWQ6IHsKICAgIC4uLm1hcFN0YXRlKFsidXNlciJdKSwKICB9LAogIG1ldGhvZHM6IHsKICAgIC4uLm1hcEFjdGlvbnMoWyJpbml0VXNlciJdKSwKICAgIGxvZ291dCgpIHsKICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCJsb2dvdXQiKTsKICAgICAgdGhpcy4kcm91dGVyLnJlcGxhY2UoIi9sb2dpbiIpOwogICAgfSwKICAgIG1vZGlmeVBhc3N3b3JkKCkgewogICAgICBsZXQgdm5vZGU7CiAgICAgIHRoaXMuJGRyYXdlcih7CiAgICAgICAgdGl0bGU6ICLkv67mlLnlr4bnoIEiLAogICAgICAgIGNvbnRlbnQ6IChoKSA9PiAodm5vZGUgPSA8VXBkYXRlUGFzc3dvcmQgLz4pLAogICAgICAgIG9uT2s6IGFzeW5jICgpID0+IHsKICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IGF3YWl0IHZub2RlLmNvbXBvbmVudEluc3RhbmNlLnZhbGlkYXRlKCk7CiAgICAgICAgICByZXR1cm4gdGhpcy4kYXBpCiAgICAgICAgICAgIC51cGRhdGVQYXNzd29yZCh7CiAgICAgICAgICAgICAgYWNjb3VudDogdGhpcy51c2VyLmFjY291bnQsCiAgICAgICAgICAgICAgaWRlbnRpdHk6IHRoaXMudXNlci5pZGVudGl0eSwKICAgICAgICAgICAgICBvbGRWYWw6IHZhbHVlcy5vbGRWYWwsCiAgICAgICAgICAgICAgbmV3VmFsOiB2YWx1ZXMubmV3VmFsLAogICAgICAgICAgICB9KQogICAgICAgICAgICAudGhlbigoKSA9PiB7CiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLkv67mlLnmiJDlip8iKTsKICAgICAgICAgICAgfSkKICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7CiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTsKICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGUubXNnIHx8ICLkv67mlLnlpLHotKUiKTsKICAgICAgICAgICAgICB0aHJvdyBlOwogICAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICB9KTsKICAgIH0sCiAgICBtb2RpZnlTZWxmSW5mbygpIHsKICAgICAgbGV0IHZub2RlOwogICAgICB0aGlzLiRkcmF3ZXIoewogICAgICAgIHRpdGxlOiAi5L+u5pS55Liq5Lq65L+h5oGvIiwKICAgICAgICBjb250ZW50OiAoaCkgPT4KICAgICAgICAgICh2bm9kZSA9CiAgICAgICAgICAgIHRoaXMuJHN0b3JlLnN0YXRlLnVzZXIudXNlclByaXZpbGVnZXMgPT0gMiA/ICgKICAgICAgICAgICAgICA8RWRpdFN0dWRlbnQgdHlwZT0idXBkYXRlIiBkYXRhPXt0aGlzLnVzZXJ9IC8+CiAgICAgICAgICAgICkgOiAoCiAgICAgICAgICAgICAgPEVkaXRUZWFjaGVyIHR5cGU9InVwZGF0ZSIgZGF0YT17dGhpcy51c2VyfSAvPgogICAgICAgICAgICApKSwKICAgICAgICBvbk9rOiBhc3luYyAoKSA9PiB7CiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBhd2FpdCB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS52YWxpZGF0ZSgpOwogICAgICAgICAgY29uc3QgZGF0YSA9IHsKICAgICAgICAgICAgcGhvbmU6IHZhbHVlcy5waG9uZSwKICAgICAgICAgICAgZW1haWw6IHZhbHVlcy5lbWFpbCwKICAgICAgICAgICAgVXNlclBhc3N3b3JkOiB2YWx1ZXMucGFzc3dvcmQsCiAgICAgICAgICAgIHNUSWQ6IHZhbHVlcy5zdGlkLAogICAgICAgICAgfTsKICAgICAgICAgIHJldHVybiB0aGlzLiRhcGkKICAgICAgICAgICAgLnVwZGF0ZVVzZXIoZGF0YSkKICAgICAgICAgICAgLnRoZW4oKCkgPT4gewogICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CiAgICAgICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goImluaXRVc2VyIik7CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4gewogICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7CiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihlLm1zZyB8fCAi5L+u5pS55aSx6LSlIik7CiAgICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgfSk7CiAgICB9LAogIH0sCn07Cg=="},{"version":3,"sources":["LoginState.vue"],"names":[],"mappings":";AA8BA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"LoginState.vue","sourceRoot":"src/components/common","sourcesContent":["<template>\n <a-dropdown>\n <a-spin v-if=\"!user\" size=\"small\" />\n <div v-else class=\"header-avatar\">\n <a-icon class=\"avatar\" type=\"user\" />\n <span class=\"name\">{{ user.userName }}</span>\n </div>\n <a-menu slot=\"overlay\">\n <!-- <a-menu-item disabled>\n <a-icon type=\"smile\" />\n {{ user.role && user.role.label }}\n </a-menu-item> -->\n <a-menu-item @click=\"modifySelfInfo\">\n <a-icon type=\"user\" />\n <span>个人信息</span>\n </a-menu-item>\n <a-menu-item @click=\"modifyPassword\">\n <a-icon type=\"lock\" />\n <span>修改密码</span>\n </a-menu-item>\n <a-menu-divider />\n <a-menu-item @click=\"logout\">\n <a-icon type=\"poweroff\" />\n <span>退出登录</span>\n </a-menu-item>\n </a-menu>\n </a-dropdown>\n</template>\n\n<script>\nimport UpdatePassword from \"@/components/common/UpdatePassword\";\nimport EditStudent from \"@/components/edit/EditStudent\";\nimport EditTeacher from \"@/components/edit/EditTeacher\";\nimport { mapState, mapActions } from \"vuex\";\n\nexport default {\n name: \"LoginState\",\n computed: {\n ...mapState([\"user\"]),\n },\n methods: {\n ...mapActions([\"initUser\"]),\n logout() {\n this.$store.commit(\"logout\");\n this.$router.replace(\"/login\");\n },\n modifyPassword() {\n let vnode;\n this.$drawer({\n title: \"修改密码\",\n content: (h) => (vnode = <UpdatePassword />),\n onOk: async () => {\n const values = await vnode.componentInstance.validate();\n return this.$api\n .updatePassword({\n account: this.user.account,\n identity: this.user.identity,\n oldVal: values.oldVal,\n newVal: values.newVal,\n })\n .then(() => {\n this.$message.success(\"修改成功\");\n })\n .catch((e) => {\n console.error(e);\n this.$message.error(e.msg || \"修改失败\");\n throw e;\n });\n },\n });\n },\n modifySelfInfo() {\n let vnode;\n this.$drawer({\n title: \"修改个人信息\",\n content: (h) =>\n (vnode =\n this.$store.state.user.userPrivileges == 2 ? (\n <EditStudent type=\"update\" data={this.user} />\n ) : (\n <EditTeacher type=\"update\" data={this.user} />\n )),\n onOk: async () => {\n const values = await vnode.componentInstance.validate();\n const data = {\n phone: values.phone,\n email: values.email,\n UserPassword: values.password,\n sTId: values.stid,\n };\n return this.$api\n .updateUser(data)\n .then(() => {\n this.$message.success(\"修改成功\");\n this.$store.dispatch(\"initUser\");\n })\n .catch((e) => {\n console.error(e);\n this.$message.error(e.msg || \"修改失败\");\n throw e;\n });\n },\n });\n },\n },\n};\n</script>\n\n<style scoped lang=\"stylus\">\n.header-avatar\n display inline-flex\n align-items center\n cursor pointer\n padding 0 10px\n .avatar\n position relative\n top -1px\n margin-right 8px\n .name\n font-weight 500\n</style>\n"]}]}