balibabu
yangqianjuan
commited on
Commit
·
e1bc1d4
1
Parent(s):
072f9dd
feat: install prettier to format code and add react-dev-inspector to locate code in the IDE faster (#44)
Browse files* feat: add react-dev-inspector to locate code in the IDE faster
* feat: install prettier to format code
---------
Co-authored-by: yangqianjuan <[email protected]>
- .vscode/settings.json +3 -0
- web/.prettierignore +3 -0
- web/.prettierrc +8 -0
- web/.umirc.ts +1 -1
- web/package-lock.json +0 -0
- web/package.json +42 -37
- web/src/app.tsx +6 -0
- web/src/pages/knowledge/index.less +23 -24
- web/src/pages/knowledge/model.ts +19 -21
.vscode/settings.json
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"search-node-modules.path": "web/node_modules"
|
| 3 |
+
}
|
web/.prettierignore
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
node_modules
|
| 2 |
+
.umi
|
| 3 |
+
.umi-production
|
web/.prettierrc
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"printWidth": 80,
|
| 3 |
+
"singleQuote": true,
|
| 4 |
+
"trailingComma": "all",
|
| 5 |
+
"proseWrap": "never",
|
| 6 |
+
"overrides": [{ "files": ".prettierrc", "options": { "parser": "json" } }],
|
| 7 |
+
"plugins": ["prettier-plugin-organize-imports", "prettier-plugin-packagejson"]
|
| 8 |
+
}
|
web/.umirc.ts
CHANGED
|
@@ -16,7 +16,7 @@ export default defineConfig({
|
|
| 16 |
history: {
|
| 17 |
type: 'browser',
|
| 18 |
},
|
| 19 |
-
plugins: ['@umijs/plugins/dist/dva'],
|
| 20 |
dva: {},
|
| 21 |
// proxy: {
|
| 22 |
// '/v1': {
|
|
|
|
| 16 |
history: {
|
| 17 |
type: 'browser',
|
| 18 |
},
|
| 19 |
+
plugins: ['@react-dev-inspector/umi4-plugin','@umijs/plugins/dist/dva',],
|
| 20 |
dva: {},
|
| 21 |
// proxy: {
|
| 22 |
// '/v1': {
|
web/package-lock.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
web/package.json
CHANGED
|
@@ -1,37 +1,42 @@
|
|
| 1 |
-
{
|
| 2 |
-
"private": true,
|
| 3 |
-
"author": "zhaofengchao <[email protected]>",
|
| 4 |
-
"scripts": {
|
| 5 |
-
"
|
| 6 |
-
"
|
| 7 |
-
"postinstall": "umi setup",
|
| 8 |
-
"setup": "umi setup",
|
| 9 |
-
"start": "npm run dev"
|
| 10 |
-
},
|
| 11 |
-
"dependencies": {
|
| 12 |
-
"@ant-design/icons": "^5.2.6",
|
| 13 |
-
"@ant-design/pro-components": "^2.6.46",
|
| 14 |
-
"@ant-design/pro-layout": "^7.17.16",
|
| 15 |
-
"antd": "^5.12.7",
|
| 16 |
-
"axios": "^1.6.3",
|
| 17 |
-
"classnames": "^2.5.1",
|
| 18 |
-
"i18next": "^23.7.16",
|
| 19 |
-
"js-base64": "^3.7.5",
|
| 20 |
-
"jsencrypt": "^3.3.2",
|
| 21 |
-
"lodash": "^4.17.21",
|
| 22 |
-
"moment": "^2.30.1",
|
| 23 |
-
"react-i18next": "^14.0.0",
|
| 24 |
-
"react-infinite-scroll-component": "^6.1.0",
|
| 25 |
-
"umi": "^4.0.90",
|
| 26 |
-
"umi-request": "^1.4.0"
|
| 27 |
-
},
|
| 28 |
-
"devDependencies": {
|
| 29 |
-
"@
|
| 30 |
-
"@types/
|
| 31 |
-
"@types/react
|
| 32 |
-
"@
|
| 33 |
-
"
|
| 34 |
-
"
|
| 35 |
-
"
|
| 36 |
-
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"private": true,
|
| 3 |
+
"author": "zhaofengchao <[email protected]>",
|
| 4 |
+
"scripts": {
|
| 5 |
+
"build": "umi build",
|
| 6 |
+
"dev": "cross-env PORT=9000 umi dev",
|
| 7 |
+
"postinstall": "umi setup",
|
| 8 |
+
"setup": "umi setup",
|
| 9 |
+
"start": "npm run dev"
|
| 10 |
+
},
|
| 11 |
+
"dependencies": {
|
| 12 |
+
"@ant-design/icons": "^5.2.6",
|
| 13 |
+
"@ant-design/pro-components": "^2.6.46",
|
| 14 |
+
"@ant-design/pro-layout": "^7.17.16",
|
| 15 |
+
"antd": "^5.12.7",
|
| 16 |
+
"axios": "^1.6.3",
|
| 17 |
+
"classnames": "^2.5.1",
|
| 18 |
+
"i18next": "^23.7.16",
|
| 19 |
+
"js-base64": "^3.7.5",
|
| 20 |
+
"jsencrypt": "^3.3.2",
|
| 21 |
+
"lodash": "^4.17.21",
|
| 22 |
+
"moment": "^2.30.1",
|
| 23 |
+
"react-i18next": "^14.0.0",
|
| 24 |
+
"react-infinite-scroll-component": "^6.1.0",
|
| 25 |
+
"umi": "^4.0.90",
|
| 26 |
+
"umi-request": "^1.4.0"
|
| 27 |
+
},
|
| 28 |
+
"devDependencies": {
|
| 29 |
+
"@react-dev-inspector/umi4-plugin": "^2.0.1",
|
| 30 |
+
"@types/lodash": "^4.14.202",
|
| 31 |
+
"@types/react": "^18.0.33",
|
| 32 |
+
"@types/react-dom": "^18.0.11",
|
| 33 |
+
"@umijs/plugins": "^4.1.0",
|
| 34 |
+
"cross-env": "^7.0.3",
|
| 35 |
+
"prettier": "^3.2.4",
|
| 36 |
+
"prettier-plugin-organize-imports": "^3.2.4",
|
| 37 |
+
"prettier-plugin-packagejson": "^2.4.9",
|
| 38 |
+
"react-dev-inspector": "^2.0.1",
|
| 39 |
+
"typescript": "^5.0.3",
|
| 40 |
+
"umi-plugin-icons": "^0.1.1"
|
| 41 |
+
}
|
| 42 |
+
}
|
web/src/app.tsx
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import React, { ReactNode } from "react";
|
| 2 |
+
import { Inspector } from "react-dev-inspector";
|
| 3 |
+
|
| 4 |
+
export function rootContainer(container: ReactNode) {
|
| 5 |
+
return React.createElement(Inspector, null, container);
|
| 6 |
+
}
|
web/src/pages/knowledge/index.less
CHANGED
|
@@ -1,41 +1,40 @@
|
|
| 1 |
.knowledge {
|
| 2 |
-
|
| 3 |
}
|
| 4 |
|
| 5 |
.container {
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
display: flex;
|
| 8 |
-
flex-direction: column;
|
| 9 |
justify-content: space-between;
|
| 10 |
|
| 11 |
-
.
|
| 12 |
-
|
| 13 |
-
justify-content: space-between;
|
| 14 |
-
|
| 15 |
-
.context {
|
| 16 |
-
flex: 1
|
| 17 |
-
}
|
| 18 |
}
|
|
|
|
| 19 |
|
| 20 |
-
|
| 21 |
-
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
}
|
| 26 |
}
|
|
|
|
| 27 |
}
|
| 28 |
|
| 29 |
.card {
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
}
|
| 35 |
-
|
| 36 |
-
margin-bottom: 10px;
|
| 37 |
}
|
| 38 |
|
| 39 |
-
|
|
|
|
| 40 |
|
| 41 |
-
|
|
|
|
|
|
| 1 |
.knowledge {
|
| 2 |
+
padding: 24px;
|
| 3 |
}
|
| 4 |
|
| 5 |
.container {
|
| 6 |
+
height: 100px;
|
| 7 |
+
display: flex;
|
| 8 |
+
flex-direction: column;
|
| 9 |
+
justify-content: space-between;
|
| 10 |
+
|
| 11 |
+
.content {
|
| 12 |
display: flex;
|
|
|
|
| 13 |
justify-content: space-between;
|
| 14 |
|
| 15 |
+
.context {
|
| 16 |
+
flex: 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
}
|
| 18 |
+
}
|
| 19 |
|
| 20 |
+
.footer {
|
| 21 |
+
height: 20px;
|
| 22 |
|
| 23 |
+
.text {
|
| 24 |
+
margin-left: 10px;
|
|
|
|
| 25 |
}
|
| 26 |
+
}
|
| 27 |
}
|
| 28 |
|
| 29 |
.card {
|
| 30 |
+
:global {
|
| 31 |
+
.ant-card-body {
|
| 32 |
+
padding: 10px;
|
| 33 |
+
margin: 0;
|
|
|
|
|
|
|
|
|
|
| 34 |
}
|
| 35 |
|
| 36 |
+
margin-bottom: 10px;
|
| 37 |
+
}
|
| 38 |
|
| 39 |
+
cursor: pointer;
|
| 40 |
+
}
|
web/src/pages/knowledge/model.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
| 1 |
-
import { Effect, Reducer, Subscription } from 'umi'
|
| 2 |
-
import { message } from 'antd';
|
| 3 |
import kbService from '@/services/kbService';
|
|
|
|
| 4 |
|
| 5 |
export interface knowledgeModelState {
|
| 6 |
loading: boolean;
|
| 7 |
-
data: any[]
|
| 8 |
}
|
| 9 |
export interface knowledgegModelType {
|
| 10 |
namespace: 'knowledgeModel';
|
|
@@ -22,45 +21,44 @@ const Model: knowledgegModelType = {
|
|
| 22 |
namespace: 'knowledgeModel',
|
| 23 |
state: {
|
| 24 |
loading: false,
|
| 25 |
-
data: []
|
| 26 |
},
|
| 27 |
subscriptions: {
|
| 28 |
setup({ dispatch, history }) {
|
| 29 |
-
history.listen(location => {
|
| 30 |
-
console.log(location)
|
| 31 |
});
|
| 32 |
-
}
|
| 33 |
},
|
| 34 |
effects: {
|
| 35 |
-
*
|
| 36 |
const { data, response } = yield call(kbService.rmKb, payload);
|
| 37 |
-
const { retcode, data: res, retmsg } = data
|
| 38 |
if (retcode === 0) {
|
| 39 |
-
callback && callback()
|
| 40 |
-
|
| 41 |
}
|
| 42 |
},
|
| 43 |
*getList({ payload = {} }, { call, put }) {
|
| 44 |
yield put({
|
| 45 |
type: 'updateState',
|
| 46 |
payload: {
|
| 47 |
-
loading: true
|
| 48 |
-
}
|
| 49 |
});
|
| 50 |
const { data, response } = yield call(kbService.getList, payload);
|
| 51 |
-
const { retcode, data: res, retmsg } = data
|
| 52 |
yield put({
|
| 53 |
type: 'updateState',
|
| 54 |
payload: {
|
| 55 |
-
loading: false
|
| 56 |
-
}
|
| 57 |
});
|
| 58 |
if (retcode === 0) {
|
| 59 |
yield put({
|
| 60 |
type: 'updateState',
|
| 61 |
payload: {
|
| 62 |
-
data: res
|
| 63 |
-
}
|
| 64 |
});
|
| 65 |
}
|
| 66 |
},
|
|
@@ -69,9 +67,9 @@ const Model: knowledgegModelType = {
|
|
| 69 |
updateState(state, { payload }) {
|
| 70 |
return {
|
| 71 |
...state,
|
| 72 |
-
...payload
|
| 73 |
};
|
| 74 |
-
}
|
| 75 |
-
}
|
| 76 |
};
|
| 77 |
export default Model;
|
|
|
|
|
|
|
|
|
|
| 1 |
import kbService from '@/services/kbService';
|
| 2 |
+
import { Effect, Reducer, Subscription } from 'umi';
|
| 3 |
|
| 4 |
export interface knowledgeModelState {
|
| 5 |
loading: boolean;
|
| 6 |
+
data: any[];
|
| 7 |
}
|
| 8 |
export interface knowledgegModelType {
|
| 9 |
namespace: 'knowledgeModel';
|
|
|
|
| 21 |
namespace: 'knowledgeModel',
|
| 22 |
state: {
|
| 23 |
loading: false,
|
| 24 |
+
data: [],
|
| 25 |
},
|
| 26 |
subscriptions: {
|
| 27 |
setup({ dispatch, history }) {
|
| 28 |
+
history.listen((location) => {
|
| 29 |
+
console.log(location);
|
| 30 |
});
|
| 31 |
+
},
|
| 32 |
},
|
| 33 |
effects: {
|
| 34 |
+
*rmKb({ payload = {}, callback }, { call, put }) {
|
| 35 |
const { data, response } = yield call(kbService.rmKb, payload);
|
| 36 |
+
const { retcode, data: res, retmsg } = data;
|
| 37 |
if (retcode === 0) {
|
| 38 |
+
callback && callback();
|
|
|
|
| 39 |
}
|
| 40 |
},
|
| 41 |
*getList({ payload = {} }, { call, put }) {
|
| 42 |
yield put({
|
| 43 |
type: 'updateState',
|
| 44 |
payload: {
|
| 45 |
+
loading: true,
|
| 46 |
+
},
|
| 47 |
});
|
| 48 |
const { data, response } = yield call(kbService.getList, payload);
|
| 49 |
+
const { retcode, data: res, retmsg } = data;
|
| 50 |
yield put({
|
| 51 |
type: 'updateState',
|
| 52 |
payload: {
|
| 53 |
+
loading: false,
|
| 54 |
+
},
|
| 55 |
});
|
| 56 |
if (retcode === 0) {
|
| 57 |
yield put({
|
| 58 |
type: 'updateState',
|
| 59 |
payload: {
|
| 60 |
+
data: res,
|
| 61 |
+
},
|
| 62 |
});
|
| 63 |
}
|
| 64 |
},
|
|
|
|
| 67 |
updateState(state, { payload }) {
|
| 68 |
return {
|
| 69 |
...state,
|
| 70 |
+
...payload,
|
| 71 |
};
|
| 72 |
+
},
|
| 73 |
+
},
|
| 74 |
};
|
| 75 |
export default Model;
|