Commit 2edd304f authored by liwenhong's avatar liwenhong

add:store

parent 5141b08f
/* eslint-disable */
import { yd_login, j_login } from "@/service/user";
import { isYdUser, setCookie } from "@/utils/util";
import { redirectToLogin, delCookie } from "@/utils/util";
import { ElMessage } from "element-plus";
export default {
state: {},
mutations: {},
actions: {
async userLogin({commit}, { payload }) {
let flag = isYdUser(payload.email);
let params;
if(!flag) {
params = new URLSearchParams();
params.append('email', payload.email);
params.append('password', payload.password);
}
let res = flag ? await yd_login(payload) : await j_login(params)
let storage = window.localStorage;
if (res.userInfo && !storage['uid']) {
storage['YD_PANDORA_auth'] = JSON.stringify(res.auth || {})
storage['YD_PANDORA_JWT_TOKEN'] = (res.type + ' ' + res.token )|| ''
storage['YD_PANDORA_user'] = JSON.stringify(res.userInfo || {})
setCookie('uid', res.userInfo && res.userInfo.id, 16)
setCookie('YD_PANDORA_UID', res.userInfo && res.userInfo.id, 16)
setCookie('userid', res.userInfo && res.userInfo.id, 16)
setCookie('username', res.userInfo && res.userInfo.email, 16)
setCookie('nickname', res.userInfo && res.userInfo.displayName, 16)
setCookie('YD_PANDORA_JWT_TOKEN', (res.type + ' ' + res.token )|| '', 16)
storage['isDefault'] = 1;
return true
} else if(+res.code === 0){
storage['isDefault'] = 2;
setCookie('username', payload.email, 16);
return true
} else {
ElMessage.error(res);
}
},
logout() {
return new Promise((resolve) => {
window.localStorage.clear();
delCookie('username');
redirectToLogin()
resolve()
});
}
},
getters: {},
namespaced: true
}
import { getPermissions } from "@/service/user";
import { PERMISSIONNAME_PAGEMODULE } from "@/config/pageconfig";
import { getRolesForUser } from "@/service/Withdrawal/withdrawal";
export default {
state: {
permissions: null,
userInfo: null,
permissionsForApp: {}
},
mutations: {
updateUserPermission(state, payload) {
state.permissions = payload;
},
updateUserInfo(state, payload) {
state.userInfo = payload;
},
updatePermissionForApp(state, payload) {
const { appId, permissions } = payload;
state.permissionsForApp = state.permissionsForApp || {};
state.permissionsForApp[appId] = permissions;
}
},
actions: {
async updateUserPermission({ commit }, payload) {
const { permissions = [] } = await getPermissions(payload.email);
console.log("VUEX action updateUserPermission::", permissions);
commit("updateUserPermission", permissions);
},
async fetchPermission({ commit }, { email, appId }) {
if (appId === "merchant-op-auditing") {
const permissions = await getRolesForUser(email);
if (!permissions) {
return;
}
const permissionMap = permissions.reduce((prev, permission) => {
prev[permission.name] = permission;
return prev;
}, {});
commit("updatePermissionForApp", { appId, permissions: permissionMap });
return;
}
console.error("无 appId 注册", appId);
}
},
getters: {
subPermissions: state => {
const permissionCol = {};
(state.permissions || []).forEach(element => {
PERMISSIONNAME_PAGEMODULE[element.name] &&
(permissionCol[PERMISSIONNAME_PAGEMODULE[element.name]] =
element.sub_permissions);
});
return permissionCol;
},
/**
*
* @param {*} module 模块名,可选值: enterprise, lifeNo, role, user
* @returns
*/
moduleSubPermissions: state => (module, appId = "") => {
if (appId !== "") {
if (!state.permissionsForApp[appId]) {
return [];
}
if (!state.permissionsForApp[appId][module]) {
return [];
}
return state.permissionsForApp[appId][module].sub_permissions;
}
const permissionCol = {};
(state.permissions || []).forEach(element => {
PERMISSIONNAME_PAGEMODULE[element.name] &&
(permissionCol[PERMISSIONNAME_PAGEMODULE[element.name]] =
element.sub_permissions);
});
return permissionCol[module];
}
},
namespaced: true
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment