Files
xianyan/docs/toolsapi/CHANGELOG.md
Developer 5a083bdbab feat: 新增多模块后端管理、数据同步工具与鸿蒙路由适配
本次提交新增了以下核心内容:
1. 后端管理模块:包含字体同步、插件元数据、插件用户设置、稍后读消息/共享列表的控制器、模型、验证器与多语言配置
2. Flutter数据同步模块:统一的事件总线与兼容层,替代分散的StreamController
3. 鸿蒙端路由适配:完整的路由定义、构建器与占位组件
4. 后端API接口:字体同步与插件更新的服务端API,支持自动建表与跨域请求
5. 鸿蒙权限校验脚本:用于校验module.json5与string.json的权限声明一致性
2026-06-01 05:50:13 +08:00

35 KiB
Raw Blame History

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.13.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/receiptLoginapi/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认证

  • 添加到$noNeedLogin列表允许匿名访问

文档变更

  • 更新 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)
  • 轻量模式: getByIdslite=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 ⏸️ 暂不开发