index.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import api from '../common/config/caimeiApi.js'
  4. import authorize from '../common/config/authorize.js'
  5. import * as caimeiApi from '@/common/config/caimeiApi.js'
  6. import ajaxService from '@/services/ajax.service.js'
  7. import UserService from '@/services/user.service.js'
  8. const getUserService = new UserService(ajaxService)
  9. Vue.use(Vuex)
  10. const store = new Vuex.Store({
  11. state: {
  12. isWxAuthorize: false,
  13. hasLogin: false,
  14. userInfo: {},
  15. identity: 0,
  16. noticeNum:0,
  17. clubType: 0, // 1: 医美机构 2:生美机构 (医美、生美机构类型)
  18. wechatUserInfo: {},
  19. cartNumber: 0,
  20. isIphoneX: false,
  21. isActivity: false,
  22. isLoginType: 0,
  23. isLoginProductId: 0,
  24. isManage: false,// 是否是管理员或者小组长
  25. isRossShow:false // 是否显示ross广告图
  26. },
  27. mutations: {
  28. login(state, provider) { //用户身份 1、协销 2、资质机构 3、供应商 4.个人机构
  29. state.hasLogin = true
  30. state.userInfo = provider
  31. uni.setStorage({ //缓存用户登陆状态
  32. key: 'userInfo',
  33. data: provider
  34. })
  35. },
  36. logout(state,provider) {
  37. state.hasLogin = false
  38. state.userInfo = provider
  39. uni.removeStorage({
  40. key: 'userInfo'
  41. })
  42. uni.removeStorage({
  43. key: 'token'
  44. })
  45. },
  46. wxLogin(state, provider) {
  47. state.isWxAuthorize = true
  48. state.wechatUserInfo = provider
  49. uni.setStorage({ //缓存用户登陆状态
  50. key: 'wechatUserInfo',
  51. data: provider
  52. })
  53. uni.setStorageSync('_WX_State', 1)
  54. },
  55. updateStatus(state, provider) {
  56. let TIME = api.formatDate()
  57. console.log(`${TIME}`, provider)
  58. state.userInfo = provider
  59. uni.setStorage({ //缓存用户登陆状态
  60. key: 'userInfo',
  61. data: provider
  62. })
  63. },
  64. async updateNoticeNum(state) { // 更新通知消息数量
  65. const userInfo = await caimeiApi.getStorage()
  66. const commonId = userInfo.clubId ? userInfo.clubId : 0
  67. getUserService.getAuthClubCount({ commonId: commonId })
  68. .then(response => {
  69. state.noticeNum = response.data.count
  70. if (state.noticeNum >= 100) {
  71. uni.setTabBarBadge({
  72. index: 2,
  73. text: '99+'
  74. })
  75. } else if (state.noticeNum > 0) {
  76. uni.setTabBarBadge({
  77. index: 2,
  78. text: String(state.noticeNum)
  79. })
  80. } else {
  81. uni.removeTabBarBadge({
  82. index: 2,
  83. })
  84. }
  85. })
  86. .catch(error => {
  87. uni.removeTabBarBadge({
  88. index: 2,
  89. })
  90. })
  91. },
  92. updateAllNum(state, num) {
  93. if (num >= 100) {
  94. uni.setTabBarBadge({
  95. index: 1,
  96. text: '99+'
  97. })
  98. } else if (num > 0) {
  99. uni.setTabBarBadge({
  100. index: 1,
  101. text: String(num)
  102. })
  103. } else {
  104. uni.removeTabBarBadge({
  105. index: 1,
  106. })
  107. }
  108. },
  109. setActivity(state, variable) { // 记录活动弹窗状态
  110. state.isActivity = variable
  111. },
  112. setChangeVar(state, variable) {
  113. state.isIphoneX = variable
  114. },
  115. setIsIphone(state, variable) { // 记录设备信息是否为IphoneX
  116. state.isIphone = variable
  117. },
  118. setLoginType(state, variable) { // 记录登录跳转类型
  119. state.isLoginType = variable
  120. console.log(state.isLoginType)
  121. },
  122. setLoginProductId(state, variable) { // 记录跳转商品ID
  123. state.isLoginProductId = variable
  124. console.log(state.isLoginProductId)
  125. },
  126. setLoginOrderId(state, variable) { // 记录跳转订单ID
  127. state.isLoginOrderId = variable
  128. console.log(state.isLoginOrderId)
  129. }
  130. },
  131. actions: {
  132. setVariableFun: function(context, vData) {
  133. context.commit('setChangeVar', vData)
  134. },
  135. setIsIphoneFun: function(context, vData) {
  136. context.commit('setIsIphone', vData)
  137. },
  138. setActivityFn: function(context, vData) {
  139. context.commit('setActivity', vData)
  140. },
  141. // setLoginTypeFn:function(context,vData){
  142. // context.commit('setLoginType',vData)
  143. // }
  144. }
  145. })
  146. export default store