From a2d434f0230fe17663eaf3b287857446633a0f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=B8=85?= Date: Thu, 1 Jul 2021 15:13:09 +0800 Subject: [PATCH] =?UTF-8?q?ant=20design=20pro=20v5=20=E5=8F=91=E5=B8=83=20?= =?UTF-8?q?(#8642)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * init * remove Authorized * remove login * remove request * remove path-to-regexp" * remove create-umi * clean dependencies * remove unused less * better login mock * add ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION=site env * support settings dynamic * support umi-plugin-setting-drawer * 🎨 format: clean code * remove clean fetch:blocks * add NoticeIcon * add NoticeIcon * use "@ant-design/pro-layout": "6.0.0-1" * support errorHandler * remove SelectLang * update version * PageHeaderWrapper to PageContainer * PageHeaderWrapper to PageContainer (#6622) * 📌 versions: use alpha version (#6634) * use alpha version 5.0.0 no yet * less test * fix lint error * rename setting Co-authored-by: chenshuai2144 * fix 401 do not to login error * 405 start:no-mock * siderWidth: 208 * side * false * username * remove resolutions * update list demo * correct the text * fix tabs style in antd@4.3 * fix login error * use "@ant-design/pro-layout": "6.0.0-5" * eslint * access * pro-layout 6.0.0-7 * merge master * up layout version * 💄 UI: fix login style warning * upgrade dependency * delete throw error * versions: up @umijs/fabric * change login * do not open defaultOpenAll * rebase error * update demos * deps upgreade * :bug: 修复切换不同权限的账户登录后,access的鉴权不生效问题 (#6997) * :bug: 修复切换不同权限的账户登录后,access的鉴权不生效问题 * :art: prettier code * 修改hash路由下search参数在hash之前,search最后一个参数错误bug (#6908) * 🐛 bug: fix tsc error * config.js里面 history.type 为 hash时,退出重登录后,拼接返回路径时,#号前路径会重复 * prettier all code * merge master * 🐛 bug: fix the problem that modifying URL can bypass permissions * reset hash * fix infinite loop of login page (#7095) * merge master * rm unuse code * rm unuse code * remove unuse code * 🐛 bug: fix redirect error in hash mode * fix redirect * 💥 feat: support defaultSettings close #7407 * sort * sorter * default close umi ui * goto reload window.location.href * add setupTests.js * add localStorageMock init * open esbuild * add exportStatic * better code * add initialStateConfig * remove unuse code * login 翻译 * add key * update siderWidth close #7585 * fix redirect error close #7632 * add childrenRender type * better styles * better styles * remove unuse code close #7648 * default use browser history * close * support unAccessible * up @umijs/preset-react version * merge master * support dumi function * ✨ feat: add react-dev-inspector plugins * 🚑 hotfix: support InspectorWrapper * 🚑 hotfix: support InspectorWrapper * add dumi docs href * 👷 CI: fix Deploy CI * 👷 CI : fix azure-pipelines * fix keys error * fix: version (#7789) * fix lint * fix lint * fix typo * fix type * better code * add openAPI plugins * use openapi plugins * support schemaPath = url * add umi-plugins * add dumi doc * add plugin doc * add config doc * fix: outLogin request method (#8059) (#8061) Co-authored-by: luqili * 非 dev 环境不展示 openapi * locale pt_br Pages added (#8088) * revert surge preview * test: update rebase action * add persian local and fix menu direction for rtl display (#8079) * up @umijs/preset-dumi version * up typescript verison * add waterMark * default open webpack5 * default open webpack5 * support webpack5 * support openAPI is array * upgrade deps * dir * 页面代码结构推荐 * Update global.tsx * Update index.tsx * refactor(app.tsx): dev links use Link * loginPath * fix ci * fix tsc * fix tsc * fix(app.tsx): dev links use umi Link * fix tes * fix warn * refactor(app.tsx): optimization import Link * resetv5-app-tsx-links #8226 * use link to hash * default open fastRefresh * Update README.md (#8356) Ant Design Pro V5 is not released yet. `trial` is often used for released paid product, and `preview` is the regularly used word for pre-release version. * Fixing a few issues with internationalization on the login (#7945) Co-authored-by: chenshuai2144 * Update api.ts (#8424) * chore: support verify commit * fix locale error * support all block * locale: 增加标记,以便删除国际化脚本识别 * fix(locale): 删除request错误捕捉 * chore: remove tag * chore: use fabric verify-commit * chore: up to 5.0.0-beta.3 * chore: remove home page png * use latest * merge master * fix conflict type and eslint waring! (#8644) * chore: open mfsu and webpack5 * try fix ci * fix ci * try fix ci * add test * add test * 增加加载时间 * fix test * prettier all code * docs: change oneapi doc * chore: add umi * rmeove unuse code Co-authored-by: lijiehua <41830859@qq.com> Co-authored-by: 偏右 Co-authored-by: Jerry <510846@qq.com> Co-authored-by: Vern Brandl Co-authored-by: Lee Fan <535536456@qq.com> Co-authored-by: zhangshuling Co-authored-by: Justin Co-authored-by: Jeff Tian Co-authored-by: luqili <33475522+luqil@users.noreply.github.com> Co-authored-by: luqili Co-authored-by: Thiago Tognoli Co-authored-by: abolfazl Co-authored-by: HouKunLin Co-authored-by: SHINCHVEN Co-authored-by: Scott Goci Co-authored-by: _XiaoTian Co-authored-by: 丁田秀 <295434665@qq.com> Co-authored-by: Jiankian --- .github/workflows/ci.yml | 4 +- .github/workflows/deploy.yml | 7 +- .github/workflows/preview-build.yml | 6 +- .github/workflows/preview-deploy.yml | 2 +- .github/workflows/rebase.yml | 14 +- README.md | 2 +- config/config.dev.ts | 4 + config/config.ts | 35 +- config/defaultSettings.ts | 20 +- config/oneapi.json | 593 ++++++++++++++++++ config/routes.ts | 85 +-- jest.config.js | 1 + mock/listTableList.ts | 27 +- mock/notices.ts | 196 +++--- mock/user.ts | 139 ++-- package.json | 52 +- public/home_bg.png | Bin 203330 -> 0 bytes {src/assets => public}/logo.svg | 0 src/access.ts | 9 + src/app.tsx | 136 ++++ src/components/Authorized/Authorized.tsx | 35 -- src/components/Authorized/AuthorizedRoute.tsx | 33 - .../Authorized/CheckPermissions.tsx | 88 --- src/components/Authorized/PromiseRender.tsx | 96 --- src/components/Authorized/Secured.tsx | 80 --- src/components/Authorized/index.tsx | 11 - src/components/Authorized/renderAuthorize.ts | 31 - src/components/Footer/index.tsx | 37 ++ .../GlobalHeader/AvatarDropdown.tsx | 88 --- .../GlobalHeader/NoticeIconView.tsx | 168 ----- src/components/GlobalHeader/RightContent.tsx | 83 --- src/components/HeaderSearch/index.less | 11 +- src/components/HeaderSearch/index.tsx | 18 +- src/components/NoticeIcon/NoticeIcon.tsx | 126 ++++ src/components/NoticeIcon/NoticeList.tsx | 19 +- src/components/NoticeIcon/index.tsx | 262 ++++---- src/components/PageLoading/index.tsx | 5 - .../RightContent/AvatarDropdown.tsx | 103 +++ .../{GlobalHeader => RightContent}/index.less | 28 +- src/components/RightContent/index.tsx | 62 ++ src/components/index.md | 272 ++++++++ src/e2e/__mocks__/antd-pro-merge-less.js | 1 - src/e2e/baseLayout.e2e.js | 8 +- src/global.less | 3 + src/global.tsx | 3 +- src/layouts/BasicLayout.tsx | 183 ------ src/layouts/BlankLayout.tsx | 10 - src/layouts/SecurityLayout.tsx | 58 -- src/layouts/UserLayout.tsx | 70 --- src/locales/en-US.ts | 3 +- src/locales/en-US/pages.ts | 4 +- src/locales/fa-IR.ts | 24 + src/locales/fa-IR/component.ts | 5 + src/locales/fa-IR/globalHeader.ts | 17 + src/locales/fa-IR/menu.ts | 52 ++ src/locales/fa-IR/pages.ts | 67 ++ src/locales/fa-IR/pwa.ts | 7 + src/locales/fa-IR/settingDrawer.ts | 32 + src/locales/fa-IR/settings.ts | 60 ++ src/locales/pt-BR.ts | 2 + src/locales/pt-BR/pages.ts | 70 +++ src/locales/zh-CN.ts | 1 + src/locales/zh-CN/pages.ts | 4 +- src/models/connect.d.ts | 30 - src/models/global.ts | 126 ---- src/models/login.ts | 93 --- src/models/setting.ts | 38 -- src/models/user.ts | 85 --- src/pages/TableList/components/UpdateForm.tsx | 6 +- src/pages/TableList/data.d.ts | 36 -- src/pages/TableList/index.tsx | 29 +- src/pages/TableList/service.ts | 38 -- src/pages/User/login/index.less | 44 -- src/pages/User/login/index.tsx | 263 -------- src/pages/document.ejs | 1 - .../user/Login/index.less} | 43 ++ src/pages/user/Login/index.tsx | 318 ++++++++++ src/service-worker.js | 2 +- src/services/ant-design-pro/api.ts | 83 +++ src/services/ant-design-pro/index.ts | 10 + src/services/ant-design-pro/login.ts | 21 + src/services/ant-design-pro/typings.d.ts | 101 +++ src/services/login.ts | 19 - src/services/swagger/index.ts | 12 + src/services/swagger/pet.ts | 166 +++++ src/services/swagger/store.ts | 54 ++ src/services/swagger/typings.d.ts | 52 ++ src/services/swagger/user.ts | 114 ++++ src/services/user.ts | 13 - src/typings.d.ts | 21 - src/utils/Authorized.ts | 16 - src/utils/authority.ts | 32 - src/utils/request.ts | 55 -- src/utils/utils.less | 16 - src/utils/utils.test.ts | 37 -- src/utils/utils.ts | 24 - tests/run-tests.js | 8 +- tests/setupTests.js | 10 + 98 files changed, 3178 insertions(+), 2510 deletions(-) create mode 100644 config/oneapi.json delete mode 100644 public/home_bg.png rename {src/assets => public}/logo.svg (100%) create mode 100644 src/access.ts create mode 100644 src/app.tsx delete mode 100644 src/components/Authorized/Authorized.tsx delete mode 100644 src/components/Authorized/AuthorizedRoute.tsx delete mode 100644 src/components/Authorized/CheckPermissions.tsx delete mode 100644 src/components/Authorized/PromiseRender.tsx delete mode 100644 src/components/Authorized/Secured.tsx delete mode 100644 src/components/Authorized/index.tsx delete mode 100644 src/components/Authorized/renderAuthorize.ts create mode 100644 src/components/Footer/index.tsx delete mode 100644 src/components/GlobalHeader/AvatarDropdown.tsx delete mode 100644 src/components/GlobalHeader/NoticeIconView.tsx delete mode 100644 src/components/GlobalHeader/RightContent.tsx create mode 100644 src/components/NoticeIcon/NoticeIcon.tsx delete mode 100644 src/components/PageLoading/index.tsx create mode 100644 src/components/RightContent/AvatarDropdown.tsx rename src/components/{GlobalHeader => RightContent}/index.less (65%) create mode 100644 src/components/RightContent/index.tsx create mode 100644 src/components/index.md delete mode 100644 src/e2e/__mocks__/antd-pro-merge-less.js delete mode 100644 src/layouts/BasicLayout.tsx delete mode 100644 src/layouts/BlankLayout.tsx delete mode 100644 src/layouts/SecurityLayout.tsx delete mode 100644 src/layouts/UserLayout.tsx create mode 100644 src/locales/fa-IR.ts create mode 100644 src/locales/fa-IR/component.ts create mode 100644 src/locales/fa-IR/globalHeader.ts create mode 100644 src/locales/fa-IR/menu.ts create mode 100644 src/locales/fa-IR/pages.ts create mode 100644 src/locales/fa-IR/pwa.ts create mode 100644 src/locales/fa-IR/settingDrawer.ts create mode 100644 src/locales/fa-IR/settings.ts create mode 100644 src/locales/pt-BR/pages.ts delete mode 100644 src/models/connect.d.ts delete mode 100644 src/models/global.ts delete mode 100644 src/models/login.ts delete mode 100644 src/models/setting.ts delete mode 100644 src/models/user.ts delete mode 100644 src/pages/TableList/data.d.ts delete mode 100644 src/pages/TableList/service.ts delete mode 100644 src/pages/User/login/index.less delete mode 100644 src/pages/User/login/index.tsx rename src/{layouts/UserLayout.less => pages/user/Login/index.less} (63%) mode change 100755 => 100644 create mode 100644 src/pages/user/Login/index.tsx create mode 100644 src/services/ant-design-pro/api.ts create mode 100644 src/services/ant-design-pro/index.ts create mode 100644 src/services/ant-design-pro/login.ts create mode 100644 src/services/ant-design-pro/typings.d.ts delete mode 100644 src/services/login.ts create mode 100644 src/services/swagger/index.ts create mode 100644 src/services/swagger/pet.ts create mode 100644 src/services/swagger/store.ts create mode 100644 src/services/swagger/typings.d.ts create mode 100644 src/services/swagger/user.ts delete mode 100644 src/services/user.ts delete mode 100644 src/utils/Authorized.ts delete mode 100644 src/utils/authority.ts delete mode 100644 src/utils/request.ts delete mode 100644 src/utils/utils.less delete mode 100644 src/utils/utils.test.ts delete mode 100644 src/utils/utils.ts create mode 100644 tests/setupTests.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ab468cb..311618b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node_version: [10.x, 12.x] + node_version: [12.x, 14.x] os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v1 @@ -16,7 +16,7 @@ jobs: with: node-version: ${{ matrix.node_version }} - run: echo ${{github.ref}} - - run: npm install + - run: yarn - run: yarn run lint - run: yarn run tsc - run: yarn run build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index adfd5300..d6ee7c51 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,10 +12,13 @@ jobs: uses: actions/checkout@master - name: install - run: npm install + run: yarn - name: plugins - run: yarn add umi-plugin-antd-theme umi-plugin-pro + run: yarn add umi-plugin-antd-theme umi-plugin-pro umi-plugin-setting-drawer + + - name: fetch-blocks + run: yarn run pro fetch-blocks --branch=v5 - name: site run: npm run site diff --git a/.github/workflows/preview-build.yml b/.github/workflows/preview-build.yml index 730f841b..e90dae65 100644 --- a/.github/workflows/preview-build.yml +++ b/.github/workflows/preview-build.yml @@ -15,9 +15,9 @@ jobs: - name: build run: | - npm install - npm install umi-plugin-pro --save - npm run build + yarn + yarn add umi-plugin-pro --save + yarn build - name: upload dist artifact uses: actions/upload-artifact@v2 diff --git a/.github/workflows/preview-deploy.yml b/.github/workflows/preview-deploy.yml index 84757119..11c9ff54 100644 --- a/.github/workflows/preview-deploy.yml +++ b/.github/workflows/preview-deploy.yml @@ -2,7 +2,7 @@ name: Preview Deploy on: workflow_run: - workflows: ["Preview Build"] + workflows: ['Preview Build'] types: - completed diff --git a/.github/workflows/rebase.yml b/.github/workflows/rebase.yml index a94c6437..f850ccc8 100644 --- a/.github/workflows/rebase.yml +++ b/.github/workflows/rebase.yml @@ -8,10 +8,10 @@ jobs: if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase') runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - with: - fetch-depth: 0 - - name: Automatic Rebase - uses: cirrus-actions/rebase@1.3 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/checkout@master + with: + fetch-depth: 0 + - name: Automatic Rebase + uses: cirrus-actions/rebase@1.3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 47e5a1ef..16d38a22 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ An out-of-box UI solution for enterprise applications as a React boilerplate. - FAQ: http://pro.ant.design/docs/faq - Mirror Site in China: http://ant-design-pro.gitee.io -## 5.0 is ready for trial! 🎉🎉🎉 +## 5.0 is ready for preview! 🎉🎉🎉 [Try Ant Design Pro 5.0.0](https://beta-pro.ant.design/docs/upgrade-v5-cn) diff --git a/config/config.dev.ts b/config/config.dev.ts index ab0e590f..65de6750 100644 --- a/config/config.dev.ts +++ b/config/config.dev.ts @@ -12,4 +12,8 @@ export default defineConfig({ babelPlugins: [], babelOptions: {}, }, + // mfsu: {}, + // webpack5: { + // lazyCompilation: {}, + // }, }); diff --git a/config/config.ts b/config/config.ts index 698eaa6d..fc977cb8 100644 --- a/config/config.ts +++ b/config/config.ts @@ -1,5 +1,7 @@ // https://umijs.org/config/ import { defineConfig } from 'umi'; +import { join } from 'path'; + import defaultSettings from './defaultSettings'; import proxy from './proxy'; import routes from './routes'; @@ -12,9 +14,13 @@ export default defineConfig({ dva: { hmr: true, }, - history: { - type: 'browser', + layout: { + // https://umijs.org/zh-CN/plugins/plugin-layout + locale: true, + siderWidth: 208, + ...defaultSettings, }, + // https://umijs.org/zh-CN/plugins/plugin-locale locale: { // default zh-CN default: 'zh-CN', @@ -23,7 +29,7 @@ export default defineConfig({ baseNavigator: true, }, dynamicImport: { - loading: '@/components/PageLoading/index', + loading: '@ant-design/pro-layout/es/PageLoading', }, targets: { ie: 11, @@ -34,14 +40,33 @@ export default defineConfig({ theme: { 'primary-color': defaultSettings.primaryColor, }, + // esbuild is father build tools + // https://umijs.org/plugins/plugin-esbuild + esbuild: {}, title: false, ignoreMomentLocale: true, proxy: proxy[REACT_APP_ENV || 'dev'], manifest: { basePath: '/', }, - // 快速刷新功能 https://umijs.org/config#fastrefresh + // Fast Refresh 热更新 fastRefresh: {}, - esbuild: {}, + openAPI: [ + { + requestLibPath: "import { request } from 'umi'", + // 或者使用在线的版本 + // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json" + schemaPath: join(__dirname, 'oneapi.json'), + mock: false, + }, + { + requestLibPath: "import { request } from 'umi'", + schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json', + projectName: 'swagger', + }, + ], + nodeModulesTransform: { type: 'none' }, + mfsu: {}, webpack5: {}, + exportStatic: {}, }); diff --git a/config/defaultSettings.ts b/config/defaultSettings.ts index dd2015b2..15397c6c 100644 --- a/config/defaultSettings.ts +++ b/config/defaultSettings.ts @@ -1,23 +1,21 @@ -import { Settings as ProSettings } from '@ant-design/pro-layout'; +import { Settings as LayoutSettings } from '@ant-design/pro-layout'; -type DefaultSettings = Partial & { - pwa: boolean; -}; - -const proSettings: DefaultSettings = { - navTheme: 'dark', +const Settings: LayoutSettings & { + pwa?: boolean; + logo?: string; +} = { + navTheme: 'light', // 拂晓蓝 primaryColor: '#1890ff', - layout: 'side', + layout: 'mix', contentWidth: 'Fluid', fixedHeader: false, fixSiderbar: true, colorWeak: false, title: 'Ant Design Pro', pwa: false, + logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg', iconfontUrl: '', }; -export type { DefaultSettings }; - -export default proSettings; +export default Settings; diff --git a/config/oneapi.json b/config/oneapi.json new file mode 100644 index 00000000..c77d988b --- /dev/null +++ b/config/oneapi.json @@ -0,0 +1,593 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Ant Design Pro", + "version": "1.0.0" + }, + "servers": [ + { + "url": "http://localhost:8000/" + }, + { + "url": "https://localhost:8000/" + } + ], + "paths": { + "/api/currentUser": { + "get": { + "tags": ["api"], + "description": "获取当前的用户", + "operationId": "currentUser", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrentUser" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/captcha": { + "post": { + "description": "发送验证码", + "operationId": "getFakeCaptcha", + "tags": ["login"], + "parameters": [ + { + "name": "phone", + "in": "query", + "description": "手机号", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FakeCaptcha" + } + } + } + } + } + } + }, + "/api/login/outLogin": { + "post": { + "description": "登录接口", + "operationId": "outLogin", + "tags": ["login"], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/account": { + "post": { + "tags": ["login"], + "description": "登录接口", + "operationId": "login", + "requestBody": { + "description": "登录系统", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginParams" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginResult" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "x-codegen-request-body-name": "body" + }, + "x-swagger-router-controller": "api" + }, + "/api/notices": { + "summary": "getNotices", + "description": "NoticeIconItem", + "get": { + "tags": ["api"], + "operationId": "getNotices", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoticeIconList" + } + } + } + } + } + } + }, + "/api/rule": { + "get": { + "tags": ["rule"], + "description": "获取规则列表", + "operationId": "rule", + "parameters": [ + { + "name": "current", + "in": "query", + "description": "当前的页码", + "schema": { + "type": "number" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "页面的容量", + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleList" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "post": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "addRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "put": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "updateRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "delete": { + "tags": ["rule"], + "description": "删除规则", + "operationId": "removeRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/swagger": { + "x-swagger-pipe": "swagger_raw" + } + }, + "components": { + "schemas": { + "CurrentUser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "userid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "title": { + "type": "string" + }, + "group": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "label": { + "type": "string" + } + } + } + }, + "notifyCount": { + "type": "integer", + "format": "int32" + }, + "unreadCount": { + "type": "integer", + "format": "int32" + }, + "country": { + "type": "string" + }, + "access": { + "type": "string" + }, + "geographic": { + "type": "object", + "properties": { + "province": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + }, + "city": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + } + } + }, + "address": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "LoginResult": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "currentAuthority": { + "type": "string" + } + } + }, + "PageParams": { + "type": "object", + "properties": { + "current": { + "type": "number" + }, + "pageSize": { + "type": "number" + } + } + }, + "RuleListItem": { + "type": "object", + "properties": { + "key": { + "type": "integer", + "format": "int32" + }, + "disabled": { + "type": "boolean" + }, + "href": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "name": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "callNo": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "updatedAt": { + "type": "string", + "format": "datetime" + }, + "createdAt": { + "type": "string", + "format": "datetime" + }, + "progress": { + "type": "integer", + "format": "int32" + } + } + }, + "RuleList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RuleListItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "FakeCaptcha": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "string" + } + } + }, + "LoginParams": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "autoLogin": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "ErrorResponse": { + "required": ["errorCode"], + "type": "object", + "properties": { + "errorCode": { + "type": "string", + "description": "业务约定的错误码" + }, + "errorMessage": { + "type": "string", + "description": "业务上的错误信息" + }, + "success": { + "type": "boolean", + "description": "业务上的请求是否成功" + } + } + }, + "NoticeIconList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NoticeIconItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "NoticeIconItemType": { + "title": "NoticeIconItemType", + "description": "已读未读列表的枚举", + "type": "string", + "properties": {}, + "enum": ["notification", "message", "event"] + }, + "NoticeIconItem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extra": { + "type": "string", + "format": "any" + }, + "key": { "type": "string" }, + "read": { + "type": "boolean" + }, + "avatar": { + "type": "string" + }, + "title": { + "type": "string" + }, + "status": { + "type": "string" + }, + "datetime": { + "type": "string", + "format": "date" + }, + "description": { + "type": "string" + }, + "type": { + "extensions": { + "x-is-enum": true + }, + "$ref": "#/components/schemas/NoticeIconItemType" + } + } + } + } + } +} diff --git a/config/routes.ts b/config/routes.ts index 545d4053..a269819e 100644 --- a/config/routes.ts +++ b/config/routes.ts @@ -1,72 +1,51 @@ export default [ { - path: '/', - component: '../layouts/BlankLayout', + path: '/user', + layout: false, routes: [ { path: '/user', - component: '../layouts/UserLayout', routes: [ { name: 'login', path: '/user/login', - component: './User/login', + component: './user/Login', }, ], }, + ], + }, + { + path: '/welcome', + name: 'welcome', + icon: 'smile', + component: './Welcome', + }, + { + path: '/admin', + name: 'admin', + icon: 'crown', + access: 'canAdmin', + component: './Admin', + routes: [ { - path: '/', - component: '../layouts/SecurityLayout', - routes: [ - { - path: '/', - component: '../layouts/BasicLayout', - authority: ['admin', 'user'], - routes: [ - { - path: '/', - redirect: '/welcome', - }, - { - path: '/welcome', - name: 'welcome', - icon: 'smile', - component: './Welcome', - }, - { - path: '/admin', - name: 'admin', - icon: 'crown', - component: './Admin', - authority: ['admin'], - routes: [ - { - path: '/admin/sub-page', - name: 'sub-page', - icon: 'smile', - component: './Welcome', - authority: ['admin'], - }, - ], - }, - { - name: 'list.table-list', - icon: 'table', - path: '/list', - component: './TableList', - }, - { - component: './404', - }, - ], - }, - { - component: './404', - }, - ], + path: '/admin/sub-page', + name: 'sub-page', + icon: 'smile', + component: './Welcome', }, ], }, + { + name: 'list.table-list', + icon: 'table', + path: '/list', + component: './TableList', + }, + { + path: '/', + redirect: '/welcome', + }, { component: './404', }, diff --git a/jest.config.js b/jest.config.js index 4c4eeaf7..09a2211b 100644 --- a/jest.config.js +++ b/jest.config.js @@ -2,6 +2,7 @@ module.exports = { testURL: 'http://localhost:8000', testEnvironment: './tests/PuppeteerEnvironment', verbose: false, + extraSetupFiles: ['./tests/setupTests.js'], globals: { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: false, localStorage: null, diff --git a/mock/listTableList.ts b/mock/listTableList.ts index 9003724f..154b5891 100644 --- a/mock/listTableList.ts +++ b/mock/listTableList.ts @@ -1,10 +1,11 @@ // eslint-disable-next-line import/no-extraneous-dependencies import { Request, Response } from 'express'; -import { TableListItem, TableListParams } from '@/pages/TableList/data'; +import moment from 'moment'; +import { parse } from 'url'; // mock tableListDataSource const genList = (current: number, pageSize: number) => { - const tableListDataSource: TableListItem[] = []; + const tableListDataSource: API.RuleListItem[] = []; for (let i = 0; i < pageSize; i += 1) { const index = (current - 1) * 10 + i; @@ -21,8 +22,8 @@ const genList = (current: number, pageSize: number) => { desc: '这是一段描述', callNo: Math.floor(Math.random() * 1000), status: Math.floor(Math.random() * 10) % 4, - updatedAt: new Date(), - createdAt: new Date(), + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), progress: Math.ceil(Math.random() * 100), }); } @@ -38,13 +39,17 @@ function getRule(req: Request, res: Response, u: string) { realUrl = req.url; } const { current = 1, pageSize = 10 } = req.query; - const params = (new URLSearchParams(realUrl.split('?')[1]) as unknown) as TableListParams; + const params = parse(realUrl, true).query as unknown as API.PageParams & + API.RuleListItem & { + sorter: any; + filter: any; + }; let dataSource = [...tableListDataSource].slice( ((current as number) - 1) * (pageSize as number), (current as number) * (pageSize as number), ); - const sorter = JSON.parse(params.sorter as any); + const sorter = JSON.parse(params.sorter || ('{}' as any)); if (sorter) { dataSource = dataSource.sort((prev, next) => { let sortNumber = 0; @@ -86,14 +91,14 @@ function getRule(req: Request, res: Response, u: string) { } if (params.name) { - dataSource = dataSource.filter((data) => data.name.includes(params.name || '')); + dataSource = dataSource.filter((data) => data?.name?.includes(params.name || '')); } const result = { data: dataSource, total: tableListDataSource.length, success: true, pageSize, - current: parseInt(`${params.currentPage}`, 10) || 1, + current: parseInt(`${params.current}`, 10) || 1, }; return res.json(result); @@ -116,7 +121,7 @@ function postRule(req: Request, res: Response, u: string, b: Request) { case 'post': (() => { const i = Math.ceil(Math.random() * 10000); - const newRule = { + const newRule: API.RuleListItem = { key: tableListDataSource.length, href: 'https://ant.design', avatar: [ @@ -128,8 +133,8 @@ function postRule(req: Request, res: Response, u: string, b: Request) { desc, callNo: Math.floor(Math.random() * 1000), status: Math.floor(Math.random() * 10) % 2, - updatedAt: new Date(), - createdAt: new Date(), + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), progress: Math.ceil(Math.random() * 100), }; tableListDataSource.unshift(newRule); diff --git a/mock/notices.ts b/mock/notices.ts index b9e3bf29..732dd584 100644 --- a/mock/notices.ts +++ b/mock/notices.ts @@ -1,103 +1,105 @@ import { Request, Response } from 'express'; const getNotices = (req: Request, res: Response) => { - res.json([ - { - id: '000000001', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', - title: '你收到了 14 份新周报', - datetime: '2017-08-09', - type: 'notification', - }, - { - id: '000000002', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', - title: '你推荐的 曲妮妮 已通过第三轮面试', - datetime: '2017-08-08', - type: 'notification', - }, - { - id: '000000003', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', - title: '这种模板可以区分多种通知类型', - datetime: '2017-08-07', - read: true, - type: 'notification', - }, - { - id: '000000004', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', - title: '左侧图标用于区分不同的类型', - datetime: '2017-08-07', - type: 'notification', - }, - { - id: '000000005', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', - title: '内容不要超过两行字,超出时自动截断', - datetime: '2017-08-07', - type: 'notification', - }, - { - id: '000000006', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', - title: '曲丽丽 评论了你', - description: '描述信息描述信息描述信息', - datetime: '2017-08-07', - type: 'message', - clickClose: true, - }, - { - id: '000000007', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', - title: '朱偏右 回复了你', - description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', - datetime: '2017-08-07', - type: 'message', - clickClose: true, - }, - { - id: '000000008', - avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', - title: '标题', - description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', - datetime: '2017-08-07', - type: 'message', - clickClose: true, - }, - { - id: '000000009', - title: '任务名称', - description: '任务需要在 2017-01-12 20:00 前启动', - extra: '未开始', - status: 'todo', - type: 'event', - }, - { - id: '000000010', - title: '第三方紧急代码变更', - description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', - extra: '马上到期', - status: 'urgent', - type: 'event', - }, - { - id: '000000011', - title: '信息安全考试', - description: '指派竹尔于 2017-01-09 前完成更新并发布', - extra: '已耗时 8 天', - status: 'doing', - type: 'event', - }, - { - id: '000000012', - title: 'ABCD 版本发布', - description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', - extra: '进行中', - status: 'processing', - type: 'event', - }, - ]); + res.json({ + data: [ + { + id: '000000001', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: 'notification', + }, + { + id: '000000002', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: 'notification', + }, + { + id: '000000003', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: 'notification', + }, + { + id: '000000004', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000005', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000006', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000007', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000008', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: 'event', + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: 'event', + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: 'event', + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: 'event', + }, + ], + }); }; export default { diff --git a/mock/user.ts b/mock/user.ts index a722c228..49542887 100644 --- a/mock/user.ts +++ b/mock/user.ts @@ -13,58 +13,85 @@ async function getFakeCaptcha(req: Request, res: Response) { return res.json('captcha-xxx'); } +const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env; + +/** + * 当前用户的权限,如果为空代表没登录 + * current user access, if is '', user need login + * 如果是 pro 的预览,默认是有权限的 + */ +let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : ''; + +const getAccess = () => { + return access; +}; + // 代码中会兼容本地 service mock 以及部署站点的静态数据 export default { // 支持值为 Object 和 Array - 'GET /api/currentUser': { - name: 'Serati Ma', - avatar: 'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png', - userid: '00000001', - email: 'antdesign@alipay.com', - signature: '海纳百川,有容乃大', - title: '交互专家', - group: '蚂蚁集团-某某某事业群-某某平台部-某某技术部-UED', - tags: [ - { - key: '0', - label: '很有想法的', - }, - { - key: '1', - label: '专注设计', - }, - { - key: '2', - label: '辣~', - }, - { - key: '3', - label: '大长腿', - }, - { - key: '4', - label: '川妹子', - }, - { - key: '5', - label: '海纳百川', - }, - ], - notifyCount: 12, - unreadCount: 11, - country: 'China', - geographic: { - province: { - label: '浙江省', - key: '330000', - }, - city: { - label: '杭州市', - key: '330100', + 'GET /api/currentUser': (req: Request, res: Response) => { + if (!getAccess()) { + res.status(401).send({ + data: { + isLogin: false, + }, + errorCode: '401', + errorMessage: '请先登录!', + success: true, + }); + return; + } + res.send({ + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注设计', + }, + { + key: '2', + label: '辣~', + }, + { + key: '3', + label: '大长腿', + }, + { + key: '4', + label: '川妹子', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + access: getAccess(), + geographic: { + province: { + label: '浙江省', + key: '330000', + }, + city: { + label: '杭州市', + key: '330100', + }, }, - }, - address: '西湖区工专路 77 号', - phone: '0752-268888888', + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }); }, // GET POST 可省略 'GET /api/users': [ @@ -88,22 +115,24 @@ export default { }, ], 'POST /api/login/account': async (req: Request, res: Response) => { - const { password, userName, type } = req.body; + const { password, username, type } = req.body; await waitTime(2000); - if (password === 'ant.design' && userName === 'admin') { + if (password === 'ant.design' && username === 'admin') { res.send({ status: 'ok', type, currentAuthority: 'admin', }); + access = 'admin'; return; } - if (password === 'ant.design' && userName === 'user') { + if (password === 'ant.design' && username === 'user') { res.send({ status: 'ok', type, currentAuthority: 'user', }); + access = 'user'; return; } if (type === 'mobile') { @@ -112,6 +141,7 @@ export default { type, currentAuthority: 'admin', }); + access = 'admin'; return; } @@ -120,9 +150,14 @@ export default { type, currentAuthority: 'guest', }); + access = 'guest'; + }, + 'POST /api/login/outLogin': (req: Request, res: Response) => { + access = ''; + res.send({ data: {}, success: true }); }, 'POST /api/register': (req: Request, res: Response) => { - res.send({ status: 'ok', currentAuthority: 'user' }); + res.send({ status: 'ok', currentAuthority: 'user', success: true }); }, 'GET /api/500': (req: Request, res: Response) => { res.status(500).send({ diff --git a/package.json b/package.json index 3268f13a..9055270a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ant-design-pro", - "version": "4.5.0", + "version": "5.0.0-beta.3", "private": true, "description": "An out-of-box UI solution for enterprise applications", "scripts": { @@ -15,16 +15,17 @@ "docker:dev": "docker-compose -f ./docker/docker-compose.dev.yml up", "docker:push": "npm run docker-hub:build && npm run docker:tag && docker push antdesign/ant-design-pro", "docker:tag": "docker tag ant-design-pro antdesign/ant-design-pro", - "fetch:blocks": "pro fetch-blocks && npm run prettier", "gh-pages": "gh-pages -d dist", "i18n-remove": "pro i18n-remove --locale=zh-CN --write", "postinstall": "umi g tmp", "lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier", + "lint-staged": "lint-staged", "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", "lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style", "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", - "lint:prettier": "prettier --check \"src/**/*\" --end-of-line auto", + "lint:prettier": "prettier -c --write \"src/**/*\" --end-of-line auto", "lint:style": "stylelint --fix \"src/**/*.less\" --syntax less", + "openapi": "umi openapi", "precommit": "lint-staged", "prettier": "prettier -c --write \"src/**/*\"", "site": "npm run fetch:blocks && npm run build", @@ -38,6 +39,7 @@ "test": "umi test", "test:all": "node ./tests/run-tests.js", "test:component": "umi test ./src/components", + "serve": "umi-serve", "tsc": "tsc --noEmit" }, "lint-staged": { @@ -53,26 +55,26 @@ "not ie <= 10" ], "dependencies": { - "@ant-design/icons": "^4.0.0", - "@ant-design/pro-descriptions": "^1.2.0", - "@ant-design/pro-form": "^1.3.0", - "@ant-design/pro-layout": "^6.9.0", - "@ant-design/pro-table": "^2.17.0", - "@umijs/route-utils": "^1.0.33", - "antd": "^4.15.0", + "@ant-design/icons": "^4.5.0", + "@ant-design/pro-descriptions": "^1.6.8", + "@ant-design/pro-form": "^1.18.3", + "@ant-design/pro-layout": "^6.15.3", + "@ant-design/pro-table": "^2.30.8", + "@umijs/route-utils": "^1.0.36", + "antd": "^4.14.0", "classnames": "^2.2.6", "lodash": "^4.17.11", "moment": "^2.25.3", "omit.js": "^2.0.2", - "react": "^16.14.0", + "react": "^17.0.0", "react-dev-inspector": "^1.1.1", "react-dom": "^17.0.0", "react-helmet-async": "^1.0.4", - "umi": "^3.4.1", - "umi-request": "^1.0.8" + "umi": "^3.5.0", + "umi-serve": "^1.9.10" }, "devDependencies": { - "@ant-design/pro-cli": "^1.0.28", + "@ant-design/pro-cli": "^2.0.2", "@types/classnames": "^2.2.7", "@types/express": "^4.17.0", "@types/history": "^4.7.2", @@ -81,14 +83,16 @@ "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", "@types/react-helmet": "^6.1.0", - "@umijs/fabric": "^2.5.1", + "@umijs/fabric": "^2.6.2", + "@umijs/openapi": "^1.1.14", "@umijs/plugin-blocks": "^2.0.5", "@umijs/plugin-esbuild": "^1.0.1", + "@umijs/plugin-openapi": "^1.2.0", "@umijs/preset-ant-design-pro": "^1.2.0", - "@umijs/preset-react": "^1.4.8", + "@umijs/preset-dumi": "^1.1.7", + "@umijs/preset-react": "^1.7.4", "@umijs/yorkie": "^2.0.3", "carlo": "^0.9.46", - "chalk": "^4.0.0", "cross-env": "^7.0.0", "cross-port-killer": "^1.1.1", "detect-installer": "^1.0.1", @@ -99,21 +103,14 @@ "jsdom-global": "^3.0.2", "lint-staged": "^10.0.0", "mockjs": "^1.0.1-beta3", - "prettier": "^2.0.1", + "prettier": "^2.3.2", "puppeteer-core": "^8.0.0", "stylelint": "^13.0.0", - "typescript": "^4.0.3" + "typescript": "^4.2.2" }, "engines": { "node": ">=10.0.0" }, - "checkFiles": [ - "src/**/*.js*", - "src/**/*.ts*", - "src/**/*.less", - "config/**/*.js*", - "scripts/**/*.js" - ], "create-umi": { "ignoreScript": [ "docker*", @@ -142,5 +139,8 @@ "CNAME", "create-umi" ] + }, + "gitHooks": { + "commit-msg": "fabric verify-commit" } } diff --git a/public/home_bg.png b/public/home_bg.png deleted file mode 100644 index 7c92a4bef248fd9a6cba50e72c5a641ee4cdca2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203330 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¬4*_ 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 z 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 g>MQXTm2T=TNap`^ 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%0DM!Hp}{;&%I4T^x7n$3v;!}60cbAOLzGYwk(SO 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 diff --git a/src/assets/logo.svg b/public/logo.svg similarity index 100% rename from src/assets/logo.svg rename to public/logo.svg diff --git a/src/access.ts b/src/access.ts new file mode 100644 index 00000000..2ec89bdd --- /dev/null +++ b/src/access.ts @@ -0,0 +1,9 @@ +/** + * @see https://umijs.org/zh-CN/plugins/plugin-access + * */ +export default function access(initialState: { currentUser?: API.CurrentUser | undefined }) { + const { currentUser } = initialState || {}; + return { + canAdmin: currentUser && currentUser.access === 'admin', + }; +} diff --git a/src/app.tsx b/src/app.tsx new file mode 100644 index 00000000..246cda9d --- /dev/null +++ b/src/app.tsx @@ -0,0 +1,136 @@ +import type { Settings as LayoutSettings } from '@ant-design/pro-layout'; +import { PageLoading } from '@ant-design/pro-layout'; +import { notification } from 'antd'; +import type { RequestConfig, RunTimeLayoutConfig } from 'umi'; +import { history, Link } from 'umi'; +import RightContent from '@/components/RightContent'; +import Footer from '@/components/Footer'; +import { currentUser as queryCurrentUser } from './services/ant-design-pro/api'; +import { BookOutlined, LinkOutlined } from '@ant-design/icons'; + +const isDev = process.env.NODE_ENV === 'development'; +const loginPath = '/user/login'; + +/** 获取用户信息比较慢的时候会展示一个 loading */ +export const initialStateConfig = { + loading: , +}; + +/** + * @see https://umijs.org/zh-CN/plugins/plugin-initial-state + * */ +export async function getInitialState(): Promise<{ + settings?: Partial; + currentUser?: API.CurrentUser; + fetchUserInfo?: () => Promise; +}> { + const fetchUserInfo = async () => { + try { + const currentUser = await queryCurrentUser(); + return currentUser; + } catch (error) { + history.push(loginPath); + } + return undefined; + }; + // 如果是登录页面,不执行 + if (history.location.pathname !== loginPath) { + const currentUser = await fetchUserInfo(); + return { + fetchUserInfo, + currentUser, + settings: {}, + }; + } + return { + fetchUserInfo, + settings: {}, + }; +} + +/** + * 异常处理程序 + 200: '服务器成功返回请求的数据。', + 201: '新建或修改数据成功。', + 202: '一个请求已经进入后台排队(异步任务)。', + 204: '删除数据成功。', + 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', + 401: '用户没有权限(令牌、用户名、密码错误)。', + 403: '用户得到授权,但是访问是被禁止的。', + 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', + 405: '请求方法不被允许。', + 406: '请求的格式不可得。', + 410: '请求的资源被永久删除,且不会再得到的。', + 422: '当创建一个对象时,发生一个验证错误。', + 500: '服务器发生错误,请检查服务器。', + 502: '网关错误。', + 503: '服务不可用,服务器暂时过载或维护。', + 504: '网关超时。', + //-----English + 200: The server successfully returned the requested data. ', + 201: New or modified data is successful. ', + 202: A request has entered the background queue (asynchronous task). ', + 204: Data deleted successfully. ', + 400: 'There was an error in the request sent, and the server did not create or modify data. ', + 401: The user does not have permission (token, username, password error). ', + 403: The user is authorized, but access is forbidden. ', + 404: The request sent was for a record that did not exist. ', + 405: The request method is not allowed. ', + 406: The requested format is not available. ', + 410': + 'The requested resource is permanently deleted and will no longer be available. ', + 422: When creating an object, a validation error occurred. ', + 500: An error occurred on the server, please check the server. ', + 502: Gateway error. ', + 503: The service is unavailable. ', + 504: The gateway timed out. ', + * @see https://beta-pro.ant.design/docs/request-cn + */ +export const request: RequestConfig = { + errorHandler: (error: any) => { + const { response } = error; + + if (!response) { + notification.error({ + description: '您的网络发生异常,无法连接服务器', + message: '网络异常', + }); + } + throw error; + }, +}; + +// ProLayout 支持的api https://procomponents.ant.design/components/layout +export const layout: RunTimeLayoutConfig = ({ initialState }) => { + return { + rightContentRender: () => , + disableContentMargin: false, + waterMarkProps: { + content: initialState?.currentUser?.name, + }, + footerRender: () =>