1 line
13 KiB
JSON
1 line
13 KiB
JSON
{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/babel-loader/lib/index.js!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/store/index.js","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/store/index.js","mtime":1743947788666},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/babel.config.js","mtime":1742646402652},{"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}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IFZ1ZSBmcm9tICd2dWUnOyAvLyDlvJXlhaUgVnVlLmpzCmltcG9ydCBDb29raWUgZnJvbSAnanMtY29va2llJzsgLy8g5byV5YWlIENvb2tpZSDmk43kvZzlupMKaW1wb3J0IFZ1ZXgsIHsgY3JlYXRlTG9nZ2VyIH0gZnJvbSAndnVleCc7IC8vIOW8leWFpSBWdWV4IOeKtuaAgeeuoeeQhuW6k+WPiuaXpeW/l+aPkuS7tgppbXBvcnQgeyBnZXRVc2VySW5mbyB9IGZyb20gJ0AvYXBpJzsgLy8g5byV5YWl6I635Y+W55So5oi35pWw5o2u55qEIEFQSSDmlrnms5UKY29uc3QgVG9rZW5LZXkgPSAndnVlX2FkbWluX3RlbXBsYXRlX3Rva2VuJzsKVnVlLnVzZShWdWV4KTsgLy8g5L2/55SoIFZ1ZXgKY29uc3QgZGVidWcgPSBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nOyAvLyDliKTmlq3mmK/lkKbkuLrlvIDlj5Hnjq/looMKY29uc3Qgc3RvcmUgPSBuZXcgVnVleC5TdG9yZSh7CiAgc3RyaWN0OiBkZWJ1ZywKICAvLyDlvIDlkK/kuKXmoLzmqKHlvI8KICBwbHVnaW5zOiBkZWJ1ZyA/IFtjcmVhdGVMb2dnZXIoKV0gOiBbXSwKICAvLyDlnKjlvIDlj5Hnjq/looPkuIvlkK/nlKjml6Xlv5fmj5Lku7YKICBzdGF0ZTogewogICAgdXNlcjoge30sCiAgICAvLyDnlKjmiLfkv6Hmga/lr7nosaEKICAgIHRva2VuOiBDb29raWUuZ2V0KFRva2VuS2V5KSwKICAgIGF2YXRhcjogJycKICB9LAogIGdldHRlcnM6IHsKICAgIHBlcm1pc3Npb25zKHN0YXRlKSB7CiAgICAgIHJldHVybiBzdGF0ZS51c2VyLnVzZXJQcml2aWxlZ2VzOyAvLyDojrflj5bnlKjmiLfmnYPpmZAKICAgIH0sCiAgICBnZXRUb2tlbjogc3RhdGUgPT4gc3RhdGUudG9rZW4sCiAgICBhdmF0YXI6IHN0YXRlID0+IHN0YXRlLmF2YXRhcgogIH0sCiAgYWN0aW9uczogewogICAgLy8g5LuO5pys5Zyw5a2Y5YKo5Yqg6L2954q25oCB5bm25Yid5aeL5YyWIFZ1ZXgKICAgIC8vIOS7juacrOWcsOWtmOWCqOWKoOi9veeKtuaAgeW5tuWIneWni+WMliBWdWV4CiAgICBpbml0U3RvcmVGcm9tTG9jYWxTdG9yYWdlKHsKICAgICAgY29tbWl0CiAgICB9KSB7CiAgICAgIGNvbnN0IHN0b3JlZFVzZXJEYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJzJyk7CiAgICAgIGlmIChzdG9yZWRVc2VyRGF0YSkgewogICAgICAgIGNvbnN0IHVzZXJEYXRhID0gSlNPTi5wYXJzZShzdG9yZWRVc2VyRGF0YSk7CiAgICAgICAgY29tbWl0KCdzZXRVc2VyRGF0YScsIHVzZXJEYXRhKTsgLy8g5L2/55SoIG11dGF0aW9uIOWwhuaVsOaNruS/neWtmOWIsCBWdWV4IOS4rQogICAgICB9CiAgICB9LAogICAgLy8g5Yid5aeL5YyW55So5oi35pWw5o2u77yM5bm25Zyo5a6M5oiQ5ZCO6LCD55SoIGluaXRTdG9yZUZyb21Mb2NhbFN0b3JhZ2UKICAgIGluaXRVc2VyKHsKICAgICAgY29tbWl0LAogICAgICBkaXNwYXRjaAogICAgfSkgewogICAgICByZXR1cm4gZ2V0VXNlckluZm8oKS50aGVuKGRhdGEgPT4gewogICAgICAgIGNvbnNvbGUubG9nKGRhdGEuZGF0YSk7CiAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VycycsIEpTT04uc3RyaW5naWZ5KGRhdGEuZGF0YSkpOwogICAgICAgIGNvbW1pdCgnc2V0VXNlckRhdGEnLCBkYXRhLmRhdGEpOyAvLyDmj5DkuqTnlKjmiLfmlbDmja7oh7MgbXV0YXRpb25zCiAgICAgICAgLy8g6LCD55SoIGluaXRTdG9yZUZyb21Mb2NhbFN0b3JhZ2Ug5pa55rOVCiAgICAgICAgZGlzcGF0Y2goJ2luaXRTdG9yZUZyb21Mb2NhbFN0b3JhZ2UnKTsKICAgICAgICByZXR1cm4gZGF0YS5kYXRhOyAvLyDov5Tlm57nlKjmiLfmlbDmja4KICAgICAgfSk7CiAgICB9LAogICAgdXBkYXRlVG9rZW4oewogICAgICBjb21taXQKICAgIH0sIHRva2VuKSB7CiAgICAgIGNvbW1pdCgnc2V0VG9rZW4nLCB0b2tlbik7CiAgICB9CiAgfSwKICBtdXRhdGlvbnM6IHsKICAgIC8vIOeZu+WHuu+8jOenu+mZpOeUqOaIt+agh+ivhuespgogICAgbG9nb3V0KCkgewogICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG9rZW4nKTsKICAgIH0sCiAgICAvLyDorr7nva7nlKjmiLfmlbDmja4KICAgIHNldFVzZXJEYXRhKHN0YXRlLCB1c2VyKSB7CiAgICAgIHN0YXRlLnVzZXIgPSB1c2VyOyAvLyDmm7TmlrDnlKjmiLfkv6Hmga8KICAgICAgLy8g6K6+572u55So5oi35aS05YOPCiAgICAgIHN3aXRjaCAoc3RhdGUudXNlci51c2VyUHJpdmlsZWdlcykgewogICAgICAgIC8vIOeuoeeQhuWRmAogICAgICAgIGNhc2UgMDoKICAgICAgICAgIHN0YXRlLmF2YXRhciA9ICdodHRwczovL2ltZy5wcWJsb2cuY29tL2kvMjAyNC8wNC8yNC8yMzUyMDNfMS5qcGcnOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgLy8g5pWZ5biICiAgICAgICAgY2FzZSAxOgogICAgICAgICAgc3RhdGUuYXZhdGFyID0gJ2h0dHBzOi8vaW1nLnBxYmxvZy5jb20vaS8yMDI0LzA0LzI0LzIzNTIwMy5qcGcnOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgLy8g5a2m55SfCiAgICAgICAgY2FzZSAyOgogICAgICAgICAgc3RhdGUuYXZhdGFyID0gJ2h0dHBzOi8vaW1nLnBxYmxvZy5jb20vaS8yMDI0LzA0LzI0LzIzNTkwOS5qcGcnOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgIHN0YXRlLmF2YXRhciA9ICdodHRwczovL2ltZy5wcWJsb2cuY29tL2kvMjAyNC8wNC8yNC8yMzUyMDNfMS5qcGcnOwogICAgICAgIC8vIERlZmF1bHQgb3IgdW5rbm93biBwcml2aWxlZ2UKICAgICAgfQogICAgfSwKICAgIHNldFRva2VuKHN0YXRlLCB0b2tlbikgewogICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7CiAgICAgIHN0YXRlLnRva2VuID0gdG9rZW47CiAgICB9CiAgfQp9KTsKZXhwb3J0IGRlZmF1bHQgc3RvcmU7IC8vIOWvvOWHuiBWdWV4IFN0b3JlCgovKioKICog5Yik5pat5b2T5YmN55So5oi35piv5ZCm5YW35pyJ5a+55bqU55qE5p2D6ZmQCiAqIEBwYXJhbSB7c3RyaW5nfSBwZXJtaXNzaW9uIOadg+mZkOWtl+espuS4su+8jOexu+S8vOS6jiB1c2VyOnF1ZXJ5CiAqIEByZXR1cm5zIHtib29sZWFufSDov5Tlm57luIPlsJTlgLzvvIzooajnpLrnlKjmiLfmmK/lkKblhbfmnInor6XmnYPpmZAKICovClZ1ZS5wcm90b3R5cGUuJGhhcyA9IGZ1bmN0aW9uIChwZXJtaXNzaW9uKSB7CiAgY29uc3QgdXNlclBlcm1pc3Npb24gPSBzdG9yZS5nZXR0ZXJzLnBlcm1pc3Npb25zOwogIC8vIOagueaNrueUqOaIt+adg+mZkOaVsOWtl+adpeWIpOaWreaYr+WQpuWFt+acieWvueW6lOadg+mZkAogIHN3aXRjaCAodXNlclBlcm1pc3Npb24pIHsKICAgIGNhc2UgMDoKICAgICAgLy8g5aaC5p6c55So5oi35p2D6ZmQ5Li6IDDvvIzooajnpLrmsqHmnInmnYPpmZAKICAgICAgcmV0dXJuIGZhbHNlOwogICAgY2FzZSAxOgogICAgICAvLyDlpoLmnpznlKjmiLfmnYPpmZDkuLogMe+8jOWIpOaWreaYr+WQpuS4uuafpeivouadg+mZkAogICAgICByZXR1cm4gcGVybWlzc2lvbiA9PT0gJ3VzZXI6cXVlcnknOwogICAgY2FzZSAyOgogICAgICAvLyDlpoLmnpznlKjmiLfmnYPpmZDkuLogMu+8jOWIpOaWreaYr+WQpuS4uuS/ruaUueadg+mZkAogICAgICByZXR1cm4gcGVybWlzc2lvbiA9PT0gJ3VzZXI6dXBkYXRlJzsKICAgIGRlZmF1bHQ6CiAgICAgIC8vIOm7mOiupOaDheWGteS4i++8jOWBh+iuvuayoeacieadg+mZkAogICAgICByZXR1cm4gZmFsc2U7CiAgfQp9Ow=="},{"version":3,"names":["Vue","Cookie","Vuex","createLogger","getUserInfo","TokenKey","use","debug","process","env","NODE_ENV","store","Store","strict","plugins","state","user","token","get","avatar","getters","permissions","userPrivileges","getToken","actions","initStoreFromLocalStorage","commit","storedUserData","localStorage","getItem","userData","JSON","parse","initUser","dispatch","then","data","console","log","window","setItem","stringify","updateToken","mutations","logout","removeItem","setUserData","setToken","prototype","$has","permission","userPermission"],"sources":["/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/store/index.js"],"sourcesContent":["import Vue from 'vue'; // 引入 Vue.js\nimport Cookie from 'js-cookie'; // 引入 Cookie 操作库\nimport Vuex, { createLogger } from 'vuex'; // 引入 Vuex 状态管理库及日志插件\nimport { getUserInfo } from '@/api'; // 引入获取用户数据的 API 方法\nconst TokenKey = 'vue_admin_template_token'\nVue.use(Vuex); // 使用 Vuex\nconst debug = process.env.NODE_ENV !== 'production'; // 判断是否为开发环境\nconst store = new Vuex.Store({\n strict: debug, // 开启严格模式\n plugins: debug ? [createLogger()] : [], // 在开发环境下启用日志插件\n state: {\n \t\tuser: {}, // 用户信息对象\n\t\t\t\ttoken: Cookie.get(TokenKey),\n\t\t\t\tavatar:'',\n },\n getters: {\n permissions(state) {\n return state.user.userPrivileges; // 获取用户权限\n },\n\t\t\t\tgetToken: state => state.token,\n\t\t\t\tavatar: state => state.avatar\n },\n actions: {\n\t\t\t // 从本地存储加载状态并初始化 Vuex\n\t\t\t\t// 从本地存储加载状态并初始化 Vuex\n \t\t\tinitStoreFromLocalStorage({ commit }) {\n \t\t\t const storedUserData = localStorage.getItem('users');\n \t\t\tif (storedUserData) {\n \t\t\t const userData = JSON.parse(storedUserData);\n \t\t\tcommit('setUserData', userData); // 使用 mutation 将数据保存到 Vuex 中\n \t\t\t}\n \t\t\t},\n // 初始化用户数据,并在完成后调用 initStoreFromLocalStorage\n \t\t\tinitUser({ commit, dispatch }) {\n \t\t\treturn getUserInfo().then(data => {\n \t\t\t console.log(data.data)\n \t\t\twindow.localStorage.setItem('users', JSON.stringify(data.data))\n \t\t\tcommit('setUserData', data.data); // 提交用户数据至 mutations\n \t\t\t// 调用 initStoreFromLocalStorage 方法\n \t\t\tdispatch('initStoreFromLocalStorage');\n \t\t\treturn data.data; // 返回用户数据\n \t\t\t});\n \t\t},\n\t\t\t\tupdateToken({ commit }, token) {\n\t\t\t\t\tcommit('setToken', token);\n\t\t\t\t}\n },\n mutations: {\n // 登出,移除用户标识符\n logout() {\n\t\t\t\t\tlocalStorage.removeItem('token');\n },\n // 设置用户数据\n setUserData(state, user) {\n state.user = user; // 更新用户信息\n\t\t\t\t\t\t// 设置用户头像\n\t\t\t\t\t\tswitch (state.user.userPrivileges) {\n\t\t\t\t\t\t\t// 管理员\n\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\tstate.avatar = 'https://img.pqblog.com/i/2024/04/24/235203_1.jpg';\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t// 教师\n\t\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t\t\tstate.avatar = 'https://img.pqblog.com/i/2024/04/24/235203.jpg';\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t// 学生\n\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\t\tstate.avatar = 'https://img.pqblog.com/i/2024/04/24/235909.jpg';\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\tstate.avatar = 'https://img.pqblog.com/i/2024/04/24/235203_1.jpg'; // Default or unknown privilege\n\t\t\t\t\t}\n },\n\t\t\t\tsetToken(state, token) {\n\t\t\t\t\tlocalStorage.setItem('token', token);\n\t\t\t\t\tstate.token = token;\n\t\t\t\t}\n },\n});\n\nexport default store; // 导出 Vuex Store\n\n/**\n * 判断当前用户是否具有对应的权限\n * @param {string} permission 权限字符串,类似于 user:query\n * @returns {boolean} 返回布尔值,表示用户是否具有该权限\n */\nVue.prototype.$has = function(permission) {\n\tconst userPermission = store.getters.permissions;\n\t// 根据用户权限数字来判断是否具有对应权限\n\tswitch (userPermission) {\n\t\t\tcase 0:\n\t\t\t\t\t// 如果用户权限为 0,表示没有权限\n\t\t\t\t\treturn false;\n\t\t\tcase 1:\n\t\t\t\t\t// 如果用户权限为 1,判断是否为查询权限\n\t\t\t\t\treturn permission === 'user:query';\n\t\t\tcase 2:\n\t\t\t\t\t// 如果用户权限为 2,判断是否为修改权限\n\t\t\t\t\treturn permission === 'user:update';\n\t\t\tdefault:\n\t\t\t\t\t// 默认情况下,假设没有权限\n\t\t\t\t\treturn false;\n\t}\n};"],"mappings":"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","ignoreList":[]}]} |