usersInfo.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. import tool from './tool'
  2. import router from '@/router'
  3. let usersInfo = {
  4. refreshToken (...arg) {
  5. if (arg.length === 0) {
  6. return localStorage.getItem('refreshToken')
  7. }
  8. if (arg[0] === '') {
  9. localStorage.removeItem('refreshToken')
  10. return
  11. }
  12. localStorage.setItem('refreshToken', arg[0])
  13. },
  14. accessToken (...arg) {
  15. if (arg.length === 0) {
  16. return localStorage.getItem('accessToken')
  17. }
  18. if (arg[0] === '') {
  19. localStorage.removeItem('accessToken')
  20. return
  21. }
  22. localStorage.setItem('accessToken', arg[0])
  23. },
  24. accessTokenUpdateAt (...arg) {
  25. if (arg.length === 0) {
  26. return localStorage.getItem('accessTokenUpdateAt')
  27. }
  28. if (arg[0] === '') {
  29. localStorage.removeItem('accessTokenUpdateAt')
  30. return
  31. }
  32. localStorage.setItem('accessTokenUpdateAt', arg[0])
  33. },
  34. accessTokenExpiresIn (...arg) {
  35. if (arg.length === 0) {
  36. return localStorage.getItem('accessTokenExpiresIn')
  37. }
  38. if (arg[0] === '') {
  39. localStorage.removeItem('accessTokenExpiresIn')
  40. return
  41. }
  42. localStorage.setItem('accessTokenExpiresIn', arg[0])
  43. },
  44. refreshTokenUpdateAt (...arg) {
  45. if (arg.length === 0) {
  46. return localStorage.getItem('refreshTokenUpdateAt')
  47. }
  48. if (arg[0] === '') {
  49. localStorage.removeItem('refreshTokenUpdateAt')
  50. return
  51. }
  52. localStorage.setItem('refreshTokenUpdateAt', arg[0])
  53. },
  54. refreshTokenExpiresIn (...arg) {
  55. if (arg.length === 0) {
  56. return localStorage.getItem('refreshTokenExpiresIn')
  57. }
  58. if (arg[0] === '') {
  59. localStorage.removeItem('refreshTokenExpiresIn')
  60. return
  61. }
  62. localStorage.setItem('refreshTokenExpiresIn', arg[0])
  63. },
  64. loginTimestamp (...arg) {
  65. if (arg.length === 0) {
  66. return localStorage.getItem('loginTimestamp')
  67. }
  68. if (arg[0] === '') {
  69. localStorage.removeItem('loginTimestamp')
  70. return
  71. }
  72. localStorage.setItem('loginTimestamp', arg[0])
  73. },
  74. baseData (...arg) {
  75. if (arg.length === 0) {
  76. return JSON.parse(localStorage.getItem('baseData'))
  77. }
  78. if (arg[0] === '') {
  79. localStorage.removeItem('baseData')
  80. return
  81. }
  82. localStorage.setItem('baseData', JSON.stringify(arg[0]))
  83. },
  84. clear() {
  85. localStorage.removeItem('userId')
  86. localStorage.removeItem('userName')
  87. localStorage.removeItem('accessToken')
  88. localStorage.removeItem('accessTokenExpiresIn')
  89. localStorage.removeItem('accessTokenUpdateAt')
  90. localStorage.removeItem('refreshToken')
  91. localStorage.removeItem('refreshTokenExpiresIn')
  92. localStorage.removeItem('refreshTokenUpdateAt')
  93. localStorage.removeItem('loginTimestamp')
  94. localStorage.removeItem('baseData')
  95. localStorage.removeItem('baseInfo')
  96. localStorage.removeItem('MenuPrmStore')
  97. localStorage.removeItem('roleList')
  98. },
  99. clearBaseInfo() {
  100. localStorage.removeItem('baseInfo')
  101. },
  102. setBaseInfo (info) {
  103. localStorage.setItem('baseInfo', JSON.stringify(info))
  104. },
  105. getBaseInfo (...arg) {
  106. let baseInfo = null
  107. try {
  108. baseInfo = JSON.parse(localStorage.getItem('baseInfo'))
  109. } catch(err) {
  110. return null
  111. }
  112. if (baseInfo === null) {
  113. return null
  114. }
  115. if (arg.length === 0 || arg[0] === '') {
  116. return baseInfo
  117. } else {
  118. return baseInfo[arg[0]]
  119. }
  120. },
  121. userId(...arg) {
  122. if (arg.length === 0) {
  123. return localStorage.getItem('userId')
  124. }
  125. if (arg[0] === '') {
  126. localStorage.removeItem('userId')
  127. return
  128. }
  129. localStorage.setItem('userId', arg[0])
  130. },
  131. userName (...arg) {
  132. if (arg.length === 0) {
  133. return localStorage.getItem('userName')
  134. }
  135. if (arg[0] === '') {
  136. localStorage.removeItem('userName')
  137. return
  138. }
  139. localStorage.setItem('userName', arg[0])
  140. },
  141. userEmail (...arg) {
  142. if (arg.length === 0) {
  143. return localStorage.getItem('userEmail')
  144. }
  145. if (arg[0] === '') {
  146. localStorage.removeItem('userEmail')
  147. return
  148. }
  149. localStorage.setItem('userEmail', arg[0])
  150. },
  151. updateLoginAllInfo (response) {
  152. // 更新本地accessToken
  153. this.accessToken(response.accessToken)
  154. this.accessTokenExpiresIn(response.accessTokenExpiresIn)
  155. this.accessTokenUpdateAt(response.accessTokenUpdateAt)
  156. this.refreshToken(response.refreshToken)
  157. this.refreshTokenExpiresIn(response.refreshTokenExpiresIn)
  158. this.refreshTokenUpdateAt(response.refreshTokenUpdateAt)
  159. this.loginTimestamp(response.accessTokenUpdateAt)
  160. },
  161. hasLogin() {
  162. let accessToken = this.accessToken()
  163. if (!accessToken) {
  164. return false
  165. }
  166. // 检测会员的refreshToken是否已经失效,如果已经失效,那么则清空登录信息,返回失败
  167. let refreshToken = this.refreshToken()
  168. let refreshTokenExpiresIn = this.refreshTokenExpiresIn()
  169. let refreshTokenUpdateAt = this.refreshTokenUpdateAt()
  170. if (refreshToken && refreshTokenExpiresIn && parseInt(refreshTokenExpiresIn) - 30 + parseInt(refreshTokenUpdateAt) > parseInt(tool.getTimestamp())) {
  171. return true
  172. } else {
  173. this.clear()
  174. // 跳转到登录页
  175. if (router.currentRoute.path !== '/login') {
  176. router.push('/login')
  177. }
  178. return false
  179. }
  180. },
  181. logout() {
  182. this.clear()
  183. // 跳转到登录页
  184. if (router.currentRoute.path !== '/login') {
  185. router.push('/login')
  186. }
  187. },
  188. daysDiff() {
  189. return this.get('daysDiff')
  190. },
  191. get(...arg) {
  192. let baseInfo = null
  193. try {
  194. baseInfo = JSON.parse(localStorage.getItem('baseInfo'))
  195. } catch(err) {
  196. return null
  197. }
  198. if (baseInfo === null) {
  199. return null
  200. }
  201. if (arg.length === 0 || arg[0] === '') {
  202. return baseInfo
  203. } else {
  204. return baseInfo[arg[0]]
  205. }
  206. }
  207. }
  208. export default usersInfo