域名更换通知
This commit is contained in:
parent
a54f1b6e1a
commit
5223a84dac
|
@ -0,0 +1,91 @@
|
||||||
|
.systemBox{
|
||||||
|
.ant-modal-body{
|
||||||
|
padding:1px 0px 0px 0px;
|
||||||
|
.sysBox{
|
||||||
|
background-image: url('./bg.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 100% 334px;
|
||||||
|
margin-top: -55px;
|
||||||
|
}
|
||||||
|
.sysnoticeBox{
|
||||||
|
width: 100%;
|
||||||
|
padding:80px 0px 34px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 780px;
|
||||||
|
margin: 0px auto;
|
||||||
|
p.ntitle{
|
||||||
|
height: 33px;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #31FFF7;
|
||||||
|
line-height: 33px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
p.nSubtitle{
|
||||||
|
height: 25px;
|
||||||
|
line-height: 25px;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
margin-top: 60px;
|
||||||
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
.markdown-body{
|
||||||
|
box-shadow: 0px 0px 17px rgba(0,0,0,0.2);
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-top: 17px!important;
|
||||||
|
}
|
||||||
|
.nContent{
|
||||||
|
padding:20px 34px;
|
||||||
|
background-color: #fff;
|
||||||
|
.nMaindesc{
|
||||||
|
height: 90px;
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #000000;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
.realmName{
|
||||||
|
margin-top: 20px;
|
||||||
|
display: flex;
|
||||||
|
ul{
|
||||||
|
width: 50%;
|
||||||
|
li{
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 32px;
|
||||||
|
text-align: left;
|
||||||
|
color: #000;
|
||||||
|
&:first-child{
|
||||||
|
color: #E65714;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nSubdesc{
|
||||||
|
font-size: 15px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #000000;
|
||||||
|
line-height: 31px;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.nInfo{
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
text-align: right;
|
||||||
|
margin-top: 25px;
|
||||||
|
p{
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nBtn{
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 33px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,82 @@
|
||||||
|
import React , { useEffect , useState } from 'react';
|
||||||
|
import { Modal , Button } from 'antd';
|
||||||
|
import './Index.scss';
|
||||||
|
import '../../css/index.scss';
|
||||||
|
import RenderHtml from '../../../components/render-html';
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
function SystemNotice({system_notification,history,login,showNotice,hideSystemNotice}){
|
||||||
|
const [ visible , setVisible ] = useState(false);
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
if(system_notification && !system_notification.is_read && showNotice){
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
},[system_notification])
|
||||||
|
|
||||||
|
function sureContinue() {
|
||||||
|
if(login && ( system_notification && system_notification.id )){
|
||||||
|
const url = `/users/${login}/system_notification_histories.json`;
|
||||||
|
axios.post(url,{
|
||||||
|
system_notification_id:system_notification.id
|
||||||
|
}).then(result=>{
|
||||||
|
if(result && result.status === 0){
|
||||||
|
setVisible(false);
|
||||||
|
hideSystemNotice();
|
||||||
|
}
|
||||||
|
}).catch(error=>{})
|
||||||
|
}
|
||||||
|
setVisible(false);
|
||||||
|
hideSystemNotice();
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Modal
|
||||||
|
visible = {visible}
|
||||||
|
width="1000px"
|
||||||
|
footer={false}
|
||||||
|
title={false}
|
||||||
|
centered={true}
|
||||||
|
closable={false}
|
||||||
|
wrapClassName={'systemBox'}
|
||||||
|
>
|
||||||
|
<div className="sysBox">
|
||||||
|
<div className="sysnoticeBox">
|
||||||
|
<p className="ntitle">{system_notification && system_notification.subject}</p>
|
||||||
|
<p className="nSubtitle">{system_notification && system_notification.sub_subject}</p>
|
||||||
|
{/* <div className="nContent">
|
||||||
|
<div className="nMaindesc">
|
||||||
|
为了给用户提供更加稳定、优质的服务,我们即将对平台门户首页、平台名称、平台域名进行一次全面升级与变更。原平台名称:Trustie(中文名:确实)将于2021年10月xx日统一更改为Gitlink(中文名:确实开源)。届时平台域名将统一进行更换,更换规则如下
|
||||||
|
</div>
|
||||||
|
<div className="realmName">
|
||||||
|
<ul>
|
||||||
|
<li>原域名:</li>
|
||||||
|
<li>官网顶级域名https://www.trustie.net</li>
|
||||||
|
<li>版本库子域名https://forgeplus.trustie.net</li>
|
||||||
|
<li>论坛子域名https://forum.trustie.net/forums</li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li>更换后域名:</li>
|
||||||
|
<li>官网顶级域名https://www.gitlink.org.cn</li>
|
||||||
|
<li>版本库子域名https://www.git.gitlink.org.cn</li>
|
||||||
|
<li>论坛子域名https://forum.gitlink.org.cn</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div className="nSubdesc">
|
||||||
|
自2021年10月xx日起,旧域名将停止访问。因平台名称与域名变更给您带来的不便,我们深表歉意!非常感谢您一直以来对本平台的信任与支持,我们将一如既往地为您提供优质的服务。 特此通知!
|
||||||
|
</div>
|
||||||
|
<div className="nInfo">
|
||||||
|
<p>Gitlink运营团队</p>
|
||||||
|
<p>2021年10月xx日</p>
|
||||||
|
</div>
|
||||||
|
</div> */}
|
||||||
|
<RenderHtml className="break_word_comments imageLayerParent" value={system_notification && system_notification.content} url={history.location}/>
|
||||||
|
<div className="nBtn">
|
||||||
|
<Button type="primary" className="btnblue" onClick={sureContinue}>确认并继续</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
export default SystemNotice;
|
Binary file not shown.
After Width: | Height: | Size: 280 KiB |
|
@ -7,6 +7,7 @@ import './TPMIndex.css';
|
||||||
import LoginDialog from '../login/LoginDialog';
|
import LoginDialog from '../login/LoginDialog';
|
||||||
import EducoderAccount from '../../forge/Component/EducoderAccount';
|
import EducoderAccount from '../../forge/Component/EducoderAccount';
|
||||||
import ProfileModal from '../../forge/Component/ProfileModal/Index';
|
import ProfileModal from '../../forge/Component/ProfileModal/Index';
|
||||||
|
import SystemNotice from '../../forge/Component/NoticeModal/SystemNotice';
|
||||||
|
|
||||||
export function TPMIndexHOC(WrappedComponent) {
|
export function TPMIndexHOC(WrappedComponent) {
|
||||||
return class II extends React.Component {
|
return class II extends React.Component {
|
||||||
|
@ -27,7 +28,8 @@ export function TPMIndexHOC(WrappedComponent) {
|
||||||
giteaVisible:false,
|
giteaVisible:false,
|
||||||
email:undefined,
|
email:undefined,
|
||||||
completeProfile:false,
|
completeProfile:false,
|
||||||
showCP:false
|
showCP:false,
|
||||||
|
showNotice:true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,9 +216,15 @@ export function TPMIndexHOC(WrappedComponent) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hideSystemNotice=()=>{
|
||||||
|
this.setState({
|
||||||
|
showNotice:false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let { isRender , current_user , giteaVisible , email , completeProfile , showCP } = this.state;
|
let { isRender , current_user , giteaVisible , email , completeProfile , showCP , showNotice , mygetHelmetapi } = this.state;
|
||||||
const common = {
|
const common = {
|
||||||
showLoginDialog: this.showLoginDialog,
|
showLoginDialog: this.showLoginDialog,
|
||||||
checkIfLogin: this.checkIfLogin,
|
checkIfLogin: this.checkIfLogin,
|
||||||
|
@ -225,6 +233,13 @@ export function TPMIndexHOC(WrappedComponent) {
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<div className="indexHOC">
|
<div className="indexHOC">
|
||||||
|
<SystemNotice
|
||||||
|
showNotice={showNotice}
|
||||||
|
system_notification={mygetHelmetapi && mygetHelmetapi.system_notification}
|
||||||
|
history={this.props.history}
|
||||||
|
login={current_user && current_user.login}
|
||||||
|
hideSystemNotice={this.hideSystemNotice}
|
||||||
|
/>
|
||||||
<EducoderAccount visible={giteaVisible} email={email} onOk={this.onOk}/>
|
<EducoderAccount visible={giteaVisible} email={email} onOk={this.onOk}/>
|
||||||
<ProfileModal
|
<ProfileModal
|
||||||
visible={!completeProfile && showCP}
|
visible={!completeProfile && showCP}
|
||||||
|
|
Loading…
Reference in New Issue