# dev-hub **Repository Path**: jinguangyang/dev-hub ## Basic Information - **Project Name**: dev-hub - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-07 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DevHub Workspace DevHub 是一个面向开发者协作的多应用工作区,围绕技术交流、开源资源、开发者档案和需求共创四条主线组织代码,而不是按“backend / frontend”这种低信息量目录名堆在一起。 ## 结构设计 ```text devhub/ ├── apps/ │ ├── web-portal/ # React + Vite Web 端 │ └── wechat-miniapp/ # Taro 微信小程序 ├── services/ │ └── platform-api/ # Spring Boot 平台 API ├── docs/ │ ├── reference/ # API / 数据库字典 │ ├── guides/ # 部署 / 发布指南 │ ├── release/ # 交付与验收资料 │ └── archive/ # 历史方案与原始文档 ├── scripts/ # 真实启动脚本 ├── tmp/ # 临时解包/中间文件 ├── docker-compose.yml # 本地编排入口 ├── start.bat # Windows 入口,转发到 scripts/ ├── start.sh # Unix 入口,转发到 scripts/ └── CLAUDE.md # 协作约定 ``` ## 模块说明 | 目录 | 角色 | 技术 | |------|------|------| | `apps/web-portal` | 桌面 Web 应用 | React 18、Vite、Ant Design | | `apps/wechat-miniapp` | 微信端轻量访问应用 | Taro 3、React | | `services/platform-api` | 统一业务 API 与鉴权服务 | Spring Boot 2.7、MyBatis-Plus、JWT | | `docs/reference` | 稳定参考资料 | API、数据库字典 | | `docs/guides` | 操作型文档 | 部署、小程序发布 | ## 快速启动 ### 方式一:工作区启动脚本 Windows: ```bash start.bat ``` Linux / macOS: ```bash chmod +x start.sh ./start.sh ``` ### 方式二:Docker Compose ```bash docker-compose up -d --build ``` 服务地址: | 服务 | 地址 | |------|------| | Web Portal | http://localhost:3000 | | Platform API | http://localhost:8080 | | MySQL | localhost:3306 | | Redis | localhost:6379 | ### 方式三:本地开发 ```bash # 前提:Platform API 必须使用 JDK 8+ # 1. 初始化数据库 mysql -u root -p < services/platform-api/src/main/resources/schema.sql # 2. 启动 Platform API cd services/platform-api mvn -Dmaven.test.skip=true spring-boot:run # 3. 启动 Web Portal cd apps/web-portal npm install npm run dev ``` ### 方式四:小程序开发 ```bash cd apps/wechat-miniapp npm install npm run dev:weapp ``` ## 文档导航 - API 参考:[`docs/reference/api.md`](docs/reference/api.md) - 数据库字典:[`docs/reference/database.md`](docs/reference/database.md) - 部署指南:[`docs/guides/deploy.md`](docs/guides/deploy.md) - Linux / Windows 部署脚本:[`docs/guides/native-deploy.md`](docs/guides/native-deploy.md) - 小程序发布:[`docs/guides/wechat-miniapp-release.md`](docs/guides/wechat-miniapp-release.md) - 交付验收:[`docs/release/delivery-checklist.md`](docs/release/delivery-checklist.md) - 发布总说明:[`RELEASE_GUIDE.md`](RELEASE_GUIDE.md) ## 发布包 可生成交付用发布包: Windows: ```powershell powershell -ExecutionPolicy Bypass -Command "cd .\services\platform-api; mvn -Dmaven.repo.local=E:\.m2\repository clean package -DskipTests; cd ..\..\apps\web-portal; npm install; npm run build; cd ..\.." powershell -ExecutionPolicy Bypass -File .\scripts\package-release.ps1 ``` Linux / macOS: ```bash bash -lc 'cd services/platform-api && MAVEN_REPO_LOCAL=${MAVEN_REPO_LOCAL:-$HOME/.m2/repository} mvn -Dmaven.repo.local=$MAVEN_REPO_LOCAL clean package -DskipTests && cd ../../apps/web-portal && npm install && npm run build && cd ../..' bash ./scripts/package-release.sh ``` 输出目录: - `release/devhub-release/` - `release/devhub-release.zip` 发布包支持三种上线方式: 1. Docker Compose 内置 MySQL / Redis:复制 `.env.example` 为 `.env` 后执行 `docker compose up -d --build` 2. Docker Compose 外置 MySQL / Redis:编辑 `config/devhub.env` 后执行 `docker compose -f docker-compose.external.yml --env-file config/devhub.env up -d --build` 3. 原生进程部署: - Linux:`bash bin/devhub-linux.sh init-config && bash bin/devhub-linux.sh start` - Windows:`bin\devhub-windows.bat init-config` 后执行 `bin\devhub-windows.bat start` 注意: - `services/platform-api` 需要 JDK 8+ 才能构建 - 如果 `mvn package` 报 `--release` 或 Java 版本错误,先检查 `JAVA_HOME` ## 测试账号 | 账号 | 密码 | 类型 | |------|------|------| | `programmer1` | `123456` | 程序员 | | `programmer2` | `123456` | 程序员 | | `merchant1` | `123456` | 需求方 | > 密码 MD5:`e10adc3949ba59abbe56e057f20f883e` ## 系统设置 - 管理员账号通过 `DEVHUB_ADMIN_USERNAMES` 配置,多个用户名用英文逗号分隔。 - 前端“系统设置”入口会登录后向后端查询权限,保存权限以后端 `DEVHUB_ADMIN_USERNAMES` 为准。 - 页脚版权、ICP备案号、公安备案号、联系方式、全局明暗主题、品牌主色、海报品牌等可在 Web 端 `/settings` 页面维护。