@@ -246,8 +254,6 @@ const CodeReview = (props) => {
zIndex: 1002,
};
- console.log('propsIDE:');
- console.log(propsIDE);
return (
diff --git a/src/forge/Newfile/m_editor.js b/src/forge/Newfile/m_editor.js
index 94fa4b558..77cf86f75 100644
--- a/src/forge/Newfile/m_editor.js
+++ b/src/forge/Newfile/m_editor.js
@@ -35,8 +35,6 @@ class m_editor extends Component {
render() {
const { editorValue, changeValue } = this.state;
const { readOnly, editorType, currentBranch, descName, checkName, detail, match: { params },filepath,ideTheme } = this.props;
- console.log('params')
- console.log(params)
const editor_options = {
lineNumbers: "on",
lineWrapping: true, //强制换行
diff --git a/src/forge/Newfile/upload_file.js b/src/forge/Newfile/upload_file.js
index 2e2f49b65..85655b867 100644
--- a/src/forge/Newfile/upload_file.js
+++ b/src/forge/Newfile/upload_file.js
@@ -15,6 +15,23 @@ class UploadFile extends Component {
};
}
+ componentDidUpdate(){
+ this.updateDocumentTitle();
+ }
+
+ componentDidMount(){
+ this.updateDocumentTitle();
+ }
+
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ if(projectDetail && document.title.indexOf('上传文件-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `上传文件-${author.name}/${name}`;
+ }
+ }
+
// 获取上传后的文件id数组
UploadFunc = (fileList) => {
this.setState({
diff --git a/src/forge/Newfile/webIDE.jsx b/src/forge/Newfile/webIDE.jsx
index ec6361a8a..f0e0478c4 100644
--- a/src/forge/Newfile/webIDE.jsx
+++ b/src/forge/Newfile/webIDE.jsx
@@ -74,12 +74,18 @@ const layoutConfig = {
const platform = 'gitlink';
const WebIDE = ( props) => {
- const { match: { params: { owner, projectsId, branchName } }, } = props;
+ const { match: { params: { owner, projectsId, branchName } }, mygetHelmetapi } = props;
let origin=window.location.origin;
if(origin.indexOf('localhost')>-1){
origin='https://testforgeplus.trustie.net';
}
+ useEffect(()=>{
+ if(mygetHelmetapi && mygetHelmetapi.name){
+ document.title= mygetHelmetapi.name
+ }
+ },[mygetHelmetapi])
+
return (
{
+ if(user){
+ // 更改网页标题
+ const {username, login} = user;
+ document.title = `${menu === "undo" ? '接收仓库' : '成员申请'}-${username}/${login}`;
+ }
+ },[user, menu])
+
useEffect(()=>{
if((username && current_user && (current_user.login !== username))){
props.history.push(`/${username}`);
diff --git a/src/forge/Order/Detail.js b/src/forge/Order/Detail.js
index e590d74ca..5dc19bb8c 100644
--- a/src/forge/Order/Detail.js
+++ b/src/forge/Order/Detail.js
@@ -44,6 +44,20 @@ class Detail extends Component {
this.getDetail();
};
+ componentDidUpdate=()=>{
+ this.updateDocumentTitle();
+ }
+
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ const {data} = this.state;
+ if(projectDetail && data){
+ const { author, name} = projectDetail;
+ document.title = `${data.subject}-疑修-${author.name}/${name}`;
+ }
+ }
+
getDetail = () => {
const { projectsId, orderId, owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/issues/${orderId}.json`;
diff --git a/src/forge/Order/Milepost.js b/src/forge/Order/Milepost.js
index 442852b6e..45121cccd 100644
--- a/src/forge/Order/Milepost.js
+++ b/src/forge/Order/Milepost.js
@@ -26,9 +26,22 @@ class Milepost extends Component {
spinings: true
}
}
+ componentDidUpdate(){
+ this.updateDocumentTitle();
+ }
componentDidMount = () => {
this.getList(1, this.state.status, 'desc');
+ this.updateDocumentTitle();
+ }
+
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ document.title = `里程碑-${author.name}/${name}`;
+ }
}
getList = (page, status, order_type, order_name) => {
diff --git a/src/forge/Order/MilepostDetail.js b/src/forge/Order/MilepostDetail.js
index 02ca7505f..9505fe535 100644
--- a/src/forge/Order/MilepostDetail.js
+++ b/src/forge/Order/MilepostDetail.js
@@ -59,6 +59,7 @@ class MilepostDetail extends Component {
}
componentDidUpdate=(prevProps)=>{
+ this.updateDocumentTitle();
const prebannerList = prevProps && prevProps.bannerList;
const bannerList = this.props && this.props.bannerList;
if(prebannerList !== bannerList){
@@ -71,6 +72,16 @@ class MilepostDetail extends Component {
}
}
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ const {data} = this.state;
+ if(projectDetail && data){
+ const { author, name} = projectDetail;
+ document.title = `${data.name}-里程碑-${author.name}/${name}`;
+ }
+ }
+
getSelectList = () => {
const { projectsId , owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/issues/index_chosen.json`;
diff --git a/src/forge/Order/UpdateMilepost.js b/src/forge/Order/UpdateMilepost.js
index 2cc5d789a..72c288c33 100644
--- a/src/forge/Order/UpdateMilepost.js
+++ b/src/forge/Order/UpdateMilepost.js
@@ -22,6 +22,20 @@ class UpdateMilepost extends Component {
this.getmeil();
}
+ componentDidUpdate=()=>{
+ this.updateDocumentTitle();
+ }
+
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ const {data} = this.state;
+ if(projectDetail && data){
+ const { author, name} = projectDetail;
+ document.title = `${data.name}-里程碑-${author.name}/${name}`;
+ }
+ }
+
onPanelChange = (time, mode) => {
this.setState({
value: time
@@ -53,7 +67,6 @@ class UpdateMilepost extends Component {
name: result.data.name,
description: result.data.description
});
-
}
}).catch((error) => {
console.log(error);
diff --git a/src/forge/Order/newMilepost.js b/src/forge/Order/newMilepost.js
index 7b7c184e2..a5aeb08c5 100644
--- a/src/forge/Order/newMilepost.js
+++ b/src/forge/Order/newMilepost.js
@@ -16,11 +16,26 @@ class NewMilepost extends Component {
isSpin: false
}
}
+
+ componentDidMount = () => {
+ this.updateDocumentTitle();
+ }
+
componentDidUpdate=(prevPros)=>{
if(prevPros && this.props && !this.props.checkIfLogin()){
this.props.history.push("/403")
return
}
+ this.updateDocumentTitle();
+ }
+
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ document.title = `新建里程碑-${author.name}/${name}`;
+ }
}
// componentDidMount = () => {
// this.check_is_login();
@@ -101,7 +116,7 @@ class NewMilepost extends Component {
required: true, message: '请输入标题'
}],
})(
-
+
)}
diff --git a/src/forge/Order/order.js b/src/forge/Order/order.js
index f43de37c4..33a03c559 100644
--- a/src/forge/Order/order.js
+++ b/src/forge/Order/order.js
@@ -75,10 +75,12 @@ class order extends Component {
};
}
-
-
+ componentDidUpdate(){
+ this.updateDocumentTitle();
+ }
componentDidMount = () => {
+ this.updateDocumentTitle();
const datas = cookie.load('states');
let states = datas === "undefined" ? undefined : datas;
if(states){
@@ -94,6 +96,14 @@ class order extends Component {
}
};
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ document.title = `疑修-${author.name}/${name}`;
+ }
+ }
getSelectList = () => {
this.setState({
diff --git a/src/forge/Order/order_form.js b/src/forge/Order/order_form.js
index 3cb3f07f2..7eb22d6d7 100644
--- a/src/forge/Order/order_form.js
+++ b/src/forge/Order/order_form.js
@@ -44,11 +44,28 @@ class order_form extends Component {
this.props.history.push("/403")
return
}
+ this.updateDocumentTitle();
}
componentDidMount = () => {
this.getSelectList();
};
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {form_type, projectDetail} = this.props;
+ const {subject} = this.state;
+ if(projectDetail && form_type){
+ const { author, name} = projectDetail;
+ if(form_type === 'feedback'){
+ document.title = `意见反馈`
+ }else if(form_type === 'new'){
+ document.title = `新建疑修-${author.name}/${name}`
+ }else{
+ subject && (document.title = `${subject}-疑修-${author.name}/${name}`);
+ }
+ }
+ }
+
copyIssueAtWhoInit = (description) =>{
if (description.indexOf("@") !== -1){
this.setState({isSpin: true});
diff --git a/src/forge/SecuritySetting/notice/manager/Index.jsx b/src/forge/SecuritySetting/notice/manager/Index.jsx
index 5ba82d60c..a2200f950 100644
--- a/src/forge/SecuritySetting/notice/manager/Index.jsx
+++ b/src/forge/SecuritySetting/notice/manager/Index.jsx
@@ -40,6 +40,7 @@ function NoticeManager(props){
}
useEffect(()=>{
+ document.title = '通知管理';
axios.get("/template_message_settings.json").then(response => {
if (response && response.status === 200) {
setSettingTypes(response.data.setting_types);
diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.jsx b/src/forge/SecuritySetting/notice/myNotice/Index.jsx
index 1a8ddf9db..23c755508 100644
--- a/src/forge/SecuritySetting/notice/myNotice/Index.jsx
+++ b/src/forge/SecuritySetting/notice/myNotice/Index.jsx
@@ -27,6 +27,10 @@ function MyNotice(props) {
const [currentPage, setCurrentPage] = useState(1);//当前页数
const [onlyUnread, setOnlyUnread] = useState();
+ useEffect(()=>{
+ document.title = "我的通知";
+ }, [])
+
//登录情况下,通过地址访问,直接跳转:/settings/profile
//未登录情况下,通过地址访问,直接跳转:/explore
useEffect(()=>{
@@ -244,7 +248,6 @@ function MyNotice(props) {
})}
{false && messageList && messageList.map(item => {
- console.log('item',item);
// 系统消息
if (noticeType === "0") {
// 消息类别
diff --git a/src/forge/SecuritySetting/sub/New.jsx b/src/forge/SecuritySetting/sub/New.jsx
index cd2e20906..9a0aaed93 100644
--- a/src/forge/SecuritySetting/sub/New.jsx
+++ b/src/forge/SecuritySetting/sub/New.jsx
@@ -1,4 +1,4 @@
-import React , { forwardRef, useState } from 'react';
+import React , { forwardRef, useState, useEffect } from 'react';
import { Link } from 'react-router-dom';
import { Button, Form , Input } from 'antd';
import Axios from 'axios';
@@ -8,6 +8,10 @@ function New({ form , showNotification , history }) {
const { getFieldDecorator, validateFields , setFieldsValue } = form;
const [ msg , setMsg ] = useState(undefined);
+ useEffect(()=>{
+ document.title = '添加SSH密钥'
+ }, [])
+
function submit() {
validateFields((error,values)=>{
if(!error){
@@ -51,7 +55,7 @@ function New({ form , showNotification , history }) {
)}
-
+
)
diff --git a/src/forge/SecuritySetting/sub/SSH.jsx b/src/forge/SecuritySetting/sub/SSH.jsx
index baac12ac0..a6c10800f 100644
--- a/src/forge/SecuritySetting/sub/SSH.jsx
+++ b/src/forge/SecuritySetting/sub/SSH.jsx
@@ -15,6 +15,10 @@ function SSH(props) {
const [ visibleDesc , setVisibleDesc ] = useState(false);
const [ content , setContent ] = useState(undefined);
+ useEffect(()=>{
+ document.title = 'SSH密钥';
+ }, [])
+
useEffect(()=>{
Init();
},[page])
diff --git a/src/forge/Server/List.jsx b/src/forge/Server/List.jsx
index 0de9807a3..1be2df49e 100644
--- a/src/forge/Server/List.jsx
+++ b/src/forge/Server/List.jsx
@@ -9,6 +9,14 @@ function Main(props){
const { current_user , resetUserInfo, projectDetail, showNotification } = props;
+ useEffect(()=>{
+ // 更新网页标题
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ document.title = `服务-${author.name}/${name}`;
+ }
+ }, [projectDetail])
+
useEffect(()=>{
if(current_user && !current_user.login){
props.history.push(`/login?go_page=/${owner}/${projectsId}/service`);
diff --git a/src/forge/Server/data.jsx b/src/forge/Server/data.jsx
index 9c252bb0f..443e9c558 100644
--- a/src/forge/Server/data.jsx
+++ b/src/forge/Server/data.jsx
@@ -63,6 +63,10 @@ function Data(props) {
useEffect(() => {
if(projectDetail){
+ // 更新网页标题
+ const { author, name} = projectDetail;
+ document.title = `codeanalysis-${author.name}/${name}`;
+
if(projectDetail.forked_from_project_id){
history.go(-1);
}else{
diff --git a/src/forge/Server/reposyncer/index.jsx b/src/forge/Server/reposyncer/index.jsx
index 580d5e488..b5d95557a 100644
--- a/src/forge/Server/reposyncer/index.jsx
+++ b/src/forge/Server/reposyncer/index.jsx
@@ -28,6 +28,15 @@ function Reposyncer(propsF){
const { owner , projectsId } = propsF.match.params;
const [storeDetail, setStoreDetail] = useState(null);
+ const { projectDetail } = propsF;
+
+ useEffect(()=>{
+ // 更新网页标题
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ document.title = `reposyncer-${author.name}/${name}`;
+ }
+ }, [projectDetail])
useEffect(()=>{
// 获取仓库同步详情
diff --git a/src/forge/Settings/Branch.js b/src/forge/Settings/Branch.js
index f7e83101d..4a2c4df5b 100644
--- a/src/forge/Settings/Branch.js
+++ b/src/forge/Settings/Branch.js
@@ -32,6 +32,12 @@ export default ((props)=>{
const { projectsId , owner } = props.match.params;
const projectDetail = props.projectDetail;
+ useEffect(()=>{
+ if(projectDetail && document.title.indexOf('分支设置-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `分支设置-${author.name}/${name}`;
+ }
+ }, [projectDetail])
useEffect(()=>{
if(owner){
diff --git a/src/forge/Settings/BranchRule.jsx b/src/forge/Settings/BranchRule.jsx
index 85b9bf20c..d6194a1d7 100644
--- a/src/forge/Settings/BranchRule.jsx
+++ b/src/forge/Settings/BranchRule.jsx
@@ -5,7 +5,7 @@ import { Cancel } from "../Component/layout";
import axios from "axios";
export default Form.create()(
- forwardRef(({ form, match, history , showNotification }) => {
+ forwardRef(({ form, match, history , showNotification, projectDetail }) => {
const [ protect , setProtect ] = useState(false);
const [ protects , setProtects ] = useState(false);
const [ mergeOptions , setMergeOptions ] = useState(undefined);
@@ -31,6 +31,13 @@ export default Form.create()(
}
},[]);
+ useEffect(()=>{
+ if(projectDetail && document.title.indexOf('分支设置-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `分支设置-${author.name}/${name}`;
+ }
+ }, [projectDetail])
+
function getGuardDetail(owner,projectsId,branch){
const url = `/${owner}/${projectsId}/protected_branches/${branch}/edit.json`;
axios.get(url).then((result)=>{
diff --git a/src/forge/Settings/Collaborator.js b/src/forge/Settings/Collaborator.js
index 93d858b38..a4d00a9d6 100644
--- a/src/forge/Settings/Collaborator.js
+++ b/src/forge/Settings/Collaborator.js
@@ -1,4 +1,4 @@
-import React, { useState , useRef } from "react";
+import React, { useState , useRef, useEffect } from "react";
import {WhiteBack} from '../Component/layout';
import AddMember from '../Component/AddMember';
import AddGroup from '../Component/AddGroup';
@@ -13,9 +13,17 @@ function Collaborator(props){
const [ addOperation , setAddOperation] = useState(true);
const [ newGroupId , setNewGroupId] = useState(undefined);
const {projectsId ,owner} = props.match.params;
+ const {projectDetail} = props;
const author = props && props.projectDetail && props.projectDetail.author;
+ useEffect(()=>{
+ if(projectDetail && document.title.indexOf('成员管理-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `成员管理-${author.name}/${name}`;
+ }
+ }, [projectDetail])
+
function getID(id){
setNewId(id);
setNewIdFlag(!newIdFlag);
diff --git a/src/forge/Settings/Setting.js b/src/forge/Settings/Setting.js
index 2d192209c..d8376f784 100644
--- a/src/forge/Settings/Setting.js
+++ b/src/forge/Settings/Setting.js
@@ -37,17 +37,28 @@ class Setting extends Component {
}
componentDidUpdate=(prevPros)=>{
-
+ this.updateDocumentTitle();
if(prevPros && this.props && !this.props.checkIfLogin()){
this.props.history.push("/403")
return;
}
}
componentDidMount = () => {
+ this.updateDocumentTitle();
this.getCategory();
this.getLanguage();
this.getInfo();
};
+
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ if(projectDetail && document.title.indexOf('基本设置-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `基本设置-${author.name}/${name}`;
+ }
+ }
+
getLanguage = () => {
const url = `/project_languages.json`;
axios
diff --git a/src/forge/Settings/Webhooks/Index.jsx b/src/forge/Settings/Webhooks/Index.jsx
index 645185813..f99c49f59 100644
--- a/src/forge/Settings/Webhooks/Index.jsx
+++ b/src/forge/Settings/Webhooks/Index.jsx
@@ -19,6 +19,14 @@ function Index(props) {
const [ totalByUserCreate, setTotalByUserCreate] = useState(undefined);
const { owner , projectsId } = props.match.params;
+ const { projectDetail } = props;
+
+ useEffect(()=>{
+ if(projectDetail && document.title.indexOf('网络钩子-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `网络钩子-${author.name}/${name}`;
+ }
+ }, [projectDetail])
useEffect(()=>{
if(owner && projectsId){
diff --git a/src/forge/Settings/Webhooks/New.jsx b/src/forge/Settings/Webhooks/New.jsx
index abdf8ce63..0dd151af0 100644
--- a/src/forge/Settings/Webhooks/New.jsx
+++ b/src/forge/Settings/Webhooks/New.jsx
@@ -12,7 +12,7 @@ import './Index.scss';
const eventArray = [
"create","delete","push","pull_request_assign","pull_request_review","pull_request_only"
]
-function New({ form , match , showNotification , history }) {
+function New({ form , match , showNotification , history, projectDetail }) {
const [ httpValue , setHttpValue ] = useState("POST");
const [ posthttpValue , setPostHttpValue ] = useState("json");
const [ condition , setCondition ] = useState("push");
@@ -24,6 +24,13 @@ function New({ form , match , showNotification , history }) {
const { getFieldDecorator, validateFields , setFieldsValue } = form;
const { id , owner , projectsId } = match.params;
+ useEffect(()=>{
+ if(projectDetail && document.title.indexOf('网络钩子-') === -1){
+ const { author, name} = projectDetail;
+ document.title = `网络钩子-${author.name}/${name}`;
+ }
+ }, [projectDetail])
+
function compareArray(params) {
if(params && params.length > 0){
if(params.length === 1 && params[0] === "push"){
diff --git a/src/forge/Settings/new_tags.js b/src/forge/Settings/new_tags.js
index 76161293e..a06c20496 100644
--- a/src/forge/Settings/new_tags.js
+++ b/src/forge/Settings/new_tags.js
@@ -50,6 +50,7 @@ class NewTags extends Component {
};
}
componentDidUpdate=(prevPros)=>{
+ this.updateDocumentTitle();
if(prevPros && this.props && !this.props.checkIfLogin()){
this.props.history.push("/403")
return
@@ -57,8 +58,18 @@ class NewTags extends Component {
}
componentDidMount = () => {
this.getList();
+ this.updateDocumentTitle();
};
+ // 更新网页标题
+ updateDocumentTitle(){
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ document.title = `项目标记-${author.name}/${name}`;
+ }
+ }
+
getList = (page, order_name, order_type) => {
this.setState({
isSpin:true
diff --git a/src/forge/TeachingPractice/Teaching.jsx b/src/forge/TeachingPractice/Teaching.jsx
index 774d99e29..74b064182 100644
--- a/src/forge/TeachingPractice/Teaching.jsx
+++ b/src/forge/TeachingPractice/Teaching.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useEffect } from 'react';
import { TPMIndexHOC } from '../../modules/tpm/TPMIndexHOC';
import head from './image/head.png';
import img1 from './image/img1.png';
@@ -20,6 +20,9 @@ import img19 from './image/49.png';
import './Teaching.scss';
function Teaching(){
+ useEffect(()=>{
+ document.title="教学实践";
+ },[])
return(
diff --git a/src/forge/Team/Group/GroupDetailProject.jsx b/src/forge/Team/Group/GroupDetailProject.jsx
index 20284c9fd..2f40bd152 100644
--- a/src/forge/Team/Group/GroupDetailProject.jsx
+++ b/src/forge/Team/Group/GroupDetailProject.jsx
@@ -19,6 +19,7 @@ const Div = styled.div`{
}`
const Imgs = styled.img`{
width:60px;
+ height: 60px;
margin-right:12px;
border-radius:50%;
}`
diff --git a/src/forge/Team/Group/GroupDetails.jsx b/src/forge/Team/Group/GroupDetails.jsx
index 1122ce724..f03a79c0d 100644
--- a/src/forge/Team/Group/GroupDetails.jsx
+++ b/src/forge/Team/Group/GroupDetails.jsx
@@ -25,7 +25,7 @@ export default ((props) => {
const [ members , setMembers ] = useState(undefined);
const [ group , setGroup ] = useState(undefined);
const { OIdentifier, groupId } = props.match.params;
- const { current_user } = props;
+ const { current_user, organizeDetail } = props;
useEffect(()=>{
if(groupId){
@@ -42,6 +42,13 @@ export default ((props) => {
}).catch(error=>{})
}
+ useEffect(()=>{
+ if(group && organizeDetail){
+ const {nickname} = organizeDetail;
+ document.title = `${group.nickname}-${nickname}`
+ }
+ }, [organizeDetail, group])
+
useEffect(()=>{
if(nav === "0"){
getMember(OIdentifier, groupId,page);
diff --git a/src/forge/Team/Group/GroupNew.jsx b/src/forge/Team/Group/GroupNew.jsx
index ad6ff2a16..7155b8271 100644
--- a/src/forge/Team/Group/GroupNew.jsx
+++ b/src/forge/Team/Group/GroupNew.jsx
@@ -1,7 +1,19 @@
-import React from 'react';
+import React, { useEffect } from 'react';
import GroupFrom from './GroupForm'
+import axios from 'axios';
function GropNew(props){
+ const OIdentifier = props.match.params.OIdentifier;
+ // 更改网页标签
+ useEffect(()=>{
+ OIdentifier && axios.get(`/organizations/${OIdentifier}.json`).then(result=>{
+ if(result && result.data){
+ const {nickname} = result.data;
+ document.title = `新建团队-${nickname}`
+ }
+ }).catch(error=>{})
+ },[OIdentifier])
+
return(
diff --git a/src/forge/Team/List.jsx b/src/forge/Team/List.jsx
index aa3a48c16..c21e3e5fe 100644
--- a/src/forge/Team/List.jsx
+++ b/src/forge/Team/List.jsx
@@ -23,6 +23,14 @@ function List(props){
const OIdentifier = props.match.params.OIdentifier;
const organizeDetail = props.organizeDetail;
+ useEffect(()=>{
+ if(organizeDetail){
+ // 更改网页标题
+ const {nickname} = organizeDetail;
+ document.title = `${nickname}`
+ }
+ },[organizeDetail])
+
useEffect(()=>{
if(OIdentifier){
setIsSpin(true);
diff --git a/src/forge/Team/New.jsx b/src/forge/Team/New.jsx
index 9e8b5df00..16247e7b4 100644
--- a/src/forge/Team/New.jsx
+++ b/src/forge/Team/New.jsx
@@ -58,6 +58,7 @@ export default Form.create()(
}
useEffect(()=>{
+ document.title = '新建组织';
setFieldsValue({
visibility:"common"
})
diff --git a/src/forge/Team/Setting/TeamSettingIndex.jsx b/src/forge/Team/Setting/TeamSettingIndex.jsx
index 462a92d10..02f6eda33 100644
--- a/src/forge/Team/Setting/TeamSettingIndex.jsx
+++ b/src/forge/Team/Setting/TeamSettingIndex.jsx
@@ -27,6 +27,14 @@ const Hooks = Loadable({
export default (( props )=>{
const pathname = props.location.pathname;
const OIdentifier = props.match.params.OIdentifier;
+ const {organizeDetail} = props;
+
+ useEffect(()=>{
+ if(organizeDetail){
+ const {nickname} = organizeDetail;
+ document.title = `组织设置-${nickname}`
+ }
+ }, [organizeDetail])
function returnActive (pathname){
let a = 0;
diff --git a/src/forge/Team/Sub/Detail.jsx b/src/forge/Team/Sub/Detail.jsx
index f591c864f..4c2b7b20b 100644
--- a/src/forge/Team/Sub/Detail.jsx
+++ b/src/forge/Team/Sub/Detail.jsx
@@ -114,7 +114,7 @@ function Detail(props){
{
- return
+ return
}}
>
{/* 组织成员 */}
diff --git a/src/forge/Team/Sub/SubDetail.jsx b/src/forge/Team/Sub/SubDetail.jsx
index 6bf79b962..b0b6dbe53 100644
--- a/src/forge/Team/Sub/SubDetail.jsx
+++ b/src/forge/Team/Sub/SubDetail.jsx
@@ -44,6 +44,13 @@ export default ((props)=>{
}
}).catch(error=>{})
}
+
+ useEffect(()=>{
+ if(detail){
+ const {nickname, organization} = detail;
+ document.title = `团队设置-${nickname}-${organization.nickname}`
+ }
+ }, [detail])
return(
diff --git a/src/forge/Team/TeamGroup.jsx b/src/forge/Team/TeamGroup.jsx
index 1920caed6..44062090b 100644
--- a/src/forge/Team/TeamGroup.jsx
+++ b/src/forge/Team/TeamGroup.jsx
@@ -1,9 +1,18 @@
-import React from 'react';
+import React, {useEffect} from 'react';
import { Banner } from '../Component/layout';
import GroupItems from './TeamGroupItems';
const limit = 14;
function TeamGroup({organizeDetail,history,current_user}){
+
+ useEffect(()=>{
+ if(organizeDetail){
+ // 更改网页标题
+ const {nickname} = organizeDetail;
+ document.title = `组织团队-${nickname}`
+ }
+ },[organizeDetail])
+
return(
组织团队
diff --git a/src/forge/Team/TeamMember.jsx b/src/forge/Team/TeamMember.jsx
index 7bffb65d2..676e0d7fe 100644
--- a/src/forge/Team/TeamMember.jsx
+++ b/src/forge/Team/TeamMember.jsx
@@ -20,6 +20,14 @@ function TeamMember({organizeDetail,current_user,history,match}){
}
},[organizeDetail,page]);
+ useEffect(()=>{
+ if(organizeDetail){
+ // 更改网页标题
+ const {nickname} = organizeDetail;
+ document.title = `组织成员-${nickname}`
+ }
+ },[organizeDetail])
+
function getData(){
setIsSpin(true);
const url = `/organizations/${organizeDetail.id}/organization_users.json`;
diff --git a/src/forge/Upload/read.js b/src/forge/Upload/read.js
index 921374120..6f5136471 100644
--- a/src/forge/Upload/read.js
+++ b/src/forge/Upload/read.js
@@ -1,8 +1,5 @@
import React, { Component } from "react";
import { Upload, Icon } from "antd";
-import { getUploadActionUrl, appendFileSizeToUploadFileAll } from "educoder";
-
-import axios from "axios";
const { Dragger } = Upload;
class Read extends Component {
constructor(props) {
@@ -22,57 +19,43 @@ class Read extends Component {
});
};
- handleChange = (info) => {
- let reader = new FileReader();
- reader.readAsText(info.fileList[0].originFileObj, "UTF-8");
- reader.onload = (e) => {
- this.state.fileContent = e.target.result;
- this.props.load && this.props.load(this.state);
- };
- };
-
-
beforeUpload = (file) => {
- const forbidden_type = [
- "jpg",
- "jpeg",
- "png",
- "ico",
- "bmp",
- "gif",
- "pdf",
- "csv",
- "xlsx",
- "xls",
- "tif",
- "svg",
- "psd",
- "cdr",
- "webp",
- "vnd.openxmlformats-officedocument.spreadsheetml.sheet",
- "vnd.ms-powerpoint",
- "vnd.openxmlformats-officedocument.presentationml.presentation",
- "vnd.ms-excel"
- ];
const { fileList } = this.state;
const { size } = this.props;
const isLt100M = file.size / 1024 / 1024 < size;
- const file_type = file.type.split("/").slice(-1)[0];
if (fileList && fileList.length > 0) {
this.props.showNotification("文件已存在, 请删除后再上传");
+ return false;
} else if (!isLt100M) {
this.props.showNotification(`文件大小必须小于${size}MB!`);
- } else if (file_type && forbidden_type.indexOf(file_type) !== -1) {
- this.props.showNotification(`仅支持文本格式,不支持图片,excel等不可以txt读取的文件`);
+ return false;
} else {
this.setState({
fileList: [file],
fileName: file.name,
})
}
- return false;
};
+ // 上传 文件转base64
+ customRequest = (option) =>{
+ const formData = new FormData();
+ formData.append('files[]', option.file);
+ const reader = new FileReader();
+ reader.readAsDataURL(option.file);
+ const {load} = this.props;
+ reader.onloadend = function(e){
+ if(e.target.result){
+ option.onSuccess();
+ const base64 = e.target.result.substring(e.target.result.indexOf('base64')+7, e.target.result.length);
+ load({
+ fileName: option.file.name,
+ fileContent: base64
+ });
+ }
+ }
+ }
+
render() {
//判断是否已经提交,如已提交评论则上一条评论数据清除
const { icon, size } = this.props;
@@ -80,10 +63,10 @@ class Read extends Component {
const upload = {
name: "file",
fileList: fileList,
- onChange: this.handleChange,
+ customRequest: this.customRequest,
onRemove: this.onAttachmentRemove,
- beforeUpload: this.beforeUpload
- };
+ beforeUpload: this.beforeUpload,
+ };
return (
@@ -95,9 +78,9 @@ class Read extends Component {
拖动文件或点击此处上传
-
+ {/*
暂仅支持文本格式,不支持图片,excel等不可以txt读取的文件
-
+ */}
文件名请使用英文且不得超过{size}MB
diff --git a/src/forge/UsersList/fork_users.js b/src/forge/UsersList/fork_users.js
index a3d9c2a2d..4eeeebc21 100644
--- a/src/forge/UsersList/fork_users.js
+++ b/src/forge/UsersList/fork_users.js
@@ -19,8 +19,21 @@ class ForkUsers extends Component {
componentDidMount = () => {
this.getUsersList();
+ this.updateTitle();
};
+ componentDidUpdate=()=>{
+ this.updateTitle();
+ }
+
+ updateTitle=()=>{
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const {author, name} = projectDetail;
+ document.title = `Fork用户-${author.name}/${name}`
+ }
+ }
+
getUsersList = (page, limit) => {
this.setState({
isSpin: true,
diff --git a/src/forge/UsersList/praise_users.js b/src/forge/UsersList/praise_users.js
index 31f364215..4972de11e 100644
--- a/src/forge/UsersList/praise_users.js
+++ b/src/forge/UsersList/praise_users.js
@@ -1,7 +1,21 @@
import React, { Component } from "react";
import CommonUsers from "./common_users"
class PraiseUsers extends Component {
+ componentDidMount=()=>{
+ this.updateTitle();
+ }
+ componentDidUpdate=()=>{
+ this.updateTitle();
+ }
+ updateTitle=()=>{
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const {author, name} = projectDetail;
+ document.title = `点赞用户-${author.name}/${name}`
+ }
+ }
+
render() {
const { owner , projectsId } = this.props.match.params;
return (
diff --git a/src/forge/UsersList/watch_users.js b/src/forge/UsersList/watch_users.js
index a78efcb0b..ebfa86526 100644
--- a/src/forge/UsersList/watch_users.js
+++ b/src/forge/UsersList/watch_users.js
@@ -1,6 +1,21 @@
import React, { Component } from "react";
import CommonUsers from "./common_users"
class WatchUsers extends Component {
+ componentDidMount=()=>{
+ this.updateTitle();
+ }
+ componentDidUpdate=()=>{
+ this.updateTitle();
+ }
+
+ updateTitle=()=>{
+ const {projectDetail} = this.props;
+ if(projectDetail){
+ const {author, name} = projectDetail;
+ document.title = `关注用户-${author.name}/${name}`
+ }
+ }
+
render() {
const { owner , projectsId } = this.props.match.params;
return (
diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx
index e1be70585..3ba29ff41 100644
--- a/src/forge/Wiki/EditWiki.jsx
+++ b/src/forge/Wiki/EditWiki.jsx
@@ -25,6 +25,16 @@ export default Form.create()(({ form, history, showNotification, projectDetail,
const [modal, setModal] = useState(false);
const [modalType, setModalType] = useState();
+ useEffect(()=>{
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ if(wikiName){
+ document.title = `编辑${wikiName}-维基-${author.name}/${name}`;
+ }else{
+ document.title = `新建维基-${author.name}/${name}`;
+ }
+ }
+ }, [projectDetail, wikiName])
useEffect(() => {
wikiName && project && getWiki({
diff --git a/src/forge/Wiki/Index.jsx b/src/forge/Wiki/Index.jsx
index 2e91df164..e47da92cc 100644
--- a/src/forge/Wiki/Index.jsx
+++ b/src/forge/Wiki/Index.jsx
@@ -31,6 +31,17 @@ export default (props) => {
const [urlType, setUrlType] = useState('HTTPS');
+ useEffect(()=>{
+ if(projectDetail){
+ const { author, name} = projectDetail;
+ if(Object.keys(checkItem).length === 0){
+ document.title = `维基-${author.name}/${name}`;
+ }else{
+ document.title = `${checkItem.name}-维基-${author.name}/${name}`;
+ }
+ }
+ }, [projectDetail, checkItem])
+
// 加载wiki列表
useEffect(() => {
project && wikiPages({
diff --git a/src/forge/Wiki/Preview.jsx b/src/forge/Wiki/Preview.jsx
index 93ebe2e8a..04fd9bc63 100644
--- a/src/forge/Wiki/Preview.jsx
+++ b/src/forge/Wiki/Preview.jsx
@@ -18,15 +18,18 @@ export default (props) => {
let projectName = match.params.projectName;
let projectId = match.params.projectId;
- console.log('projectName:');
- console.log(projectName);
-
const [checkItem, setCheckItem] = useState({});
const [itemDetail, setItemDetail] = useState({});
const [fileArr, setFileArr] = useState([]);
const [urlType, setUrlType] = useState('HTTPS');
+ useEffect(()=>{
+ if(checkItem){
+ document.title = `${checkItem.name}-维基预览`
+ }
+ }, [checkItem, projectDetail])
+
useEffect(() => {
projectsId && wikiPages({
owner: owner,
@@ -99,7 +102,7 @@ export default (props) => {
克隆地址
{
checkItem.wiki_clone_link &&
-