import { GetLogin, GetSmsCode, GetAccountLogin } from '../../api/login'; import { GetAuditStatus } from '../../api/audit'; // import $cookies from '../../utils/vue-cookies' const defaultState = () => { return { userInfo: uni.getStorageSync('userInfo') || { user_mobile: '', }, uid: uni.getStorageSync('uid') || '', ukey: uni.getStorageSync('ukey') || '', auditStatusInfo: uni.getStorageSync('auditStatusInfo') || { approval_invalid_col: [], approval_status: -4, approval_remark: '', id: 0, }, approvalStatus: uni.getStorageSync('approvalStatus'), }; }; const state = defaultState(); const getters = {}; const mutations = { GET_LOGIN(state, { userInfo, auditStatusInfo }) { state.userInfo = userInfo; state.auditStatusInfo = auditStatusInfo; }, }; const actions = { async GetAccountLogin({ commit }, params) { const res = await GetAccountLogin(params); if (res && res.status == 200) { let mobile = ''; let isContain = res.data.user_mobile.indexOf('86'); if (isContain != -1 && res.data.user_mobile.length > 11) { mobile = res.data.user_mobile.slice(2); } else { mobile = res.data.user_mobile; } const result = await GetAuditStatus({ mobile: mobile }); if (result && result.status == 200) { res.data.merch_approval_status = result.data.approval_status; } const userInfo = res.data; const auditStatusInfo = result.data; commit('GET_LOGIN', { userInfo, auditStatusInfo }); uni.setStorageSync('uid', res.data.user_id); uni.setStorageSync('ukey', res.data.key); uni.setStorageSync('userInfo', res.data); // #ifdef H5 $cookies.set('uid', res.data.user_id); $cookies.set('ukey', res.data.key); // #endif // 如果是管理员 或者 通过的商家直接登录 if (res.data.user_is_admin == 1 || result.data.signed_status == 2) { uni.switchTab({ url: '/pages/order/order', }); return; } if ([1, 2, 3].includes(result.data.approval_status)) { uni.navigateTo({ url: '/pages/audit/checkAudit', }); return; } let approval_invalid_col = JSON.parse(result.data.approval_invalid_col); if ( result.data.approval_status == 4 || approval_invalid_col.includes('all') ) { uni.navigateTo({ url: '/pages/audit/shop1', }); } } }, async GetLogin({ commit }, params) { const res = await GetLogin(params); if (res && res.status == 200) { let mobile = ''; let isContain = res.data.user_mobile.indexOf('86'); if (isContain != -1 && res.data.user_mobile.length > 11) { mobile = res.data.user_mobile.slice(2); } else { mobile = res.data.user_mobile; } const result = await GetAuditStatus({ mobile: mobile }); if (result && result.status == 200) { res.data.merch_approval_status = result.data.approval_status; } const userInfo = res.data; const auditStatusInfo = result.data; commit('GET_LOGIN', { userInfo, auditStatusInfo }); uni.setStorageSync('uid', res.data.user_id); uni.setStorageSync('ukey', res.data.key); uni.setStorageSync('userInfo', res.data); // // #ifdef H5 // $cookies.set("uid", res.data.user_id); // $cookies.set("ukey", res.data.key); // // #endif // 如果是管理员 或者 通过的商家直接登录 if (res.data.user_is_admin == 1 || result.data.signed_status == 2) { uni.switchTab({ url: '/pages/order/order', }); return; } if ([1, 2, 3].includes(result.data.approval_status)) { uni.navigateTo({ url: '/pages/audit/checkAudit', }); return; } let approval_invalid_col = JSON.parse(result.data.approval_invalid_col); if ( result.data.approval_status == 4 || approval_invalid_col.includes('all') ) { uni.navigateTo({ url: '/pages/audit/shop1', }); } } }, LoginOut() { uni.showModal({ title: '退出登录', content: `您是否要退出登录?`, success: async (res) => { if (res.confirm) { let res = await OutLogin(); if (res && res.status == 200) { uni.removeStorageSync('ukey'); uni.removeStorageSync('uid'); uni.removeStorageSync('accountDashboard'); uni.removeStorageSync('approvalStatus'); uni.removeStorageSync('approvalStatusInfo'); uni.removeStorageSync('auditInfo'); uni.removeStorageSync('contractDownloadUrl'); uni.removeStorageSync('pdfjs.history'); uni.removeStorageSync('userInfo'); this.$store.state.user.ukey = ''; this.$store.state.user.uid = ''; this.$store.state.user.auditStatusInfo = { approval_invalid_col: [], approval_status: -4, approval_remark: '', id: 0, }; setTimeout(() => { uni.redirectTo({ url: '/pages/index/index', }); }, 100); } } else if (res.cancel) { } }, }); }, }; export default { namespaced: true, state, getters, mutations, actions, };