user.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. "use strict";
  2. var common_vendor = require("../../common/vendor.js");
  3. var store_mutationTypes = require("../mutation-types.js");
  4. var utils_storage = require("../../utils/storage.js");
  5. require("../../api/login.js");
  6. var core_app = require("../../core/app.js");
  7. const loginSuccess = (commit, {
  8. token,
  9. id,
  10. userInfo
  11. }) => {
  12. const expiryTime = 30 * 86400 * 3;
  13. utils_storage.storage.set(store_mutationTypes.USER_ID, id, expiryTime);
  14. utils_storage.storage.set(store_mutationTypes.ACCESS_TOKEN, token, expiryTime);
  15. commit("SET_TOKEN", token);
  16. commit("SET_USER_ID", id);
  17. commit("SET_USER_INFO", userInfo);
  18. };
  19. const user = {
  20. state: {
  21. token: common_vendor.index.getStorageSync(store_mutationTypes.ACCESS_TOKEN),
  22. userId: common_vendor.index.getStorageSync(store_mutationTypes.USER_ID),
  23. userInfo: common_vendor.index.getStorageSync(store_mutationTypes.USER_INFO),
  24. parent_id: null
  25. },
  26. mutations: {
  27. SET_TOKEN: (state, value) => {
  28. state.token = value;
  29. },
  30. SET_USER_ID: (state, value) => {
  31. state.userId = value;
  32. },
  33. SET_USER_INFO: (state, value) => {
  34. state.userInfo = value;
  35. },
  36. M_PARENT_ID: (state, value) => {
  37. state.parent_id = value;
  38. }
  39. },
  40. actions: {
  41. async LoginWX({
  42. commit
  43. }, data) {
  44. const result = await userLoginWX(data);
  45. if (result) {
  46. if (result.data.token) {
  47. loginSuccess(commit, {
  48. token: result.data.token,
  49. id: result.data.id,
  50. userInfo: {}
  51. });
  52. return Promise.resolve(result);
  53. } else {
  54. return Promise.resolve(result);
  55. }
  56. }
  57. },
  58. async LoginApp({
  59. commit
  60. }, data) {
  61. const result = await userLloginApp(data);
  62. if (result) {
  63. loginSuccess(commit, {
  64. token: result.data.token,
  65. id: result.data.id
  66. });
  67. return Promise.resolve(result);
  68. } else {
  69. return Promise.resolve(result);
  70. }
  71. },
  72. async LoginH5({
  73. commit
  74. }, data) {
  75. const result = await userLoginH5(data);
  76. if (result) {
  77. if (result.data.token) {
  78. loginSuccess(commit, {
  79. token: result.data.token,
  80. id: result.data.id
  81. });
  82. return Promise.resolve(result);
  83. } else {
  84. return Promise.resolve(result);
  85. }
  86. }
  87. },
  88. async Logout({
  89. commit
  90. }, data) {
  91. const store = this;
  92. if (store.getters.userId > 0) {
  93. utils_storage.storage.remove(store_mutationTypes.USER_ID);
  94. utils_storage.storage.remove(store_mutationTypes.ACCESS_TOKEN);
  95. utils_storage.storage.remove(store_mutationTypes.USER_INFO);
  96. commit("SET_TOKEN", "");
  97. commit("SET_USER_ID", null);
  98. commit("SET_USER_INFO", null);
  99. core_app.navTo("pages/home/index", {});
  100. return Promise.resolve({
  101. result: true
  102. });
  103. }
  104. }
  105. }
  106. };
  107. exports.user = user;