CHANGELOG
v10.0.0 (2026-06-01)
📚 新增稍后读/字体同步/插件更新 API接口文档
重大更新:新增稍后读同步+协作+AI摘要、字体同步、插件更新三个模块的API接口文档,以及对应的管理员端管理模块文档。
新增功能
| 功能 |
说明 |
| 📖 稍后读同步 |
upload/download/delete/fullSync 四个同步接口 |
| 👥 稍后读协作 |
createSharedList/inviteMember/shareMessage/listMessages/myLists/leaveList 六个协作接口 |
| 🤖 AI摘要 |
generateSummary/batchSummarize/dailySummary/suggestTags 四个AI接口 |
| 🔤 字体同步 |
list获取在线字体列表、install建表 |
| 🔌 插件更新 |
check/checkAll/syncState/loadState 四个接口、install建表 |
管理员端新增
| 模块 |
说明 |
| 27. 稍后读数据管理 |
消息列表查看、过期消息清理 |
| 28. 共享列表管理 |
列表查看、删除 |
| 29. 字体管理 |
字体CRUD、启用/禁用、排序 |
| 30. 插件元信息管理 |
插件版本发布、启用/禁用 |
| 31. 插件用户设置 |
用户插件设置只读列表 |
数据库变更
| 表 |
说明 |
管理操作 |
| tool_readlater_messages |
稍后读消息 |
CRUD |
| tool_readlater_shared_lists |
共享列表 |
CRUD |
| tool_readlater_shared_members |
共享列表成员 |
只读 |
| tool_readlater_shared_messages |
共享列表消息 |
只读 |
| tool_fonts |
在线字体 |
CRUD |
| tool_plugin_meta |
插件元信息 |
CRUD |
| tool_plugin_user_settings |
插件用户设置 |
只读 |
文档更新
docs/API_READLATER_FONT_PLUGIN_DOC.md v10.0.0 新建
docs/API_ADMIN_DOC.md v9.3.0 → v10.0.0 新增第27-31章节
v10.1.0 (2026-05-14)
🛡️ 新增密保问题功能 & 多验证方式支持
重大更新:新增密保问题(Security Question)功能,注册时可选填密保问题;修改密码/修改密保/修改邮箱/修改手机号支持多种验证方式。
新增功能
| 功能 |
说明 |
| 🛡️ 密保问题 |
8个预置密保问题,注册时可选填,用于身份验证 |
| 📋 获取密保问题列表 |
GET /api/user_security/secQuestions,无需登录 |
| ✏️ 修改密保问题 |
POST /api/user_security/changeSecQuestion,支持密码/密保/回执验证 |
| 🔑 修改密码多验证 |
changepwd支持password/sec_question/receipt三种验证方式 |
| 📧 修改邮箱多验证 |
changeemail支持receipt/sec_question两种验证方式 |
| 📱 修改手机多验证 |
changemobile支持receipt/sec_question两种验证方式 |
数据库变更
| 表 |
变更 |
说明 |
| tool_user |
+sec_question |
tinyint(2) unsigned, 密保问题编号(0=未设置,1-8) |
| tool_user |
+sec_answer |
varchar(32), 密保答案MD5哈希 |
| tool_user |
+idx_sec_question |
索引 |
预置密保问题
| ID |
问题 |
| 1 |
您母亲的姓名是? |
| 2 |
您的第一只宠物叫什么? |
| 3 |
您就读的小学名称是? |
| 4 |
您的出生地是? |
| 5 |
您最喜欢的电影是? |
| 6 |
您最好朋友的名字是? |
| 7 |
您父亲的姓名是? |
| 8 |
您的童年昵称是? |
修改文件
application/api/controller/UserSecurity.php - 新增secQuestions/changeSecQuestion方法; register增加可选密保; changepwd/changeemail/changemobile支持多验证方式
application/api/controller/UserCenter.php - extra字段新增sec_question密保信息
application/admin/command/Install/migrate_v10_1.sql - 数据库迁移脚本
文档更新
docs/API_USER_SECURITY_DOC.md v9.2.0 → v10.1.0
docs/API_USER_CENTER_DOC.md v1.7.0 → v1.8.0
测试验证
- 全流程测试20/20通过:注册→密保验证→密码修改→邮箱修改→手机修改→密保修改→注销 ✅
- 测试账号已提交注销申请 ✅
v9.0.1 (2026-05-09)
🔧 修复管理员编辑页面 & 新增字段编辑支持
修复:管理员用户编辑页面(user/user/edit)返回HTTP 500错误,原因是ThinkPHP模板语法|default被解析为PHP关键字导致语法错误。
新增:管理员编辑页面支持编辑VIP会员时间、云空间、在线状态、自定义头像URL等新字段。
Bug修复
| 问题 |
原因 |
修复方案 |
| 编辑页面HTTP 500 |
{$row.cloud_space_total|default='819200'} 中 |default 被解析为PHP default 关键字 |
改用{:...}原生PHP语法三元运算符 |
| userdeletion页面无法访问 |
模板引用{include file="common/head"}不存在 |
重写为自包含HTML |
| userdeletion AJAX返回0条 |
buildparams()返回不兼容的where条件 |
改用手动参数解析 |
新增功能
| 功能 |
说明 |
| 👑 VIP会员管理 |
编辑页面新增VIP开通/过期时间(datetimepicker),自动转时间戳 |
| ☁️ 云空间管理 |
编辑页面新增云空间总量/已用字段(字节),显示当前值 |
| 🔗 头像URL |
编辑页面新增avatar_url输入框,优先于上传头像 |
| 🟢 在线状态 |
编辑页面新增is_online单选按钮(在线/离线) |
修改文件
application/admin/view/user/user/edit.html - 新增VIP/云空间/头像URL/在线状态字段,修复|default语法
application/admin/controller/user/User.php - edit()方法处理VIP时间戳转换、云空间验证
application/admin/controller/Userdeletion.php - 修复index()查询,新增user_device/feed_interaction清理
application/admin/view/userdeletion/index.html - 重写为自包含HTML,修复模板引用错误
文档更新
docs/API_ADMIN_DOC.md v9.0.0 → v9.0.1,3.3节新增编辑字段文档
docs/API_USER_CENTER_DOC.md v1.5.0 → v1.5.1
docs/API_USER_SECURITY_DOC.md v9.0.0 → v9.0.1
测试验证
- E2E全流程测试通过:注册→登录→用户中心→申请注销→管理员批准→验证删除 ✅
- 管理员编辑页面所有新字段正常显示 ✅
- userdeletion页面正常访问和AJAX查询 ✅
v9.0.0 (2026-05-09)
🚀 用户中心重构 & 新增设备管理/二维码登录/会员/云空间
重大更新:用户中心接口重构,压缩不常用字段;新增设备管理、二维码登录、会员时间、云空间、自定义头像URL等6大功能。
新增功能
| 功能 |
说明 |
| 🖥️ 设备管理 |
记录用户登录设备(IP/名称/型号/平台/应用),支持查看/下线/移除 |
| 📱 二维码登录 |
跨设备扫码登录,Web端生成→APP端确认→Web端获取Token |
| 🟢 在线状态 |
is_online字段(5分钟内有活动=在线),登录/设备注册自动更新 |
| 👑 会员时间 |
vip_start_time/vip_end_time,管理员后台可配置 |
| ☁️ 云空间 |
默认800KB,管理员后台可配置空间大小,记录已用/总量 |
| 🔗 自定义头像URL |
avatar_url字段,用户填写URL优先于上传头像 |
接口变更
| 接口 |
变更 |
GET /api/user_center/index |
返回结构重构:新增is_online/vip/cloud_space/devices,不常用字段压缩到extra |
POST /api/user_center/profile |
avatar参数改为avatar_url(用户填写的URL) |
POST /api/user_center/devices |
🆕 设备管理(list/remove/offline/offline_all) |
POST /api/user_center/registerDevice |
🆕 注册/更新设备信息 |
GET /api/user_security/qrcodeGenerate |
🆕 生成二维码登录标识 |
POST /api/user_security/qrcodeConfirm |
🆕 扫码确认登录(需登录) |
GET /api/user_security/qrcodePoll |
🆕 轮询二维码状态 |
POST /api/user_security/qrcodeCancel |
🆕 取消二维码 |
| 所有登录接口 |
新增可选设备信息参数(device_name/device_model/platform/app_name/device_id) |
数据库变更
| 变更类型 |
表名 |
说明 |
| 新增表 |
tool_user_device |
用户设备记录(IP/名称/型号/平台/在线状态) |
| 新增表 |
tool_qrcode_login |
二维码登录记录(标识/状态/Token/过期时间) |
| 新增字段 |
tool_user |
vip_start_time, vip_end_time, cloud_space_total, cloud_space_used, is_online, avatar_url |
修改文件
application/api/controller/UserCenter.php - 重构index返回结构,新增devices/registerDevice
application/api/controller/UserSecurity.php - 新增二维码登录4个接口,登录记录设备信息
application/api/controller/User.php - 转发层新增6个方法
application/common/model/User.php - 新增6个字段类型转换
application/admin/command/Install/migrate_v9.sql - 数据库迁移SQL
文档更新
docs/API_USER_CENTER_DOC.md v1.4.0 → v1.5.0
docs/API_USER_SECURITY_DOC.md v8.0.0 → v9.0.0
docs/API_ADMIN_DOC.md 新增19-21节
docs/API_APP_FEATURE_GUIDE.md v8.0.0 → v9.0.0,新增模块14
测试验证
scripts/test_v9_full.py - 全流程测试(注册→登录→设备→二维码→会员→云空间→注销→清理)
- 所有11项核心功能测试通过 ✅
v8.0.2 (2026-05-01)
🍽️ 食物相生相克API接口
新增:独立的Shiwu API控制器,提供食物列表、详情、分类、搜索、热门、随机推荐功能。
新增文件
application/api/controller/Shiwu.php - 食物相生相克API控制器
新增接口
| 接口 |
方法 |
说明 |
/api/shiwu/list |
GET |
食物列表(分页+分类筛选) |
/api/shiwu/detail |
GET |
食物详情(含上下篇+相关推荐) |
/api/shiwu/category |
GET |
分类列表(相生/相克) |
/api/shiwu/search |
GET |
食物搜索 |
/api/shiwu/hot |
GET |
热门食物排行 |
/api/shiwu/random |
GET |
随机推荐 |
接口特性
- 所有接口免登录,公开访问
- 支持hash_id加密URL
- 详情接口自动增加浏览量
- 列表支持分类筛选和排序
- 搜索支持关键词模糊匹配
文档更新
- 新增
docs/API_SHIWU_DOC.md v1.0 - 食物相生相克API接口文档
测试脚本
scripts/upload_shiwu_api.py - 上传+测试脚本
scripts/test_shiwu_api_fields.py - 字段验证测试脚本
v8.0.1 (2026-04-30)
🔧 接口返回值优化 & 安全修复
优化:所有新增操作返回记录ID,方便客户端后续操作。修复已删除笔记可被编辑的安全漏洞。
优化
note add 返回 data.id(新建笔记ID),客户端可直接编辑/删除
favorite add 返回 data.id(收藏记录ID)
interaction 切换类操作(like/dislike/readlater/share/block/bookmark/collect)返回 data.id
interaction comment 返回 data.id(评论记录ID)
安全修复
note edit 增加已删除笔记拦截,编辑已删除笔记返回"笔记不存在或已删除"
文档更新
- API_USER_CENTER_DOC 升级至 v1.4.0,补充返回ID说明
v8.0.0 (2026-04-30)
🔐 HMAC-SHA256回执验证机制 & 去除邮箱验证码依赖
重大变更:引入HMAC-SHA256端对端加密回执验证机制,替代邮箱验证码。客户端自行验证邮箱/手机/短信后发送回执,服务端验签放权。新增回执登录(receiptLogin),支持多种方式+回执登录。频率限制大幅放宽。
新增 - 回执(Receipt)验证机制
- 新增
application/common/library/Receipt.php - HMAC-SHA256签名回执库
Receipt::generate() - 生成回执+签名(action/payload摘要/ts/nonce)
Receipt::verify() - 严格验证(签名+TTL+nonce防重放+action+payload匹配)
Receipt::verifyFlexible() - 灵活验证(receiptLogin使用,payload可选匹配)
- 配置项:
app_receipt_secret(密钥) / app_receipt_ttl(有效期300秒)
新增 - 回执登录接口
POST /api/user_security/receiptLogin - 🔑 回执登录(账号+回执/邮箱+回执/手机号+回执)
- 自动识别account类型(邮箱/手机号/用户名)
- 路由:
api/user_security/receiptLogin → api/UserSecurity/receiptLogin
- User.php转发层新增
receiptLogin() 方法
变更 - 去除邮箱验证码依赖
- register: 去除
email_code 参数,改为 receipt + sig 回执验证
- changepwd: 去除
email_code 参数,改为 receipt + sig 回执验证(非测试用户)
- resetpwd: 去除
captcha 参数,改为 receipt + sig 回执验证
- changeemail: 去除
captcha 参数,改为 receipt + sig 回执验证
- changemobile: 去除
captcha 参数,改为 receipt + sig 回执验证
变更 - 频率限制放宽
| 接口 |
旧上限 |
新上限 |
旧窗口 |
新窗口 |
| login |
20 |
50 |
300 |
300 |
| register |
10 |
30 |
3600 |
3600 |
| resetpwd |
5 |
20 |
3600 |
3600 |
| changepwd |
10 |
30 |
3600 |
3600 |
| changeemail |
10 |
30 |
3600 |
3600 |
| changemobile |
10 |
30 |
3600 |
3600 |
| sendEms |
10 |
30 |
300 |
300 |
| tokenLogin |
30 |
80 |
300 |
300 |
| receiptLogin |
- |
50 |
- |
300 |
保留 - 兼容性
- sendEms/checkEms 接口保留,兼容旧客户端
- 旧路径
/api/user/* 继续可用(转发层)
- 测试模式(test_mode)下验证码888888仍可用
- 测试用户(is_test=1)修改密码跳过回执验证
回执加密说明
- 算法: HMAC-SHA256
- 密钥:
Xy7kP9mL2qR4wS8v(配置文件可修改)
- 有效期: 300秒(5分钟)
- 防重放: nonce随机数,每个回执仅可使用一次
- 不影响脚本测试: 密钥固定,脚本可直接生成有效回执
哪些接口不需要回执
- login(密码登录) | mobilelogin(短信登录) | tokenLogin(Token登录) - 无需回执
- Feed/Search/统计/浏览等非安全场景 - 无需回执
- 回执仅用于: register/changepwd/resetpwd/changeemail/changemobile/receiptLogin
文档变更
- 更新
docs/API_USER_SECURITY_DOC.md v8.0.0 - 回执验证机制完整文档
- 更新
docs/API_USER_DOC.md v8.0.0 - 新增receiptLogin
- 更新
docs/API_APP_DOC.md v8.0.0 - 新增回执登录方式
- 更新
docs/API_APP_FEATURE_GUIDE.md v8.0.0 - 回执参数更新
v7.7.0 (2026-04-29)
🔐 用户安全+用户中心接口拆分 & 邮箱验证机制
重大变更:User控制器拆分为UserSecurity(用户安全)和UserCenter(用户中心)两个独立控制器,注册/改密/改邮箱引入邮箱验证码机制,点赞功能整合到feed_interaction表(零新增表)。
新增 - UserSecurity控制器(用户安全接口)
POST /api/user_security/login - 🔐 账号密码登录
POST /api/user_security/mobilelogin - 📱 手机号登录(支持test_mode免验证)
POST /api/user_security/tokenLogin - 🔑 Token令牌登录
POST /api/user_security/register - 📝 用户注册(邮箱必填+邮箱验证码)
POST /api/user_security/logout - 🚪 退出登录
POST /api/user_security/changepwd - 🔒 修改密码(旧密码+邮箱验证码双重验证)
POST /api/user_security/resetpwd - 🔑 重置密码(邮箱验证码)
POST /api/user_security/changeemail - 📧 修改邮箱(新邮箱验证码)
POST /api/user_security/changemobile - 📱 修改手机号(短信验证码)
POST /api/user_security/sendEms - 📨 发送邮箱验证码(register/changepwd/resetpwd/changeemail)
POST /api/user_security/checkEms - ✅ 校验邮箱验证码
POST /api/user_security/third - 🔗 第三方登录
新增 - UserCenter控制器(用户中心接口)
GET /api/user_center/index - 👤 获取用户信息
POST /api/user_center/profile - ✏️ 修改个人信息
POST /api/user_center/signin - ✅ 每日签到
GET /api/user_center/signin_calendar - 📅 签到日历
POST /api/user_center/signin_makeup - 🔄 补签
POST /api/user_center/favorite - ⭐ 收藏操作(add/remove/check/list/count)
POST /api/user_center/note - 📝 笔记操作(add/edit/delete/list)
POST /api/user_center/like - 👍 点赞操作(add/remove/check)
GET /api/user_center/public_profile - 👁️ 用户公开主页(无需登录)
GET /api/user_center/dashboard - 📊 数据面板
GET /api/user_center/heatmap - 🔥 活跃热力图
GET /api/user_center/coin - 💰 金币记录
GET /api/user_center/debug - 🐛 调试信息
新增 - 邮箱验证机制
- 注册: email从可选变为必填,新增email_code必填
- 修改密码: 新增email_code必填(双重验证:旧密码+邮箱验证码)
- 修改邮箱: 保持原有邮箱验证码验证
- 重置密码: type默认从mobile改为email
- 注册成功后自动标记verification.email = 1
新增 - 免验证测试用户
- config.php中test_mode=true时,验证码888888直接通过
- tool_user表新增is_test字段(TINYINT DEFAULT 0)
- is_test=1的用户修改密码跳过邮箱验证
- 测试用户: apitest_user / 123456 / apitest@example.com
修复 - 数据表适配(零新增表)
- like功能: 使用tool_feed_interaction表替代不存在的tool_user_like表
- like字段映射: feed_id=target_id, feed_type=target_type, action='like'
- favorite功能: 移除group_name/remark字段(tool_user_favorite表无此字段)
- favorite新增count操作: 按类型统计收藏数
- dashboard: 使用feed_interaction统计like_count,移除user_achievement依赖
- public_profile: 使用feed_interaction统计like_count,移除user_achievement依赖
- mobilelogin/changemobile: Sms不可用时优雅降级,test_mode支持888888
修复 - 配置问题
- test_mode配置路径从Config::get('fastadmin.test_mode')改为Config::get('test_mode')
- config.php中test_mode配置位置修复(数组闭合语法)
兼容性
- 旧接口
/api/user/* 路由保持不变,继续可用
- 新接口路径
/api/user_security/* 和 /api/user_center/*
- APP端可逐步迁移到新路径
验证结果
- ✅ 28/30项通过(93.3%)
- ✅ 用户安全: login/tokenLogin/checkEms/changepwd/changeemail/changemobile/resetpwd
- ✅ 用户中心: index/profile/signin/favorite(CRUD+count)/note(CRUD)/like(CRUD)/dashboard/heatmap/coin/debug/public_profile
- ⚠️ 2项正常业务限制: sendEms发送频繁(60秒限制)、signin今日已签到
文档变更
- 新增
docs/API_USER_SECURITY_DOC.md - 用户安全接口文档
- 新增
docs/API_USER_CENTER_DOC.md - 用户中心接口文档
- 新增
docs/DEV_USER_SECURITY_NOTE.md - 开发说明文档(开发完成后删除)
可扩展功能分析(基于现有数据表)
零新增表扩展 - 利用现有feed_interaction表扩展更多互动类型:
| 功能 |
实现方式 |
性能开销 |
| 👎 踩/不喜欢 |
feed_interaction.action='dislike' |
极低 |
| 🔖 稍后读 |
feed_interaction.action='readlater' |
极低 |
| 📤 分享记录 |
feed_interaction.action='share' |
极低 |
| 🚫 内容屏蔽 |
feed_interaction.action='block' |
极低 |
| 📋 浏览历史 |
feed_interaction.action='view' |
低(需定期清理) |
| ⭐ 评分(1-5) |
feed_interaction.action='rating', extra存评分值 |
低 |
| 💬 评论 |
feed_interaction.action='comment', extra存评论内容 |
中 |
| 🏷️ 用户标签 |
user表verification字段扩展 |
极低 |
| 📊 阅读统计 |
feed_interaction按日期聚合 |
低 |
tool_user_favorite表扩展 - 添加remark字段(1个字段):
| 功能 |
实现方式 |
性能开销 |
| 📝 收藏备注 |
添加remark字段(VARCHAR 100) |
极低 |
| 📁 收藏分组 |
添加group_name字段(VARCHAR 30) |
极低 |
tool_user_signin表扩展 - 添加字段:
| 功能 |
实现方式 |
性能开销 |
| ⏰ 签到时间 |
添加signin_time字段 |
极低 |
v7.6.0 (2026-04-29)
🔄 Feed+Search全量字段统一 & 数据源扩展至44种
重大变更:Feed与Searchall两套API返回格式完全统一,所有类型extra字段全面补充,数据源从25种扩展至44种,确保数据库有值字段不丢失。
修复 - Feed _formatItem字段补充
- drug: extra补充 name/goods_name/syz/gg/cf/yfyl/blfy/jj/zysx/pzwh/scqy (11项)
- herbal: extra补充 effect/spell/english_name/medicinal_parts/plant_morphology/origin_distribution/harvest_processing/drug_properties/tropism_taste/clinic/pharmacology/chemical_component/usage_taboo/prescription (14项)
- wine: extra补充 name/effect/source/stock/make/usages/taboo (7项)
- article: extra补充 tags/favorites/comments/rating_sum/rating_count (5项)
- chengyu: extra补充 cy/cypy/cyzy/cycx/cynd/ywfy/cyjs/cycc/cylz + synonym/antonym/grammar/usage (16项)
- hanzi: extra补充 smallimage/py/zm + image/fantizi/zy/wuxing/jg/unicode/bishunm/xiefa/ziyi (12项)
- cidian: extra补充 zc/zcpy/zcpywu/zczy/zcjs + pinyin_wu/zy/szm/cx/wljs (11项)
- tisana: extra补充 effect/source/usages/taboo (4项)
- word: extra补充 word/jbjs/cx/lz/wlsy (5项)
- abbr: extra补充 abbr/meaning/category_id + prc (4项)
- surname: extra补充 image/initial (2项)
- jieqi: extra补充 image/english/section/sanhou/origin/convention/poem/legend/health/note (10项)
- nation: extra补充 capital/initial/image/subhead/vae/langue/acreage/currency/region (9项)
- jiufang: extra补充 name/categories/components + usage/ingredients (5项)
- illness: extra补充 jb/zz (2项)
- poetry: extra补充 tag/ywjzsy/ywckzly/czbj/czckzl/jsy/jsckzly/sxy/jx/sxckzly/pj/sxe/sxckzle/ywjzse/ywckzle/jse/jsckzle/jj/wyzs/yj/xzsf/xzckzl/dj (24项)
- couplet: extra补充 hp/sl/xl/yy (4项)
- hitokoto: extra补充 hitokoto/from_who/uuid (3项)
- riddle: extra补充 riddle/interpret (2项)
- efs: extra补充 facet/undertone (2项)
- brainteaser: extra补充 topic/answer (2项)
- saying: extra补充 saying (1项)
- 古籍类(lunyu/hdnj/jgj/mz/zz/zuozhuan/sj/sgz/sbbf/warring/wlyh): extra补充 original/category_id
修复 - Searchall _formatItem字段补充
- 与Feed完全同步,所有类型extra字段保持一致
- saying类型title从content截取前30字
- 古籍类content统一使用original字段
- 所有类型title/content/summary字段统一使用strip_tags
修复 - 字段映射统一
- 消除所有
$row['title'] ?? ($row['xxx'] ?? '') 双重映射,统一使用数据库原始字段名
- Feed detail与Search getById返回格式100%一致
新增 - 20种数据源
- 🏥疾病(illness) | 🔤单词(word) | 📝缩写(abbr) | 👨姓氏(surname)
- 🌾节气(jieqi) | 🌍国家(nation) | 🍷酒方(jiufang)
- 📖论语(lunyu) | ⚕️黄帝内经(hdnj) | 📜金匮要略(jgj)
- 📖墨子(mz) | 📖庄子(zz) | 📖左传(zuozhuan)
- 📖史记(sj) | 📖三国志(sgz) | ⚔️孙子兵法(sbbf)
- 📖战国策(warring) | 📖万历野获编(wlyh) | 🌱植物(bot)
验证结果
- ✅ 44种类型Feed与Searchall返回格式100%一致
- ✅ 44种类型连通性测试全部通过
- ✅ 220条详情数据(每类型5条)字段完整性验证
- ✅ 数据库有值字段全部正确映射到API输出
- ⚠️ 部分记录数据库字段值为NULL(poetry赏析/riddle答案/drug商品名等),属数据问题非代码缺失
文档变更
- 更新
docs/API_FEED_DOC.md v7.6.0 - 频道表+extra详情表+新增20种数据源
- 更新
docs/API_SEARCH_DOC.md v1.2 - 数据源扩展至44种
v7.5.0 (2026-04-29)
📱 Feed+Search统一 & 7种数据源补充 & APP扩展功能
重大变更:Feed补充7种Search独有数据源,Searchall返回格式统一为Feed格式,新增fullDetail/relatedRecommend/highlight接口,补充APP扩展字段。
修复 - Feed补充7种数据源
- 成语(chengyu) | 词典(cidian) | 汉字(hanzi) | 笑话(joke) | 偏方(prescription) | 药茶(tisana) | 周公解梦(zgjm)
修复 - Searchall返回格式统一
- getById/getByIds返回格式与Feed detail一致
- 统一字段: feed_type/feed_name/feed_icon/id/title/author/content/summary/views/my_actions/extra
- 补充createtime/updatetime/互动计数/交互状态等APP扩展字段
新增 - Searchall接口
GET /api/searchall/fullDetail - 📄全量信息详情(含互动统计+用户交互状态)
GET /api/searchall/relatedRecommend - 🔗关联推荐(同类型相关内容)
GET /api/searchall/highlight - ✨搜索高亮(关键词标记)
新增 - Feed接口
GET /api/feed/relatedRecommend - 🔗关联推荐(无需登录)
修复 - Feed relatedRecommend认证
文档变更
- 更新
docs/API_FEED_DOC.md v7.5.0
- 更新
docs/API_SEARCH_DOC.md v1.1
v7.4.0 (2026-04-29)
🔍 全量搜索API系统上线
重大变更:新增全量搜索API(SearchAll控制器),支持25种数据源的精确/模糊/相关搜索、条件筛选、ID反查,全面接入APP。
修复 - 搜索页面(search.html)
- 修复
search.html?type=why&word=苹果 无法使用的问题
- 原因:
page()方法未处理query参数,且模板变量未赋值导致"未定义变量:type"错误
- 修复:
page()方法支持query参数自动转发到index()方法,空参数时赋默认值
- 修复:
index()方法fetch()指定模板名'index',避免从page()调用时模板路径错误
新增 - 全量搜索API控制器(SearchAll.php)
GET /api/searchall/search - 🔍全量搜索(聚合25种数据源,支持精确/模糊/相关模式)
GET /api/searchall/exact - 🎯精确搜索(SQL =完全匹配)
GET /api/searchall/fuzzy - 🌀模糊搜索(SQL LIKE匹配)
GET /api/searchall/related - 🔗相关搜索(关键词分词扩展搜索)
GET /api/searchall/condition - 🎛️条件搜索(多条件组合筛选,支持11种操作符)
GET /api/searchall/getById - 📄ID查询(类型+ID获取详情,自动增加浏览量)
GET /api/searchall/getByIds - 📦ID反查(批量跨类型查询,支持轻量模式)
GET /api/searchall/suggest - 💡搜索建议(输入前缀自动补全)
GET /api/searchall/hot - 🔥热门搜索(支持1-7天统计)
GET /api/searchall/history - 📋搜索历史(获取/清除)
GET /api/searchall/sources - 📊数据源列表(25种数据源+字段信息+数据量)
GET /api/searchall/fieldSearch - 🎯多字段搜索(指定字段精确/模糊搜索)
新增 - 数据源支持(25种)
- 📜古诗词(poetry) | 💡名言金句(wisdom) | 📚故事(story) | 💬一言(hitokoto)
- 🧩谜语(riddle) | 🎭歇后语(efs) | 🧠脑筋急转弯(brainteaser) | 🗣️俗语(saying)
- 🎵歌词(lyric) | ❓十万个为什么(why) | ✍️作文(composition) | 🏮对联(couplet)
- 📖常识(cs) | 💊药品(drug) | 🌿中草药(herbal) | 🍽️食物(food)
- 🍷酒方(wine) | 📰文章(article) | 🔤成语(chengyu) | 🈯汉字(hanzi)
- 📚词典(cidian) | 🧪偏方(prescription) | 🍵药茶(tisana) | 😄笑话(joke) | 🌙周公解梦(zgjm)
新增 - APP扩展功能
- 统一返回格式:
feed_type/feed_name/feed_icon 标识数据来源
- 相关性排序: 基于标题/内容/作者匹配度+浏览量加权
- 搜索记录: 自动记录搜索热词和用户搜索历史
- 用户交互:
getById返回my_actions字段(like/favorite/bookmark)
- 轻量模式:
getByIds的lite=1不返回content字段,节省流量
- 条件搜索: 支持
=/!=/>/</>=/<=/like/not like/in/not in/between
新增 - 路由配置
- 12个
/api/searchall/*路由规则(Route::rule)
文档变更
- 新增
docs/API_SEARCH_DOC.md - 全量搜索API接口文档(15个章节)
验证结果
- ✅ 12个API接口全部测试通过
- ✅ search.html搜索页面修复验证通过(HTTP 200)
- ✅ APP模拟测试12项全部OK
- ✅ 25种数据源全部可搜索
软件特性功能(已完成)
| 功能 |
版本 |
状态 |
优先级 |
| HMAC-SHA256回执验证机制(端对端加密/防重放/多方式登录) |
v8.0.0 |
✅ 已完成 |
5 |
| 回执登录(账号+回执/邮箱+回执/手机号+回执) |
v8.0.0 |
✅ 已完成 |
5 |
| 去除邮箱验证码依赖(改用回执验证) |
v8.0.0 |
✅ 已完成 |
5 |
| 频率限制放宽(安全接口上限提升2-4倍) |
v8.0.0 |
✅ 已完成 |
4 |
| APP端Feed+Search交互场景验证(10场景/88.9%通过) |
v7.4.1 |
✅ 已完成 |
4 |
| Feed+Search全量字段统一(44数据源/extra字段补充) |
v7.6.0 |
✅ 已完成 |
5 |
| Feed+Search返回格式统一(fullDetail/relatedRecommend/highlight) |
v7.5.0 |
✅ 已完成 |
5 |
| 全量搜索API系统(25数据源/12接口) |
v7.4.0 |
✅ 已完成 |
5 |
| APP端Feed+Search交互场景验证(10场景/88.9%通过) |
v7.4.1 |
✅ 已完成 |
4 |
| 推荐权重管理系统(权重/展示/推送上限/防重复) |
v7.3.0 |
✅ 已完成 |
5 |
| 查重系统(21数据源/4种模式/风险评级) |
v7.2.0 |
✅ 已完成 |
5 |
| 工具接口验证修复+文档完善(123接口/93.5%通过) |
v7.1.0 |
✅ 已完成 |
4 |
| Feed系统v7.0(缓存失效/N+1优化/6种互动/索引修复) |
v7.0.0 |
✅ 已完成 |
5 |
| Feed系统v6.1(评论/评分/稍后读/wine修复) |
v3.1.0 |
✅ 已完成 |
5 |
| 信息流Feed系统(15接口/18数据源) |
v3.0.0 |
✅ 已完成 |
5 |
| Feed互动操作(点赞/收藏/分享/评论/评分/稍后读) |
v3.1.0 |
✅ 已完成 |
5 |
| Feed随机内容+搜索+历史 |
v3.0.0 |
✅ 已完成 |
4 |
| Feed性能优化(lite/游标分页/缓存) |
v3.0.0 |
✅ 已完成 |
4 |
| Feed评论系统(comments接口) |
v3.1.0 |
✅ 已完成 |
4 |
| Feed评分系统(rating 1-5) |
v3.1.0 |
✅ 已完成 |
3 |
| Feed稍后读功能 |
v3.1.0 |
✅ 已完成 |
3 |
| 一言句子库(8812条) |
v2.15.0 |
✅ 已完成 |
3 |
| APP对接功能扩展(8大模块) |
v2.14.0 |
✅ 已完成 |
3 |
| 统计页面懒加载+实时跳数 |
v2.10.0 |
✅ 已完成 |
3 |
| 站内全文搜索 |
v2.8.0 |
✅ 已完成 |
3 |
| 系统工具管理页面 |
v2.7.0 |
✅ 已完成 |
3 |
| 接口文档管理页面 |
v2.7.0 |
✅ 已完成 |
3 |
| 酒方大全(733条) |
v2.6.0 |
✅ 已完成 |
3 |
| 签到/Admin修复 |
v2.5.0 |
✅ 已完成 |
4 |
| 数据库索引优化(21个) |
v2.5.0 |
✅ 已完成 |
4 |
| 管理后台API文档 |
v2.4.0 |
✅ 已完成 |
3 |
| 站点统计系统(7个API) |
v2.9.0 |
✅ 已完成 |
3 |
| 管理员端apidoc/toolgrid页面修复 |
v2.12.0 |
✅ 已完成 |
3 |
| 统计页面数据显示修复(6个表名映射) |
v2.13.0 |
✅ 已完成 |
3 |
| 每日推荐(诗词+成语+名言+故事) |
v2.14.0 |
✅ 已完成 |
3 |
| 搜索增强(建议/热门/历史) |
v2.14.0 |
✅ 已完成 |
3 |
| 签到日历+补签 |
v2.14.0 |
✅ 已完成 |
3 |
| 收藏分组 |
v2.14.0 |
✅ 已完成 |
3 |
| 成就系统(12个成就) |
v2.14.0 |
✅ 已完成 |
3 |
| 数据可视化(面板+热力图) |
v2.14.0 |
✅ 已完成 |
3 |
| 游戏模块(诗词填空+成语接龙) |
v2.14.0 |
✅ 已完成 |
3 |
| 文章API(投稿+展示) |
v2.14.0 |
✅ 已完成 |
3 |
| 点赞系统(轻量映射) |
v2.14.0 |
✅ 已完成 |
3 |
| 笔记空间管理(管理员端) |
v2.14.0 |
✅ 已完成 |
3 |
| 一言工具页面(iOS风格) |
v2.15.0 |
✅ 已完成 |
3 |
| 一言管理端(官方源更新) |
v2.15.0 |
✅ 已完成 |
3 |
开发进度
| 功能 |
优先级 |
状态 |
| HMAC-SHA256回执验证机制 |
5 |
✅ 已完成 |
| 回执登录(多方式+回执) |
5 |
✅ 已完成 |
| 去除邮箱验证码依赖 |
5 |
✅ 已完成 |
| 频率限制放宽 |
4 |
✅ 已完成 |
| Feed+Search全量字段统一 |
5 |
✅ 已完成 |
| Feed+Search返回格式统一 |
5 |
✅ 已完成 |
| 全量搜索API系统 |
5 |
✅ 已完成 |
| Feed信息流系统 |
5 |
✅ 已完成 |
| Feed互动操作(点赞/收藏/分享/评论/评分/稍后读) |
5 |
✅ 已完成 |
| 查重系统(21数据源/精确/模糊/相似度/报告) |
5 |
✅ 已完成 |
| Feed随机内容+搜索+历史 |
4 |
✅ 已完成 |
| Feed字段规范性优化 |
3 |
✅ 已完成 |
| Feed评论功能(action=comment) |
4 |
✅ 已完成 |
| Feed稍后读功能(action=readlater) |
3 |
✅ 已完成 |
| Feed评分功能(action=rating) |
3 |
✅ 已完成 |
| Feed内容屏蔽(action=block) |
2 |
📋 计划中 |
| Feed个性化推荐算法优化 |
3 |
📋 计划中 |
| Feed评论回复(二级评论) |
2 |
📋 计划中 |
| Feed内容举报(action=report) |
2 |
📋 计划中 |
| Feed热门评论排序 |
2 |
📋 计划中 |
| 一言句子库工具 |
3 |
✅ 已完成 |
| APP对接-每日推荐 |
5 |
✅ 已完成 |
| APP对接-搜索增强 |
4 |
✅ 已完成 |
| APP对接-签到日历 |
4 |
✅ 已完成 |
| APP对接-收藏分组 |
4 |
✅ 已完成 |
| APP对接-成就系统 |
4 |
✅ 已完成 |
| APP对接-数据可视化 |
3 |
✅ 已完成 |
| APP对接-诗词填空(含提示) |
4 |
✅ 已完成 |
| APP对接-成语接龙(含提示) |
4 |
✅ 已完成 |
| APP对接-文章投稿 |
3 |
✅ 已完成 |
| APP对接-点赞系统 |
3 |
✅ 已完成 |
| 管理员-笔记空间管理 |
5 |
✅ 已完成 |
| 用户发表文章/评论/转发/关注 |
2 |
⏸️ 暂不开发 |