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;