🎉 限时特惠活动公告、获取优惠码、最高立减3200元
| 端 | 技术栈 |
|---|---|
| 后端服务 | PHP 8.0 + ThinkPHP 6.0 |
| 管理后台 | Vue 3 + TypeScript + Vite + Element Plus |
| PC 前台 | Nuxt.js 3 + Vue 3 + Element Plus |
| 移动端 | uni-app + Vue 3 + TypeScript |
| 数据库 | MySQL 5.7 + PostgreSQL (pgVector) + Redis |
| 容器化 | Docker + Docker Compose |
跟目录/
├── admin/ # 管理后 台前端 (Vue 3)
├── pc/ # PC端前台 (Nuxt.js)
├── server/ # 后端服务 (ThinkPHP 6)
├── uniapp/ # 移动端 (uni-app)
├── docker/ # Docker 配置文件
└── README.mdserver/
├── app/
│ ├── adminapi/ # 管理后台API模块
│ │ ├── controller/ # 控制器 (34个)
│ │ ├── lists/ # 列表查询 (28个)
│ │ ├── logic/ # 业务逻辑 (31个)
│ │ ├── validate/ # 验证器 (27个)
│ │ └── service/ # 服务层
│ ├── api/ # 前台API模块
│ │ ├── controller/ # 控制器 (34个)
│ │ ├── lists/ # 列表查询 (14个)
│ │ ├── logic/ # 业务逻辑 (28个)
│ │ ├── validate/ # 验证器 (24个)
│ │ └── service/ # 服务层 (6个)
│ ├── common/ # 公共模块
│ │ ├── cache/ # 缓存处理
│ │ ├── command/ # 命令行工具 (12个)
│ │ ├── enum/ # 枚举定义 (33个)
│ │ ├── model/ # 数据模型 (35个目录)
│ │ ├── service/ # 公共服务 (21个目录)
│ │ └── logic/ # 公共逻辑
│ ├── queue/ # 队列任务
│ ├── common.php # 公共函数
│ └── BaseController.php # 基础控制器
├── config/ # 配置文件
│ ├── ai.php # AI模型配置 (核心)
│ ├── database.php # 数据库配置
│ └── ...
├── extend/ # 扩展类库
├── public/ # 公共资源/入口文件
├── route/ # 路由配置
└── runtime/ # 运行时目录app/common/service/ai/chat/)| 文件 | 模型服务 |
|---|---|
OpenaiService.php | OpenAI (GPT系列) |
BaiduService.php | 百度文心一言 |
QwenService.php | 阿里通义千问 |
ZhipuService.php | 智谱清言 (GLM) |
XunfeiService.php | 讯飞星火 |
DoubaoService.php | 字节豆包 |
OllamaService.php | Ollama (本地模型) |
AzureService.php | Azure OpenAI |
MiniMaxService.php | MiniMax |
app/common/service/ai/chat/ 目录创建服务类ChatService 基类config/ai.php 的 ChatModels 中添加配置chat() 和 streamChat() 方法app/common/service/draw/engine/)| 文件 | 绘画引擎 |
|---|---|
DrawMj.php | Midjourney |
DrawSd.php | Stable Diffusion |
DrawDalle3.php | DALL-E 3 |
DrawDoubao.php | 豆包绘画 |
DrawAceData.php | AceData |
| 目录 | 功能 |
|---|---|
service/music/ | AI 音乐生成 |
service/video/ | AI 视频生成 |
service/voice/ | 语音合成/识别 |
service/recall/ | 知识检索 |
app/common/model/)model/
├── auth/ # 权限相关 (8个)
├── chat/ # 对话记录 (9个)
├── draw/ # 绘画记录 (12个)
├── kb/ # 知识库 (14个)
├── member/ # 会员系统 (8个)
├── music/ # 音乐 (5个)
├── video/ # 视频 (4个)
├── user/ # 用户 (5个)
├── distribution/ # 分销 (3个)
├── recharge/ # 充值 (3个)
├── order/ # 订单
└── ...app/common/command/)| 命令 | 功能 |
|---|---|
Crontab.php | 定时任务 |
QueryMusic.php | 音乐任务查询 |
QueryVideo.php | 视频任务查询 |
QueryPPT.php | PPT任务查询 |
QueryRefund.php | 退款查询 |
ContentCensor.php | 内容审核 |
DrawFail.php | 绘画失败处理 |
.example.env 为 .env 并配置:APP_DEBUG = false
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = chatmoney
USERNAME = root
PASSWORD = your_password
HOSTPORT = 3306
CHARSET = utf8mb4
PREFIX = cw_
[PGSQL]
HOSTNAME = localhost
DATABASE = postgres
USERNAME = postgres
PASSWORD = your_password
HOSTPORT = 5432
[CACHE]
DRIVER = redis
HOST = 127.0.0.1
PORT = 6379
PASSWORD = ""
[PROJECT]
DEMO_ENV = false
UNIQUE_IDENTIFICATION = your_keyadmin/
├── src/
│ ├── api/ # API 接口定义
│ │ ├── ai_setting/ # AI设置 (7个)
│ │ ├── ai_application/# AI应用 (6个)
│ │ ├── ai_draw/ # AI绘画 (8个)
│ │ ├── knowledge_base/# 知识库 (5个)
│ │ ├── marketing/ # 营销 (11个)
│ │ ├── digital_human/ # 数字人 (5个)
│ │ └── ...
│ ├── views/ # 页面视图
│ │ ├── ai_application/# AI应用管理 (10个)
│ │ ├── ai_setting/ # AI设置 (8个)
│ │ ├── knowledge_base/# 知识库管理 (8个)
│ │ ├── marketing/ # 营销管理 (9个)
│ │ ├── consumer/ # 用户管理
│ │ ├── finance/ # 财务管理
│ │ └── ...
│ ├── components/ # 公共组件 (25个)
│ │ ├── editor/ # 富文本编辑器
│ │ ├── material/ # 素材选择器
│ │ ├── upload/ # 上传组件
│ │ ├── markdown/ # Markdown渲染
│ │ └── ...
│ ├── hooks/ # 组合式函数 (8个)
│ ├── stores/ # Pinia 状态管理
│ ├── router/ # 路由配置
│ ├── utils/ # 工具函数 (11个)
│ └── styles/ # 样式文件
├── vite.config.ts # Vite 配置
├── tailwind.config.js # Tailwind 配置
└── package.json{
"dependencies": {
"vue": "^3.2.37",
"vue-router": "^4.0.16",
"pinia": "^2.0.14",
"element-plus": "2.2.9",
"axios": "^0.27.2",
"echarts": "^5.3.3",
"@wangeditor/editor": "^5.1.12",
"markdown-it": "^13.0.1"
}
}.env.development.example 为 .env.development:NODE_ENV = 'development'
VITE_APP_BASE_URL='http://your-api-domain.com'src/views/ 创建页面目录和 Vue 文件src/api/ 创建对应的 API 文件pc/
├── src/
│ ├── pages/ # 页面目录
│ │ ├── chat/ # 智能对话
│ │ ├── draw/ # AI 绘画 (8个)
│ │ ├── creation/ # AI 创作
│ │ ├── application/ # 应用中心 (6个)
│ │ ├── dialogue/ # 对话记录 (4个)
│ │ ├── digital_human/ # 数字人 (5个)
│ │ ├── music/ # AI 音乐
│ │ ├── video/ # AI 视频
│ │ ├── mind_map/ # 思维导图
│ │ ├── ai_ppt/ # AI PPT (5个)
│ │ ├── robot_square/ # 机器人广场
│ │ ├── search/ # AI 搜索
│ │ └── user/ # 用户中心
│ ├── components/ # 公共组件 (43个)
│ │ ├── the-chat/ # 聊天组件
│ │ ├── the-chat-msg/ # 消息组件 (7个)
│ │ ├── markdown/ # Markdown (8个)
│ │ ├── music/ # 音乐播放器 (5个)
│ │ ├── waterfall/ # 瀑布流 (4个)
│ │ └── ...
│ ├── api/ # API 接口 (23个)
│ ├── stores/ # 状态管理 (8个)
│ ├── composables/ # 组合式函数 (10个)
│ ├── middleware/ # 中间件 (2个)
│ ├── layouts/ # 布局组件
│ └── utils/ # 工具函数 (17个)
├── nuxt.config.ts # Nuxt 配置
├── tailwind.config.js # Tailwind 配置
└── package.json{
"dependencies": {
"vue": "^3.3.4",
"nuxt": "3.12.4",
"pinia": "2.0.3",
"element-plus": "2.7.3",
"markdown-it": "13.0.1",
"fabric": "5.3.0",
"markmap-lib": "^0.17.0",
"tinymce": "^7.2.0"
}
}.env.development.example 为 .env.development:VITE_API_URL=http://your-api-domain.com
VITE_BASE_URL=/
VITE_SSR=falsenuxt.config.ts 中控制渲染模式:uniapp/
├── src/
│ ├── pages/ # 页面目录
│ │ ├── index/ # 首页
│ │ ├── ai_creation/ # AI 创作
│ │ ├── kb/ # 知识库
│ │ ├── login/ # 登录
│ │ ├── user/ # 用户中心
│ │ └── webview/ # 内嵌网页
│ ├── components/ # 公共组件 (30个)
│ │ ├── chat-input/ # 聊天输入框
│ │ ├── chat-record-item/ # 聊天记录项
│ │ ├── ua-markdown/ # Markdown渲染
│ │ ├── recorder/ # 录音组件
│ │ └── ...
│ ├── api/ # API 接口 (21个)
│ ├── stores/ # 状态管理 (5个)
│ ├── hooks/ # 组合式函数 (8个)
│ ├── utils/ # 工具函数 (19个)
│ ├── uni_modules/ # uni-app 插件 (32个)
│ ├── pages.json # 页面配置
│ └── manifest.json # 应用配置
├── vite.config.ts # Vite 配置
├── tailwind.config.js # Tailwind 配置
└── package.json.env.development.example 为 .env.development:VITE_APP_BASE_URL='http://your-api-domain.com'docker/docker-compose.examle.yml 为 docker-compose.yml| 服务 | 镜像 | 端口 |
|---|---|---|
| nginx | likeadmin/nginx:1.23.1 | 180:80 |
| php | likeadmin/php:8.0.30.3-fpm | 7314:7314 |
| mysql | likeadmin/mysql:5.7.29 | 13306:3306 |
| postgres | likeadmin/postgres:17.5 | 15432:5432 |
| redis | likeadmin/redis:7.4.0 | - |
server/config/ai.php| 路由前缀 | 模块 | 说明 |
|---|---|---|
/adminapi/* | adminapi | 管理后台接口 |
/api/* | api | 前台接口 |
{
"code": 1,
"msg": "success",
"data": {},
"show": 0
}| code | 说明 |
|---|---|
| 1 | 成功 |
| 0 | 失败 |
| -1 | 未登录 |
| 10001 | 参数错误 |
app/adminapi/controller/ 或 app/api/controller/ 创建控制器app/*/logic/ 创建业务逻辑类app/*/validate/ 创建验证器app/*/lists/ 创建列表查询类 (如需分页)app/common/service/ai/chat/NewModelService.phpconfig/ai.php 添加配置app/adminapi/controller/NewFeatureController.phpapp/adminapi/logic/NewFeatureLogic.phpapp/adminapi/validate/NewFeatureValidate.phpadmin/src/views/ 创建页面admin/src/api/ 创建接口app/api/controller/ 创建控制器pc/src/pages/ 创建页面uniapp/src/pages/ 创建页面pages.json (uni-app)| 表名 | 说明 |
|---|---|
cw_user | 用户表 |
cw_admin | 管理员表 |
cw_chat_records | 对话记录 |
cw_draw_records | 绘画记录 |
cw_kb_know | 知识库 |
cw_kb_know_files | 知识库文件 |
cw_order | 订单表 |
cw_member_package | 会员套餐 |
cw_recharge_package | 充值套餐 |
[QUEUE]
NAME = kb
HOST = redis-host
PORT = 6379
PASSWORD = ""app/queue/ 目录GET /crontabAPP_DEBUG