Commit dc85fd11444404db801a3bc2871b50f00baf64a5
1 parent
ed271b3f
feat: micro-app-template-stt-定制部门临时版本
Showing
14 changed files
with
202 additions
and
28 deletions
1 | import { defineConfig } from 'umi'; | 1 | import { defineConfig } from 'umi'; |
2 | 2 | ||
3 | export default defineConfig({ | 3 | export default defineConfig({ |
4 | - runtimePublicPath: true | 4 | + runtimePublicPath: true, |
5 | + devServer: { | ||
6 | + port: 5203, | ||
7 | + proxy: { | ||
8 | + dev: { | ||
9 | + '/api/': { | ||
10 | + target: 'https://preview.pro.ant.design', | ||
11 | + changeOrigin: true, | ||
12 | + pathRewrite: { '^': '' }, | ||
13 | + }, | ||
14 | + '/open/': { | ||
15 | + target: 'https://test.qgutech.com', | ||
16 | + changeOrigin: true, | ||
17 | + }, | ||
18 | + }, | ||
19 | + test: { | ||
20 | + '/api/': { | ||
21 | + target: 'https://preview.pro.ant.design', | ||
22 | + changeOrigin: true, | ||
23 | + pathRewrite: { '^': '' }, | ||
24 | + }, | ||
25 | + }, | ||
26 | + pre: { | ||
27 | + '/api/': { | ||
28 | + target: 'your pre url', | ||
29 | + changeOrigin: true, | ||
30 | + pathRewrite: { '^': '' }, | ||
31 | + }, | ||
32 | + }, | ||
33 | + }, | ||
34 | + }, | ||
35 | + define: { | ||
36 | + 'process.env.site': 'http://qx-test.qgutech.com', | ||
37 | + // 'process.env.apiUrl': 'http://192.168.181.107/qgyun-api', | ||
38 | + // 'process.env.apiUrl': 'http://192.168.1.180/qx-api', | ||
39 | + 'process.env.apiUrl': 'http://test.qgutech.com/qx-api', | ||
40 | + // 'process.env.apiUrl': 'https://qinggutest01.gifthulu.com/qx-api', | ||
41 | + // 'process.env.apiUrl': 'https://uat.qgutech.com/qx-api', | ||
42 | + 'process.env.openUrl': '/open', | ||
43 | + } | ||
5 | }); | 44 | }); |
@@ -5,7 +5,8 @@ | @@ -5,7 +5,8 @@ | ||
5 | Install dependencies, | 5 | Install dependencies, |
6 | 6 | ||
7 | ```bash | 7 | ```bash |
8 | -$ pnpm i | 8 | +$ pnpm i |
9 | +$ npm i --force | ||
9 | ``` | 10 | ``` |
10 | 11 | ||
11 | Start the dev server, | 12 | Start the dev server, |
@@ -13,3 +14,5 @@ Start the dev server, | @@ -13,3 +14,5 @@ Start the dev server, | ||
13 | ```bash | 14 | ```bash |
14 | $ pnpm start | 15 | $ pnpm start |
15 | ``` | 16 | ``` |
17 | + | ||
18 | +# (功能按钮带参数 是拼接在配置的链接 最后一个问号后面) 例如:_qx_flag、id |
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | "private": true, | 3 | "private": true, |
4 | "scripts": { | 4 | "scripts": { |
5 | "analyze": "cross-env ANALYZE=1 qx-cli build", | 5 | "analyze": "cross-env ANALYZE=1 qx-cli build", |
6 | - "start": "cross-env UMI_APP_ENV=dev qx-cli start", | 6 | + "start": "cross-env SOCKET_SERVER=https://localhost:5203 HTTPS=1 umi dev", |
7 | "start:test": "cross-env UMI_APP_ENV=test qx-cli start", | 7 | "start:test": "cross-env UMI_APP_ENV=test qx-cli start", |
8 | "start:pre": "cross-env UMI_APP_ENV=pre qx-cli start", | 8 | "start:pre": "cross-env UMI_APP_ENV=pre qx-cli start", |
9 | "build": "cross-env UMI_APP_ENV=prod qx-cli build", | 9 | "build": "cross-env UMI_APP_ENV=prod qx-cli build", |
1 | -import React, { memo } from 'react'; | ||
2 | -import { Button } from 'antd'; | ||
3 | -import { useModel } from 'umi'; | 1 | +import React, {memo, useEffect} from 'react'; |
2 | +import {Button} from 'antd'; | ||
3 | +import {useModel} from 'umi'; | ||
4 | import styles from './styles.less'; | 4 | import styles from './styles.less'; |
5 | 5 | ||
6 | const prefixCls = 'app-view'; | 6 | const prefixCls = 'app-view'; |
7 | 7 | ||
8 | const AppView: React.FC<AppViewProps> = (props) => { | 8 | const AppView: React.FC<AppViewProps> = (props) => { |
9 | - const { increment, decrement, counter } = useModel('count', (model) => model); | ||
10 | - return ( | ||
11 | - <div className={styles[prefixCls]}> | ||
12 | - <p>{counter}</p> | ||
13 | - <Button | ||
14 | - className={styles[`${prefixCls}__button--primary`]} | ||
15 | - onClick={() => increment()} | ||
16 | - > | ||
17 | - increment | ||
18 | - </Button> | ||
19 | - <Button onClick={() => decrement()}>decrement</Button> | ||
20 | - </div> | ||
21 | - ); | 9 | + const {increment, decrement, counter} = useModel('count', (model) => model); |
10 | + | ||
11 | + return ( | ||
12 | + <div className={styles[prefixCls]}> | ||
13 | + <p>{counter}</p> | ||
14 | + <Button | ||
15 | + className={styles[`${prefixCls}__button--primary`]} | ||
16 | + onClick={() => increment()} | ||
17 | + > | ||
18 | + increment | ||
19 | + </Button> | ||
20 | + <Button onClick={() => decrement()}>decrement</Button> | ||
21 | + </div> | ||
22 | + ); | ||
22 | }; | 23 | }; |
23 | 24 | ||
24 | -interface AppViewProps {} | 25 | +interface AppViewProps { |
26 | +} | ||
25 | 27 | ||
26 | export default memo(AppView); | 28 | export default memo(AppView); |
@@ -2,4 +2,4 @@ import request from '@/utils/request'; | @@ -2,4 +2,4 @@ import request from '@/utils/request'; | ||
2 | 2 | ||
3 | export function getData() { | 3 | export function getData() { |
4 | return request.get(`http://yapi.qgutech.com/mock/547/mock-api/page`); | 4 | return request.get(`http://yapi.qgutech.com/mock/547/mock-api/page`); |
5 | -} | 5 | +} |
src/pages/details/test/index.tsx
0 → 100644
1 | +import React, {memo, useEffect} from 'react'; | ||
2 | +import { Space } from 'antd'; | ||
3 | +import styles from './styles.less'; | ||
4 | + | ||
5 | +const prefixCls = 'details-test-view'; | ||
6 | + | ||
7 | +const DetailsTestView: React.FC<DetailsTestViewProps> = (props) => { | ||
8 | + | ||
9 | + | ||
10 | + return ( | ||
11 | + <div className={styles[prefixCls]}> | ||
12 | + <Space direction="vertical" size={20}> | ||
13 | + details-test | ||
14 | + </Space> | ||
15 | + </div> | ||
16 | + ); | ||
17 | +}; | ||
18 | + | ||
19 | +interface DetailsTestViewProps {} | ||
20 | + | ||
21 | +export default memo(DetailsTestView); |
src/pages/details/test/styles.less
0 → 100644
src/pages/test/index.tsx
0 → 100644
1 | +import React, {memo, useEffect} from 'react'; | ||
2 | +import { Space } from 'antd'; | ||
3 | +import styles from './styles.less'; | ||
4 | +import {getPage} from "./services"; | ||
5 | + | ||
6 | +const prefixCls = 'test-view'; | ||
7 | + | ||
8 | +const TestView: React.FC<AppViewProps> = (props) => { | ||
9 | + // 测试 stt-测试应用-测试百分比组件表单 | ||
10 | + const appCode = 'nv32y'; | ||
11 | + const funCode = '0rra0'; | ||
12 | + const viewCode = 'all'; | ||
13 | + const moduleData = | ||
14 | + // @ts-ignore | ||
15 | + window?.parent?.qx?.getModuleData()?.menus || | ||
16 | + // @ts-ignore | ||
17 | + window?.qx?.getModuleData()?.menus || | ||
18 | + []; | ||
19 | + const appId = | ||
20 | + moduleData?.find((obj: any) => obj?.appCode === appCode)?.appId || ''; | ||
21 | + | ||
22 | + useEffect(() => { | ||
23 | + const _params = { | ||
24 | + appId: appId, | ||
25 | + _code: `${appCode}_index_app`, | ||
26 | + viewType: 'list', | ||
27 | + viewCode: 'all', | ||
28 | + _$search_: true, | ||
29 | + _filter: '', | ||
30 | + _include: true, | ||
31 | + collapseStatus: true, | ||
32 | + pageSize: 10, | ||
33 | + }; | ||
34 | + getPage(appCode, funCode, viewCode, _params) | ||
35 | + .then((res: any) => { | ||
36 | + console.log('res', res) | ||
37 | + }) | ||
38 | + .catch((e: any) => { | ||
39 | + console.log('e', e) | ||
40 | + }); | ||
41 | + }, []) | ||
42 | + | ||
43 | + return ( | ||
44 | + <div className={styles[prefixCls]}> | ||
45 | + <Space direction="vertical" size={20}> | ||
46 | + test | ||
47 | + </Space> | ||
48 | + </div> | ||
49 | + ); | ||
50 | +}; | ||
51 | + | ||
52 | +interface AppViewProps {} | ||
53 | + | ||
54 | +export default memo(TestView); |
src/pages/test/services.ts
0 → 100644
1 | +import request from '@/utils/request'; | ||
2 | + | ||
3 | +/** | ||
4 | + * 分页接口 | ||
5 | + * @param appCode | ||
6 | + * @param funCode | ||
7 | + * @param viewCode | ||
8 | + * @param params | ||
9 | + * @param headers | ||
10 | + */ | ||
11 | +export function getPage( | ||
12 | + appCode: string, | ||
13 | + funCode: string, | ||
14 | + viewCode: string, | ||
15 | + params: any, | ||
16 | +) { | ||
17 | + return request.get( | ||
18 | + `/qx-apaas-lowcode/runtime/${appCode}/${funCode}/${viewCode}/page`, | ||
19 | + { | ||
20 | + params: params || {}, | ||
21 | + autoShowError: true, | ||
22 | + useCancel: true, | ||
23 | + }, | ||
24 | + ); | ||
25 | +} |
src/pages/test/styles.less
0 → 100644
1 | +/** | ||
2 | + * 功能按钮打开的页面,放入pages/details下面 | ||
3 | + * 左侧菜单,自定义页面,放入pages/page-view下面 | ||
4 | + * 自定义页面path需要加 /:appCode/ | ||
5 | + * **/ | ||
1 | export default [ | 6 | export default [ |
2 | { | 7 | { |
3 | - path: '/view', | 8 | + path: '/', |
9 | + redirect: '/details/testDetail', | ||
10 | + }, | ||
11 | + { | ||
12 | + path: '/:appCode/test', | ||
13 | + component: '@/pages/test', | ||
14 | + layout: true, | ||
15 | + }, | ||
16 | + { | ||
17 | + path: '/:appCode/view', | ||
4 | component: '@/pages/app-view', | 18 | component: '@/pages/app-view', |
5 | layout: true, | 19 | layout: true, |
6 | }, | 20 | }, |
21 | + { | ||
22 | + path: '/details/testDetail', | ||
23 | + component: '@/pages/details/test', | ||
24 | + layout: true, | ||
25 | + }, | ||
7 | ]; | 26 | ]; |