70 lines
1.1 KiB
JavaScript
70 lines
1.1 KiB
JavaScript
import {
|
|
getStore,
|
|
setStore
|
|
} from '@/untils/store.js'
|
|
import {
|
|
getVipCode,
|
|
bindVip
|
|
} from "@/api/vip.js"
|
|
|
|
const user = {
|
|
state: {
|
|
vipCode: getStore({
|
|
name: 'vipCode'
|
|
}) || '0',
|
|
},
|
|
getters: {
|
|
isVip(state) {
|
|
return state.vipCode != '0'
|
|
},
|
|
vipCode(state) {
|
|
return state.vipCode
|
|
}
|
|
},
|
|
actions: {
|
|
getVipCode({
|
|
commit,
|
|
getters
|
|
}, idNumber) {
|
|
return new Promise((resolve, reject) => {
|
|
if (getters.isVip) {
|
|
resolve();
|
|
} else if(getters.authInfo.idNumber) {
|
|
getVipCode(getters.authInfo.idNumber).then(res => {
|
|
commit('SET_VIPCODE', res.data.data);
|
|
resolve();
|
|
}).catch(error => {
|
|
reject(error);
|
|
})
|
|
} else {
|
|
resolve();
|
|
}
|
|
})
|
|
},
|
|
bindVipCode({
|
|
commit,
|
|
getters
|
|
}, code) {
|
|
return new Promise((resolve, reject) => {
|
|
bindVip(getters.authInfo.idNumber, code).then(res => {
|
|
commit('SET_VIPCODE', code);
|
|
resolve();
|
|
}).catch(error => {
|
|
reject(error);
|
|
})
|
|
})
|
|
}
|
|
},
|
|
mutations: {
|
|
SET_VIPCODE: (state, code) => {
|
|
state.vipCode = code;
|
|
setStore({
|
|
name: 'vipCode',
|
|
content: code,
|
|
type: 'session'
|
|
})
|
|
}
|
|
}
|
|
}
|
|
export default user
|