{"remainingRequest":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js!/Users/admin/projects/dms/src/dealer_admin/node_modules/eslint-loader/index.js??ref--13-0!/Users/admin/projects/dms/src/dealer_admin/src/store/modules/user.js","dependencies":[{"path":"/Users/admin/projects/dms/src/dealer_admin/src/store/modules/user.js","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/babel.config.js","mtime":1713161556000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/Users/admin/projects/dms/src/dealer_admin/node_modules/eslint-loader/index.js","mtime":499162500000}],"contextDependencies":[],"result":["\"use strict\";\n\nvar _interopRequireWildcard = require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\nvar _interopRequireDefault = require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\nvar _regeneratorRuntime2 = _interopRequireDefault(require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime-corejs2/helpers/regeneratorRuntime.js\"));\nrequire(\"regenerator-runtime/runtime\");\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"/Users/admin/projects/dms/src/dealer_admin/node_modules/@babel/runtime-corejs2/helpers/asyncToGenerator.js\"));\nrequire(\"core-js/modules/es6.function.name\");\nvar _admin = require(\"@/api/admin\");\nvar _auth = require(\"@/utils/auth\");\nvar _router = _interopRequireWildcard(require(\"@/router\"));\nvar _jsCookie = _interopRequireDefault(require(\"js-cookie\"));\nvar state = {\n  token: (0, _auth.getToken)(),\n  name: '',\n  avatar: '',\n  introduction: '',\n  roles: [],\n  menuList: [],\n  username: '',\n  is_super: 1\n};\nvar mutations = {\n  SET_TOKEN: function SET_TOKEN(state, token) {\n    state.token = token;\n  },\n  SET_MENU_LIST: function SET_MENU_LIST(state, menuList) {\n    state.menuList = menuList;\n  },\n  SET_INTRODUCTION: function SET_INTRODUCTION(state, introduction) {\n    state.introduction = introduction;\n  },\n  SET_NAME: function SET_NAME(state, name) {\n    state.name = name;\n  },\n  SET_AVATAR: function SET_AVATAR(state, avatar) {\n    state.avatar = avatar;\n  },\n  SET_ROLES: function SET_ROLES(state, roles) {\n    state.roles = roles;\n  },\n  SET_USERNAME: function SET_USERNAME(state, username) {\n    state.username = username;\n  },\n  SET_SUPER: function SET_SUPER(state, is_super) {\n    state.is_super = is_super;\n  }\n};\nvar actions = {\n  // user login\n  login: function login(_ref, userInfo) {\n    var commit = _ref.commit;\n    var username = userInfo.username,\n      password = userInfo.password,\n      captcha_token = userInfo.captcha_token,\n      code = userInfo.code;\n    return new Promise(function (resolve, reject) {\n      (0, _admin.login)({\n        username: username.trim(),\n        password: password,\n        captcha_token: captcha_token,\n        code: code\n      }).then(function (response) {\n        var data = response.result;\n        _jsCookie.default.set(\"USERNAME\", username);\n        commit('SET_TOKEN', data.token);\n        commit(\"SET_MENU_LIST\", data.menuList);\n        _jsCookie.default.set(\"MENU_LIST\", data.menuList);\n        (0, _auth.setToken)(data.token);\n        resolve();\n      }).catch(function (error) {\n        reject(error);\n      });\n    });\n  },\n  // get user info\n  getInfo: function getInfo(_ref2) {\n    var commit = _ref2.commit,\n      state = _ref2.state;\n    return new Promise(function (resolve, reject) {\n      (0, _admin.getInfo)(state.token).then(function (response) {\n        var data = response.result;\n        if (!data) {\n          reject('Verification failed, please Login again.');\n        }\n        var _data$role = data.role,\n          permission_codes = _data$role.permission_codes,\n          name = _data$role.name;\n\n        // roles must be a non-empty array\n        if (!permission_codes || permission_codes.length <= 0) {\n          reject('getInfo: roles must be a non-null array!');\n        }\n        commit('SET_SUPER', data.is_super);\n        commit('SET_ROLES', permission_codes);\n        commit('SET_NAME', name);\n        _jsCookie.default.set(\"NAME\", data.name);\n        commit('SET_AVATAR', data.avatar);\n        // commit('SET_INTRODUCTION', introduction)\n        resolve(data);\n      }).catch(function (error) {\n        reject(error);\n      });\n    });\n  },\n  // user logout\n  logout: function logout(_ref3) {\n    var commit = _ref3.commit,\n      state = _ref3.state;\n    return new Promise(function (resolve, reject) {\n      (0, _admin.logout)(state.token).then(function () {\n        commit('SET_TOKEN', '');\n        commit('SET_ROLES', []);\n        commit('SET_MENU_LIST', []);\n        commit('SET_USERNAME', '');\n        (0, _auth.removeToken)();\n        (0, _router.resetRouter)();\n        resolve();\n      }).catch(function (error) {\n        reject(error);\n      });\n    });\n  },\n  // remove token\n  resetToken: function resetToken(_ref4) {\n    var commit = _ref4.commit;\n    return new Promise(function (resolve) {\n      commit('SET_TOKEN', '');\n      commit('SET_ROLES', []);\n      commit('SET_MENU_LIST', []);\n      commit('SET_USERNAME', '');\n      (0, _auth.removeToken)();\n      resolve();\n    });\n  },\n  // dynamically modify permissions\n  changeRoles: function changeRoles(_ref5, role) {\n    var commit = _ref5.commit,\n      dispatch = _ref5.dispatch;\n    return new Promise(/*#__PURE__*/function () {\n      var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(resolve) {\n        var token, _yield$dispatch, roles, accessRoutes;\n        return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {\n          while (1) switch (_context.prev = _context.next) {\n            case 0:\n              token = role + '-token';\n              commit('SET_TOKEN', token);\n              (0, _auth.setToken)(token);\n              _context.next = 5;\n              return dispatch('getInfo');\n            case 5:\n              _yield$dispatch = _context.sent;\n              roles = _yield$dispatch.roles;\n              (0, _router.resetRouter)();\n\n              // generate accessible routes map based on roles\n              _context.next = 10;\n              return dispatch('permission/generateRoutes', roles, {\n                root: true\n              });\n            case 10:\n              accessRoutes = _context.sent;\n              // dynamically add accessible routes\n              _router.default.addRoutes(accessRoutes);\n\n              // reset visited views and cached views\n              dispatch('tagsView/delAllViews', null, {\n                root: true\n              });\n              resolve();\n            case 14:\n            case \"end\":\n              return _context.stop();\n          }\n        }, _callee);\n      }));\n      return function (_x) {\n        return _ref6.apply(this, arguments);\n      };\n    }());\n  }\n};\nvar _default = exports.default = {\n  namespaced: true,\n  state: state,\n  mutations: mutations,\n  actions: actions\n};",null]}