ui更新
This commit is contained in:
95
resources/mobile/store/modules/family.js
Normal file
95
resources/mobile/store/modules/family.js
Normal file
@@ -0,0 +1,95 @@
|
||||
import tool from '../../utils/tool'
|
||||
import api from '@/api'
|
||||
|
||||
export default{
|
||||
state: {
|
||||
familyId: tool.data.get('familyId') || '',
|
||||
familyInfo: tool.data.get('familyInfo') || {},
|
||||
isOwner: tool.data.get('isOwner') || false
|
||||
},
|
||||
mutations:{
|
||||
setFamilyInfo(state, data){
|
||||
if(data && data.id){
|
||||
tool.data.set('familyId', data.id)
|
||||
state.familyId = data.id
|
||||
tool.data.set('familyInfo', data)
|
||||
state.familyInfo = data
|
||||
}else{
|
||||
tool.data.set('familyId', '')
|
||||
state.familyId = ''
|
||||
tool.data.set('familyInfo', {})
|
||||
state.familyInfo = {}
|
||||
}
|
||||
},
|
||||
setIsOwner(state, isOwner){
|
||||
tool.data.set('isOwner', isOwner)
|
||||
state.isOwner = isOwner
|
||||
},
|
||||
clearFamily(state){
|
||||
tool.data.set('familyId', '')
|
||||
state.familyId = ''
|
||||
tool.data.set('familyInfo', {})
|
||||
state.familyInfo = {}
|
||||
tool.data.set('isOwner', false)
|
||||
state.isOwner = false
|
||||
}
|
||||
},
|
||||
getters:{
|
||||
hasFamily(state){
|
||||
return !!state.familyId
|
||||
}
|
||||
},
|
||||
actions:{
|
||||
async getFamilyInfo({commit}){
|
||||
try {
|
||||
const res = await api.family.info.get()
|
||||
if(res.data){
|
||||
commit('setFamilyInfo', res.data)
|
||||
commit('setIsOwner', res.data.is_owner || false)
|
||||
}
|
||||
return res
|
||||
}catch(e){
|
||||
console.error('获取家庭信息失败', e)
|
||||
throw e
|
||||
}
|
||||
},
|
||||
async createFamily({commit}, familyName){
|
||||
try {
|
||||
const res = await api.family.create.post({name: familyName})
|
||||
if(res.data){
|
||||
commit('setFamilyInfo', res.data)
|
||||
commit('setIsOwner', true)
|
||||
}
|
||||
return res
|
||||
}catch(e){
|
||||
console.error('创建家庭失败', e)
|
||||
throw e
|
||||
}
|
||||
},
|
||||
async joinFamily({commit}, inviteCode){
|
||||
try {
|
||||
const res = await api.family.join.post({invite_code: inviteCode})
|
||||
if(res.data){
|
||||
commit('setFamilyInfo', res.data)
|
||||
commit('setIsOwner', res.data.is_owner || false)
|
||||
}
|
||||
return res
|
||||
}catch(e){
|
||||
console.error('加入家庭失败', e)
|
||||
throw e
|
||||
}
|
||||
},
|
||||
async leaveFamily({commit}){
|
||||
try {
|
||||
const res = await api.family.leave.post()
|
||||
if(res.code === 200){
|
||||
commit('clearFamily')
|
||||
}
|
||||
return res
|
||||
}catch(e){
|
||||
console.error('退出家庭失败', e)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user