修改合并后的issue

This commit is contained in:
何童崇 2022-03-30 21:42:32 +08:00
parent 03bdd37b2f
commit 86e6d0a9f1
11 changed files with 226 additions and 115 deletions

174
package-lock.json generated
View File

@ -265,11 +265,11 @@
}
},
"@babel/runtime-corejs3": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.0.tgz",
"integrity": "sha512-Oi2qwQ21X7/d9gn3WiwkDTJmq3TQtYNz89lRnoFy8VeZpWlsyXvzSwiRrRZ8cXluvSwqKxqHJ6dBd9Rv+p0ZGQ==",
"version": "7.17.2",
"resolved": "http://173.15.15.82:8081/repository/npm-all/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz",
"integrity": "sha512-NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg==",
"requires": {
"core-js-pure": "^3.19.0",
"core-js-pure": "^3.20.2",
"regenerator-runtime": "^0.13.4"
},
"dependencies": {
@ -1364,7 +1364,7 @@
},
"axios": {
"version": "0.18.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz",
"resolved": "http://173.15.15.82:8081/repository/npm-all/axios/-/axios-0.18.1.tgz",
"integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==",
"requires": {
"follow-redirects": "1.5.10",
@ -2179,7 +2179,7 @@
},
"babel-plugin-transform-runtime": {
"version": "6.23.0",
"resolved": "https://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz",
"integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
"requires": {
"babel-runtime": "^6.22.0"
@ -2300,7 +2300,7 @@
},
"babel-preset-react": {
"version": "6.24.1",
"resolved": "https://registry.npm.taobao.org/babel-preset-react/download/babel-preset-react-6.24.1.tgz",
"resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
"integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
"requires": {
"babel-plugin-syntax-jsx": "^6.3.13",
@ -3658,13 +3658,13 @@
},
"code-prettify": {
"version": "0.1.0",
"resolved": "https://registry.npm.taobao.org/code-prettify/download/code-prettify-0.1.0.tgz",
"resolved": "https://registry.npmjs.org/code-prettify/-/code-prettify-0.1.0.tgz",
"integrity": "sha1-RocMyMGlDQm61TmzOpg9vUqjSx4="
},
"codemirror": {
"version": "5.62.3",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.62.3.tgz",
"integrity": "sha512-zZAyOfN8TU67ngqrxhOgtkSAGV9jSpN1snbl8elPtnh9Z5A11daR405+dhLzLnuXrwX0WCShWlybxPN3QC/9Pg=="
"version": "5.65.2",
"resolved": "http://173.15.15.82:8081/repository/npm-all/codemirror/-/codemirror-5.65.2.tgz",
"integrity": "sha512-SZM4Zq7XEC8Fhroqe3LxbEEX1zUPWH1wMr5zxiBuiUF64iYOUH/JI88v4tBag8MiBS8B8gRv8O1pPXGYXQ4ErA=="
},
"collection-visit": {
"version": "1.0.0",
@ -3950,9 +3950,9 @@
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
},
"core-js-pure": {
"version": "3.19.1",
"resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.1.tgz",
"integrity": "sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ=="
"version": "3.21.1",
"resolved": "http://173.15.15.82:8081/repository/npm-all/core-js-pure/-/core-js-pure-3.21.1.tgz",
"integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ=="
},
"core-util-is": {
"version": "1.0.2",
@ -4041,73 +4041,57 @@
}
},
"cross-env": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
"integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
"version": "7.0.3",
"resolved": "http://173.15.15.82:8081/repository/npm-all/cross-env/-/cross-env-7.0.3.tgz",
"integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
"dev": true,
"requires": {
"cross-spawn": "^6.0.5"
"cross-spawn": "^7.0.1"
},
"dependencies": {
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"version": "7.0.3",
"resolved": "http://173.15.15.82:8081/repository/npm-all/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
}
}
},
<<<<<<< HEAD
=======
"cross-fetch": {
"version": "3.1.5",
"resolved": "http://173.15.15.82:8081/repository/npm-all/cross-fetch/-/cross-fetch-3.1.5.tgz",
"integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==",
"dev": true,
"requires": {
"node-fetch": "2.6.7"
},
"dependencies": {
"node-fetch": {
"version": "2.6.7",
"resolved": "http://173.15.15.82:8081/repository/npm-all/node-fetch/-/node-fetch-2.6.7.tgz",
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
"dev": true,
"requires": {
"whatwg-url": "^5.0.0"
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
"which": "^2.0.1"
}
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "http://173.15.15.82:8081/repository/npm-all/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"path-key": {
"version": "3.1.1",
"resolved": "http://173.15.15.82:8081/repository/npm-all/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "http://173.15.15.82:8081/repository/npm-all/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"shebang-command": {
"version": "2.0.0",
"resolved": "http://173.15.15.82:8081/repository/npm-all/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
"shebang-regex": "^3.0.0"
}
},
"shebang-regex": {
"version": "3.0.0",
"resolved": "http://173.15.15.82:8081/repository/npm-all/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"which": {
"version": "2.0.2",
"resolved": "http://173.15.15.82:8081/repository/npm-all/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"cross-port-killer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/cross-port-killer/-/cross-port-killer-1.4.0.tgz",
"integrity": "sha512-ujqfftKsSeorFMVI6JP25xMBixHEaDWVK+NarRZAGnJjR5AhebRQU+g+k/Lj8OHwM6f+wrrs8u5kkCdI7RLtxQ=="
},
>>>>>>> 5b7235fa ()
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@ -5110,7 +5094,7 @@
},
"dom-closest": {
"version": "0.2.0",
"resolved": "https://registry.npm.taobao.org/dom-closest/download/dom-closest-0.2.0.tgz",
"resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz",
"integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=",
"requires": {
"dom-matches": ">=1.0.1"
@ -5154,7 +5138,7 @@
},
"dom-matches": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/dom-matches/download/dom-matches-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz",
"integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw="
},
"dom-scroll-into-view": {
@ -5220,9 +5204,9 @@
}
},
"dompurify": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.1.tgz",
"integrity": "sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw=="
"version": "2.3.6",
"resolved": "http://173.15.15.82:8081/repository/npm-all/dompurify/-/dompurify-2.3.6.tgz",
"integrity": "sha512-OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg=="
},
"domutils": {
"version": "2.7.0",
@ -5410,7 +5394,7 @@
},
"enquire.js": {
"version": "2.1.6",
"resolved": "https://registry.npm.taobao.org/enquire.js/download/enquire.js-2.1.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenquire.js%2Fdownload%2Fenquire.js-2.1.6.tgz",
"resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz",
"integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ="
},
"entities": {
@ -5958,7 +5942,7 @@
},
"eventlistener": {
"version": "0.0.1",
"resolved": "https://registry.npm.taobao.org/eventlistener/download/eventlistener-0.0.1.tgz",
"resolved": "https://registry.npmjs.org/eventlistener/-/eventlistener-0.0.1.tgz",
"integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg="
},
"events": {
@ -7417,7 +7401,7 @@
},
"fsevents": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
"resolved": "http://173.15.15.82:8081/repository/npm-all/fsevents/-/fsevents-1.2.13.tgz",
"integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
"optional": true,
"requires": {
@ -7705,7 +7689,7 @@
},
"hammerjs": {
"version": "2.0.8",
"resolved": "https://registry.npm.taobao.org/hammerjs/download/hammerjs-2.0.8.tgz",
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
"integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
},
"handle-thing": {
@ -8600,7 +8584,7 @@
},
"immutable": {
"version": "3.7.6",
"resolved": "https://registry.npm.taobao.org/immutable/download/immutable-3.7.6.tgz",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz",
"integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks="
},
"import-fresh": {
@ -8907,7 +8891,7 @@
},
"is-buffer": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
"resolved": "http://173.15.15.82:8081/repository/npm-all/is-buffer/-/is-buffer-2.0.5.tgz",
"integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
},
"is-builtin-module": {
@ -10235,7 +10219,7 @@
},
"lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npm.taobao.org/lodash.throttle/download/lodash.throttle-4.1.1.tgz",
"resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
},
"lodash.uniq": {
@ -19107,9 +19091,9 @@
}
},
"wangeditor": {
"version": "4.7.7",
"resolved": "https://registry.npmjs.org/wangeditor/-/wangeditor-4.7.7.tgz",
"integrity": "sha512-eUpgP7i4pCYIjxjGMMcSUtkHUCkdX7BBwLZE6umseoK9hs3qIMu1tQ95FG48NJwL71JyAjt5c1gB56PzducL3Q==",
"version": "4.7.12",
"resolved": "http://173.15.15.82:8081/repository/npm-all/wangeditor/-/wangeditor-4.7.12.tgz",
"integrity": "sha512-5KOIpQ0+idKvDTkjZOp7RHYXA97FyJ9mjwy+zQUdMUCqZItlEXzvVOYtOlHkJr/HcbwgIz/7f/trGFggZK5X4g==",
"requires": {
"@babel/runtime": "^7.11.2",
"@babel/runtime-corejs3": "^7.11.2",
@ -19117,9 +19101,9 @@
},
"dependencies": {
"@babel/runtime": {
"version": "7.15.3",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz",
"integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==",
"version": "7.17.2",
"resolved": "http://173.15.15.82:8081/repository/npm-all/@babel/runtime/-/runtime-7.17.2.tgz",
"integrity": "sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
@ -19132,23 +19116,11 @@
}
},
"wangeditor-for-react": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/wangeditor-for-react/-/wangeditor-for-react-1.5.3.tgz",
"integrity": "sha512-nnfZW6leWrVP5UFLEl93UmquSxgfkMpRM45nRusuA/QA+OPIKh0+JW4ZSmSjpmolhT8//iyQOry1I5EuVFwgog==",
"version": "1.5.6",
"resolved": "http://173.15.15.82:8081/repository/npm-all/wangeditor-for-react/-/wangeditor-for-react-1.5.6.tgz",
"integrity": "sha512-FLxU4K6PXc9AS3SFfU7vZhUR+EpUEWUVraFPRUiSH9VSzt9jLO9fp4IyReT7ebbp/YaMKXHhN5JLu2v2/zvNrA==",
"requires": {
"react": "^17.0.2",
"wangeditor": "^4.7.5"
},
"dependencies": {
"react": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
}
"wangeditor": "^4.7.12"
}
},
"warning": {
@ -19222,7 +19194,7 @@
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"resolved": "http://173.15.15.82:8081/repository/npm-all/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"optional": true
@ -19251,15 +19223,13 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true,
"optional": true
"dev": true
},
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"dev": true,
"optional": true,
"requires": {
"is-extglob": "^2.1.1"
}

