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.
146 lines
3.8 KiB
146 lines
3.8 KiB
import { showLoading, hideLoading, showModal, showToast } from 'utils/ui';
|
|
import { mpLogin, signIn, ddLogin } from 'utils/user';
|
|
import { UPDATE_USER, USER_ID_EXCHANGE_TOKEN } 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(async (resolve, reject) => {
|
|
let params = null;
|
|
// #ifdef MP-WEIXIN
|
|
params = await mpLogin();
|
|
// #endif
|
|
// #ifdef MP-DINGTALK
|
|
params = await ddLogin();
|
|
// #endif
|
|
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);
|
|
});
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 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', value: params });
|
|
resolve(data);
|
|
})
|
|
.catch(data => {
|
|
showToast(data.msg || '保存用户信息失败');
|
|
reject(data);
|
|
});
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 查询基本信息
|
|
* @param {*} commit
|
|
* @param {object} params 提交的完整数据
|
|
*/
|
|
getUserInfo({ commit }, params) {
|
|
return new Promise((resolve, reject) => {
|
|
showLoading();
|
|
http
|
|
.post(GET_USER_INFO, params)
|
|
.then(res => {
|
|
hideLoading();
|
|
console.log('getUserInfo data: ', res.data);
|
|
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 => {
|
|
hideLoading();
|
|
// 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);
|
|
});
|
|
});
|
|
},
|
|
|
|
/**
|
|
* 通过userId换取token
|
|
* @param {*} commit
|
|
* @param {object} params 提交的完整参数
|
|
*/
|
|
getTokenByUserId({ commit }, params) {
|
|
return new Promise((resolve, reject) => {
|
|
http
|
|
.get(USER_ID_EXCHANGE_TOKEN, params)
|
|
.then(res => {
|
|
const { data } = res.data;
|
|
commit('setToken', data.token);
|
|
commit('setUser', data);
|
|
resolve(data);
|
|
})
|
|
.catch(data => {
|
|
showToast(data.msg || '获取token失败');
|
|
reject(data);
|
|
});
|
|
});
|
|
},
|
|
};
|
|
|
|
export default actions;
|
|
|