From 8b418537922685f386f706c202dab63622d3e901 Mon Sep 17 00:00:00 2001 From: Meng Sen Date: Tue, 10 Dec 2024 17:05:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=BA=94=E7=94=A8=20?= =?UTF-8?q?=E5=8D=B7=E7=8E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Meng Sen --- .github/README.md | 1 + README.md | 1 + apps/halo-h2/2.20.11/data.yml | 25 ++++++ apps/halo-h2/2.20.11/docker-compose.yml | 22 +++++ apps/halo-h2/2.20.11/envs/default.env | 2 + apps/halo-h2/2.20.11/envs/global.env | 2 + apps/halo-h2/2.20.11/scripts/init.sh | 17 ++++ apps/halo-h2/2.20.11/scripts/uninstall.sh | 10 +++ apps/halo-h2/2.20.11/scripts/upgrade.sh | 17 ++++ apps/halo-h2/README.md | 79 ++++++++++++++++++ apps/halo-h2/data.yml | 14 ++++ apps/halo-h2/logo.png | Bin 0 -> 7545 bytes apps/surveyking-h2/1.8.2/data.yml | 17 ++++ apps/surveyking-h2/1.8.2/docker-compose.yml | 22 +++++ apps/surveyking-h2/1.8.2/envs/default.env | 2 + apps/surveyking-h2/1.8.2/envs/global.env | 2 + apps/surveyking-h2/1.8.2/scripts/init.sh | 17 ++++ apps/surveyking-h2/1.8.2/scripts/uninstall.sh | 10 +++ apps/surveyking-h2/1.8.2/scripts/upgrade.sh | 17 ++++ apps/surveyking-h2/README.md | 37 ++++++++ apps/surveyking-h2/data.yml | 14 ++++ apps/surveyking-h2/logo.png | Bin 0 -> 16603 bytes apps/surveyking/1.8.2/data.yml | 75 +++++++++++++++++ apps/surveyking/1.8.2/docker-compose.yml | 24 ++++++ apps/surveyking/1.8.2/envs/default.env | 2 + apps/surveyking/1.8.2/envs/global.env | 2 + apps/surveyking/1.8.2/scripts/init.sh | 17 ++++ apps/surveyking/1.8.2/scripts/uninstall.sh | 10 +++ apps/surveyking/1.8.2/scripts/upgrade.sh | 17 ++++ apps/surveyking/README.md | 37 ++++++++ apps/surveyking/data.yml | 14 ++++ apps/surveyking/logo.png | Bin 0 -> 16603 bytes 32 files changed, 526 insertions(+) create mode 100644 apps/halo-h2/2.20.11/data.yml create mode 100644 apps/halo-h2/2.20.11/docker-compose.yml create mode 100644 apps/halo-h2/2.20.11/envs/default.env create mode 100644 apps/halo-h2/2.20.11/envs/global.env create mode 100644 apps/halo-h2/2.20.11/scripts/init.sh create mode 100644 apps/halo-h2/2.20.11/scripts/uninstall.sh create mode 100644 apps/halo-h2/2.20.11/scripts/upgrade.sh create mode 100644 apps/halo-h2/README.md create mode 100644 apps/halo-h2/data.yml create mode 100644 apps/halo-h2/logo.png create mode 100644 apps/surveyking-h2/1.8.2/data.yml create mode 100644 apps/surveyking-h2/1.8.2/docker-compose.yml create mode 100644 apps/surveyking-h2/1.8.2/envs/default.env create mode 100644 apps/surveyking-h2/1.8.2/envs/global.env create mode 100644 apps/surveyking-h2/1.8.2/scripts/init.sh create mode 100644 apps/surveyking-h2/1.8.2/scripts/uninstall.sh create mode 100644 apps/surveyking-h2/1.8.2/scripts/upgrade.sh create mode 100644 apps/surveyking-h2/README.md create mode 100644 apps/surveyking-h2/data.yml create mode 100644 apps/surveyking-h2/logo.png create mode 100644 apps/surveyking/1.8.2/data.yml create mode 100644 apps/surveyking/1.8.2/docker-compose.yml create mode 100644 apps/surveyking/1.8.2/envs/default.env create mode 100644 apps/surveyking/1.8.2/envs/global.env create mode 100644 apps/surveyking/1.8.2/scripts/init.sh create mode 100644 apps/surveyking/1.8.2/scripts/uninstall.sh create mode 100644 apps/surveyking/1.8.2/scripts/upgrade.sh create mode 100644 apps/surveyking/README.md create mode 100644 apps/surveyking/data.yml create mode 100644 apps/surveyking/logo.png diff --git a/.github/README.md b/.github/README.md index 4c3319ba..3b8c4653 100644 --- a/.github/README.md +++ b/.github/README.md @@ -135,6 +135,7 @@ | 🟢 | | Stream-Rec Web版 | https://github.com/hua0512/stream-rec/ | 【前端版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | | | 🟢 | | Stream-Rec 服务版 | https://github.com/hua0512/stream-rec/ | 【服务版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | | | 🟢 | | Sun Panel | https://doc.sun-panel.top/ | 一个服务器、NAS导航面板、Homepage、浏览器首页 | | +| 🟢 | | 卷王 | https://surveyking.cn/ | 卷王问卷考试系统 | | | 🟢 | | Synapse | https://matrix.org/ | 用于安全、分散通信的开放网络 | Matrix | | 🟢 | | Synapse Admin | https://github.com/Awesome-Technologies/synapse-admin/ | 【管理面板】用于安全、分散通信的开放网络 | Matrix | | 🟢 | | Element Web | https://element.io/ | 一个用于Web的光泽Matrix协作客户端 | Matrix | diff --git a/README.md b/README.md index 47ee1aba..e01c6117 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,7 @@ | 🟢 | | Stream-Rec Web版 | https://github.com/hua0512/stream-rec/ | 【前端版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | | | 🟢 | | Stream-Rec 服务版 | https://github.com/hua0512/stream-rec/ | 【服务版】Stream-rec是一个用于各种流媒体服务的自动流媒体录制工具 | | | 🟢 | | Sun Panel | https://doc.sun-panel.top/ | 一个服务器、NAS导航面板、Homepage、浏览器首页 | | +| 🟢 | | 卷王 | https://surveyking.cn/ | 卷王问卷考试系统 | | | 🟢 | | Synapse | https://matrix.org/ | 用于安全、分散通信的开放网络 | Matrix | | 🟢 | | Synapse Admin | https://github.com/Awesome-Technologies/synapse-admin/ | 【管理面板】用于安全、分散通信的开放网络 | Matrix | | 🟢 | | Element Web | https://element.io/ | 一个用于Web的光泽Matrix协作客户端 | Matrix | diff --git a/apps/halo-h2/2.20.11/data.yml b/apps/halo-h2/2.20.11/data.yml new file mode 100644 index 00000000..72848caa --- /dev/null +++ b/apps/halo-h2/2.20.11/data.yml @@ -0,0 +1,25 @@ +additionalProperties: + formFields: + - default: "/home/halo" + edit: true + envKey: HALO_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8090 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: 访问端口 + labelEn: Port + required: true + rule: paramPort + type: number + - default: "http://127.0.0.1:8090" + edit: true + envKey: HALO_EXTERNAL_URL + labelZh: 公网访问地址 + labelEn: External URL + required: true + rule: paramExtUrl + type: text diff --git a/apps/halo-h2/2.20.11/docker-compose.yml b/apps/halo-h2/2.20.11/docker-compose.yml new file mode 100644 index 00000000..653bee5b --- /dev/null +++ b/apps/halo-h2/2.20.11/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true + +services: + halo: + image: halohub/halo:2.20.11 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8090 + volumes: + - ${HALO_ROOT_PATH}/data:/root/.halo2 + environment: + - JVM_OPTS=-Xmx256m -Xms256m + command: + - --spring.sql.init.platform=h2 + - --halo.external-url=${HALO_EXTERNAL_URL} diff --git a/apps/halo-h2/2.20.11/envs/default.env b/apps/halo-h2/2.20.11/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/apps/halo-h2/2.20.11/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/halo-h2/2.20.11/envs/global.env b/apps/halo-h2/2.20.11/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/apps/halo-h2/2.20.11/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/halo-h2/2.20.11/scripts/init.sh b/apps/halo-h2/2.20.11/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/halo-h2/2.20.11/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/halo-h2/2.20.11/scripts/uninstall.sh b/apps/halo-h2/2.20.11/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/halo-h2/2.20.11/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/halo-h2/2.20.11/scripts/upgrade.sh b/apps/halo-h2/2.20.11/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/halo-h2/2.20.11/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/halo-h2/README.md b/apps/halo-h2/README.md new file mode 100644 index 00000000..34a5439c --- /dev/null +++ b/apps/halo-h2/README.md @@ -0,0 +1,79 @@ +# Halo H2版 + +**强大易用的开源建站工具。** + +配合上丰富的模板与插件,帮助你构建你心中的理想站点。 + +![Halo](https://file.lifebus.top/imgs/halo_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +> ### 可插拔架构 + +Halo 采用可插拔架构,功能模块之间耦合度低、灵活性提高。支持用户按需安装、卸载插件,操作便捷。同时提供插件开发接口以确保较高扩展性和可维护性。 + +✅ 支持在运行时安装和卸载插件 + +✅ 更加方便地集成三方平台 + +✅ 统一的可配置设置表单 + +✅ 支持自定义模型,自动生成 RESTful API + + +> ### 功能丰富的主题机制 + +Halo 提供完整的主题模板机制,用于构建前台界面。这意味着用户可以根据自己的喜好选择不同类型的主题模板来定制化自己的站点外观。 + +✅ 动态切换主题模板 + +✅ 支持实时编辑和预览效果 + +✅ 多语言支持 + +✅ 与插件配合实现更多功能 + +> ### 编辑器 + +Halo 的富文本编辑器提供了方便丰富的功能,包括添加标题、段落、引用、列表、代码块等元素,并支持设置样式属性、上传图片、插入视频等功能。这些工具让你的文章创作更加便捷和生动。 + +✅ 完备的富文本格式支持 + +✅ 支持拖拽和粘贴图片上传 + +✅ 支持通过插件扩展编辑器 + +> 更多特性 +> +> 我们将不断探索和追求更好的使用体验,持续迭代出更加优秀的 Halo + ++ 代码开源 + +Halo 的项目代码开源在 GitHub 上且处于积极维护状态,截止目前已经发布了 109 个版本。你也可以在上面提交你的问题或者参与代码贡献。 + ++ 易于部署 + +推荐使用 Docker 的方式部署 Halo,便于升级,同时避免了各种环境依赖的问题。统一管理在工作目录中的应用数据也能方便地进行备份和迁移。 + ++ 插件机制 + +支持在插件运行时为系统添加新功能,同时保持 Halo 自身的简洁轻量。这种灵活的插件机制让用户根据自身需求自由扩展 Halo +的功能,帮助用户实现富有想象力的站点。 + ++ 模板机制 + +支持自定义配置、主题预览、多语言等功能。这种灵活的模板系统让用户可以针对自己的需求进行自定义配置,为网站带来更加个性化的外观和交互体验。 + ++ 附件管理 + +支持多种存储策略,并支持通过插件扩展外部存储位置,可以让用户更加灵活地地上传、查看和管理附件。 + ++ 搜索引擎 + +内置全文搜索引擎,支持关键字搜索文章和页面内容。同时支持通过插件扩展外部搜索引擎,做到让用户按需选择、自由扩展。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/halo-h2/data.yml b/apps/halo-h2/data.yml new file mode 100644 index 00000000..e21c9775 --- /dev/null +++ b/apps/halo-h2/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: halo-h2 + name: Halo H2 + tags: + - WebSite + - Local + shortDescZh: 强大易用的开源建站工具 + shortDescEn: Powerful and easy-to-use open source website builder + type: website + crossVersionUpdate: true + limit: 0 + website: https://halo.run/ + github: https://github.com/halo-dev/halo/ + document: https://docs.halo.run/ diff --git a/apps/halo-h2/logo.png b/apps/halo-h2/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..044ab59627b184d9d64bcba1e9f3f01c5a7e47f4 GIT binary patch literal 7545 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 P00000NkvXXu0mjff#(Al literal 0 KcmV+b0RR6000031 diff --git a/apps/surveyking-h2/1.8.2/data.yml b/apps/surveyking-h2/1.8.2/data.yml new file mode 100644 index 00000000..773317bc --- /dev/null +++ b/apps/surveyking-h2/1.8.2/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/surveyking" + edit: true + envKey: SURVEYKING_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 1991 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/apps/surveyking-h2/1.8.2/docker-compose.yml b/apps/surveyking-h2/1.8.2/docker-compose.yml new file mode 100644 index 00000000..500bb17a --- /dev/null +++ b/apps/surveyking-h2/1.8.2/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true + +services: + surveyking: + image: surveyking/surveyking:v1.8.2 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:1991 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${SURVEYKING_ROOT_PATH}/db:/app/db + - ${SURVEYKING_ROOT_PATH}/files:/app/files + - ${SURVEYKING_ROOT_PATH}/logs:/app/logs diff --git a/apps/surveyking-h2/1.8.2/envs/default.env b/apps/surveyking-h2/1.8.2/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/apps/surveyking-h2/1.8.2/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/surveyking-h2/1.8.2/envs/global.env b/apps/surveyking-h2/1.8.2/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/apps/surveyking-h2/1.8.2/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/surveyking-h2/1.8.2/scripts/init.sh b/apps/surveyking-h2/1.8.2/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/surveyking-h2/1.8.2/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/surveyking-h2/1.8.2/scripts/uninstall.sh b/apps/surveyking-h2/1.8.2/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/surveyking-h2/1.8.2/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/surveyking-h2/1.8.2/scripts/upgrade.sh b/apps/surveyking-h2/1.8.2/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/surveyking-h2/1.8.2/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/surveyking-h2/README.md b/apps/surveyking-h2/README.md new file mode 100644 index 00000000..5e140911 --- /dev/null +++ b/apps/surveyking-h2/README.md @@ -0,0 +1,37 @@ +# 卷王 H2版 + +卷王问卷,人人都可快速部署的的问卷考试系统,你可以在此完成在线表单设计,数据收集、统计和分析工作,应用场景覆盖全行业。 + +![卷王](https://file.lifebus.top/imgs/surveyking_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 特性 + +### 问卷调查 + +题型多样,洞悉客户心声 + +自由创建,题型多样,逻辑编排、数据校验、问卷设置能力遥遥领先,多渠道发布,多终端管理,数据结果清晰可视化,一键下载报告,让问卷工作不再繁琐。 + +### 在线考试 + +轻松考试,即刻评分 + +题库抽题,随机抽题,客观题自动算分,主观题人工打分,防作弊配置,自动显示正确答案和解析,证书在线编制和发放,全流程、轻量化考试解决方案。 + +### 多维测评 + +精准测评,专业报告 + +自由设计测评题目、测评维度、在线编制维度报告,不管是专业的量表试题,还是出具专业的MBTI维度报告,都能轻松快捷应对。 + +### 数据查询 + +高效数据处理,智能输出 + +轻松创建数据查询和分享系统,可以在线完成数据填报、查询和修改。多样化的数据分析选项,数据编码、SPSS导出、Excel导出、实时数据统计报告。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/surveyking-h2/data.yml b/apps/surveyking-h2/data.yml new file mode 100644 index 00000000..3f92e2ae --- /dev/null +++ b/apps/surveyking-h2/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: surveyking-h2 + name: 卷王 H2 + tags: + - WebSite + - Local + shortDescZh: 卷王问卷考试系统 + shortDescEn: SurveyKing is a survey and exam system + type: website + crossVersionUpdate: true + limit: 0 + website: https://surveyking.cn/ + github: https://github.com/javahuang/surveyking/ + document: https://surveyking.cn/help/quickstart/ diff --git a/apps/surveyking-h2/logo.png b/apps/surveyking-h2/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff6c137203ccfae9af26b8e4adbd872ff1687799 GIT binary patch literal 16603 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 Zg&&YB-pA3hp(X$T002ovPDHLkV1fwZ7XAPL literal 0 KcmV+b0RR6000031 diff --git a/apps/surveyking/1.8.2/data.yml b/apps/surveyking/1.8.2/data.yml new file mode 100644 index 00000000..aac002a9 --- /dev/null +++ b/apps/surveyking/1.8.2/data.yml @@ -0,0 +1,75 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + edit: true + envKey: PANEL_DB_TYPE + labelZh: MySQL 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: MariaDB + value: mariadb + - label: MySQL + value: mysql + - label: Percona + value: percona + - default: "/home/surveyking" + edit: true + envKey: SURVEYKING_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 1991 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "127.0.0.1" + edit: true + envKey: DB_HOSTNAME + labelZh: 数据库 主机地址 + labelEn: Database Host + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "surveyking" + edit: true + envKey: DB_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "surveyking" + edit: true + envKey: MYSQL_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: MYSQL_PASS + labelZh: 数据库 密码 + labelEn: Database Password + random: true + required: true + rule: paramComplexity + type: password diff --git a/apps/surveyking/1.8.2/docker-compose.yml b/apps/surveyking/1.8.2/docker-compose.yml new file mode 100644 index 00000000..849efc9c --- /dev/null +++ b/apps/surveyking/1.8.2/docker-compose.yml @@ -0,0 +1,24 @@ +networks: + 1panel-network: + external: true + +services: + surveyking: + image: surveyking/surveyking:v1.8.2 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:1991 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${SURVEYKING_ROOT_PATH}/files:/app/files + - ${SURVEYKING_ROOT_PATH}/logs:/app/logs + environment: + - PROFILE=mysql + - DB_URL=jdbc:mysql://${DB_HOSTNAME}:${DB_PORT}/${DB_NAME} diff --git a/apps/surveyking/1.8.2/envs/default.env b/apps/surveyking/1.8.2/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/apps/surveyking/1.8.2/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/surveyking/1.8.2/envs/global.env b/apps/surveyking/1.8.2/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/apps/surveyking/1.8.2/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/surveyking/1.8.2/scripts/init.sh b/apps/surveyking/1.8.2/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/surveyking/1.8.2/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/surveyking/1.8.2/scripts/uninstall.sh b/apps/surveyking/1.8.2/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/surveyking/1.8.2/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/surveyking/1.8.2/scripts/upgrade.sh b/apps/surveyking/1.8.2/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/apps/surveyking/1.8.2/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/surveyking/README.md b/apps/surveyking/README.md new file mode 100644 index 00000000..2e0698ce --- /dev/null +++ b/apps/surveyking/README.md @@ -0,0 +1,37 @@ +# 卷王 + +卷王问卷,人人都可快速部署的的问卷考试系统,你可以在此完成在线表单设计,数据收集、统计和分析工作,应用场景覆盖全行业。 + +![卷王](https://file.lifebus.top/imgs/surveyking_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 特性 + +### 问卷调查 + +题型多样,洞悉客户心声 + +自由创建,题型多样,逻辑编排、数据校验、问卷设置能力遥遥领先,多渠道发布,多终端管理,数据结果清晰可视化,一键下载报告,让问卷工作不再繁琐。 + +### 在线考试 + +轻松考试,即刻评分 + +题库抽题,随机抽题,客观题自动算分,主观题人工打分,防作弊配置,自动显示正确答案和解析,证书在线编制和发放,全流程、轻量化考试解决方案。 + +### 多维测评 + +精准测评,专业报告 + +自由设计测评题目、测评维度、在线编制维度报告,不管是专业的量表试题,还是出具专业的MBTI维度报告,都能轻松快捷应对。 + +### 数据查询 + +高效数据处理,智能输出 + +轻松创建数据查询和分享系统,可以在线完成数据填报、查询和修改。多样化的数据分析选项,数据编码、SPSS导出、Excel导出、实时数据统计报告。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/surveyking/data.yml b/apps/surveyking/data.yml new file mode 100644 index 00000000..94ff8fad --- /dev/null +++ b/apps/surveyking/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: surveyking + name: 卷王 + tags: + - WebSite + - Local + shortDescZh: 卷王问卷考试系统 + shortDescEn: SurveyKing is a survey and exam system + type: website + crossVersionUpdate: true + limit: 0 + website: https://surveyking.cn/ + github: https://github.com/javahuang/surveyking/ + document: https://surveyking.cn/help/quickstart/ diff --git a/apps/surveyking/logo.png b/apps/surveyking/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff6c137203ccfae9af26b8e4adbd872ff1687799 GIT binary patch literal 16603 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 Zg&&YB-pA3hp(X$T002ovPDHLkV1fwZ7XAPL literal 0 KcmV+b0RR6000031