user.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import squni from '@/util/squni.js'
  2. import {
  3. post
  4. } from '@/util/request.js'
  5. export default {
  6. state: {
  7. appInfo: squni.getStorageSync('appInfo') || {},
  8. token: squni.getStorageSync('token') || '',
  9. refreshToken: squni.getStorageSync('refreshToken') || '',
  10. userId: squni.getStorageSync('userId') || '',
  11. openid: squni.getStorageSync('openid') || '',
  12. userInfo: squni.getStorageSync('userInfo') || {},
  13. userInfoOth: squni.getStorageSync('userInfoOth') || {},
  14. permission: squni.getStorageSync('permission') || {},
  15. roles: squni.getStorageSync('roles') || [],
  16. equipment: squni.getStorageSync('equipment') || '',
  17. platform: squni.getStorageSync('platform') || '',
  18. // 进入(微信小程序)场景值
  19. scene: squni.getStorageSync('scene') || ''
  20. },
  21. getters: {
  22. appInfo: state => state.appInfo,
  23. token: state => state.token,
  24. refreshToken: state => state.refreshToken,
  25. userId: state => state.userId,
  26. openid: state => state.openid,
  27. userInfo: state => state.userInfo,
  28. userInfoOth: state => state.userInfoOth,
  29. permission: state => state.permission,
  30. roles: state => state.roles,
  31. equipment: state => state.equipment,
  32. platform: state => state.platform,
  33. scene: state => state.scene,
  34. usernameSimple: state => {
  35. // 移除sq_
  36. let username = state.userInfo.username || ''
  37. if (username.indexOf('_') > 0) {
  38. username = username.substring(username.indexOf('_') + 1)
  39. }
  40. return username.toUpperCase()
  41. }
  42. },
  43. // this.$store.commit('setAppInfo', appInfo)
  44. mutations: {
  45. setAppInfo(state, appInfo) {
  46. state.appInfo = appInfo
  47. squni.setStorageSync('appInfo', appInfo)
  48. },
  49. setToken(state, token) {
  50. state.token = token
  51. squni.setStorageSync('token', token)
  52. },
  53. setRefreshToken(state, refreshToken) {
  54. state.refreshToken = refreshToken
  55. squni.setStorageSync('refreshToken', refreshToken)
  56. },
  57. setUserId(state, userId) {
  58. state.userId = userId
  59. squni.setStorageSync('userId', userId)
  60. },
  61. setOpenid(state, openid) {
  62. state.openid = openid
  63. squni.setStorageSync('openid', openid)
  64. },
  65. setUserInfo(state, userInfo) {
  66. state.userInfo = userInfo
  67. squni.setStorageSync('userInfo', userInfo)
  68. },
  69. setUserInfoOth(state, userInfoOth) {
  70. state.userInfoOth = userInfoOth
  71. squni.setStorageSync('userInfoOth', userInfoOth)
  72. },
  73. setPermission(state, permission) {
  74. state.permission = permission
  75. squni.setStorageSync('permission', permission)
  76. },
  77. setRoles(state, roles) {
  78. state.roles = roles
  79. squni.setStorageSync('roles', roles)
  80. },
  81. setEquipment(state, equipment) {
  82. state.equipment = equipment
  83. squni.setStorageSync('equipment', equipment)
  84. },
  85. setPlatform(state, platform) {
  86. state.platform = platform
  87. squni.setStorageSync('platform', platform)
  88. },
  89. setScene(state, scene) {
  90. state.scene = scene
  91. squni.setStorageSync('scene', scene)
  92. }
  93. },
  94. // this.$store.dispatch('LoginByUsername', userInfo)
  95. actions: {
  96. GetUserInfo({
  97. commit
  98. }) {
  99. return new Promise((resolve, reject) => {
  100. post('/core/user/info')
  101. .then(res => {
  102. if (res.code === 20000) {
  103. const data = res.data
  104. commit('setUserId', (data.userInfo || {}).id)
  105. commit('setUserInfo', data.userInfo || {})
  106. commit('setRoles', data.roles || [])
  107. commit('setPermission', data.permissions || [])
  108. delete data.userInfo
  109. delete data.roles
  110. delete data.permissions
  111. commit('setUserInfoOth', data || {})
  112. resolve(data)
  113. } else {
  114. reject(res.message)
  115. }
  116. })
  117. .catch(err => {
  118. reject(err)
  119. })
  120. })
  121. }
  122. }
  123. }