diff --git a/src/common/UrlTool.js b/src/common/UrlTool.js
index 4c3911cd..f75fbf70 100644
--- a/src/common/UrlTool.js
+++ b/src/common/UrlTool.js
@@ -24,6 +24,18 @@ export function getImageUrl(path) {
return `${path}`;
}
+
+export function openNewWindow(url) {
+ let link = document.createElement('a')
+ link.target = "_blank"
+ document.body.appendChild(link)
+ link.href = url
+ let evt = document.createEvent("MouseEvents")
+ evt.initEvent("click", false, false)
+ link.dispatchEvent(evt)
+ document.body.removeChild(link);
+}
+
export function numFormat(num, digits){
let d = digits || 1;
var si = [
diff --git a/src/common/educoder.js b/src/common/educoder.js
index 1a063d82..5191bb4f 100644
--- a/src/common/educoder.js
+++ b/src/common/educoder.js
@@ -7,6 +7,7 @@ export {
getImageUrl as getImageUrl,getImage as getImage, getmyUrl as getmyUrl, getRandomNumber as getRandomNumber, getUrl as getUrl, publicSearchs as publicSearchs, getRandomcode as getRandomcode, getUrlmys as getUrlmys, getUrl2 as getUrl2, setImagesUrl as setImagesUrl
, getUploadActionUrl as getUploadActionUrl, getUploadActionUrltwo as getUploadActionUrltwo, getUploadActionUrlthree as getUploadActionUrlthree, getUploadActionUrlOfAuth as getUploadActionUrlOfAuth
, getTaskUrlById as getTaskUrlById, TEST_HOST, htmlEncode as htmlEncode, getupload_git_file as getupload_git_file, getcdnImageUrl as getcdnImageUrl
+ , openNewWindow as openNewWindow
} from './UrlTool';
export { setmiyah as setmiyah } from './Component';
diff --git a/src/forge/Head/Engineer.jsx b/src/forge/Head/Engineer.jsx
new file mode 100644
index 00000000..44e08fa6
--- /dev/null
+++ b/src/forge/Head/Engineer.jsx
@@ -0,0 +1,30 @@
+import React from 'react';
+import { Modal } from 'antd';
+import { openNewWindow } from 'educoder';
+
+function Engineer({QQVisible,setQQVisible}) {
+
+ return(
+ {
+ openNewWindow("https://qm.qq.com/cgi-bin/qm/qr?k=DWdqQHAbbfw7_rqm0d-Q_vDn5H6bMp91&jump_from=webapi")
+ }}
+ onCancel={() => setQQVisible(false)}
+ >
+
+
您可以在QQ服务群向管理员申请,获得继续操作的权限
+ < img src={require("./teacherQQ.png")} width={200} height={200} alt=""/>
+
群号:693542422
+
+
+ )
+}
+export default Engineer
\ No newline at end of file
diff --git a/src/forge/Head/Header.js b/src/forge/Head/Header.js
index 58c4ac7c..d7f4b28b 100644
--- a/src/forge/Head/Header.js
+++ b/src/forge/Head/Header.js
@@ -1,9 +1,8 @@
import React, { Component } from 'react';
import AccountProfile from "../../modules/user/AccountProfile";
-import { getImageUrl } from 'educoder'
+import { getImageUrl , openNewWindow } from 'educoder';
import axios from 'axios';
-import { Input , notification , Dropdown ,Popover, Menu,Badge, Button } from 'antd';
-import { Link } from 'react-router-dom';
+import { Input , notification , Dropdown , Menu } from 'antd';
import LoginDialog from '../../modules/login/LoginDialog';
import HeadSearch from '../Component/HeadSearch';
@@ -13,13 +12,14 @@ import '../../modules/tpm/TPMIndex.css';
import CheckProfile from '../Component/ProfileModal/Profile';
import './header.scss';
-import NoticeContent from './NoticeContent';
+import Engineer from './Engineer';
const $ = window.$
// TODO 这部分脚本从公共脚本中直接调用
const { Search } = Input;
let old_url;
window._header_componentHandler = null;
+const isPath= window.location.hostname ==='code.educoder.net' || window.location.hostname==='testforgeplus.educoder.net';
// 非trustie链接则新开页跳转
const str = ['www.trustie.net','forgeplus.trustie.net','forum.trustie.net','testforgeplus.trustie.net']
class NewHeader extends Component {
@@ -49,6 +49,7 @@ class NewHeader extends Component {
visiblemyss: false,
openSearch:false,
visible:false, //浮动消息框展示控制
+ QQVisible:false
}
}
componentDidMount() {
@@ -346,14 +347,32 @@ class NewHeader extends Component {
this.setState({ visible });
};
+ turntoEngineer=(url)=>{
+ const { current_user } = this.props;
+ if(current_user && current_user.login){
+ if(url){
+ window.location.href=url;
+ }else{
+ this.setState({
+ QQVisible:true
+ })
+ }
+ }else{
+ this.educoderlogin();
+ }
+ }
+
+ setQQVisible=()=>{
+ this.setState({
+ QQVisible:false
+ })
+ }
+
render() {
- const { match ,resetUserInfo ,showNotification} = this.props;
+ const { match } = this.props;
let current_user = this.props.user;
- let { Addcoursestypes,
- tojoinitemtype,
- tojoinclasstitle,
- code_notice,
- checked_notice,
+ let {
+ QQVisible,
AccountProfiletype,
user,
isRender,
@@ -441,6 +460,7 @@ class NewHeader extends Component {
let search_url = settings && settings.common && settings.common.search;
return (