forked from Gitlink/forgeplus-react
save
This commit is contained in:
parent
e0c9ab70b9
commit
ba56a106b4
|
@ -95,79 +95,84 @@ const Join: FC<PageProps> = ({
|
|||
if (globalSetting?.setting?.is_local) {
|
||||
if (!user?.userInfo?.is_shixun_marker) isShixunsHidden = true;
|
||||
}
|
||||
// const JoinOverlay = (joinProps: any) => {
|
||||
// return <>
|
||||
// <Row justify="space-around" className="pt5 pb5">
|
||||
// <Col className={styles.joinCol}>
|
||||
// {
|
||||
// user.userInfo?.user_identity !== '学生' &&
|
||||
// !isClassroomsHidden &&
|
||||
// <Menu.Item {...joinProps}>
|
||||
// <a onClick={() => handleAddVerify('/classrooms/new')}>
|
||||
// {
|
||||
// user.userInfo?.main_site ?
|
||||
// '新建教学课堂' :
|
||||
// '新建课堂'
|
||||
// }
|
||||
// </a>
|
||||
// </Menu.Item>
|
||||
// }
|
||||
// {
|
||||
// !isShixunsHidden &&
|
||||
// <Menu.Item {...joinProps}>
|
||||
// <a onClick={() => handleAddVerify('/shixuns/new', VerifyType.Shixuns)}>
|
||||
// 新建实践项目
|
||||
// </a>
|
||||
// </Menu.Item>
|
||||
// }
|
||||
// {
|
||||
// (
|
||||
// user.userInfo?.main_site && user.navigationInfo?.top ||
|
||||
// (
|
||||
// !user.userInfo?.main_site && user.navigationInfo?.top && !isPathsHidden &&
|
||||
// (user.userInfo?.admin || user.userInfo?.is_teacher || user.userInfo?.business)
|
||||
// )
|
||||
// ) &&
|
||||
// <Menu.Item {...joinProps}>
|
||||
// <a onClick={() => handleAddVerify('/paths/new')}>新建实践课程</a>
|
||||
// </Menu.Item>
|
||||
// }
|
||||
// {
|
||||
// !globalSetting?.setting?.is_local &&
|
||||
// user.userInfo?.main_site &&
|
||||
// <Menu.Item {...joinProps}>
|
||||
// <a onClick={() => handleAddVerify(`${user.navigationInfo?.top?.old_url}/projects/new`, VerifyType.Projects)}>新建开发项目</a>
|
||||
// </Menu.Item>
|
||||
// }
|
||||
// </Col>
|
||||
// <Col>
|
||||
// <div className={styles.joinBoard}></div>
|
||||
// </Col>
|
||||
// <Col className={styles.joinCol}>
|
||||
// {
|
||||
// !isClassroomsHidden &&
|
||||
// // user.userInfo?.main_site &&
|
||||
// <Menu.Item {...joinProps}>
|
||||
// <a onClick={() => handleJoinVerify(VerifyType.Classrooms)}>
|
||||
// {
|
||||
// user.userInfo?.main_site ?
|
||||
// '加入教学课堂' :
|
||||
// '加入课堂'
|
||||
// }
|
||||
// </a>
|
||||
// </Menu.Item>
|
||||
// }
|
||||
// {
|
||||
// user.userInfo?.main_site &&
|
||||
// !globalSetting?.setting?.is_local &&
|
||||
// <Menu.Item {...joinProps}>
|
||||
// <a onClick={() => handleJoinVerify(VerifyType.Projects)}>
|
||||
// 加入开发项目
|
||||
// </a>
|
||||
// </Menu.Item>
|
||||
// }
|
||||
// </Col>
|
||||
// </Row>
|
||||
// </>
|
||||
// }
|
||||
const JoinOverlay = (joinProps: any) => {
|
||||
return <>
|
||||
<Row justify="space-around" className="pt5 pb5">
|
||||
<Col className={styles.joinCol}>
|
||||
{
|
||||
user.userInfo?.user_identity !== '学生' &&
|
||||
!isClassroomsHidden &&
|
||||
<Menu.Item {...joinProps}>
|
||||
<a onClick={() => handleAddVerify('/classrooms/new')}>
|
||||
{
|
||||
user.userInfo?.main_site ?
|
||||
'新建教学课堂' :
|
||||
'新建课堂'
|
||||
}
|
||||
</a>
|
||||
</Menu.Item>
|
||||
}
|
||||
{
|
||||
!isShixunsHidden &&
|
||||
<Menu.Item {...joinProps}>
|
||||
<a onClick={() => handleAddVerify('/shixuns/new', VerifyType.Shixuns)}>
|
||||
新建实践项目
|
||||
</a>
|
||||
</Menu.Item>
|
||||
}
|
||||
{
|
||||
(
|
||||
user.userInfo?.main_site && user.navigationInfo?.top ||
|
||||
(
|
||||
!user.userInfo?.main_site && user.navigationInfo?.top && !isPathsHidden &&
|
||||
(user.userInfo?.admin || user.userInfo?.is_teacher || user.userInfo?.business)
|
||||
)
|
||||
) &&
|
||||
<Menu.Item {...joinProps}>
|
||||
<a onClick={() => handleAddVerify('/paths/new')}>新建实践课程</a>
|
||||
</Menu.Item>
|
||||
}
|
||||
{
|
||||
!globalSetting?.setting?.is_local &&
|
||||
user.userInfo?.main_site &&
|
||||
<Menu.Item {...joinProps}>
|
||||
<a onClick={() => handleAddVerify(`${user.navigationInfo?.top?.old_url}/projects/new`, VerifyType.Projects)}>新建开发项目</a>
|
||||
</Menu.Item>
|
||||
}
|
||||
</Col>
|
||||
<Col>
|
||||
<div className={styles.joinBoard}></div>
|
||||
</Col>
|
||||
<Col className={styles.joinCol}>
|
||||
{
|
||||
!isClassroomsHidden &&
|
||||
// user.userInfo?.main_site &&
|
||||
<Menu.Item {...joinProps}>
|
||||
<a onClick={() => handleJoinVerify(VerifyType.Classrooms)}>
|
||||
{
|
||||
user.userInfo?.main_site ?
|
||||
'加入教学课堂' :
|
||||
'加入课堂'
|
||||
}
|
||||
</a>
|
||||
</Menu.Item>
|
||||
}
|
||||
{
|
||||
user.userInfo?.main_site &&
|
||||
!globalSetting?.setting?.is_local &&
|
||||
<Menu.Item {...joinProps}>
|
||||
<a onClick={() => handleJoinVerify(VerifyType.Projects)}>
|
||||
加入开发项目
|
||||
</a>
|
||||
</Menu.Item>
|
||||
}
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
</>
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,24 @@
|
|||
border-radius: 34px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.currentMenu{
|
||||
width: 120px;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
[class~='currentName']{
|
||||
padding: 0 8px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
display: block;
|
||||
}
|
||||
li{
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
li:last-child{
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
.rightMenu {
|
||||
width: 120px;
|
||||
text-align: center;
|
||||
|
|
|
@ -14,7 +14,7 @@ import {
|
|||
import { Menu, Row, Col, Dropdown, message, Modal } from 'antd';
|
||||
import styles from './index.less';
|
||||
import { isLogin } from '@/utils/authority';
|
||||
import { LoginOut } from '@/service/user';
|
||||
import { LoginOut , ForgeLoginOut } from '@/service/user';
|
||||
import ENV from '@/utils/env';
|
||||
import { handleVerify } from '@/utils/verifyLogin';
|
||||
import { checkIsClientExam } from '@/utils/util';
|
||||
|
@ -254,12 +254,63 @@ const User: FC<PageProps> = ({
|
|||
}
|
||||
};
|
||||
|
||||
const OwnerDownMenu=()=>{
|
||||
return (
|
||||
<Menu className={styles.currentMenu}>
|
||||
<Menu.Item>
|
||||
<span className={styles.currentName} title={user.userInfo?.username}>{user.userInfo?.username}</span>
|
||||
</Menu.Item>
|
||||
{
|
||||
globalSetting?.setting?.personal && globalSetting?.setting?.personal.map(function(item:any,key:number){
|
||||
return(
|
||||
<li key={key}><a href={item.url} target="_blank">{item.name}</a></li>
|
||||
)
|
||||
})
|
||||
}
|
||||
{/* <li><Link to={`/settings/profile`}>设置</Link></li> */}
|
||||
<Menu.Item>
|
||||
<a onClick={async () => {
|
||||
const res = await ForgeLoginOut({});
|
||||
if (res?.status === 1) {
|
||||
dispatch({
|
||||
type: 'user/getUserInfo',
|
||||
payload: {
|
||||
...payload,
|
||||
},
|
||||
});
|
||||
|
||||
delCookie('autologin');
|
||||
window.location.reload();
|
||||
}
|
||||
}}
|
||||
>退出</a>
|
||||
</Menu.Item>
|
||||
</Menu>
|
||||
)
|
||||
}
|
||||
|
||||
const educoderloginysl=()=>{
|
||||
//退出账号时清除登录页面的下次自动登录(用户再次打开登录页面时下次自动登录框不勾选)
|
||||
// cookie.remove("autologin");
|
||||
delCookie("autologin");
|
||||
//退出账号
|
||||
// var url = `/accounts/logout.json`;
|
||||
// axios.get((url)).then((result) => {
|
||||
// if (result !== undefined) {
|
||||
// window.location.href = "/";
|
||||
// }
|
||||
// }).catch((error) => {
|
||||
// console.log(error);
|
||||
// })
|
||||
|
||||
}
|
||||
|
||||
if (isLogin()) {
|
||||
return (
|
||||
<Dropdown
|
||||
className={`${styles.height67} pr25`}
|
||||
overlay={DropdownMenu}
|
||||
placement="bottomRight"
|
||||
className={`mr25`}
|
||||
overlay={OwnerDownMenu}
|
||||
placement="bottomLeft"
|
||||
>
|
||||
<section>
|
||||
<aside>
|
||||
|
@ -268,21 +319,16 @@ const User: FC<PageProps> = ({
|
|||
shixunHomeworks.actionTabs.type === 1 ? styles.classromediv : ''
|
||||
}
|
||||
>
|
||||
<img
|
||||
className={`${styles.userPic} current ml15`}
|
||||
src={`${ENV?.FORGE_SERVER}/images/${user.userInfo?.image_url}`}
|
||||
alt=""
|
||||
onClick={() =>
|
||||
history.push(
|
||||
checkIsClientExam()
|
||||
? '/account/profile'
|
||||
: `/users/${user.userInfo?.login}/classrooms`,
|
||||
)
|
||||
}
|
||||
/>
|
||||
{checkIsClientExam() && (
|
||||
<span className="ml10 font16">{user.userInfo?.username}</span>
|
||||
)}
|
||||
<a href={`${globalSetting?.setting?.common?.main_site_url}/${user.userInfo?.login}`}>
|
||||
<img
|
||||
className={`${styles.userPic} current ml15`}
|
||||
src={`${ENV?.FORGE_SERVER}/images/${user.userInfo?.image_url}`}
|
||||
alt=""
|
||||
/>
|
||||
{/* {checkIsClientExam() && (
|
||||
<span className="ml10 font16">{user.userInfo?.username}</span>
|
||||
)} */}
|
||||
</a>
|
||||
</div>
|
||||
</aside>
|
||||
</section>
|
||||
|
|
|
@ -7,6 +7,12 @@ export async function ForgeLogin(params: any) {
|
|||
body: { ...params },
|
||||
});
|
||||
}
|
||||
export async function ForgeLoginOut(params: any) {
|
||||
return Fetch(`${ENV.FORGE_SERVER}/api/accounts/logout.json`, {
|
||||
method: 'get',
|
||||
// body: { ...params },
|
||||
});
|
||||
}
|
||||
export async function LoginIn(params: any) {
|
||||
return Fetch('/api/accounts/login.json', {
|
||||
method: 'post',
|
||||
|
|
Loading…
Reference in New Issue