Commit f07295cb by zhangleyuan

Merge branch…

Merge branch 'feature/zhangleyuan/20210628/feature/zhangleyuan/20210628/edit-login-page' into feature/zhangleyuan/20210619/yongzong-optimize
parents 9ba0ac63 1a5ac404
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-04-27 20:35:34 * @Date: 2020-04-27 20:35:34
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @LastEditTime: 2021-06-23 14:14:20 * @LastEditTime: 2021-06-28 16:15:59
* @Description: * @Description:
*/ */
...@@ -21,6 +21,7 @@ import '@/core/function'; ...@@ -21,6 +21,7 @@ import '@/core/function';
import '@/core/xmTD'; import '@/core/xmTD';
import User from '@/common/js/user'; import User from '@/common/js/user';
import Service from "@/common/js/service"; import Service from "@/common/js/service";
import BaseService from '@/domains/basic-domain/baseService';
declare var getParameterByName: any; declare var getParameterByName: any;
declare var window: any; declare var window: any;
...@@ -71,7 +72,27 @@ if (getParameterByName('code') && isWeiXin()) { ...@@ -71,7 +72,27 @@ if (getParameterByName('code') && isWeiXin()) {
window.currentStoreUserInfo.enterpriseId = res.result.enterpriseId; window.currentStoreUserInfo.enterpriseId = res.result.enterpriseId;
mount() mount()
}) })
} else { } else if(getParameterByName('from') === 'customer' && getParameterByName('enterpriseId') && getParameterByName('userId')){
User.setCustomerStoreId(getParameterByName('storeId'));
getWXWorkLoginNoCheck(getParameterByName('enterpriseId'),getParameterByName('userId')); //从C端跳转过来的学院自动执行免登录
}else{
mount() mount()
} }
function getWXWorkLoginNoCheck(enterpriseId:string,userId:string) {
const params = {
appTermEnum: 'XIAOMAI_CLOUD_CLASS_PC_WEB_ADMIN',
enterpriseId,
userId,
};
BaseService.getWXWorkLoginNoCheck(params).then((res:any) => {
User.setUserId(res.result.loginInfo.userId)
User.setToken(res.result.loginInfo.xmToken)
User.setEnterpriseId(res.result.enterpriseId)
window.currentStoreUserInfo = {}
window.currentStoreUserInfo.userId = res.result.loginInfo.userId;
window.currentStoreUserInfo.token = res.result.loginInfo.xmToken;
window.currentStoreUserInfo.enterpriseId = res.result.enterpriseId;
User.setIdentifier(res.result.identifier)
mount();
});
}
...@@ -31,26 +31,29 @@ function Login(props) { ...@@ -31,26 +31,29 @@ function Login(props) {
*/ */
useEffect(() => { useEffect(() => {
const enterpriseId = getParameterByName('enterpriseId'); // const enterpriseId = getParameterByName('enterpriseId');
const userId = getParameterByName('userId'); // const userId = getParameterByName('userId');
const from = getParameterByName('from'); // const from = getParameterByName('from');
const storeId = getParameterByName('storeId'); // const storeId = getParameterByName('storeId');
if (storeId) { // if (storeId) {
User.setCustomerStoreId(storeId); // User.setCustomerStoreId(storeId);
} // }
if (from === 'customer' && enterpriseId && userId) { // if (from === 'customer' && enterpriseId && userId) {
if (!user.getToken() || enterpriseId !== user.getEnterpriseId() || userId !== User.getUserId()) { // if (!user.getToken() || enterpriseId !== user.getEnterpriseId() || userId !== User.getUserId()) {
getWXWorkLoginNoCheck(enterpriseId, userId); // getWXWorkLoginNoCheck(enterpriseId, userId);
} else { // } else {
window.RCHistory.push({ // window.RCHistory.push({
pathname: `/switch-route`, // pathname: `/switch-route`,
}); // });
} // }
} else { // } else {
// User.removeUserId();
// User.removeToken();
// User.removeEnterpriseId();
// }
User.removeUserId(); User.removeUserId();
User.removeToken(); User.removeToken();
User.removeEnterpriseId(); User.removeEnterpriseId();
}
}, []); }, []);
function getWXWorkLoginNoCheck(enterpriseId, userId) { function getWXWorkLoginNoCheck(enterpriseId, userId) {
const params = { const params = {
......
import React, { Key, useContext, useEffect, useRef, useState } from 'react'; import React, { Key, useContext, useEffect, useRef, useState, useMemo } from 'react';
import { import {
withRouter, withRouter,
} from 'react-router-dom'; } from 'react-router-dom';
import { Menu} from 'antd'; import { Menu } from 'antd';
import { menuList } from '../../routes//config/menuList' import { menuList } from '../../routes//config/menuList'
import { XMContext } from '../../store/context'; import { XMContext } from '../../store/context';
import Service from "@/common/js/service"; import Service from "@/common/js/service";
...@@ -13,13 +13,14 @@ import "./Menu.less"; ...@@ -13,13 +13,14 @@ import "./Menu.less";
const { SubMenu } = Menu; const { SubMenu } = Menu;
function Aside(props: any) { function Aside(props: any) {
const {menuType,handleMenuType}= props const { menuType, handleMenuType } = props
const ctx: any = useContext(XMContext); const ctx: any = useContext(XMContext);
const [selectKey, setSelectKey] = useState(); const [selectKey, setSelectKey] = useState();
const [openKeys, setOpenKeys] = useState(['']); const [openKeys, setOpenKeys] = useState(['']);
const [topLogoUrl, setTopLogoUrl] = useState("") const [topLogoUrl, setTopLogoUrl] = useState("")
const [collapsed, setCollapsed] = useState(false) const [collapsed, setCollapsed] = useState(false)
const rootSubmenuKeys = _.pluck(menuList, 'groupCode'); const rootSubmenuKeys = _.pluck(menuList, 'groupCode');
useEffect(() => { useEffect(() => {
const link = props.location.pathname; const link = props.location.pathname;
menuList.map((item: any, index: any) => { menuList.map((item: any, index: any) => {
...@@ -36,13 +37,14 @@ function Aside(props: any) { ...@@ -36,13 +37,14 @@ function Aside(props: any) {
return item; return item;
}) })
}, [props.location.pathname]) }, [props.location.pathname])
useEffect(()=> { useEffect(() => {
getTopLeftLogo() getTopLeftLogo()
},[]) }, [])
function getTopLeftLogo() { function getTopLeftLogo() {
if (User.getToken()) { if (User.getToken()) {
StoreService.getStoreDetail({storeId:User.getStoreId()}) StoreService.getStoreDetail({ storeId: User.getStoreId() })
.then(res=> { .then(res => {
if (_.isEmpty(res.result.logo)) { if (_.isEmpty(res.result.logo)) {
setTopLogoUrl("https://image.xiaomaiketang.com/xm/fe4NCjr7XF.png") setTopLogoUrl("https://image.xiaomaiketang.com/xm/fe4NCjr7XF.png")
} else { } else {
...@@ -52,12 +54,14 @@ function Aside(props: any) { ...@@ -52,12 +54,14 @@ function Aside(props: any) {
}) })
} }
} }
function toggleMenu(item: any) { function toggleMenu(item: any) {
window.RCHistory.push(item.link) window.RCHistory.push(item.link)
if (!menuType) { if (!menuType) {
setOpenKeys([]) setOpenKeys([])
} }
} }
function onOpenChange(key: Key[]) { function onOpenChange(key: Key[]) {
if (typeof key === "string") { if (typeof key === "string") {
if (openKeys.includes(key)) { if (openKeys.includes(key)) {
...@@ -86,6 +90,13 @@ function Aside(props: any) { ...@@ -86,6 +90,13 @@ function Aside(props: any) {
setCollapsed(!collapsed) setCollapsed(!collapsed)
} }
const openKeysConstrol = useMemo(() => {
return {
[menuType ? 'openKeys' : 'defaultOpenKeys']: openKeys
};
}, [menuType, openKeys])
return ( return (
<div <div
id="left-container" id="left-container"
...@@ -97,7 +108,7 @@ function Aside(props: any) { ...@@ -97,7 +108,7 @@ function Aside(props: any) {
> >
<div className="top-ctrl"> <div className="top-ctrl">
<div className="topLogo"> <div className="topLogo">
{ menuType && <img src={topLogoUrl} alt="" className="img1"></img> } {menuType && <img src={topLogoUrl} alt="" className="img1"></img>}
</div> </div>
<div className="menu-type-icon" onClick={handleMenu}> <div className="menu-type-icon" onClick={handleMenu}>
{menuType ? ( {menuType ? (
...@@ -120,9 +131,10 @@ function Aside(props: any) { ...@@ -120,9 +131,10 @@ function Aside(props: any) {
<div className="nav"> <div className="nav">
<Menu <Menu
style={menuType ? { minHeight: "100%", background: '#0E1935' }:{minHeight: "100%", background: '#0E1935',width:"56px" }} {...openKeysConstrol}
style={menuType ? { minHeight: "100%", background: '#0E1935' } : { minHeight: "100%", background: '#0E1935', width: "56px" }}
selectedKeys={selectKey} selectedKeys={selectKey}
openKeys={menuType ? openKeys : []}
onOpenChange={onOpenChange} onOpenChange={onOpenChange}
inlineCollapsed={collapsed} inlineCollapsed={collapsed}
mode={menuType ? "inline" : "vertical"} mode={menuType ? "inline" : "vertical"}
......
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