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
|
|
|
|
console.log('state.memberRate', state.memberRate);
|
|
}
|
|
}
|
|
})
|
|
},
|
|
},
|
|
modules: {
|
|
user
|
|
},
|
|
getters
|
|
})
|
|
|
|
export default store
|