From b9253c81911c5953c87dc5c51ea5540752e7d083 Mon Sep 17 00:00:00 2001 From: whyour Date: Fri, 2 Sep 2022 00:35:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=90=9C=E7=B4=A2api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-en.md | 8 ++++-- README.md | 8 ++++-- back/api/cron.ts | 35 ++++++++---------------- back/services/cron.ts | 4 +-- docker/docker-entrypoint.sh | 2 +- docker/front.conf | 30 ++++++++++----------- docker/nginx.conf | 38 +++++++++++++-------------- shell/check.sh | 2 +- shell/share.sh | 1 + src/layouts/index.less | 2 +- src/pages/crontab/detail.tsx | 1 - src/pages/crontab/index.tsx | 2 +- src/pages/crontab/viewManageModal.tsx | 2 +- 13 files changed, 65 insertions(+), 70 deletions(-) diff --git a/README-en.md b/README-en.md index 978acb4b..c0a78e8a 100644 --- a/README-en.md +++ b/README-en.md @@ -57,7 +57,7 @@ https://podman.io/getting-started/installation ```bash podman run -dit \ --network bridge \ - -v $PWD/ql:/ql/data \ + -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ @@ -96,7 +96,7 @@ systemctl restart docker ```bash docker run -dit \ - -v $PWD/ql:/ql/data \ + -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ @@ -124,6 +124,10 @@ docker-compose up -d docker-compose down ``` +3. access + +Open your browser and visit http://{ip}:5700 + ## Use 1. built-in commands diff --git a/README.md b/README.md index 79b6ca29..39160dbf 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ https://podman.io/getting-started/installation ```bash podman run -dit \ --network bridge \ - -v $PWD/ql:/ql/data \ + -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ @@ -97,7 +97,7 @@ systemctl restart docker ```bash docker run -dit \ - -v $PWD/ql:/ql/data \ + -v $PWD/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ @@ -125,6 +125,10 @@ docker-compose up -d docker-compose down ``` +3. 访问 + +打开你的浏览器,访问 http://{ip}:5700 + ## 使用 1. 内置命令 diff --git a/back/api/cron.ts b/back/api/cron.ts index 249627ea..76a376b9 100644 --- a/back/api/cron.ts +++ b/back/api/cron.ts @@ -100,30 +100,17 @@ export default (app: Router) => { }, ); - route.get( - '/', - celebrate({ - query: Joi.object({ - searchText: Joi.string().required().allow(''), - page: Joi.string().required(), - size: Joi.string().required(), - sortField: Joi.string().optional(), - sortType: Joi.string().optional(), - t: Joi.string().required(), - }), - }), - async (req: Request, res: Response, next: NextFunction) => { - const logger: Logger = Container.get('logger'); - try { - const cronService = Container.get(CronService); - const data = await cronService.crontabs(req.query as any); - return res.send({ code: 200, data }); - } catch (e) { - logger.error('🔥 error: %o', e); - return next(e); - } - }, - ); + route.get('/', async (req: Request, res: Response, next: NextFunction) => { + const logger: Logger = Container.get('logger'); + try { + const cronService = Container.get(CronService); + const data = await cronService.crontabs(req.query as any); + return res.send({ code: 200, data }); + } catch (e) { + logger.error('🔥 error: %o', e); + return next(e); + } + }); route.post( '/', diff --git a/back/services/cron.ts b/back/services/cron.ts index a2556176..94625ce1 100644 --- a/back/services/cron.ts +++ b/back/services/cron.ts @@ -114,13 +114,13 @@ export default class CronService { } public async crontabs(params?: { - searchText: string; + searchValue: string; page: string; size: string; sortField: string; sortType: string; }): Promise<{ data: Crontab[]; total: number }> { - const searchText = params?.searchText; + const searchText = params?.searchValue; const page = Number(params?.page || '0'); const size = Number(params?.size || '0'); const sortField = params?.sortField || ''; diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 0d44e8eb..d8105355 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -8,7 +8,7 @@ echo -e "======================1. 检测配置文件========================\n" make_dir /etc/nginx/conf.d make_dir /run/nginx cp -fv $nginx_conf /etc/nginx/nginx.conf -cp -fv $nginx_app_conf /etc/nginx/conf.d/front.conf +envsubst '${qlBaseUrl}' < $nginx_app_conf > /etc/nginx/conf.d/front.conf pm2 l &>/dev/null echo diff --git a/docker/front.conf b/docker/front.conf index 052aff8a..368e83ab 100644 --- a/docker/front.conf +++ b/docker/front.conf @@ -1,12 +1,12 @@ -upstream api { +upstream baseApi { server 0.0.0.0:5600; } -upstream public { +upstream publicApi { server 0.0.0.0:5400; } -map $http_upgrade $connection_upgrade { +map $http_upgrade $connection_upgrade { default keep-alive; 'websocket' upgrade; } @@ -16,42 +16,42 @@ server { root /ql/static/dist; ssl_session_timeout 5m; - location /api/public { + location ${ql_base_url}api/public { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://public; + proxy_pass http://publicApi/api/public/; } - location /api { + location ${ql_base_url}api { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://api; + proxy_pass http://baseApi/api/; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } - location /open { + location ${ql_base_url}open { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://api; + proxy_pass http://baseApi/open/; } gzip on; - gzip_static on; + gzip_static on; gzip_types text/plain application/json application/javascript application/x-javascript text/css application/xml text/javascript; - gzip_proxied any; + gzip_proxied any; gzip_vary on; gzip_comp_level 6; gzip_buffers 16 8k; - gzip_http_version 1.0; + gzip_http_version 1.0; - location / { - index index.html index.htm; - try_files $uri $uri/ /index.html; + location ${ql_base_url} { + index index.html index.htm; + try_files $uri $uri/ ${ql_base_url}index.html; } location ~ .*\.(html)$ { diff --git a/docker/nginx.conf b/docker/nginx.conf index 4622afb5..a76bf885 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -5,41 +5,41 @@ error_log /var/log/nginx/error.log warn; include /etc/nginx/modules/*.conf; events { - worker_connections 1024; + worker_connections 1024; } http { - include /etc/nginx/mime.types; - default_type application/octet-stream; + include /etc/nginx/mime.types; + default_type application/octet-stream; - server_tokens off; + server_tokens off; - client_max_body_size 20m; - client_body_buffer_size 20m; + client_max_body_size 20m; + client_body_buffer_size 20m; - keepalive_timeout 65; + keepalive_timeout 65; - sendfile on; + sendfile on; - tcp_nodelay on; + tcp_nodelay on; - ssl_prefer_server_ciphers on; + ssl_prefer_server_ciphers on; - ssl_session_cache shared:SSL:2m; + ssl_session_cache shared:SSL:2m; - gzip on; - gzip_static on; + gzip on; + gzip_static on; gzip_types text/plain application/json application/javascript application/x-javascript text/css application/xml text/javascript; - gzip_proxied any; + gzip_proxied any; gzip_vary on; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.0; - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; - access_log /var/log/nginx/access.log main; - include /etc/nginx/conf.d/*.conf; + access_log /var/log/nginx/access.log main; + include /etc/nginx/conf.d/*.conf; } diff --git a/shell/check.sh b/shell/check.sh index ff2fd978..5b58b47f 100644 --- a/shell/check.sh +++ b/shell/check.sh @@ -30,7 +30,7 @@ copy_dep() { echo -e "---> 2. 复制nginx配置文件\n" cp -fv $nginx_conf /etc/nginx/nginx.conf - cp -fv $nginx_app_conf /etc/nginx/conf.d/front.conf + envsubst '${qlBaseUrl}' < $nginx_app_conf > /etc/nginx/conf.d/front.conf echo -e "---> 配置文件复制完成\n" } diff --git a/shell/share.sh b/shell/share.sh index 4b6147d1..b44df92b 100755 --- a/shell/share.sh +++ b/shell/share.sh @@ -67,6 +67,7 @@ import_config() { [[ -f $file_config_user ]] && . $file_config_user [[ -f $file_env ]] && . $file_env + ql_base_url=${QlBaseUrl:-"/"} command_timeout_time=${CommandTimeoutTime:-"1h"} proxy_url=${ProxyUrl:-""} file_extensions=${RepoFileExtensions:-"js py"} diff --git a/src/layouts/index.less b/src/layouts/index.less index 72ffed9f..b8926978 100644 --- a/src/layouts/index.less +++ b/src/layouts/index.less @@ -327,7 +327,7 @@ } .ant-layout-sider { - border-right: 1px solid rgba(0, 0, 0, 0.06); + border-right: 1px solid rgba(0, 0, 0, 0.06) !important; } .ant-pro-sider-logo { diff --git a/src/pages/crontab/detail.tsx b/src/pages/crontab/detail.tsx index 1625fb9b..325d3e77 100644 --- a/src/pages/crontab/detail.tsx +++ b/src/pages/crontab/detail.tsx @@ -108,7 +108,6 @@ const CronDetailModal = ({ wordWrap: 'on', }} onMount={(editor, monaco) => { - console.log(monaco); editorRef.current = editor; }} /> diff --git a/src/pages/crontab/index.tsx b/src/pages/crontab/index.tsx index e091f623..e0a4fd3e 100644 --- a/src/pages/crontab/index.tsx +++ b/src/pages/crontab/index.tsx @@ -390,7 +390,7 @@ const Crontab = ({ headerStyle, isPhone, theme }: any) => { const getCrons = () => { setLoading(true); const { page, size, sorter } = pageConf; - let url = `${config.apiPrefix}crons?searchText=${searchText}&page=${page}&size=${size}`; + let url = `${config.apiPrefix}crons?searchValue=${searchText}&page=${page}&size=${size}`; if (sorter && sorter.field) { url += `&sortField=${sorter.field}&sortType=${ sorter.order === 'ascend' ? 'ASC' : 'DESC' diff --git a/src/pages/crontab/viewManageModal.tsx b/src/pages/crontab/viewManageModal.tsx index aba6ecb7..00a8a641 100644 --- a/src/pages/crontab/viewManageModal.tsx +++ b/src/pages/crontab/viewManageModal.tsx @@ -186,7 +186,7 @@ const ViewManageModal = ({ ); useEffect(() => { - getCronViews(); + // getCronViews(); }, []); return (