user.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. "use strict";
  2. const config = require("../../config.js");
  3. const utils_storage = require("../../utils/storage.js");
  4. const utils_constant = require("../../utils/constant.js");
  5. const api_login = require("../../api/login.js");
  6. const utils_auth = require("../../utils/auth.js");
  7. const baseUrl = config.config.baseUrl;
  8. const user = {
  9. state: {
  10. token: utils_auth.getToken(),
  11. name: utils_storage.storage.get(utils_constant.constant.name),
  12. avatar: utils_storage.storage.get(utils_constant.constant.avatar),
  13. roles: utils_storage.storage.get(utils_constant.constant.roles),
  14. permissions: utils_storage.storage.get(utils_constant.constant.permissions)
  15. },
  16. mutations: {
  17. SET_TOKEN: (state, token) => {
  18. state.token = token;
  19. },
  20. SET_NAME: (state, name) => {
  21. state.name = name;
  22. utils_storage.storage.set(utils_constant.constant.name, name);
  23. },
  24. SET_AVATAR: (state, avatar) => {
  25. state.avatar = avatar;
  26. utils_storage.storage.set(utils_constant.constant.avatar, avatar);
  27. },
  28. SET_ROLES: (state, roles) => {
  29. state.roles = roles;
  30. utils_storage.storage.set(utils_constant.constant.roles, roles);
  31. },
  32. SET_PERMISSIONS: (state, permissions) => {
  33. state.permissions = permissions;
  34. utils_storage.storage.set(utils_constant.constant.permissions, permissions);
  35. }
  36. },
  37. actions: {
  38. // 登录
  39. Login({ commit }, userInfo) {
  40. const username = userInfo.username;
  41. const password = userInfo.password;
  42. const code = userInfo.code;
  43. const uuid = userInfo.uuid;
  44. return new Promise((resolve, reject) => {
  45. api_login.login(username, password, code, uuid).then((res) => {
  46. utils_auth.setToken(res.token);
  47. commit("SET_TOKEN", res.token);
  48. resolve(res);
  49. }).catch((error) => {
  50. reject(error);
  51. });
  52. });
  53. },
  54. // 获取用户信息
  55. GetInfo({ commit, state }) {
  56. return new Promise((resolve, reject) => {
  57. api_login.getInfo().then((res) => {
  58. const user2 = res.user;
  59. const avatar = user2 == null || user2.avatar == "" || user2.avatar == null ? "@/static/images/profile.jpg" : baseUrl + user2.avatar;
  60. const username = user2 == null || user2.userName == "" || user2.userName == null ? "" : user2.userName;
  61. if (res.roles && res.roles.length > 0) {
  62. commit("SET_ROLES", res.roles);
  63. commit("SET_PERMISSIONS", res.permissions);
  64. } else {
  65. commit("SET_ROLES", ["ROLE_DEFAULT"]);
  66. }
  67. commit("SET_NAME", username);
  68. commit("SET_AVATAR", avatar);
  69. resolve(res);
  70. }).catch((error) => {
  71. reject(error);
  72. });
  73. });
  74. },
  75. // 退出系统
  76. LogOut({ commit, state }) {
  77. return new Promise((resolve, reject) => {
  78. api_login.logout().then((res) => {
  79. commit("SET_TOKEN", "");
  80. commit("SET_ROLES", []);
  81. commit("SET_PERMISSIONS", []);
  82. utils_auth.removeToken();
  83. utils_storage.storage.clean();
  84. resolve(res);
  85. }).catch((error) => {
  86. reject(error);
  87. });
  88. });
  89. }
  90. }
  91. };
  92. exports.user = user;