# ClinIQ **Repository Path**: TitaniumCores/clin-iq ## Basic Information - **Project Name**: ClinIQ - **Description**: ClinIQ是一个融合Continew-admin和Unibest的现代化医疗信息管理系统,采用前后端分离架构设计。项目基于Spring Boot 3 + Vue 3 + TypeScript技术栈构建,专注于为医疗机构提供高质量的多租户中后台管理解决方案。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-09-23 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Vue, TypeScript, uni-app, Pinia ## README # ClinIQ - 高质量多租户中后台管理系统框架
![ClinIQ Logo](https://img.shields.io/badge/ClinIQ-v4.1.0-brightgreen.svg) **基于 Spring Boot 3 + Vue 3 + TypeScript 的企业级前后端分离框架** [![GitHub Stars](https://img.shields.io/github/stars/continew-org/continew-admin?style=flat-square&logo=github)](https://github.com/continew-org/continew-admin) [![GitHub Forks](https://img.shields.io/github/forks/continew-org/continew-admin?style=flat-square&logo=github)](https://github.com/continew-org/continew-admin) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.3.12-6CB52D.svg?logo=Spring-Boot)](https://spring.io/projects/spring-boot) [![Vue](https://img.shields.io/badge/Vue-3.5.4-4FC08D.svg?logo=Vue.js)](https://vuejs.org/) [![Java](https://img.shields.io/badge/Java-17+-orange.svg?logo=OpenJDK&logoColor=white)](https://openjdk.java.net/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0.4-blue.svg?logo=TypeScript)](https://www.typescriptlang.org/) [![License](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) [![Build Status](https://img.shields.io/badge/Build-passing-brightgreen.svg)](https://github.com/continew-org/continew-admin) 📚 [在线文档](https://continew.top) | 🚀 [演示地址](https://continew.top/docs/admin/guide/demo.html) | 💬 [交流群组](#反馈交流) | 🎯 [问题反馈](https://github.com/continew-org/continew-admin/issues)
--- ## 🎯 项目简介 ClinIQ(Continue New IQ)是融合Continew-admin和Unibest的轻量级开源中后台管理系统。包含Uniapp和Web端,是一个高质量的多租户中后台管理系统框架,专注于为开发者提供一个**开箱即用、持续迭代优化**的企业级开发平台。项目采用现代化的前后端分离架构,集成了丰富的企业级功能模块,致力于提供舒适的开发体验和优雅的代码规范。 { "name": "ClinIQ", } ### 🌟 核心理念 - **持续优化**:发扬 ContiNew(Continue New)理念,持续迭代和优化 - **开箱即用**:提供完整的业务功能模块,降低项目启动成本 - **规范优雅**:严格遵循代码规范,注重设计细节和开发体验 - **企业级别**:满足大型企业应用的性能和安全要求 ### 🎨 适用场景 - 🏢 **企业管理系统**:用户管理、权限控制、组织架构管理 - 💼 **SaaS多租户应用**:支持多租户数据隔离和套餐管理 - 📊 **数据管理平台**:数据展示、分析和管理功能 - 🔧 **开发脚手架**:快速搭建新项目的基础框架 --- ## 📋 目录导航 - [项目特性](#-项目特性) - [技术架构](#-技术架构) - [快速开始](#-快速开始) - [项目结构](#-项目结构) - [核心功能](#-核心功能) - [开发指南](#-开发指南) - [部署说明](#-部署说明) - [API文档](#-api文档) - [贡献指南](#-贡献指南) - [许可证](#-许可证) --- ## ✨ 项目特性 ### 🔐 权限管理 - **RBAC权限模型**:支持角色-权限、用户-角色的灵活分配 - **菜单权限控制**:细粒度的菜单和按钮权限管理 - **数据权限过滤**:支持部门、个人等多级数据权限控制 - **Sa-Token集成**:轻量级认证授权框架,支持多端登录 ### 🏢 多租户架构 - **数据隔离**:支持数据库级别、表级别、行级别的数据隔离 - **租户管理**:完整的租户注册、管理、套餐配置功能 - **资源隔离**:租户间资源独立,保证数据安全性 - **灵活配置**:支持不同租户的个性化配置需求 ### 🔧 代码生成器 - **智能生成**:根据数据库表结构自动生成前后端代码 - **模板定制**:支持自定义代码生成模板 - **预览功能**:生成前可预览代码,确保符合预期 - **覆盖率高**:可生成80%以上的CRUD功能代码 ### 📅 任务调度 - **分布式调度**:基于SnailJob的分布式任务调度 - **可视化管理**:任务创建、执行、监控的可视化界面 - **集群支持**:支持多节点集群部署和负载均衡 - **执行策略**:支持Cron表达式和固定频率执行 ### 📁 文件管理 - **多存储支持**:本地存储、阿里云OSS、腾讯云COS等 - **在线预览**:支持图片、PDF、Office文档在线预览 - **安全控制**:文件访问权限控制和安全检查 - **性能优化**:文件上传下载的性能优化处理 ### 🎨 现代化UI - **Arco Design**:字节跳动开源的企业级UI组件库 - **响应式设计**:完美支持PC、平板、手机等多端适配 - **主题定制**:支持深色/浅色主题切换 - **国际化**:完整的多语言国际化支持 --- ## 🏗️ 技术架构 ### 📊 整体架构图 ```mermaid graph TB subgraph "前端层" A[Vue 3 应用] B[Arco Design UI] C[TypeScript] D[Vite构建工具] end subgraph "网关层" E[Nginx反向代理] end subgraph "服务层" F[continew-server
主应用服务] G[schedule-server
任务调度服务] end subgraph "数据层" H[MySQL 8.0.42
主数据库] I[Redis 7.2.8
缓存存储] end A --> E B --> A C --> A D --> A E --> F E --> G F --> H F --> I G --> H G --> I ``` ### 🔧 核心技术栈 #### 后端技术栈 | 技术框架 | 版本 | 描述 | |---------|------|------| | **Spring Boot** | 3.3.12 | 企业级应用开发框架 | | **ContiNew Starter** | 2.13.4 | 企业级开发组件集合 | | **Sa-Token** | 1.44.0 | 轻量级权限认证框架 | | **MyBatis Plus** | 3.5.12 | 数据库ORM增强工具 | | **JetCache** | 2.7.8 | 分布式缓存框架 | | **Redisson** | 3.49.0 | Redis分布式客户端 | | **Snail Job** | 1.5.0 | 分布式任务调度平台 | | **X File Storage** | 2.2.1 | 多存储平台文件管理 | | **Knife4j** | 4.5.0 | API文档增强工具 | | **Hutool** | 5.8.38 | Java工具类库 | #### 前端技术栈 | 技术框架 | 版本 | 描述 | |---------|------|------| | **Vue** | 3.5.4 | 渐进式JavaScript框架 | | **TypeScript** | 5.0.4 | JavaScript超集语言 | | **Arco Design** | 2.57.0 | 企业级UI组件库 | | **Vite** | 5.1.5 | 现代化构建工具 | | **Pinia** | 2.0.36 | Vue状态管理库 | | **Alova** | 3.3.3 | 轻量级请求策略库 | | **UnoCSS** | 66.0.0 | 原子化CSS引擎 | ### 🏛️ 分层架构设计 ```mermaid graph TD A[表现层 Controller] --> B[业务层 Service] B --> C[数据访问层 Mapper] C --> D[数据库 MySQL] E[公共组件层 Common] --> A E --> B E --> C F[插件层 Plugin] --> B subgraph "插件层模块" G[代码生成器] H[多租户管理] I[任务调度] J[开放API] end F --> G F --> H F --> I F --> J ``` ### 🔄 模块依赖关系 ```mermaid graph LR A[continew-common
公共组件] --> B[continew-system
系统管理] A --> C[continew-plugin
插件模块] B --> D[continew-server
应用主模块] C --> D E[continew-extension
扩展服务] --> D subgraph "插件模块详情" C1[代码生成器] C2[多租户管理] C3[任务调度] C4[开放API] end C --> C1 C --> C2 C --> C3 C --> C4 ``` ### 🗄️ 数据库架构 - **主数据库**:MySQL 8.0.42,存储业务数据 - **缓存数据库**:Redis 7.2.8,用于缓存和会话管理 - **连接池**:HikariCP,高性能数据库连接池 - **数据版本管理**:Liquibase,数据库变更管理 - **多租户支持**:基于租户ID的数据隔离策略 --- ## 🚀 快速开始 ### 💻 环境要求 在开始之前,请确保你的开发环境满足以下要求: | 组件 | 版本要求 | 说明 | |------|---------|------| | **JDK** | 17+ | 推荐使用LTS版本,支持OpenJDK和Oracle JDK | | **Node.js** | 18+ | 前端开发环境,推荐使用LTS版本 | | **MySQL** | 8.0+ | 主数据库,也支持PostgreSQL | | **Redis** | 6.0+ | 缓存和会话存储 | | **Maven** | 3.8+ | 项目构建工具 | | **pnpm** | 9+ | 前端包管理器(推荐) | ### ⚡ 一键启动 #### 1️⃣ 克隆项目 ```bash # 使用 Git 克隆项目 git clone https://github.com/your-org/ClinIQ.git cd ClinIQ ``` #### 2️⃣ 数据库初始化 ```bash # 创建数据库 mysql -u root -p CREATE DATABASE continew_admin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE DATABASE continew_admin_job DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; # 导入初始数据(Liquibase会自动执行) ``` #### 3️⃣ 后端服务启动 ```bash # 进入后端目录 cd continew-admin # 修改配置文件(continew-server/src/main/resources/config/application-dev.yml) # 配置数据库连接信息、Redis连接信息等 # 编译并启动 mvn clean install mvn spring-boot:run -pl continew-server # 或者使用IDE直接运行 ContiNewAdminApplication.java ``` #### 4️⃣ 前端应用启动 ```bash # 进入前端目录 cd unibest # 安装依赖 pnpm install # 启动开发服务器 pnpm dev ``` ### 🐳 Docker 一键部署 如果你希望快速体验整个系统,可以使用Docker Compose一键部署: ```bash # 进入Docker配置目录 cd continew-admin/docker # 修改docker-compose.yml中的相关配置 # 如数据库密码、Redis密码等 # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps ``` ### 🔗 访问地址 服务启动成功后,你可以通过以下地址访问系统: | 服务 | 地址 | 说明 | |------|------|------| | **前端应用** | http://localhost:3000 | Vue3前端应用 | | **后端API** | http://localhost:18000 | Spring Boot后端服务 | | **API文档** | http://localhost:18000/doc.html | Knife4j接口文档 | | **任务调度** | http://localhost:18001 | SnailJob调度管理 | ### 🔑 默认账号 系统预置了以下测试账号: | 角色 | 用户名 | 密码 | 说明 | |------|-------|------|------| | **超级管理员** | admin | admin123 | 拥有所有权限 | | **管理员** | manager | manager123 | 拥有管理权限 | | **普通用户** | user | user123 | 基础权限 | ### 🔄 开发流程 ```mermaid sequenceDiagram participant Dev as 开发者 participant Git as Git仓库 participant DB as 数据库 participant Backend as 后端服务 participant Frontend as 前端应用 Dev->>Git: 1. 克隆项目 Dev->>DB: 2. 初始化数据库 Dev->>Backend: 3. 启动后端服务 Backend->>DB: 4. 连接数据库 Dev->>Frontend: 5. 启动前端应用 Frontend->>Backend: 6. API请求 Backend->>DB: 7. 数据查询 DB-->>Backend: 8. 返回数据 Backend-->>Frontend: 9. 响应数据 Frontend-->>Dev: 10. 显示界面 ``` > 📝 **注意事项**: > - 首次启动时,Liquibase会自动创建数据表和初始数据 > - 如遇到端口冲突,可在配置文件中修改相应端口 > - 生产环境部署请参考 [部署说明](#-部署说明) --- ## 📁 项目结构 ### 🏢 整体结构概览 ``` ClinIQ/ ├── continew-admin/ # 后端项目根目录 │ ├── continew-server/ # 应用启动模块 │ ├── continew-system/ # 系统管理模块 │ ├── continew-common/ # 公共组件模块 │ ├── continew-plugin/ # 插件模块 │ │ ├── continew-plugin-generator/ # 代码生成器 │ │ ├── continew-plugin-tenant/ # 多租户管理 │ │ ├── continew-plugin-schedule/ # 任务调度 │ │ └── continew-plugin-open/ # 开放API │ ├── continew-extension/ # 扩展服务模块 │ └── docker/ # 容器化配置 ├── unibest/ # 前端项目根目录 │ ├── src/ # 源代码目录 │ │ ├── pages/ # 页面组件 │ │ ├── api/ # API接口定义 │ │ ├── store/ # 状态管理 │ │ ├── router/ # 路由配置 │ │ └── utils/ # 工具函数 │ └── package.json # 依赖配置 └── README.md # 项目说明文档 ``` ### 📦 后端模块详解 #### continew-server (应用主模块) **主要责任**:应用启动、全局配置、模块集成 ``` continew-server/ ├── src/main/java/top/continew/admin/ │ ├── config/ # 全局配置 │ │ ├── log/ # 日志配置 │ │ └── satoken/ # 认证配置 │ ├── controller/ # 通用API │ ├── job/ # 定时任务 │ └── ContiNewAdminApplication.java # 主启动类 └── src/main/resources/ ├── config/ # 核心配置 │ ├── application.yml # 通用配置 │ ├── application-dev.yml # 开发环境配置 │ └── application-prod.yml # 生产环境配置 ├── db/changelog/ # 数据库版本管理 └── templates/ # 模板文件 ``` #### continew-system (系统管理模块) **主要责任**:用户管理、角色权限、菜单管理等核心业务 | 功能模块 | 主要组件 | 说明 | |---------|--------|------| | **用户管理** | UserController, UserService | 用户CRUD、角色分配、密码管理 | | **角色管理** | RoleController, RoleService | 角色CRUD、权限分配 | | **菜单管理** | MenuController, MenuService | 菜单树管理、按钮权限 | | **部门管理** | DeptController, DeptService | 组织架构管理 | | **文件管理** | FileController, FileService | 文件上传下载、在线预览 | | **系统配置** | ConfigController, ConfigService | 系统参数配置 | | **日志管理** | LogController, LogService | 操作日志、登录日志 | #### continew-common (公共组件模块) **主要责任**:提供通用基类、工具类、全局配置 ``` continew-common/ └── src/main/java/top/continew/admin/common/ ├── base/ # 基类定义 │ ├── controller/ # 控制器基类 │ ├── service/ # 服务层基类 │ ├── mapper/ # 数据访问基类 │ └── model/ # 实体基类 ├── config/ # 公共配置 │ ├── crud/ # CRUD配置 │ ├── mybatis/ # MyBatis配置 │ └── exception/ # 异常处理 ├── constant/ # 常量定义 ├── enums/ # 枚举定义 └── util/ # 工具类 ``` #### continew-plugin (插件模块) **主要责任**:提供可插拔的扩展功能 | 插件名称 | 功能描述 | 核心特性 | |---------|--------|--------| | **代码生成器** | 根据数据库表生成代码 | 支持前后端代码生成、模板定制 | | **多租户管理** | SaaS多租户支持 | 数据隔离、租户套饴管理 | | **任务调度** | 分布式任务管理 | Cron表达式、集群部署 | | **开放API** | 第三方集成支持 | API签名验证、访问控制 | ### 🌍 前端模块详解 #### 核心目录结构 ``` unibest/src/ ├── pages/ # 页面组件 │ ├── index/ # 首页 │ ├── login/ # 登录页面 │ ├── about/ # 关于页面 │ └── me/ # 个人中心 ├── api/ # API接口封装 │ ├── types/ # 类型定义 │ ├── login.ts # 登录相关API │ └── foo.ts # 业务API示例 ├── store/ # 状态管理 │ ├── index.ts # 状态入口 │ ├── user.ts # 用户状态 │ ├── token.ts # 认证状态 │ └── theme.ts # 主题状态 ├── router/ # 路由管理 │ ├── config.ts # 路由配置 │ └── interceptor.ts # 路由拦截器 ├── http/ # HTTP请求封装 │ ├── alova.ts # Alova配置 │ ├── interceptor.ts # 请求拦截器 │ └── types.ts # 类型定义 ├── utils/ # 工具函数 │ ├── index.ts # 通用工具 │ └── systemInfo.ts # 系统信息 └── service/ # 业务服务层 ├── user.ts # 用户服务 └── types.ts # 服务类型 ``` #### 技术架构分层 | 层级 | 技术组件 | 责任描述 | |------|--------|--------| | **构建层** | Vite + TypeScript | 项目构建、类型检查 | | **框架层** | Vue 3 + Composition API | 组件开发、响应式数据 | | **UI层** | Arco Design + UnoCSS | 组件库、原子化样式 | | **状态层** | Pinia + 持久化 | 全局状态管理 | | **路由层** | Vue Router + 拦截器 | 页面导航、权限控制 | | **网络层** | Alova + 拦截器 | HTTP请求、响应处理 | ### 📊 模块责任矩阵 | 模块类型 | 主要责任 | 依赖关系 | 部署方式 | |---------|--------|--------|--------| | **continew-common** | 基础设施、通用组件 | 无依赖 | 被其他模块依赖 | | **continew-system** | 核心业务功能 | 依赖common | 集成到server | | **continew-plugin** | 可插拔扩展功能 | 依赖common | 按需加载 | | **continew-server** | 应用集成、部署 | 聚合所有模块 | 独立部署 | | **continew-extension** | 扩展服务 | 可选 | 分布式部署 | | **unibest** | 前端用户界面 | 无后端依赖 | 静态部署 | --- ## 🚀 核心功能 ### 🔐 权限管理架构 ```mermaid graph TD A[用户登录] --> B[Sa-Token认证] B --> C[角色验证] C --> D[菜单权限检查] C --> E[数据权限过滤] D --> F[API访问控制] E --> G[数据范围限制] F --> H[功能操作权限] G --> I[行级数据权限] ``` **权限控制特性**: - ✅ **RBAC模型**:用户-角色-权限的经典模型 - ✅ **菜单权限**:支持动态菜单加载和按钮级权限控制 - ✅ **数据权限**:支持全部、本级、本级及以下、仅本人等数据范围 - ✅ **多端支持**:支持PC、移动端等多平台认证 ### 🏢 多租户数据隔离 | 隔离级别 | 实现方式 | 适用场景 | 成本评估 | |---------|---------|---------|--------| | **数据库级别** | 独立数据库实例 | 高安全要求的企业客户 | 高 | | **表级别** | 租户标识字段 | 中小型SaaS应用 | 中 | | **应用级别** | 运行时过滤 | 轻量级多租户场景 | 低 | ### 🌐 API开放能力 **API访问流程**: ```mermaid sequenceDiagram participant Client as 第三方应用 participant Gateway as API网关 participant Auth as 认证服务 participant Service as 业务服务 Client->>Gateway: 1. API请求(带签名) Gateway->>Auth: 2. 验证签名 Auth-->>Gateway: 3. 验证结果 Gateway->>Service: 4. 转发请求 Service-->>Gateway: 5. 返回结果 Gateway-->>Client: 6. 统一响应 ``` --- ## 🛠️ 开发指南 ### 📝 代码规范 - **后端规范**:严格遵循阿里巴巴Java开发手册 - **前端规范**:使用ESLint + Prettier进行代码检查和格式化 - **提交规范**:使用Conventional Commits规范编写提交信息 - **测试覆盖**:单元测试覆盖率不低于80% ### 📚 API文档 项目集成了Knife4j,提供了完整的API文档和在线调试功能: - **本地访问**:http://localhost:18000/doc.html - **在线调试**:支持直接在文档页面进行接口测试 - **导入导出**:支持OpenAPI 3.0规范的文档导入导出 --- ## 🚀 部署说明 ### 🐳 Docker部署(推荐) ```bash # 1. 克隆项目 git clone https://github.com/your-org/ClinIQ.git cd ClinIQ/continew-admin/docker # 2. 修改配置文件 vim docker-compose.yml # 修改数据库密码、Redis密码等配置 # 3. 构建并启动服务 docker-compose up -d # 4. 查看服务状态 docker-compose ps ``` ### 🛠️ 手动部署 **后端部署**: ```bash # Maven打包 mvn clean package -DskipTests # 启动服务 java -jar continew-server/target/continew-admin.jar ``` **前端部署**: ```bash # 构建生产版本 pnpm build:prod # 部署到Nginx cp -r dist/* /usr/share/nginx/html/ ``` --- ## 🤝 贡献指南 我们诚挚邀请社区贡献者一起完善ClinIQ项目! ### 🔄 贡献流程 1. **Fork项目** → 在GitHub上Fork本项目到个人仓库 2. **创建分支** → `git checkout -b feature/new-feature` 3. **提交修改** → `git commit -m 'feat: add new feature'` 4. **推送分支** → `git push origin feature/new-feature` 5. **创建PR** → 在GitHub上创建Pull Request ### 📄 贡献类型 - 🐛 **Bug修复**:报告和修复系统问题 - ✨ **新功能**:添加新的功能特性 - 📝 **文档完善**:改进项目文档 - 🌍 **国际化**:翻译和本地化支持 - 🚀 **性能优化**:提升系统性能 --- ## 📞 反馈交流
**加入我们的社区,与万名开发者一起成长!** [![GitHub Issues](https://img.shields.io/github/issues/continew-org/continew-admin.svg)](https://github.com/continew-org/continew-admin/issues) [![GitHub Discussions](https://img.shields.io/github/discussions/continew-org/continew-admin.svg)](https://github.com/continew-org/continew-admin/discussions) 💬 **问题反馈** | 🌐 **社区讨论** | 📧 **邮件联系** :---:|:---:|:---: [GitHub Issues](https://github.com/continew-org/continew-admin/issues) | [GitHub Discussions](https://github.com/continew-org/continew-admin/discussions) | continew@example.com
--- ## 📜 许可证 本项目采用 [Apache License 2.0](LICENSE) 开源许可证。 ``` Copyright 2024 ClinIQ Contributors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` --- ## 🚀 星标历史
[![Star History Chart](https://api.star-history.com/svg?repos=continew-org/continew-admin&type=Date)](https://star-history.com/#continew-org/continew-admin&Date) **如果这个项目对你有帮助,请给我们一个⭐️!**
---
**❤️ 感谢所有为开源事业做出贡献的开发者们!** Made with ❤️ by [ClinIQ Team](https://github.com/continew-org)
口 > - 生产环境部署请参考 [部署说明](#-部署说明)