From f316b241aa6601c363b5f70af3cc6363c9388032 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 30 Jan 2023 13:01:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20applet=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/static/img/avatar/admin.png | Bin 6093 -> 5724 bytes apps/static/img/avatar/user.png | Bin 6093 -> 5724 bytes apps/terminal/api/applet/applet.py | 1 + apps/terminal/applets/navicat/README.md | 52 ++++++++++++++++++++++++ apps/terminal/models/applet/applet.py | 9 ++++ apps/terminal/serializers/applet.py | 2 +- 6 files changed, 63 insertions(+), 1 deletion(-) diff --git a/apps/static/img/avatar/admin.png b/apps/static/img/avatar/admin.png index 1948d1661498aa290d4f63c1474f82667fcb8eb5..8462a8a18b02c8262622d3b6056ae546a789d571 100644 GIT binary patch literal 5724 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 Date: Mon, 30 Jan 2023 13:22:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/applets/navicat/README.md | 53 ------------------------- 1 file changed, 53 deletions(-) diff --git a/apps/terminal/applets/navicat/README.md b/apps/terminal/applets/navicat/README.md index 602b6e15f..ee18cd491 100644 --- a/apps/terminal/applets/navicat/README.md +++ b/apps/terminal/applets/navicat/README.md @@ -1,56 +1,3 @@ -# Lina - -Lina 是 JumpServer 的前端 UI 项目, 主要使用 [Vue](https://cn.vuejs.org/), [Element UI](https://element.eleme.cn/) 完成, -名字来源于 Dota 英雄 [Lina](https://baike.baidu.com/item/%E8%8E%89%E5%A8%9C/16693979) - -## 开发运行 - -``` -0. 前置条件: 部署运行好 JumpServer API 服务器 - -1. 安装依赖 -$ yarn install - -2. 修改 .env.development VUE_APP_CORE_HOST -# ... -VUE_APP_CORE_HOST = 'JUMPSERVER_APIHOST' - -3. 运行 -$ yarn serve - -4. 构建 -$ yarn build:prod -``` - -## 生产中部署 - -下载 RELEASE 文件,放到合适的目录,修改 nginx配置文件如下 - -``` -server { - listen 80; - - location /ui/ { - try_files $uri / /ui/index.html; - alias /opt/lina/; - } - - location / { - rewrite ^/(.*)$ /ui/$1 last; - } -} -``` - -## 致谢 - -- [Vue](https://cn.vuejs.org) 前端框架 -- [Element UI](https://element.eleme.cn/) 饿了么 UI组件库 -- [Vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 项目脚手架 - -## License & Copyright - -Be consistent with [jumpserver](https://github.com/jumpserver/jumpserver) - ## Navicat Premium - 需要先手动导入License激活