维基小程序
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

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;