user.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. export default {
  2. // 开启命名空间
  3. namespaced: true,
  4. // state 数据
  5. state: () => ({
  6. // 登录成功之后的 token 字符串
  7. token: uni.getStorageSync('token') || '',
  8. // 用户的基本信息
  9. userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
  10. // 老师认证结果
  11. authentication: uni.getStorageInfoSync('authentication') || '',
  12. // 我的需求详情
  13. requireDetail: JSON.parse(uni.getStorageSync('requireDeatail') || '{}'),
  14. // 经纬度
  15. location: uni.getStorageSync('location') || '{}'
  16. }),
  17. // 方法
  18. mutations: {
  19. // 更新用户的基本信息
  20. updateUserInfo(state, userinfo) {
  21. state.userinfo = userinfo
  22. // 通过 this.commit() 方法,调用 m_user 模块下的 saveUserInfoToStorage 方法,将 userinfo 对象持久化存储到本地
  23. this.commit('m_user/saveUserInfoToStorage')
  24. },
  25. // 将 userinfo 持久化存储到本地
  26. saveUserInfoToStorage(state) {
  27. uni.setStorageSync('userinfo', JSON.stringify(state.userinfo))
  28. },
  29. // 更新 token 字符串
  30. updateToken(state, token) {
  31. state.token = token
  32. // 通过 this.commit() 方法,调用 m_user 模块下的 saveTokenToStorage 方法,将 token 字符串持久化存储到本地
  33. this.commit('m_user/saveTokenToStorage')
  34. },
  35. // 将 token 字符串持久化存储到本地
  36. saveTokenToStorage(state) {
  37. uni.setStorageSync('token', state.token)
  38. },
  39. // 更新老师认证结果
  40. updateAuthentication(state, message) {
  41. state.authentication = message
  42. this.commit('m_user/saveAuthentication')
  43. },
  44. // 将老师认证结果存储到本地
  45. saveAuthentication(state) {
  46. uni.setStorageSync('authentication', state.authentication)
  47. },
  48. // 更新我的需求详情
  49. updateRequireDetail(state, requireDetail) {
  50. state.requireDetail = requireDetail
  51. this.commit('m_user/saveRequireDetail')
  52. },
  53. // 将我的需求存储到本地
  54. saveRequireDetail(state) {
  55. uni.setStorageSync('requireDetail', state.requireDetail)
  56. },
  57. // 更新经纬度
  58. updateLocation(state, location) {
  59. state.location = location
  60. this.commit('m_user/saveLocation')
  61. },
  62. // 将经纬度存储到本地
  63. saveLocation(state) {
  64. uni.setStorageSync('location', state.location)
  65. }
  66. },
  67. // 数据包装器
  68. getters: {
  69. // 收货详细地址的计算属性
  70. addstr(state) {
  71. if (!state.address.provinceName) return ''
  72. // 拼接 省,市,区,详细地址 的字符串并返回给用户
  73. return state.address.provinceName + state.address.cityName +
  74. state.address.countyName + state.address.detailInfo
  75. }
  76. },
  77. }