维基小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

116 lines
2.9 KiB

import { showModal, showToast } from 'utils/ui';
import { mpLogin, signIn } from 'utils/user';
import { UPDATE_USER } from 'api/user';
import { GET_USER_INFO, HEALTH_TYPE_STATUS } from 'api/api';
import { http } from 'plugins/request/index';
const actions = {
// 登录
login({ commit }) {
return new Promise((resolve, reject) => {
// #ifdef MP-WEIXIN
mpLogin()
.then(params => signIn(params))
.then(data => {
// console.log('login data: ', data);
commit('setToken', data.token);
commit('setUser', data);
resolve(data);
})
.catch(err => {
console.log('login err: ', err);
// showModal(err.msg || '登录失败');
reject(err);
});
// #endif
});
},
/**
* signIn 提交登录信息
* @param {any} commit
* @param {string} params 登录提交的参数
*/
signIn({ commit }, params) {
return signIn(params)
.then(data => {
commit('setToken', data.token);
commit('setUser', data);
})
.catch(err => showModal(err));
},
/**
* 上传用户的微信信息
* @param {*} commit
* @param {object} params 提交的完整数据
*/
updateUserInfo({ commit }, params) {
return new Promise((resolve, reject) => {
http
.post(UPDATE_USER, params)
.then(res => {
const { data } = res.data;
commit('updateUser', { type: 'wxInfo', params });
resolve(data);
})
.catch(data => {
showToast(data.msg || '保存用户信息失败');
reject(data);
});
});
},
/**
* 查询基本信息
* @param {*} commit
* @param {object} params 提交的完整数据
*/
getUserInfo({ commit }, params) {
return new Promise((resolve, reject) => {
http
.post(GET_USER_INFO, params)
.then(res => {
const { data } = res.data;
resolve(data);
// 获取自己的信息采取设置
// 扫别人健康码的时候不用设置
if (params.param.token) {
commit('setUserInfo', data);
}
if (data.healthCodeList && data.healthCodeList.length > 0) {
const oldCode = data.healthCodeList[0].healthCode;
commit('setHealthCode', oldCode);
}
})
.catch(data => {
showToast(data.msg || '查询个人信息成功');
reject(data);
});
});
},
/**
* 查询健康状态类型
* @param {*} commit
*/
async getHealthTypeStatus({ commit }) {
return new Promise((resolve, reject) => {
http
.post(HEALTH_TYPE_STATUS)
.then(res => {
const { data } = res.data;
resolve(data);
commit('setStatus', data);
})
.catch(data => {
showToast(data.msg || '查询健康类型失败');
reject(data);
});
});
},
};
export default actions;