user.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import userApi from '@/api/modules/user.js'
  2. const user = {
  3. state: {
  4. tokenObj: {
  5. token: '',
  6. date: 0
  7. },
  8. jpcjUserInfo: {
  9. },
  10. userInfo: '',
  11. name: '',
  12. avatar: '',
  13. roles: [],
  14. permissions: [],
  15. lightConfig: {
  16. interval: 5,
  17. directives: 5,
  18. isTipSound: false,
  19. type: 0,
  20. typelist: [{
  21. name: "随机抽取多条指令"
  22. }, {
  23. name: "随机抽取一个组合"
  24. }]
  25. }
  26. },
  27. mutations: {
  28. SET_TOKENOBJ: (state, tokenObj) => {
  29. state.tokenObj = tokenObj
  30. },
  31. //jpcjUserInfo
  32. SET_JPCJUSERINFO(state, jpcjUserInfo) {
  33. state.jpcjUserInfo = jpcjUserInfo
  34. },
  35. REFRESH_TOKEN(state) {
  36. if (state.tokenObj.token !== '')
  37. state.tokenObj.date = new Date().getTime()
  38. },
  39. SET_USERINFO: (state, userInfo) => {
  40. state.userInfo = userInfo
  41. },
  42. SET_NAME: (state, name) => {
  43. state.name = name
  44. },
  45. SET_AVATAR: (state, avatar) => {
  46. state.avatar = avatar
  47. },
  48. SET_ROLES: (state, roles) => {
  49. state.roles = roles
  50. },
  51. SET_PERMISSIONS: (state, permissions) => {
  52. state.permissions = permissions
  53. },
  54. SET_LIGHTCONFIG: (state, lightConfig) => {
  55. state.lightConfig = lightConfig
  56. }
  57. },
  58. actions: {
  59. /**
  60. * 用户登录储存token
  61. * @param {Object} store
  62. */
  63. async Login(store) {
  64. wx.showLoading({
  65. title: '登陆中...',
  66. })
  67. let res = await userApi.login()
  68. if (res.data) {
  69. store.commit('SET_TOKENOBJ', {
  70. token: res.data.token,
  71. date: new Date().getTime()
  72. })
  73. }
  74. // store.commit('SET_JPCJUSERINFO',res.data.jpcjUserInfo)
  75. wx.hideLoading()
  76. return res
  77. },
  78. async getToken(store) {
  79. let tokenObj = store.state.tokenObj
  80. if (new Date().getTime() - tokenObj.date < 1000 * 60 * 28) {
  81. return tokenObj.token
  82. } else {
  83. let res = await store.dispatch("Login")
  84. if (res.data) {
  85. store.commit('SET_TOKENOBJ', {
  86. token: res.data.token,
  87. date: new Date().getTime()
  88. })
  89. }
  90. return res.data && res.data.token
  91. }
  92. },
  93. /**
  94. * 获取用户信息
  95. * @param {Object} store
  96. */
  97. async GetInfo(store) {
  98. let res
  99. //#ifdef MP-WEIXIN
  100. res = await userApi.getInfo()
  101. //#endif
  102. //#ifdef MP-TOUTIAO
  103. res = await userApi.userInfoVipInfo()
  104. //#endif
  105. uni.setStorageSync("userInfo", res.data);
  106. store.commit('SET_USERINFO', res.data)
  107. return res
  108. }
  109. }
  110. }
  111. export default user