user.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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. // username.toUpperCase()
  41. return username
  42. }
  43. },
  44. // this.$store.commit('setAppInfo', appInfo)
  45. mutations: {
  46. setAppInfo(state, appInfo) {
  47. state.appInfo = appInfo
  48. squni.setStorageSync('appInfo', appInfo)
  49. },
  50. setToken(state, token) {
  51. state.token = token
  52. squni.setStorageSync('token', token)
  53. },
  54. setRefreshToken(state, refreshToken) {
  55. state.refreshToken = refreshToken
  56. squni.setStorageSync('refreshToken', refreshToken)
  57. },
  58. setUserId(state, userId) {
  59. state.userId = userId
  60. squni.setStorageSync('userId', userId)
  61. },
  62. setOpenid(state, openid) {
  63. state.openid = openid
  64. squni.setStorageSync('openid', openid)
  65. },
  66. setUserInfo(state, userInfo) {
  67. state.userInfo = userInfo
  68. squni.setStorageSync('userInfo', userInfo)
  69. },
  70. setUserInfoOth(state, userInfoOth) {
  71. state.userInfoOth = userInfoOth
  72. squni.setStorageSync('userInfoOth', userInfoOth)
  73. },
  74. setPermission(state, permission) {
  75. state.permission = permission
  76. squni.setStorageSync('permission', permission)
  77. },
  78. setRoles(state, roles) {
  79. state.roles = roles
  80. squni.setStorageSync('roles', roles)
  81. },
  82. setEquipment(state, equipment) {
  83. state.equipment = equipment
  84. squni.setStorageSync('equipment', equipment)
  85. },
  86. setPlatform(state, platform) {
  87. state.platform = platform
  88. squni.setStorageSync('platform', platform)
  89. },
  90. setScene(state, scene) {
  91. state.scene = scene
  92. squni.setStorageSync('scene', scene)
  93. }
  94. },
  95. // this.$store.dispatch('LoginByUsername', userInfo)
  96. actions: {
  97. GetUserInfo({
  98. commit
  99. }) {
  100. return new Promise((resolve, reject) => {
  101. post('/core/user/info')
  102. .then(res => {
  103. if (res.code === 20000) {
  104. const data = res.data
  105. commit('setUserId', (data.userInfo || {}).id)
  106. commit('setUserInfo', data.userInfo || {})
  107. commit('setRoles', data.roles || [])
  108. commit('setPermission', data.permissions || [])
  109. delete data.userInfo
  110. delete data.roles
  111. delete data.permissions
  112. commit('setUserInfoOth', data || {})
  113. resolve(data)
  114. } else {
  115. reject(res.message)
  116. }
  117. })
  118. .catch(err => {
  119. reject(err)
  120. })
  121. })
  122. }
  123. }
  124. }