# 怎快AI姓名配对插件
## 插件概述
AI姓名配对插件是一款基于AI大模型的姓名缘分配对测算工具,用户输入双方姓名和出生日期后,系统自动生成详细的配对分析报告。支持免登录使用(IP识别)和登录使用(UID识别),未支付用户可查看配对分数,支付后解锁完整8大内容。
---
## 功能模块
### 一、用户端功能
#### 1. 首页(配对输入页)
- 路径:`/pages/tabBar/index`
- 文件:`uniapp/home/pages/tabBar/index.vue`
- 功能:
- 输入男方姓名 + 出生日期
- 输入女方姓名 + 出生日期
- 勾选协议后点击"立即开始测算"
- 爱心飘落动画 + 毛玻璃卡片效果
- 右上角历史记录入口
#### 2. 独立配对页
- 路径:`/pages/zkainame/name_match/index`
- 文件:`uniapp/home/pages/zkainame/name_match/index.vue`
- 功能:与首页相同的配对输入功能,独立页面入口
#### 3. 配对结果页
- 路径:`/pages/zkainame/name_match/result`
- 文件:`uniapp/home/pages/zkainame/name_match/result.vue`
- 功能:
- **未支付状态**:显示配对指数、心动值/匹配值/缘分值进度条,8大内容锁定不可见,展示解锁入口
- **已支付状态**:展示完整8大配对内容
- 支付按钮调用系统收银台完成支付
- 支付成功后自动刷新页面展示完整内容
#### 4. 配对记录页
- 路径:`/pages/zkainame/name_match/records`
- 文件:`uniapp/home/pages/zkainame/name_match/records.vue`
- 功能:
- 展示当前用户(或IP)的所有配对记录
- 显示双方姓名、配对分数、支付状态、创建时间
- 点击记录跳转结果详情页
- 支持下拉刷新、上拉加载更多
- 空状态引导去配对
---
### 二、8大配对内容
| 序号 | 内容 | 说明 |
|------|------|------|
| 1 | 姓名配对指数 | 总匹配分数 + 心动值/匹配值/缘分值三维评分 |
| 2 | 恋爱性格分析 | 双方性格特质、恋爱模式、沟通方式深度解析 |
| 3 | 理想相处模式 | 相处模式建议、矛盾解决方法、甜蜜秘诀 |
| 4 | 命宫分析 | 基于东西四命传统命理学,分析住宅方位与命宫相合度 |
| 5 | 年支同气分析 | 基于生肖三合六合理论,分析属相契合度 |
| 6 | 恋爱建议 | 针对性的感情经营建议 |
| 7 | 未来展望 | 感情发展前景预测 |
| 8 | 幸运元素 | 幸运颜色、幸运数字、幸运方位、幸运花卉 |
---
### 三、管理端功能
#### 1. 配对记录管理
- 路径:`/pages/zkainame/name_match/record_list`
- 文件:`uniapp/admin/pages/zkainame/name_match/record_list.vue`
- 功能:
- 查看所有配对记录列表
- 按姓名关键词搜索
- 按支付状态筛选
- 查看配对详情
- 删除记录
#### 2. 后台设置
- 文件:`set_config.php` → AI配对设置分组
- 配置项:
| 配置项 | 字段 | 说明 |
|--------|------|------|
| 配对价格 | match_price | 解锁完整报告的价格(元),默认29.90 |
| AI模型提供商 | ai_provider | 下拉选择,8个选项 |
| AI接口地址 | ai_api_url | 选择提供商后自动填充,也可手动修改 |
| AI接口密钥 | ai_api_key | API Key,选择本地算法时无需填写 |
| AI模型名称 | ai_model | 选择提供商后自动填充,也可手动修改 |
| 免责声明 | match_disclaimer | 显示在配对结果页底部 |
---
## AI模型支持
插件支持以下AI大模型提供商,均采用OpenAI兼容接口格式:
| 提供商 | API地址 | 默认模型 | 说明 |
|--------|---------|----------|------|
| 本地算法 | 无需API | 无 | 默认选项,基于姓名哈希+生肖五行本地计算 |
| DeepSeek | api.deepseek.com/v1 | deepseek-chat | 性价比高,中文能力强 |
| 豆包(字节跳动) | ark.cn-beijing.volces.com/api/v3 | doubao-pro-32k | 字节跳动旗下,需在火山引擎创建接入点 |
| 通义千问(阿里) | dashscope.aliyuncs.com/compatible-mode/v1 | qwen-turbo | 阿里云旗下,兼容OpenAI格式 |
| 智谱AI(GLM) | open.bigmodel.cn/api/paas/v4 | glm-4-flash | 清华系,中文理解出色 |
| Moonshot(月之暗面) | api.moonshot.cn/v1 | moonshot-v1-8k | 长文本能力强 |
| OpenAI | api.openai.com/v1 | gpt-3.5-turbo | 国际通用 |
| 自定义接口 | 手动填写 | 手动填写 | 支持任何OpenAI兼容接口 |
**降级策略**:当AI接口调用失败或未配置时,自动降级为本地算法生成结果,确保服务可用。
---
## 身份识别策略
| 场景 | 识别方式 | 说明 |
|------|----------|------|
| 已登录用户 | uid | 通过用户ID关联配对记录 |
| 未登录用户 | ip | 通过客户端IP地址关联配对记录 |
所有用户端接口均免登录,无需强制登录即可使用配对和支付功能。
---
## 支付流程
1. 用户点击"立即解锁"按钮
2. 后端创建支付订单(调用系统收银台)
3. 前端调起支付组件 `b-wei-pay`
4. 支付成功后回调更新 `pay_status = 1`
5. 前端刷新页面展示完整内容
支付回调入口:`common/Common.php` → `name_match_pay` 类型处理
---
## 文件结构
```
plugin/zkainame/
├── api/
│ └── NameMatch.php # 用户端API(create/detail/lists/unlock)
├── admin/
│ └── NameMatch.php # 管理端API(lists/detail/dels)
├── common/
│ └── Common.php # 公共方法(含支付回调 name_match_pay)
├── model/
│ └── NameMatchRecordModel.php # 配对记录数据模型
├── service/
│ └── NameMatchService.php # 业务逻辑层(AI调用/本地算法/记录管理)
├── uniapp/
│ ├── home/
│ │ └── pages/
│ │ ├── tabBar/
│ │ │ └── index.vue # 首页(配对输入)
│ │ └── zkainame/
│ │ └── name_match/
│ │ ├── index.vue # 独立配对输入页
│ │ ├── result.vue # 配对结果页
│ │ └── records.vue# 配对记录页
│ └── admin/
│ └── pages/
│ └── zkainame/
│ └── name_match/
│ └── record_list.vue # 管理端记录列表
├── config.php # 插件配置(菜单/权限)
├── set_config.php # 后台设置项定义
├── Install.sql # 数据库建表SQL
└── route.php # 路由配置
```
---
## 数据库表
### zenkuai_plugin_zkainame_name_match_record
| 字段 | 类型 | 说明 |
|------|------|------|
| id | int(11) | 主键ID |
| uid | int(11) | 用户ID(0=游客) |
| ip | varchar(50) | 用户IP地址 |
| male_name | varchar(50) | 男方姓名 |
| male_birthday | varchar(20) | 男方生日 |
| female_name | varchar(50) | 女方姓名 |
| female_birthday | varchar(20) | 女方生日 |
| match_score | int(11) | 配对指数(0-100) |
| heart_score | int(11) | 心动值(0-100) |
| match_value | int(11) | 匹配值(0-100) |
| fate_score | int(11) | 缘分值(0-100) |
| personality_analysis | text | 恋爱性格分析 |
| relationship_mode | text | 理想相处模式 |
| life_palace_analysis | text | 命宫分析 |
| year_branch_analysis | text | 年支同气分析 |
| love_advice | text | 恋爱建议 |
| future_outlook | text | 未来展望 |
| lucky_elements | text | 幸运元素JSON |
| full_result | text | 完整AI返回结果JSON |
| pay_status | tinyint(1) | 支付状态 0未支付 1已支付 |
| pay_time | int(11) | 支付时间 |
| pay_order_id | int(11) | 支付订单ID |
| status | tinyint(1) | 状态 0禁用 1正常 |
| create_time | int(11) | 创建时间 |
| update_time | int(11) | 更新时间 |
| delete_time | int(11) | 删除时间 |
索引:`idx_uid`、`idx_ip`、`idx_create_time`
---
## API接口
### 用户端接口
| 接口 | 方法 | 说明 | 需要登录 |
|------|------|------|----------|
| /plugin.php/zkainame/api/NameMatch/create | POST | 创建配对记录 | 否 |
| /plugin.php/zkainame/api/NameMatch/detail | POST | 获取配对详情 | 否 |
| /plugin.php/zkainame/api/NameMatch/lists | POST | 获取配对记录列表 | 否 |
| /plugin.php/zkainame/api/NameMatch/unlock | POST | 创建支付订单(解锁) | 否 |
### 管理端接口
| 接口 | 方法 | 说明 | 需要登录 |
|------|------|------|----------|
| /plugin.php/zkainame/admin/NameMatch/lists | POST | 获取所有配对记录 | 是 |
| /plugin.php/zkainame/admin/NameMatch/detail | POST | 获取配对详情 | 是 |
| /plugin.php/zkainame/admin/NameMatch/dels | POST | 删除配对记录 | 是 |
---
## 本地算法说明
当未配置AI接口时,插件使用本地算法生成配对结果:
1. **配对指数**:基于双方姓名CRC32哈希 + 生肖兼容性计算,范围30-99
2. **心动值/匹配值/缘分值**:在配对指数基础上加入随机偏移
3. **生肖兼容性**:内置12生肖三合六合六冲对照表,影响最终分数
4. **分析文本**:根据分数区间(高/中/低)选择预设模板,填入双方姓名和生肖信息
5. **幸运元素**:基于姓名哈希种子从预设列表中选择
---
## UI风格
- 深紫色渐变背景(#1A0733 → #351B61 → #BA506F)
- 毛玻璃卡片效果(backdrop-filter: blur)
- 爱心飘落动画
- 心跳动画按钮
- 渐变色标签和进度条
- 入场淡入上移动画
-
AI姓名配对