- import Vue from 'vue'
- import Vuex from 'vuex'
- import user from '@/store/modules/user'
- import getters from './getters'
-
- import { getConfigList } from '@/api/system/configList'
- import { getPersonalInfo } from "@/api/system/personal.js"
- import { setOpenIdKey } from '@/utils/auth'
-
- Vue.use(Vuex)
-
- const store = new Vuex.Store({
- state : {
- price_config : {},
- configList : {},
- configMap : {},
- position : {},//用户选择的定位信息
- buyInfo : {
- teacher : null,//用户选择的购买老师
- },//用户选择的购买信息
- userInfo : {},//用户信息
- //会员泽口
- memberRate : 1,
- //技师等级规则列表
- teacherLevelList : [],
- //新人优惠劵
- NewUserCoupon : {},
- },
- mutations : {
- // 初始化配置
- initConfig(state) {
-
- const price_config = uni.getStorageSync('price_config')
- if(price_config){
- state.price_config = price_config
- }
- const teacherLevelList = uni.getStorageSync('teacherLevelList')
- if(teacherLevelList){
- state.teacherLevelList = teacherLevelList
- }
-
- getConfigList().then(res => {
- const configList = {
- ...state.configList,
- }
-
- state.teacherLevelList = []
-
- res.forEach(n => {
- configList[n.paramCode] = n.paramValueText;
- configList[n.paramCode + '_keyValue'] = n.keyValue;
-
- state.configMap[n.paramCode] = n;
-
-
- if(n.paramCode == 'price_config'){
- state.price_config = JSON.parse(n.paramValueText)
- uni.setStorageSync('price_config', state.price_config)
- }
- if(n.paramClass == 'order_mall'){
- state.teacherLevelList.push(n)
- }
- });
-
- uni.setStorageSync('teacherLevelList', state.teacherLevelList)
- console.log('state.teacherLevelList', state.teacherLevelList)
-
- state.configList = configList
- uni.$emit('initConfig', state.configList)
- })
- },
- setPosition(state, position){
- state.position = position;
- },
- setUserInfo(state, userInfo){
- state.userInfo = userInfo;
- setOpenIdKey(userInfo.openId)
- },
- setNewUserCoupon(state, coupon){
- state.NewUserCoupon = coupon
- },
- getUserInfo(state){
- getPersonalInfo().then(res=>{
- if(res&&(res.id || res.id === 0)){
- state.userInfo = res;
-
- let memberDiscountKey = ['', 'new', 'regular', 'silver', 'gold']
-
- let key = memberDiscountKey[res.levelKey]
-
- if (state.price_config && key) {
- state.memberRate = state.price_config.memberDiscount[key] || 1
- }
- }
- })
- },
- },
- modules: {
- user
- },
- getters
- })
-
- export default store
|