user.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. // 方法
  16. mutations: {
  17. // 更新用户的基本信息
  18. updateUserInfo(state, userinfo) {
  19. state.userinfo = userinfo
  20. // 通过 this.commit() 方法,调用 m_user 模块下的 saveUserInfoToStorage 方法,将 userinfo 对象持久化存储到本地
  21. this.commit('m_user/saveUserInfoToStorage')
  22. },
  23. // 将 userinfo 持久化存储到本地
  24. saveUserInfoToStorage(state) {
  25. uni.setStorageSync('userinfo', JSON.stringify(state.userinfo))
  26. },
  27. // 更新 token 字符串
  28. updateToken(state, token) {
  29. state.token = token
  30. // 通过 this.commit() 方法,调用 m_user 模块下的 saveTokenToStorage 方法,将 token 字符串持久化存储到本地
  31. this.commit('m_user/saveTokenToStorage')
  32. },
  33. // 将 token 字符串持久化存储到本地
  34. saveTokenToStorage(state) {
  35. uni.setStorageSync('token', state.token)
  36. },
  37. // 更新老师认证结果
  38. updateAuthentication(state, message) {
  39. state.authentication = message
  40. this.commit('m_user/saveAuthentication')
  41. },
  42. // 将老师认证结果存储到本地
  43. saveAuthentication(state) {
  44. uni.setStorageSync('authentication', state.authentication)
  45. },
  46. // 更新我的需求详情
  47. updateRequireDetail(state, requireDetail) {
  48. state.requireDetail = requireDetail
  49. this.commit('m_user/saveRequireDetail')
  50. },
  51. // 将我的需求存储到本地
  52. saveRequireDetail(state) {
  53. uni.setStorageSync('requireDetail', state.requireDetail)
  54. }
  55. },
  56. // 数据包装器
  57. getters: {
  58. // 收货详细地址的计算属性
  59. addstr(state) {
  60. if (!state.address.provinceName) return ''
  61. // 拼接 省,市,区,详细地址 的字符串并返回给用户
  62. return state.address.provinceName + state.address.cityName +
  63. state.address.countyName + state.address.detailInfo
  64. }
  65. },
  66. }