diff --git a/package-lock.json b/package-lock.json index 816bd4bc..22705001 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4367,7 +4367,7 @@ }, "cross-env": { "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "requires": { @@ -4376,7 +4376,7 @@ "dependencies": { "cross-spawn": { "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { @@ -4387,13 +4387,13 @@ }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { @@ -4402,13 +4402,13 @@ }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "which": { "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { @@ -8694,6 +8694,14 @@ } } }, + "html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "requires": { + "void-elements": "3.1.0" + } + }, "html-webpack-plugin": { "version": "4.5.2", "resolved": "http://173.15.15.82:8081/repository/npm-all/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", @@ -9140,6 +9148,29 @@ "resolved": "http://173.15.15.82:8081/repository/npm-all/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, + "i18next": { + "version": "23.4.5", + "resolved": "https://registry.npmmirror.com/i18next/-/i18next-23.4.5.tgz", + "integrity": "sha512-XXALnva7/5H+kg7TjDsmzY3jRypuSJvjR1eUWtt11yUgsOqjZFq/mnaujJ/XpVWhUJU75QhCUhrZqAarlYpOSQ==", + "requires": { + "@babel/runtime": "^7.22.5" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + } + } + }, "iconv-lite": { "version": "0.6.3", "resolved": "http://173.15.15.82:8081/repository/npm-all/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -11195,7 +11226,7 @@ "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { "errno": "^0.1.3", @@ -14574,7 +14605,7 @@ }, "react-copy-to-clipboard": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", "requires": { "copy-to-clipboard": "^3.3.1", @@ -14850,6 +14881,30 @@ } } }, + "react-i18next": { + "version": "13.2.0", + "resolved": "https://registry.npmmirror.com/react-i18next/-/react-i18next-13.2.0.tgz", + "integrity": "sha512-YD8xMc+I0jkHHLotd8ERMzZ53hMaCBVLCndbcbBveJn3FbppRP4jyYOAkmR8XItN01sTD9ilAjoEjpH1i42IgA==", + "requires": { + "@babel/runtime": "^7.22.5", + "html-parse-stringify": "^3.0.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.22.11", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.11.tgz", + "integrity": "sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + } + } + }, "react-infinite-scroller": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/react-infinite-scroller/-/react-infinite-scroller-1.2.6.tgz", @@ -16300,7 +16355,7 @@ }, "sass-loader": { "version": "7.3.1", - "resolved": "http://173.15.15.82:8081/repository/npm-all/sass-loader/-/sass-loader-7.3.1.tgz", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-7.3.1.tgz", "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", "dev": true, "requires": { @@ -19166,6 +19221,11 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "dev": true }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "http://173.15.15.82:8081/repository/npm-all/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/package.json b/package.json index c75f9cb9..c549382c 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "editor.md": "^1.5.0", "flv.js": "^1.5.0", "fs-extra": "3.0.1", + "i18next": "^23.4.5", "immutability-helper": "^2.6.6", "install": "^0.12.2", "intersection-observer": "^0.12.2", @@ -77,6 +78,7 @@ "react-dev-utils": "^9.2.0-next.80", "react-dom": "^16.13.1", "react-hot-loader": "^4.12.20", + "react-i18next": "^13.2.0", "react-infinite-scroller": "^1.2.4", "react-loadable": "^5.3.1", "react-monaco-editor": "0.37", diff --git a/src/forge/Component/MemberCards.jsx b/src/forge/Component/MemberCards.jsx index 48d90e13..a02efffb 100644 --- a/src/forge/Component/MemberCards.jsx +++ b/src/forge/Component/MemberCards.jsx @@ -18,6 +18,10 @@ const Name = styled.div`{ height:22px; line-height:22px; margin-bottom:7px; + width: 170px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; }` const Time = styled.div`{ color:#888; diff --git a/src/forge/Information/Component/memberList.jsx b/src/forge/Information/Component/memberList.jsx new file mode 100644 index 00000000..67faf6af --- /dev/null +++ b/src/forge/Information/Component/memberList.jsx @@ -0,0 +1,58 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import { tempEnum } from '../tempInfo'; +import Crown from '../img/crown.png'; +import Nodata from '../../Nodata'; +import nodata from '../img/nodata.png'; + +function Member(props) { + const { vipLists, temp } = props; + + return( +
+ { + vipLists.map((i,k)=>{ + return( +
+
+ +
+
+ {i.typeName} +
+ { temp === tempEnum.zone1 &&
{i.typeName}
} +
+
+

{i.typeIntroduction}

+ { + i.zoneMemberList && i.zoneMemberList.length > 0 ? + + : + ( + temp === tempEnum.zone1 ? : + ) + } +
+ ) + }) + } +
+ ) +} +export default Member; \ No newline at end of file diff --git a/src/forge/Information/Pages/headerPagebyCCF.jsx b/src/forge/Information/Pages/headerPagebyCCF.jsx index 52fa8a68..59b6d9c0 100644 --- a/src/forge/Information/Pages/headerPagebyCCF.jsx +++ b/src/forge/Information/Pages/headerPagebyCCF.jsx @@ -4,31 +4,18 @@ import { httpUrl } from '../fetch'; import { Link } from 'react-router-dom'; import shijian from '../img/shijian.png'; import xuexi from '../img/xuexiguanli.png'; -import { getHomePageList, gethomePageDocList, getAllList, getNewsAllList } from '../api'; +import { getHomePageList, gethomePageDocList, getAllList, getNewsAllList, getVIPLists } from '../api'; import axios from 'axios'; import Partner from '../Component/partner'; +import MemberList from '../Component/memberList'; import '../indexZonebyCCF.scss'; +import '../indexZone1.scss'; import "slick-carousel/slick/slick.css"; import "slick-carousel/slick/slick-theme.css"; import Slider from 'react-slick'; import Left from '../../../home/Img/left.png'; import Right from '../../../home/Img/right.png'; -const setting = { - dots: true, - infinite: true, - speed: 2000, - slidesToShow: 1, - slidesToScroll: 1, - pauseOnDotsHover: true, - autoplaySpeed: 5000, - pauseOnFocus: true, - autoplay: true, - arrows: true, - prevArrow: , - nextArrow: -} - function HeaderPageCCF(props) { const [projectList, setProjectList] = useState(undefined); const [personList, setPersonList] = useState(undefined); @@ -37,6 +24,22 @@ function HeaderPageCCF(props) { const { deptId, cateId } = props.match.params; const { data, id, temp } = props; const [mainList, setMainList] = useState(undefined); + const [tag,setTag] = useState(0); + const setting = { + dots: true, + infinite: true, + speed: 2000, + slidesToShow: 1, + slidesToScroll: 1, + pauseOnDotsHover: true, + autoplaySpeed: 5000, + pauseOnFocus: true, + autoplay: true, + arrows: true, + prevArrow: , + nextArrow: , + afterChange: (index)=> setTag(index) + } useEffect(() => { if (id||cateId) { @@ -49,11 +52,19 @@ function HeaderPageCCF(props) { }, [id,cateId]) function getPersonList() { - getHomePageList(id).then(result => { - if (result) { - setPersonList(result.data.rows); - } - }).catch(error => { }) + // 不分类 + // getHomePageList(id).then(result => { + // if (result) { + // setPersonList(result.data.rows); + // } + // }).catch(error => { }) + // 分类获取首页推荐的会员列表 + getVIPLists(id, {isHomepage: 1}).then(response=>{ + if(response){ + const list = response.data.rows && response.data.rows.filter(item=>item.zoneMemberList); + setPersonList(list); + } + }) } function getNewsList() { @@ -99,14 +110,15 @@ function HeaderPageCCF(props) { } }).catch(error => { }) } + console.log(tag) return ( -
+
{ // 新闻动态 data && data.cmsShow === 1 && newsList && newsList.length >= 0 &&
-

{data.homepageCmsTitle}

-
+

{data.homepageCmsTitle}

+
{ @@ -114,7 +126,9 @@ function HeaderPageCCF(props) { newsList.map((i, k) => { return (
- {window.location.href=`/zone/${deptId}/newdetail/${i.id}`}} /> +
+ {window.location.href=`/zone/${deptId}/newdetail/${i.id}`}} /> +
) }) @@ -123,18 +137,18 @@ function HeaderPageCCF(props) { }
-
    +
      { newsList.map((i, k) => { return (
    • - {i.name} + {i.name}

      {i.publishTime} -

      {i.visits}

      +

      {i.visits}

    • ) @@ -230,9 +244,10 @@ function HeaderPageCCF(props) { { // 核心贡献者 data && data.memberShow === 1 && personList && personList.length > 0 && -
      +

      {data.homepageMemberTitle}

      - { + + {/* {
        { personList.map((i, k) => { @@ -246,7 +261,7 @@ function HeaderPageCCF(props) { }) }
      - } + } */}
      } diff --git a/src/forge/Information/Pages/help.jsx b/src/forge/Information/Pages/help.jsx index 10352e19..a46971fa 100644 --- a/src/forge/Information/Pages/help.jsx +++ b/src/forge/Information/Pages/help.jsx @@ -198,7 +198,7 @@ function ProjectSource(props) { {item.titleStr} ); return ( - + {renderTreeNodes(item.children)} ); @@ -214,16 +214,18 @@ function ProjectSource(props) { { wikiList && (wikiList.length > 0 ? {/* wiki目录导航 */} -
      - - - {renderTreeNodes(initMenuList)} - +
      +
      + + + {renderTreeNodes(initMenuList)} + +
      {/* 内容区 */} {wikiDetail && diff --git a/src/forge/Information/Pages/source.jsx b/src/forge/Information/Pages/source.jsx index d4fe165a..06c22e4f 100644 --- a/src/forge/Information/Pages/source.jsx +++ b/src/forge/Information/Pages/source.jsx @@ -1,5 +1,5 @@ import React , { useEffect , useState } from 'react'; -import { Input , Pagination, Spin } from 'antd'; +import { Input , Pagination, Spin, Tag } from 'antd'; import SourceIcon from '../img/sourceIcon.png'; import { Link } from 'react-router-dom'; import axios from 'axios'; @@ -7,6 +7,7 @@ import { getSourceTypeList , getSourceList , getSourceZoneList } from '../api'; import Nodata from '../../Nodata'; import ImgGreen from '../img/green_nodata.png'; import '../indexZone1.scss'; +import { FlexAJ } from '../../Component/layout'; const { Search } = Input; @@ -53,7 +54,7 @@ function Source(props){ function getLists(){ setIsSpin(true); getSourceList({ - id,pageSize:limit,pageNum:page,typeId:chooseTypeId,domainId:chooseZoneId,name:search + id,pageSize:limit,pageNum:page,searchTypeId:chooseTypeId,domainId:chooseZoneId,name:search }).then(response=>{ if(response){ setSourceList(response.data.rows); @@ -98,7 +99,7 @@ function Source(props){ { zoneList.map((i,k)=>{ return( -
    • {setChooseZoneId(i.id);window.scrollTo(0,450)}} className={chooseZoneId && chooseZoneId === i.id ? "active":"" }>{i.name}
    • +
    • {setChooseZoneId(i.id);window.scrollTo(0,450)}} className={`${chooseZoneId && chooseZoneId === i.id ? "active":""} task-hide`}>{i.name}
    • ) }) } @@ -114,7 +115,7 @@ function Source(props){ { typeList.map((i,k)=>{ return( -
    • {setChooseTypeId(i.id);window.scrollTo(0,450)}} className={chooseTypeId && chooseTypeId === i.id ? "active":"" }>{i.name}
    • +
    • {setChooseTypeId(i.id);window.scrollTo(0,450)}} className={`${chooseTypeId && chooseTypeId === i.id ? "active":""} task-hide`}>{i.name}
    • ) }) } @@ -138,12 +139,19 @@ function Source(props){ {i.summary}

      -

      - {i.downloadCount} -

      + + {temp === "zone" && {i.domainName}} +

      + {i.downloadCount} +

      +
      {temp === "zone1" &&

      {i.domainName} - {i.typeName} + {i.zoneResourceTypeList && + {i.zoneResourceTypeList.reduce((pre, cur)=>{ + return pre ? `${pre}, ${cur.name}` : cur.name + }, '')} + }

      }
      diff --git a/src/forge/Information/Pages/sourceDetail.jsx b/src/forge/Information/Pages/sourceDetail.jsx index 9d157077..d94f8536 100644 --- a/src/forge/Information/Pages/sourceDetail.jsx +++ b/src/forge/Information/Pages/sourceDetail.jsx @@ -7,6 +7,8 @@ import { Link } from 'react-router-dom'; import axios from 'axios'; import { Base64 } from 'js-base64'; import { httpUrl } from '../fetch'; +import { AlignCenter, FlexAJ } from '../../Component/layout'; +import SourceIcon from '../img/sourceIcon.png'; function SourceDetail(props){ @@ -36,7 +38,21 @@ function SourceDetail(props){ { detail &&
      -
      {detail.name}
      +
      + + + {detail.domainName} + {detail.name} + +
      + {detail.downloadCount} +
      +
      + {detail.createUser && detail.createUser.avatar && } + {detail.createUser && {detail.createUser.nickName}} + 发布于{detail.updateTime || detail.createTime} +
      +
      {detail.summary}
      { detail.fileList && detail.fileList.length > 0 &&
        @@ -46,6 +62,7 @@ function SourceDetail(props){
      • {i.fileOriginName} + {i.zoneResourceType.name} {i.fileSizeInfo} 下载
      • @@ -54,16 +71,6 @@ function SourceDetail(props){ }
      } - - { detail.introduction && -
      - -
      - }
      }
      diff --git a/src/forge/Information/Pages/zoneVIP.jsx b/src/forge/Information/Pages/zoneVIP.jsx index 4541c2c8..c9a37ae6 100644 --- a/src/forge/Information/Pages/zoneVIP.jsx +++ b/src/forge/Information/Pages/zoneVIP.jsx @@ -7,6 +7,7 @@ import { tempConfig, tempEnum } from '../tempInfo' import MemberApply from '../Component/memberApply'; import { getVIPLists, getAuditStatus, applyJoin } from '../api'; import nodata from '../img/nodata.png'; +import MemberList from '../Component/memberList'; import '../indexZone1.scss'; @@ -43,7 +44,6 @@ function ZoneVIP(props){ function getMemberStatus() { getAuditStatus(id).then(res => { - console.log(res) if (res && res.data && res.data.code === 200) { setMemberStatus(res.data.data) } else { @@ -83,58 +83,9 @@ function ZoneVIP(props){
      { - vipLists && vipLists.length> 0 && -
      - { - vipLists.map((i,k)=>{ - return( -
      -
      - -
      -
      - {i.typeName} -
      - { temp === tempEnum.zone1 &&
      {i.typeName}
      } -
      -
      -

      {i.typeIntroduction}

      - { - i.zoneMemberList && i.zoneMemberList.length > 0 ? -
        - { - i.zoneMemberList.map((j,key)=>{ - return( - -
      • -
        - -
        -
        {j.name}{j.memberLevel && {j.memberLevel} }
        -

        {j.introduction}

        -
        -
        -
      • - ) - }) - } -
      - : - ( - temp === tempEnum.zone1 ? : - ) - } -
      - ) - }) - } -
      - } - { - vipLists && vipLists.length === 0 && -
      + vipLists && (vipLists.length > 0 ? :
      -
      +
      ) }
      diff --git a/src/forge/Information/api.js b/src/forge/Information/api.js index 80d2f30d..0c8f02b0 100644 --- a/src/forge/Information/api.js +++ b/src/forge/Information/api.js @@ -76,10 +76,11 @@ export function getProjectsTypeLists(id){ }) } /**专区会员 */ -export function getVIPLists(id){ +export function getVIPLists(id, params){ return fetch({ url:`/zone/open/${id}/member/overviewList`, method: 'get', + params }) } diff --git a/src/forge/Information/index.jsx b/src/forge/Information/index.jsx index f775fc9f..053b07ad 100644 --- a/src/forge/Information/index.jsx +++ b/src/forge/Information/index.jsx @@ -121,7 +121,6 @@ function Index(props){ } }).catch(error=>{}) } - console.log(deptId) return(
      { !sourcedetail && (id ? :
      )} diff --git a/src/forge/Information/index.scss b/src/forge/Information/index.scss index 0d488e35..c305887f 100644 --- a/src/forge/Information/index.scss +++ b/src/forge/Information/index.scss @@ -1380,18 +1380,33 @@ margin-bottom: 14px!important; } } + .domainNameBox{ + border:1px solid var(--primary-color); + border-radius:2px; + height: 28px; + padding: 0px 12px; + color: var(--primary-color); + max-width: 70%; + } } } } .source_detail_box{ background-color: #fff; - padding:10px 35px 30px; + padding:10px 35px 70px 30px; .s_d_title{ - padding:25px 0px; + padding:20px 0px 10px; border-bottom: 1px dashed rgba(141, 149, 172, 0.27); color:#1f2329; - font-size:22px; margin-bottom: 20px!important; + &>span{ + color: #4c5876; + } + .publicUserAvatar{ + width: 24px; + border-radius: 50%; + margin-top: -3px; + } } .files_box{ padding:11px 30px; @@ -1405,24 +1420,34 @@ font-size:15px; min-width: 190px; &.task-hide{ - width: 500px; + width: 450px; margin-right: 20px; } } } } + .domainNameBoxD{ + display: inline-block; + border:1px solid var(--primary-color); + border-radius:2px; + height: 28px; + padding: 0px 12px; + color: var(--primary-color); + } } // 帮助中心 .zoneHelpBox{ + .leftMenuBox{ + background: #ffffff; + padding: 25px 18px 25px 15px; + } .leftMenuHC{ width: 290px; min-height: 500px; overflow-x: auto; - &::-webkit-scrollbar{ - display: none; - } - background: #ffffff; - padding: 25px 15px; + // &::-webkit-scrollbar{ + // display: none; + // } .ant-tree.ant-tree-directory > .menuHcNode span.ant-tree-node-content-wrapper.ant-tree-node-selected, .ant-tree.ant-tree-directory .ant-tree-child-tree > .menuHcNode span.ant-tree-node-content-wrapper.ant-tree-node-selected{ color: var(--primary-color); } @@ -1445,6 +1470,9 @@ .searchHC .ant-input-search-icon:hover{ color: var(--primary-color); } + .ant-tree li span.ant-tree-switcher{ + width: 10px; + } } .wikiTitleHC{ font-weight: 700; diff --git a/src/forge/Information/indexZone1.scss b/src/forge/Information/indexZone1.scss index 6ee7816a..f434bba0 100644 --- a/src/forge/Information/indexZone1.scss +++ b/src/forge/Information/indexZone1.scss @@ -721,7 +721,7 @@ align-items: center; margin-top: 10px; .load_count{ - margin-right: 10px; + margin-right: 100px; min-width: 68px; } } diff --git a/src/forge/Information/indexZonebyCCF.scss b/src/forge/Information/indexZonebyCCF.scss index d100e33d..e5a4298e 100644 --- a/src/forge/Information/indexZonebyCCF.scss +++ b/src/forge/Information/indexZonebyCCF.scss @@ -11,7 +11,6 @@ width: 0; .slick-track { - margin-top: 20px; display: flex; height: 100%; @@ -21,19 +20,24 @@ div { height: 100%; - - .regform { - img { - position: relative; - z-index: 1; - top: 30px; - } + .newsBannerBox{ + display: flex; + align-items: center; + align-content: center; + } + .newsImg{ + width: 785px; + height: 590px; + position: relative; + z-index: 1; } } } } .slick-slider { + max-height: 595px; + overflow: hidden; &:hover { .slick-arrow { display: block !important; @@ -76,7 +80,7 @@ text-align: left; left: 50%; margin-left: -115px; - bottom: 5%; + bottom: 12%; position: absolute; display: flex !important; z-index: 2; @@ -123,15 +127,12 @@ } } - .zone_new_three { + .zone_new_three_ccf { margin-left: 30px; display: flex; flex-direction: column; - margin-bottom: 100px !important; - top: 50px; position: relative; - .zone_n_value { margin-top: 20px; @@ -155,9 +156,9 @@ li { background-color: #fff; width: 385px; - padding: 20px !important; + padding: 22px 20px 19px; border-radius: 4px; - margin-bottom: 21px !important; + margin-bottom: 25px !important; position: relative; overflow: hidden; word-break: break-all; @@ -174,6 +175,9 @@ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; + &:hover{ + color: #466aff !important; + } } } diff --git a/src/forge/Main/tree/Index.jsx b/src/forge/Main/tree/Index.jsx index 73ec3aa1..ae3117a8 100644 --- a/src/forge/Main/tree/Index.jsx +++ b/src/forge/Main/tree/Index.jsx @@ -45,7 +45,6 @@ function Index(props) { const {branches, total_count} = result.data; setTotal(total_count) setList(branches); - setNewFormBranchName(branches[0].name); } setIsSpin(false); }).catch(error=>{setIsSpin(false);}) @@ -56,6 +55,7 @@ function Index(props) { const { author, name} = projectDetail; document.title = `所有分支-${author.name}/${name}`; } + setNewFormBranchName(projectDetail && projectDetail.default_branch); }, [projectDetail]) @@ -216,15 +216,15 @@ function Index(props) { setNewBranchError(undefined); const value = e.target.value; if (value) { - const str = '^*/'; + const str = '^*'; let reg = /\\/g; if(reg.test(value)){ - setNewBranchError('分支名不能包含下列任何字符:^ * \\ /'); + setNewBranchError('分支名不能包含下列任何字符:^ * \\ '); }else{ for(var i=0;i -1){ - setNewBranchError('分支名不能包含下列任何字符:^ * \\ /'); + setNewBranchError('分支名不能包含下列任何字符:^ * \\ '); return; }else{ setNewBranchName(e.target.value); @@ -387,7 +387,7 @@ function Index(props) {
      {newBranchError}
      分支起点
      - {setNewFormBranchName(value)}} getPopupContainer={triggerNode => triggerNode.parentNode}> {branchList && branchList.map((item, index)=>{ return {item.name} })} diff --git a/src/forge/Merge/MergeItem.js b/src/forge/Merge/MergeItem.js index 4c82bb39..373532f9 100644 --- a/src/forge/Merge/MergeItem.js +++ b/src/forge/Merge/MergeItem.js @@ -112,7 +112,7 @@ class MergeItem extends Component { {item.is_original ? item.fork_project_user_name @@ -136,7 +136,7 @@ class MergeItem extends Component { {project_author_name}: {item.pull_request_base} diff --git a/src/forge/Merge/MessageCount.js b/src/forge/Merge/MessageCount.js index e1190ebf..b12e73aa 100644 --- a/src/forge/Merge/MessageCount.js +++ b/src/forge/Merge/MessageCount.js @@ -368,9 +368,11 @@ class MessageCount extends Component { ); const permission = projectDetail && (projectDetail.permission === "Admin" || projectDetail.permission === "Owner" || projectDetail.permission === "Manager"); - const permissionByCodeReview = projectDetail && (projectDetail.permission === "Admin" || projectDetail.permission === "Owner" || projectDetail.permission === "Manager" || projectDetail.permission === "Developer") const userLogin = current_user && current_user.login; - const operate = userLogin && projectDetail && pr_status === 0 && permission; + const otherPre = data && data.pull_request && projectDetail && (userLogin === data.pull_request.fork_project_user && projectDetail.permission===""); + const permissionByCodeReview = projectDetail && (projectDetail.permission === "Admin" || projectDetail.permission === "Owner" || projectDetail.permission === "Manager" || projectDetail.permission === "Developer" || otherPre); + const operate = userLogin && projectDetail && pr_status === 0 && permission ; + const cancelOperate = userLogin && pr_status === 0 && ( permissionByCodeReview || otherPre); const open_blockchain = project && project.open_blockchain; return (
      @@ -404,9 +406,9 @@ class MessageCount extends Component { - {data.pull_request.is_original ? data.pull_request.fork_project_user_name : data.issue.author_name}: {data.pull_request && data.pull_request.head} + {data.pull_request && data.pull_request.fork_project_user}: {data.pull_request && data.pull_request.head} @@ -419,9 +421,9 @@ class MessageCount extends Component { - {data.issue.project_author_name}: {data.pull_request.base} + {data.issue.project_author}: {data.pull_request.base}
      @@ -520,7 +522,7 @@ class MessageCount extends Component { )} - {operate && ( + {cancelOperate && (
      ) : ( diff --git a/src/forge/New/Index.js b/src/forge/New/Index.js index 293955e7..f6ccc4d4 100644 --- a/src/forge/New/Index.js +++ b/src/forge/New/Index.js @@ -3,6 +3,7 @@ import { Link } from 'react-router-dom'; import { Input , Form , Select , Checkbox , Button , Spin , AutoComplete, Modal } from 'antd'; import { Base64 } from 'js-base64'; import { AlignCenter } from '../Component/layout'; +import { withTranslation } from 'react-i18next'; import '../css/index.scss'; import './new.scss' @@ -378,6 +379,23 @@ class Index extends Component { } } + changeName=(e)=>{ + let value = e.target.value; + const { t } = this.props; + console.log(this.props,t(value,'en')); + if(value){ + let reg = /[a-zA-Z0-9]/g; + let strArr = value.match(reg); + if(strArr){ + let str = strArr.join(""); + this.props.form.setFieldsValue({ + repository_name:str + }) + }else{ + } + } + } + render() { const { getFieldDecorator } = this.props.form; // 项目类型:deposit-托管项目,mirror-镜像项目 @@ -537,7 +555,7 @@ class Index extends Component { required: true, message: '请填写项目名称' }], })( - + // onBlur={this.changeName} )} @@ -745,6 +763,6 @@ class Index extends Component { } } const WrappedIndexForm = Form.create({ name: 'NewWorkForm' })(Index); -export default WrappedIndexForm; +export default withTranslation()(WrappedIndexForm); diff --git a/src/forge/Newfile/UserSubmitComponent.js b/src/forge/Newfile/UserSubmitComponent.js index b352fd0b..0a72b60e 100644 --- a/src/forge/Newfile/UserSubmitComponent.js +++ b/src/forge/Newfile/UserSubmitComponent.js @@ -169,15 +169,15 @@ class UserSubmitComponent extends Component { callback(); } if (value) { - const str = '^*/'; + const str = '^*'; let reg = /\\/g; if(reg.test(value)){ - callback(分支名不能包含下列任何字符:^*\/); + callback(分支名不能包含下列任何字符:^*\); }else{ for(var i=0;i -1){ - callback(分支名不能包含下列任何字符:^*\/); + callback(分支名不能包含下列任何字符:^*\); return; }else{ continue; diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx index ae6455c0..4c700374 100644 --- a/src/forge/SecuritySetting/Index.jsx +++ b/src/forge/SecuritySetting/Index.jsx @@ -162,10 +162,15 @@ function Index(props) {
    • 我的Bot
    • Bot安装
    -
      + {/*
      • 个人建站
      • +<<<<<<< HEAD
      • 我的站点
      +======= +
    • 我的站点
    • +
    */} +>>>>>>> 4913bc56a825315e970989217acf13cdd115a53f
diff --git a/src/forge/Settings/Branch.js b/src/forge/Settings/Branch.js index 4a2c4df5..efa7aa40 100644 --- a/src/forge/Settings/Branch.js +++ b/src/forge/Settings/Branch.js @@ -6,6 +6,7 @@ import { AlignCenter , WhiteBack , FlexAJ } from '../Component/layout'; import axios from 'axios'; import { Button, Select , Pagination } from 'antd'; import { getBranch } from '../GetData/getData'; +import { turnbar , returnbar} from 'educoder'; const Div = styled.div`{ padding:20px 30px; @@ -95,6 +96,11 @@ export default ((props)=>{ setPage(page); } + function changeBranch(b){ + console.log(returnbar(b)); + setBranch(returnbar(b)); + } + return( <span className="font-18">分支设置</span> @@ -107,7 +113,7 @@ export default ((props)=>{ branch={branch} repo_id={ projectDetail && projectDetail.repo_id} projectsId={projectsId} - changeBranch={setBranch} + changeBranch={changeBranch} owner={owner} history={props.history} branchList = {branchList} @@ -123,13 +129,13 @@ export default ((props)=>{ branch={protectBranch} repo_id={ projectDetail && projectDetail.repo_id} projectsId={projectsId} - changeBranch={setProtectBranch} + changeBranch={(b)=>{setProtectBranch(returnbar(b))}} owner={owner} history={props.history} branchList = {branchList} tagflag={false} /> - 0?"color-blue ml20":"color-grey ml20"} onClick={()=>settingRule(protectBranch)}>设置分支保护 + 0?"color-blue ml20":"color-grey ml20"} onClick={()=>settingRule(turnbar(protectBranch))}>设置分支保护 { protectBranchList && protectBranchList.length > 0 && diff --git a/src/forge/Settings/BranchRule.jsx b/src/forge/Settings/BranchRule.jsx index d6194a1d..1abf1296 100644 --- a/src/forge/Settings/BranchRule.jsx +++ b/src/forge/Settings/BranchRule.jsx @@ -3,6 +3,7 @@ import { Form, InputNumber , Select, Button , Checkbox , Radio } from "antd"; import Title from "../Component/Title"; import { Cancel } from "../Component/layout"; import axios from "axios"; +import { turnbar , returnbar} from 'educoder'; export default Form.create()( forwardRef(({ form, match, history , showNotification, projectDetail }) => { @@ -68,7 +69,7 @@ export default Form.create()( let url = ""; if(protects){ // 为true则修改 - url = `/${owner}/${projectsId}/protected_branches/${branch}.json`; + url = `/${owner}/${projectsId}/protected_branches/${turnbar(branch)}.json`; }else{ // 否则是保存 url = `/${owner}/${projectsId}/protected_branches.json`; @@ -122,7 +123,7 @@ export default Form.create()( } return (
- 新建'{branch}'保护分支规则 + 新建'{returnbar(branch)}'保护分支规则
{helper( diff --git a/src/forge/users/Material/Index.jsx b/src/forge/users/Material/Index.jsx index 68a0fa4e..56f6799b 100644 --- a/src/forge/users/Material/Index.jsx +++ b/src/forge/users/Material/Index.jsx @@ -55,7 +55,7 @@ function Index(props){ {props.history.push('/settings/phone')}}>手机号管理 {props.history.push('/settings/emails')}}>邮箱管理 {props.history.push('/settings/password')}}>密码管理 - {props.history.push('/settings/verification')}}>身份认证 + {/* {props.history.push('/settings/verification')}}>身份认证 */} {props.history.push('/settings/cancel')}}>账号注销 }
diff --git a/src/glcc/apply/editInfo.jsx b/src/glcc/apply/editInfo.jsx index b9b836e4..cd037a6b 100644 --- a/src/glcc/apply/editInfo.jsx +++ b/src/glcc/apply/editInfo.jsx @@ -242,12 +242,12 @@ function EditRepoApplyInfo(props) { { pattern: emailreg, message: "请输入正确的邮箱地址"},], {verify("name")}}/> )} -
{helper('社区简介', +
{helper('项目简介', '', 'projectIntro', - [{ required: true, message: "请输入社区简介" }, + [{ required: true, message: "请输入项目简介" }, { max: 200, message: '超出限制长度200位字符,请重新编辑' }], -