1 line
7.3 KiB
JSON
1 line
7.3 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":1742646402766},{"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:CmltcG9ydCBVcGRhdGVQYXNzd29yZCBmcm9tICdAL2NvbXBvbmVudHMvY29tbW9uL1VwZGF0ZVBhc3N3b3JkJzsKaW1wb3J0IEVkaXRTdHVkZW50IGZyb20gJ0AvY29tcG9uZW50cy9lZGl0L0VkaXRTdHVkZW50JzsKaW1wb3J0IEVkaXRUZWFjaGVyIGZyb20gJ0AvY29tcG9uZW50cy9lZGl0L0VkaXRUZWFjaGVyJzsKaW1wb3J0IHsgbWFwU3RhdGUsIG1hcEFjdGlvbnMgfSBmcm9tICd2dWV4JzsKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnTG9naW5TdGF0ZScsCiAgY29tcHV0ZWQ6IHsKICAgIC4uLm1hcFN0YXRlKFsndXNlciddKSwKICB9LAogIG1ldGhvZHM6IHsKICAgIC4uLm1hcEFjdGlvbnMoWydpbml0VXNlciddKSwKICAgIGxvZ291dCgpIHsKICAgICAgdGhpcy4kc3RvcmUuY29tbWl0KCdsb2dvdXQnKTsKICAgICAgdGhpcy4kcm91dGVyLnJlcGxhY2UoJy9sb2dpbicpOwogICAgfSwKICAgIG1vZGlmeVBhc3N3b3JkKCkgewogICAgICBsZXQgdm5vZGU7CiAgICAgIHRoaXMuJGRyYXdlcih7CiAgICAgICAgdGl0bGU6ICfkv67mlLnlr4bnoIEnLAogICAgICAgIGNvbnRlbnQ6IGggPT4gKHZub2RlID0gPFVwZGF0ZVBhc3N3b3JkIC8+KSwKICAgICAgICBvbk9rOiBhc3luYyAoKSA9PiB7CiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBhd2FpdCB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS52YWxpZGF0ZSgpOwogICAgICAgICAgcmV0dXJuIHRoaXMuJGFwaS51cGRhdGVQYXNzd29yZCh7CiAgICAgICAgICAgIGFjY291bnQ6IHRoaXMudXNlci5hY2NvdW50LAogICAgICAgICAgICBpZGVudGl0eTogdGhpcy51c2VyLmlkZW50aXR5LAogICAgICAgICAgICBvbGRWYWw6IHZhbHVlcy5vbGRWYWwsCiAgICAgICAgICAgIG5ld1ZhbDogdmFsdWVzLm5ld1ZhbCwKICAgICAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+S/ruaUueaIkOWKnycpOwogICAgICAgICAgfSkuY2F0Y2goZSA9PiB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZS5tc2cgfHwgJ+S/ruaUueWksei0pScpOwogICAgICAgICAgICB0aHJvdyBlOwogICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgfSk7CiAgICB9LAogICAgbW9kaWZ5U2VsZkluZm8oKSB7CiAgICAgIGxldCB2bm9kZTsKICAgICAgdGhpcy4kZHJhd2VyKHsKICAgICAgICB0aXRsZTogJ+S/ruaUueS4quS6uuS/oeaBrycsCiAgICAgICAgY29udGVudDogaCA9PiAodm5vZGUgPSB0aGlzLiRzdG9yZS5zdGF0ZS51c2VyLnVzZXJQcml2aWxlZ2VzID09IDIKICAgICAgICAgID8gPEVkaXRTdHVkZW50IHR5cGU9InVwZGF0ZSIgZGF0YT17dGhpcy51c2VyfSAvPgogICAgICAgICAgOiA8RWRpdFRlYWNoZXIgdHlwZT0idXBkYXRlIiBkYXRhPXt0aGlzLnVzZXJ9IC8+KSwKICAgICAgICBvbk9rOiBhc3luYyAoKSA9PiB7CiAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBhd2FpdCB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS52YWxpZGF0ZSgpOwoJCQkJCWNvbnN0IGRhdGE9ewoJCQkJCQlwaG9uZTogdmFsdWVzLnBob25lLAoJCQkJCQllbWFpbDogdmFsdWVzLmVtYWlsLAoJCQkJCQlVc2VyUGFzc3dvcmQ6IHZhbHVlcy5wYXNzd29yZCwKCQkJCQkJc1RJZDp2YWx1ZXMuc3RpZCwKCQkJCQl9CiAgICAgICAgICByZXR1cm4gdGhpcy4kYXBpLnVwZGF0ZVVzZXIoCiAgICAgICAgICAgIGRhdGEKICAgICAgICAgICkudGhlbigoKSA9PiB7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5L+u5pS55oiQ5YqfJyk7CiAgICAgICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdpbml0VXNlcicpOwogICAgICAgICAgfSkuY2F0Y2goZSA9PiB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZS5tc2cgfHwgJ+S/ruaUueWksei0pScpOwogICAgICAgICAgICB0aHJvdyBlOwogICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgICAgfSk7CiAgICB9LAogIH0sCn07Cg=="},{"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","file":"LoginState.vue","sourceRoot":"src/components/common","sourcesContent":["<template>\n <a-dropdown>\n <a-spin v-if=\"!user.name\" size=\"small\" />\n <div v-else class=\"header-avatar\">\n <a-icon class=\"avatar\" type=\"user\" />\n <span class=\"name\">{{ user.name }}</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.updatePassword({\n account: this.user.account,\n identity: this.user.identity,\n oldVal: values.oldVal,\n newVal: values.newVal,\n }).then(() => {\n this.$message.success('修改成功');\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 => (vnode = this.$store.state.user.userPrivileges == 2\n ? <EditStudent type=\"update\" data={this.user} />\n : <EditTeacher type=\"update\" data={this.user} />),\n onOk: async () => {\n const values = await vnode.componentInstance.validate();\n\t\t\t\t\tconst data={\n\t\t\t\t\t\tphone: values.phone,\n\t\t\t\t\t\temail: values.email,\n\t\t\t\t\t\tUserPassword: values.password,\n\t\t\t\t\t\tsTId:values.stid,\n\t\t\t\t\t}\n return this.$api.updateUser(\n data\n ).then(() => {\n this.$message.success('修改成功');\n this.$store.dispatch('initUser');\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"]}]} |