1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\eslint-loader\\index.js??ref--13-0!E:\\boman-framwork\\ruoyi-ui\\src\\store\\modules\\user.js","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\store\\modules\\user.js","mtime":1619333322785},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy50cmltLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwoKdmFyIF9sb2dpbiA9IHJlcXVpcmUoIkAvYXBpL2xvZ2luIik7Cgp2YXIgX2F1dGggPSByZXF1aXJlKCJAL3V0aWxzL2F1dGgiKTsKCnZhciB1c2VyID0gewogIHN0YXRlOiB7CiAgICB0b2tlbjogKDAsIF9hdXRoLmdldFRva2VuKSgpLAogICAgbmFtZTogJycsCiAgICBhdmF0YXI6ICcnLAogICAgcm9sZXM6IFtdLAogICAgcGVybWlzc2lvbnM6IFtdCiAgfSwKICBtdXRhdGlvbnM6IHsKICAgIFNFVF9UT0tFTjogZnVuY3Rpb24gU0VUX1RPS0VOKHN0YXRlLCB0b2tlbikgewogICAgICBzdGF0ZS50b2tlbiA9IHRva2VuOwogICAgfSwKICAgIFNFVF9FWFBJUkVTX0lOOiBmdW5jdGlvbiBTRVRfRVhQSVJFU19JTihzdGF0ZSwgdGltZSkgewogICAgICBzdGF0ZS5leHBpcmVzX2luID0gdGltZTsKICAgIH0sCiAgICBTRVRfTkFNRTogZnVuY3Rpb24gU0VUX05BTUUoc3RhdGUsIG5hbWUpIHsKICAgICAgc3RhdGUubmFtZSA9IG5hbWU7CiAgICB9LAogICAgU0VUX0FWQVRBUjogZnVuY3Rpb24gU0VUX0FWQVRBUihzdGF0ZSwgYXZhdGFyKSB7CiAgICAgIHN0YXRlLmF2YXRhciA9IGF2YXRhcjsKICAgIH0sCiAgICBTRVRfUk9MRVM6IGZ1bmN0aW9uIFNFVF9ST0xFUyhzdGF0ZSwgcm9sZXMpIHsKICAgICAgc3RhdGUucm9sZXMgPSByb2xlczsKICAgIH0sCiAgICBTRVRfUEVSTUlTU0lPTlM6IGZ1bmN0aW9uIFNFVF9QRVJNSVNTSU9OUyhzdGF0ZSwgcGVybWlzc2lvbnMpIHsKICAgICAgc3RhdGUucGVybWlzc2lvbnMgPSBwZXJtaXNzaW9uczsKICAgIH0KICB9LAogIGFjdGlvbnM6IHsKICAgIC8vIOeZu+W9lQogICAgTG9naW46IGZ1bmN0aW9uIExvZ2luKF9yZWYsIHVzZXJJbmZvKSB7CiAgICAgIHZhciBjb21taXQgPSBfcmVmLmNvbW1pdDsKICAgICAgdmFyIHVzZXJuYW1lID0gdXNlckluZm8udXNlcm5hbWUudHJpbSgpOwogICAgICB2YXIgcGFzc3dvcmQgPSB1c2VySW5mby5wYXNzd29yZDsKICAgICAgdmFyIGNvZGUgPSB1c2VySW5mby5jb2RlOwogICAgICB2YXIgdXVpZCA9IHVzZXJJbmZvLnV1aWQ7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgKDAsIF9sb2dpbi5sb2dpbikodXNlcm5hbWUsIHBhc3N3b3JkLCBjb2RlLCB1dWlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIHZhciBkYXRhID0gcmVzLmRhdGE7CiAgICAgICAgICAoMCwgX2F1dGguc2V0VG9rZW4pKGRhdGEuYWNjZXNzX3Rva2VuKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX1RPS0VOJywgZGF0YS5hY2Nlc3NfdG9rZW4pOwogICAgICAgICAgKDAsIF9hdXRoLnNldEV4cGlyZXNJbikoZGF0YS5leHBpcmVzX2luKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX0VYUElSRVNfSU4nLCBkYXRhLmV4cGlyZXNfaW4pOwogICAgICAgICAgcmVzb2x2ZSgpOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgICAgcmVqZWN0KGVycm9yKTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6I635Y+W55So5oi35L+h5oGvCiAgICBHZXRJbmZvOiBmdW5jdGlvbiBHZXRJbmZvKF9yZWYyKSB7CiAgICAgIHZhciBjb21taXQgPSBfcmVmMi5jb21taXQsCiAgICAgICAgICBzdGF0ZSA9IF9yZWYyLnN0YXRlOwogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICgwLCBfbG9naW4uZ2V0SW5mbykoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIHZhciB1c2VyID0gcmVzLnVzZXI7CiAgICAgICAgICB2YXIgYXZhdGFyID0gdXNlci5hdmF0YXIgPT0gIiIgPyByZXF1aXJlKCJAL2Fzc2V0cy9pbWFnZXMvcHJvZmlsZS5qcGciKSA6IHVzZXIuYXZhdGFyOwoKICAgICAgICAgIGlmIChyZXMucm9sZXMgJiYgcmVzLnJvbGVzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgLy8g6aqM6K+B6L+U5Zue55qEcm9sZXPmmK/lkKbmmK/kuIDkuKrpnZ7nqbrmlbDnu4QKICAgICAgICAgICAgY29tbWl0KCdTRVRfUk9MRVMnLCByZXMucm9sZXMpOwogICAgICAgICAgICBjb21taXQoJ1NFVF9QRVJNSVNTSU9OUycsIHJlcy5wZXJtaXNzaW9ucyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb21taXQoJ1NFVF9ST0xFUycsIFsnUk9MRV9ERUZBVUxUJ10pOwogICAgICAgICAgfQoKICAgICAgICAgIGNvbW1pdCgnU0VUX05BTUUnLCB1c2VyLnVzZXJOYW1lKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX0FWQVRBUicsIGF2YXRhcik7CiAgICAgICAgICByZXNvbHZlKHJlcyk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICByZWplY3QoZXJyb3IpOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDliLfmlrB0b2tlbgogICAgUmVmcmVzaFRva2VuOiBmdW5jdGlvbiBSZWZyZXNoVG9rZW4oX3JlZjMpIHsKICAgICAgdmFyIGNvbW1pdCA9IF9yZWYzLmNvbW1pdCwKICAgICAgICAgIHN0YXRlID0gX3JlZjMuc3RhdGU7CiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7CiAgICAgICAgKDAsIF9sb2dpbi5yZWZyZXNoVG9rZW4pKHN0YXRlLnRva2VuKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICgwLCBfYXV0aC5zZXRFeHBpcmVzSW4pKHJlcy5kYXRhKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX0VYUElSRVNfSU4nLCByZXMuZGF0YSk7CiAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICByZWplY3QoZXJyb3IpOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDpgIDlh7rns7vnu58KICAgIExvZ091dDogZnVuY3Rpb24gTG9nT3V0KF9yZWY0KSB7CiAgICAgIHZhciBjb21taXQgPSBfcmVmNC5jb21taXQsCiAgICAgICAgICBzdGF0ZSA9IF9yZWY0LnN0YXRlOwogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewogICAgICAgICgwLCBfbG9naW4ubG9nb3V0KShzdGF0ZS50b2tlbikudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICBjb21taXQoJ1NFVF9UT0tFTicsICcnKTsKICAgICAgICAgIGNvbW1pdCgnU0VUX1JPTEVTJywgW10pOwogICAgICAgICAgY29tbWl0KCdTRVRfUEVSTUlTU0lPTlMnLCBbXSk7CiAgICAgICAgICAoMCwgX2F1dGgucmVtb3ZlVG9rZW4pKCk7CiAgICAgICAgICByZXNvbHZlKCk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICByZWplY3QoZXJyb3IpOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDliY3nq68g55m75Ye6CiAgICBGZWRMb2dPdXQ6IGZ1bmN0aW9uIEZlZExvZ091dChfcmVmNSkgewogICAgICB2YXIgY29tbWl0ID0gX3JlZjUuY29tbWl0OwogICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsKICAgICAgICBjb21taXQoJ1NFVF9UT0tFTicsICcnKTsKICAgICAgICAoMCwgX2F1dGgucmVtb3ZlVG9rZW4pKCk7CiAgICAgICAgcmVzb2x2ZSgpOwogICAgICB9KTsKICAgIH0KICB9Cn07CnZhciBfZGVmYXVsdCA9IHVzZXI7CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"sources":["E:/boman-framwork/ruoyi-ui/src/store/modules/user.js"],"names":["user","state","token","name","avatar","roles","permissions","mutations","SET_TOKEN","SET_EXPIRES_IN","time","expires_in","SET_NAME","SET_AVATAR","SET_ROLES","SET_PERMISSIONS","actions","Login","userInfo","commit","username","trim","password","code","uuid","Promise","resolve","reject","then","res","data","access_token","catch","error","GetInfo","require","length","userName","RefreshToken","LogOut","FedLogOut"],"mappings":"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","sourcesContent":["import { login, logout, getInfo, refreshToken } from '@/api/login'\r\nimport { getToken, setToken, setExpiresIn, removeToken } from '@/utils/auth'\r\n\r\nconst user = {\r\n state: {\r\n token: getToken(),\r\n name: '',\r\n avatar: '',\r\n roles: [],\r\n permissions: [],\r\n },\r\n\r\n mutations: {\r\n SET_TOKEN: (state, token) => {\r\n state.token = token\r\n },\r\n SET_EXPIRES_IN: (state, time) => {\r\n state.expires_in = time\r\n },\r\n SET_NAME: (state, name) => {\r\n state.name = name\r\n },\r\n SET_AVATAR: (state, avatar) => {\r\n state.avatar = avatar\r\n },\r\n SET_ROLES: (state, roles) => {\r\n state.roles = roles\r\n },\r\n SET_PERMISSIONS: (state, permissions) => {\r\n state.permissions = permissions\r\n }\r\n },\r\n\r\n actions: {\r\n // 登录\r\n Login({ commit }, userInfo) {\r\n const username = userInfo.username.trim()\r\n const password = userInfo.password\r\n const code = userInfo.code\r\n const uuid = userInfo.uuid\r\n return new Promise((resolve, reject) => {\r\n login(username, password, code, uuid).then(res => {\r\n let data = res.data\r\n setToken(data.access_token)\r\n commit('SET_TOKEN', data.access_token)\r\n setExpiresIn(data.expires_in)\r\n commit('SET_EXPIRES_IN', data.expires_in)\r\n resolve()\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n // 获取用户信息\r\n GetInfo({ commit, state }) {\r\n return new Promise((resolve, reject) => {\r\n getInfo().then(res => {\r\n const user = res.user\r\n const avatar = user.avatar == \"\" ? require(\"@/assets/images/profile.jpg\") : user.avatar;\r\n if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组\r\n commit('SET_ROLES', res.roles)\r\n commit('SET_PERMISSIONS', res.permissions)\r\n } else {\r\n commit('SET_ROLES', ['ROLE_DEFAULT'])\r\n }\r\n commit('SET_NAME', user.userName)\r\n commit('SET_AVATAR', avatar)\r\n resolve(res)\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n // 刷新token\r\n RefreshToken({commit, state}) {\r\n return new Promise((resolve, reject) => {\r\n refreshToken(state.token).then(res => {\r\n setExpiresIn(res.data)\r\n commit('SET_EXPIRES_IN', res.data)\r\n resolve()\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n // 退出系统\r\n LogOut({ commit, state }) {\r\n return new Promise((resolve, reject) => {\r\n logout(state.token).then(() => {\r\n commit('SET_TOKEN', '')\r\n commit('SET_ROLES', [])\r\n commit('SET_PERMISSIONS', [])\r\n removeToken()\r\n resolve()\r\n }).catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n\r\n // 前端 登出\r\n FedLogOut({ commit }) {\r\n return new Promise(resolve => {\r\n commit('SET_TOKEN', '')\r\n removeToken()\r\n resolve()\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport default user\r\n"]}]}
|