merchapp/java-mall-app-shop-admin/store/modules/user.js

276 lines
7.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { GetAuditInfo, GetAuditStatus } from "../../api/audit";
import { GetAccountLogin, GetLogin } from "../../api/login";
import { OutLogin } from "../../api/user";
import $Socket from "../../utils/socket";
import Vue from "vue";
// import $cookies from '../../utils/vue-cookies'
const defaultState = () => {
return {
userInfo: uni.getStorageSync("userInfo") || {},
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"),
socket: {},
getMsg: {},
imWeidu: {},
};
};
const state = defaultState();
const getters = {};
const mutations = {
GET_LOGIN(state, { userInfo, auditStatusInfo }) {
state.userInfo = userInfo;
state.auditStatusInfo = auditStatusInfo;
},
LOGIN_OUT(state) {
state.userInfo = {};
state.uid = "";
state.ukey = "";
state.auditStatusInfo = {
approval_invalid_col: [],
approval_status: -4,
approval_remark: "",
id: 0,
};
state.approvalStatus = "";
state.socket = {};
state.getMsg = {};
state.imWeidu = {};
},
CONNECT_SOCKET(state, { socket }) {
state.socket = socket;
},
GET_IM_MSG(state, { msg }) {
state.getMsg = msg;
var im = {};
let _imWeiDu = uni.getStorageSync("imWeiDu");
if (_imWeiDu) {
im = _imWeiDu;
}
if (!im[msg.id]) {
im[msg.id] = { weidu: 0 };
}
im[msg.id].weidu += 1;
im.userId = state.userInfo.user_id;
state.imWeidu = im;
uni.setStorageSync("imWeiDu", im);
},
REMOVE_IM_KEY(state, imId) {
Vue.delete(state.imWeidu, imId);
let imWeiDu = uni.getStorageSync("imWeiDu");
if (!imWeiDu && !imWeiDu[imId]) return;
delete imWeiDu[imId];
uni.setStorageSync("imWeiDu", imWeiDu);
},
};
const actions = {
async GetAccountLogin({ dispatch }, 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 userInfo = res.data;
await dispatch("checkAccountIsPass", {
mobile: mobile,
userInfo: userInfo,
});
uni.setStorageSync("uid", res.data.user_id);
uni.setStorageSync("ukey", res.data.key);
uni.setStorageSync("userInfo", res.data);
}
},
async GetLogin({ dispatch }, 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 userInfo = res.data;
uni.setStorageSync("uid", res.data.user_id);
uni.setStorageSync("ukey", res.data.key);
uni.setStorageSync("userInfo", res.data);
await dispatch("checkAccountIsPass", {
mobile: mobile,
userInfo: userInfo,
});
await dispatch("connectSocket", res.data);
}
},
async LoginOut({ commit }, isTokenExpires) {
if (isTokenExpires) {
await OutLogin();
uni.removeStorageSync("ukey");
uni.removeStorageSync("uid");
uni.removeStorageSync("accountDashboard");
uni.removeStorageSync("approvalStatus");
uni.removeStorageSync("auditInfo");
uni.removeStorageSync("auditId");
uni.removeStorageSync("contractDownloadUrl");
uni.removeStorageSync("pdfjs.history");
uni.removeStorageSync("userInfo");
uni.removeStorageSync("typeItem");
uni.removeStorageSync("locationItem");
uni.removeStorageSync("district_data");
uni.removeStorageSync("auditItem");
commit("LOGIN_OUT");
uni.redirectTo({
url: "/pages/login/login",
});
return;
}
uni.showModal({
title: "退出登录",
content: `您是否要退出登录?`,
success: async (res) => {
if (res.confirm) {
await OutLogin();
uni.removeStorageSync("ukey");
uni.removeStorageSync("uid");
uni.removeStorageSync("accountDashboard");
uni.removeStorageSync("approvalStatus");
uni.removeStorageSync("auditInfo");
uni.removeStorageSync("auditId");
uni.removeStorageSync("contractDownloadUrl");
uni.removeStorageSync("pdfjs.history");
uni.removeStorageSync("userInfo");
commit("LOGIN_OUT");
uni.redirectTo({
url: "/pages/login/login",
});
} else if (res.cancel) {
}
},
});
},
async checkAccountIsPass({ commit }, { mobile, userInfo }) {
let res = await GetAuditStatus({ mobile: mobile });
if (res && res.status == 200) {
const auditStatusInfo = res.data;
commit("GET_LOGIN", { userInfo, auditStatusInfo });
const lastIM = uni.getStorageSync("imWeiDu");
if (lastIM) {
if (lastIM.userId != userInfo.user_id) {
uni.removeStorageSync("imWeiDu");
}
}
let { approval_status, signed_status, store_status } = res.data;
//2-未通过3-待审核4-未申请过5-已提交审核;'
if ([2, 3, 5].includes(approval_status)) {
uni.navigateTo({
url: "/pages/audit/checkAudit",
});
return;
}
if (approval_status == 4) {
uni.navigateTo({
url: "/pages/audit/shop1",
});
return;
}
// 合同签署状态:
// -1预备数据阶段0-等待签署1-已部分签署;
// 2 - 已完成所有签署方完成签署3 - 已撤销(发起方撤销签署任务)
// 5 - 已过期签署截止日到期后触发7 - 已拒签(签署方拒绝签署)',
if (signed_status != 2) {
uni.navigateTo({
url: "/pages/audit/checkAudit",
});
return;
}
// store_status int '店铺创建状态1-已启用入驻已审批合同已生成2-未启用',
if (approval_status == 1 && signed_status == 2 && store_status == 1) {
let result = await GetAuditInfo({ mobile: mobile });
uni.setStorageSync(
"contractDownloadUrl",
result.data.contract_download_url
);
uni.setStorageSync("auditId", result.data.id);
uni.setStorageSync("auditInfo", result.data);
uni.switchTab({
url: "/pages/order/order",
});
return;
}
}
},
connectSocket({ commit }, userInfo) {
if (!userInfo) return;
var socket = new $Socket({
url: userInfo.im.node_site_url,
maxInterValCount: 5,
interValTime: 20000,
onClose: (res) => {
console.log("sockrt关闭");
},
onOpen: (res) => {
console.log("sockrt连接成功");
},
onMsg: (res) => {
console.log("onMsg", res);
if (res) {
let msg = JSON.parse(res.data);
commit("GET_IM_MSG", { msg });
}
},
});
socket.connectserver(userInfo.im);
commit("CONNECT_SOCKET", { socket });
},
};
export default {
namespaced: true,
state,
getters,
mutations,
actions,
};