View File

@ -119,7 +119,7 @@
},
"scripts": {
"start": "node --max_old_space_size=15360 scripts/start.js",
"build": " NODE_ENV=production node --max_old_space_size=15360 scripts/build.js",
"build": "cross-env NODE_ENV=production node --max_old_space_size=15360 scripts/build.js",
"test-build": "NODE_ENV=testBuild node --max_old_space_size=15360 scripts/build.js",
"pre-build": "NODE_ENV=preBuild node --max_old_space_size=15360 scripts/build.js",
"gen_stats": "NODE_ENV=production webpack --profile --config=./config/webpack.config.prod.js --json > stats.json",

View File

@ -57,8 +57,8 @@ export function initAxiosInterceptors(props) {
var
proxy = "http://localhost:3000";
// proxy = "https://forge.osredm.com";
// proxy = "http://117.50.100.12:49999";
proxy = "http://111.8.36.180:8000";
proxy = "http://117.50.100.12:49999";
// proxy = "http://111.8.36.180:8000";
const requestMap = {};

View File

@ -39,7 +39,7 @@ export function getTestImage(path) {
// https://testbdweb.trustie.net
// const local = 'http://localhost:3000'
const local = 'http://117.50.100.12:49999';
if(path.indexOf("http://")===-1){
if( path&&path.indexOf("http://")===-1){
if (isDev) {
return `${local}${path}`
}

View File

@ -0,0 +1,119 @@
import React, { useEffect, useState } from 'react';
import axios from 'axios';
import { getImageUrl,getLogoImageUrl } from 'educoder';
import { Link } from "react-router-dom";
import './index.scss';
export default ({ current_user, showLoginDialog }) => {
const [mygetHelmetapi2, setMygetHelmetapi2] = useState();
useEffect(() => {
let url = "/setting.json";
axios.get(url).then((response) => {
if (response && response.data) {
setMygetHelmetapi2(response.data.setting);
try {
if (response.data.setting.tab_logo_url) {
gettablogourldata(response);
} else {
gettablogourlnull();
}
} catch (e) {
gettablogourlnull();
}
} else {
gettablogourlnull();
}
}).catch((error) => {
gettablogourlnull();
});
},[])
//
function gettablogourlnull() {
let link = document.createElement('link'),
oldLink = document.getElementById('dynamic-favicon');
link.id = 'dynamic-favicon';
link.rel = 'shortcut icon';
link.href = "/react/build/./favicon.ico";
if (oldLink) {
document.head.removeChild(oldLink);
}
document.head.appendChild(link);
};
//
function gettablogourldata(response) {
document.title = response.data.setting.name;
let link = document.createElement('link'),
oldLink = document.getElementById('dynamic-favicon');
link.id = 'dynamic-favicon';
link.rel = 'shortcut icon';
link.href = '/' + response.data.setting.tab_logo_url;
if (oldLink) {
document.head.removeChild(oldLink);
}
console.log("ac12111:", response.data.setting.tab_logo_url);
document.head.appendChild(link);
}
function educoderloginysl() {
//退
let url = `/accounts/logout.json`;
axios.get((url)).then((result) => {
if (result !== undefined) {
window.location.href = "/";
}
}).catch((error) => {
console.log(error);
})
}
return (
<div className="qz-login">
{current_user === undefined || current_user.login === "" ?
<span className="login-box">
<a onClick={showLoginDialog} className={`mr5 color-grey-9`}>登录</a>
{
mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.register_url && (
<span><em className="vertical-line"></em><a className={`ml5 color-grey-9`} href={`${mygetHelmetapi2.new_course.register_url}`} target="_blank">注册</a></span>
)
}
</span>
:
<div className="ml30 edu-menu-panel" style={{ height: "70px", lineHeight: "70px" }}>
<a href={`/users/${this.props.current_user === undefined ? "" : this.props.current_user.login}/courses`}>
<img alt="头像" className="radius" height="34" id="nh_user_logo" name="avatar_image"
src={getImageUrl(`images/` + current_user.image_url)} width="34">
</img>
</a>
<ul className="edu-menu-list" style={{ top: '60px', textAlign: 'center' }}>
<li className="bor-bottom-greyE" style={{ cursor: "default", background: "#fff" }}>{this.props.current_user.username}</li>
<li>
<Link to={`/users/${this.props.current_user.login}`}>个人中心</Link>
</li>
<li>
<Link to={`/task/myTask`}>创客管理</Link>
</li>
{
mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.my_courses &&
<li><a href={`${mygetHelmetapi2.new_course.my_courses}`} target="_blank">我的课程</a></li>
}
{
mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.my_organ &&
<li><a href={`/users/${this.props.current_user.login}/organizes`} target="_blank">我的组织</a></li>
}
<li className="bor-top-greyE">
<a onClick={educoderloginysl}>退出</a>
</li>
</ul>
</div>
}
</div>
)
}

View File

@ -0,0 +1,20 @@
.qz2022Container{
padding-top:0;
background:#fff ;
}
.qz-login{
position: absolute;
right: 20px;
top: 20px;
color: #fff;
.login-box{
a:hover{
color: #fff !important;
}
}
}
.newFooter{
position: relative;
}

View File

@ -1,6 +1,6 @@
import React, { Fragment } from 'react';
import { Table, Pagination } from 'antd';
import './index.scss';
// import './index.scss';
export default (props) => {
const {className, loading, dataSource, columns, handleRow, total, setCurPage, current, rowSelection, expandedRowRender, expandIconColumnIndex, expandIconAsCell, onShowSizeChange, showSizeChanger, pagination, scroll,pageSize } = props;

View File

@ -12,6 +12,7 @@ import { Menu, Popover, Spin } from "antd";
import banner from './qz2022/image/banner.png'
import { getQz2022, userCompetitionStatus } from "./qz2022/api";
import { paths } from "./qz2022/static";
import Login from './components/login';
const Introduce = Loadable({
loader: () => import('./qz2022/introduce'),
@ -49,6 +50,10 @@ const Management = Loadable({
loader: () => import('./qz2022/management'),
loading: Loading,
})
const Refer = Loadable({
loader: () => import('./qz2022/refer'),
loading: Loading,
})
const Qz2022 = (props) => {
const {history, current_user} = props;
@ -104,6 +109,7 @@ const Qz2022 = (props) => {
return (
<React.Fragment>
{/* banner图+选项 */}
<Login {...props}/>
<img src={banner} className="qz_banner"/>
<div className="qz2022">
{paths.indexOf(active) !== -1 && <ul className="qz2022Menu mt20 qz_main">

View File

@ -1,13 +1,8 @@
import React, { useState, useCallback, useMemo, useEffect } from "react";
import { Input, Select, Button, Form, DatePicker, Table, Pagination, Upload, Modal, Icon, message } from 'antd';
import { appendFileSizeToUploadFileAll } from 'educoder';
import { Link } from "react-router-dom";
import { formatDuring } from 'educoder';
import {httpUrl, current_main_site_url} from '../fetch.js';
import {uploadCompetition, uploadFile} from '../api';
import {getFile} from '../../expert/api';
import { Confirm } from '../../components/ModalFun';
import refer_tip from "../image/refer_tip.svg";
import refer from "../image/refer.svg";
import './index.scss';

View File

@ -824,7 +824,7 @@ class NewHeader extends Component {
{
mygetHelmetapi2 && mygetHelmetapi2.new_course && mygetHelmetapi2.new_course.register_url && (
activeIndex ?
<Button className="register-button" type="primary" size="large">免费注册</Button> :
<Button className="register-button" type="primary" size="large" onClick={()=>{window.open(mygetHelmetapi2.new_course.register_url)}}>免费注册</Button> :
<span><em className="vertical-line"></em><a className={`ml5 ${activeIndex ? 'color-home' : 'color-grey-6'}`} href={`${mygetHelmetapi2.new_course.register_url}`} target="_blank"></a></span>
)
}

View File

@ -347,6 +347,7 @@ export function TPMIndexHOC(WrappedComponent, headFoot) {
render() {
let { Footerdown, isRender, AccountProfiletype, AccountPhoneemailtype, current_user } = this.state;
let qz2022 = this.props.match.path.includes('/competition/qz2022');
const common = {
showLoginDialog: this.showLoginDialog,
@ -391,12 +392,12 @@ export function TPMIndexHOC(WrappedComponent, headFoot) {
{...this.state}
{...this.dialogObj}
/> : ""}
<NewHeader {...this.state} {...this.props}></NewHeader>
{!qz2022&&<NewHeader {...this.state} {...this.props}></NewHeader>}
<Spin spinning={this.state.globalLoading} delay={0} className="globalSpin"
size="large"
tip={this._gLoadingTip || "加载中..."}
>
<div className="newContainer newContainers">
<div className={`newContainer newContainers ${qz2022&&'qz2022Container'}`}>
{
current_user &&
<WrappedComponent initCommonState={(user) => this.initCommonState(user)}