feat: 接入内容服务端真实接口并优化页面交互

- 迁移内容数据到服务端接口,移除本地模拟数据
- 首页新增推荐课程加载与未读消息检查
- 资讯、课程、搜索页面支持分页加载与错误重试
- 登录页新增恢复课程、消息、帮助页的路由逻辑
- 评估分析页新增处理中状态动效与阶段提示
- API 环境切换到正式域名 airz.hqling.cloud
This commit is contained in:
hujun
2026-10-01 20:26:41 +08:00
parent 3b2a0139e4
commit 2a9ff403c4
41 changed files with 21742 additions and 427 deletions
+165 -1
View File
@@ -1,6 +1,170 @@
# AI融资项目新会话交接
记录日期:2026-09-30。本文件为接续入口;当前存储与流程以[评估版本与最新资料](评估版本与最新资料.md)、[开发进度](开发进度.md)0.36节及[开发文档](开发文档.md)v1.30为准。历史章节中的“待开发”应结合最新更新阅读。
记录日期:2026-10-01。本文件为接续入口;当前存储与流程以[评估版本与最新资料](评估版本与最新资料.md)、[开发进度](开发进度.md)0.49节(积分协议与隔离检查)及[开发文档](开发文档.md)v1.42为准,0.48/0.47保留基础和规则设计历史。历史章节中的域名、部署及“待开发”以最新记录为准。
## 本轮开发:2026-10-01 积分协议与隔离检查
用户继续开发,仍暂不做运营、真机或发布验收。积分五接口协议已补显式Bearer、原始HTTP方法和覆盖头拒绝、JSON Content-Type/三唯一字符串字段、原始query白名单/重复与编码拒绝;五个精确路径错误方法405,未知路径404,v1框架错误补no-store。Common现有CORS入口已在鉴权前处理允许Origin的匿名OPTIONS,本轮未改共享CORS或其它API鉴权。
真实HTTP87请求/1079项检查通过:草案/发布/暂停/坏规则、同键历史重放、跨日/规则变更、实际丢弃已提交成功响应后原键确认、停用/删除/撤销、Cookie/旧Token头拒绝、原始query和JSON重复键、本人快照分页/隐私/旧NULL/0、余额边界、坏回执和Redis不可用。测试用新合成数据库、Redis DB15随机Token前缀及临时ROOT/RUNTIME、随机ENV_PREFIX;不加载仓库正式.env。自建数据库、Token、服务和临时文件已删除,原两表结构/数据及原Redis队列摘要保持,0模型/worker调用。
主服务238项、HTTP输入190项纯检查通过,原表23项只读预检通过(4增量/14类质量计数全0)。迁移质量检查新增非NULL历史时间(0至253402271999上海四位年份范围)及正UINT流水主键,NULL历史时间继续保留;首次快照坏ID映射POINT_LEDGER_INVALID,不误报客户端422。
迁移纯110项、独立合成apply/双表完整备份/Windows ACL/恢复89项通过。只复制共享两表结构,在第一新库合成2会员4流水,apply4增量/重复apply0;完整schema+NDJSON恢复第二新库、逐列摘要一致,目录3文件仅当前用户ACL及读写probe验证通过。演练修复Windows原生绝对路径及父级路径校验,补纯validateBackupPath。两个自建库、私密INI/备份/probe按所有权精确清理,共享原表摘要保持;安全回执C:/Users/JUN/AppData/Local/Temp/airz-points-migration-20261001/apply-20261001-115749-d50a5cd87fd5a84a/verification.json保留,不能把合成恢复当生产迁移证据。
业务规则仍待DEC-POINT确认,真实配置enabled=false、版本/奖励/权益/期限/等级策略null。POINT-002开发中,POINT-003未做,POINT-004积分页面尚未接后端,27页面/63任务保持。下一子项可实施积分页真实余额/规则/流水读取、登录恢复和签到原键确认;未发布状态不写死10分或固定邀请码,不导入本机体验记录。原表迁移、实际奖励发布和部署另行安排,不复用历史生产授权。
新HTTP开发检查入口为后端tests/points_http.php --env=<明确本机3309私密环境>,附points_http_bootstrap.php/router.php;脚本自行建立和清理独立合成库/临时服务,不复用旧bootstrap初始化应用。3309/PID19100、8097/PID43340仍仅监听127.0.0.1;继续先核对监听/配置,不默认运行worker、旧cleanup/reset或读取正式.env。
## 历史开发:2026-10-01 积分后端基础(默认关闭、原表未迁移/未部署/未接页面)
用户继续下一轮,数额/权益/期限/等级的首阶段建议尚未获业务回复,DEC-POINT/POINT-001待确认。已新增PointsRules/UserPoints、v1 Points五路由(余额/规则/流水/签到/任务),默认enabled=false且规则版本、奖励、权益/期限/等级策略为null。POINT-002后端基础开发中,POINT-003未做,POINT-004页面仍本机体验签到+10及固定码,未接后端;27页面/63任务保持。完整接口与规则状态见[积分契约](积分规则与开发契约.md),结构/迁移说明见后端 `D:/AAdesk/202609/airz/database/points-design.md`。
入账先锁正常会员、优先原成功请求回执,再校验锁后上海日期、固定当日事件及发布规则;同日同键重放、异键拒绝,余额/一条完整流水同事务,历史balanceAfter不覆盖当前余额。仅1062/1205/1213且确定回滚映射写冲突,未知提交/回滚为账本不可用。流水ID有界游标只本人,NULL历史元字段保留,不下发memo。旧后台score/level修改与旧User::score封闭,现有level 0/1初始化保持;资料/邀请任务不可用,不给普通运营发奖入口。
schema.sql期望增加request_id CHAR(36)、rule_version VARCHAR(64),ASCII ascii_bin可空,唯一(user_id,request_id)及idx_user_point_id(user_id,id),ScoreLog中文元注释已补。迁移脚本 `database/migrate_points.php` 默认只读、显式环境/精确目标,apply需停写确认及双表完整私密备份,MySQL DDL隐式提交、无自动恢复。本轮只读预检已在3309/airz_product_test_20260930通过:4项增量、质量计数各项0、applied=false;修正PHP7.4的原生事务追踪,采用PDO::beginTransaction配合RR READ ONLY。未实际迁移任何原fa_user/score_log,apply、完整备份和Windows ACL尚未运行。
本轮开发检查通过:主服务纯237项、旧写保护纯98项、迁移纯84项、隔离事务45项、独立只读预检22项及16PHP lint。事务只使用127.0.0.1:3309隔离库随机pts_合成表,真正双PHP同键/异键、锁等待跨业务日和trigger故障回滚覆盖;原fa_user/score_log结构与数据摘要保持,合成表精确清理且余留0。只读预检连续两次、精确目标、13类安全计数、无backup/apply及原两表结构/数据摘要一致通过。未正式库、未默认.env、未部署、未HTTP/浏览器/Redis/worker/模型,不开展运营或真机验收;后端源码/合成表检查不等于页面已到账。
下一步先确认业务规则,再显式隔离迁移apply/备份/重复预检验证、HTTP开发检查及前端真实读取/原键确认联调;邀请资格/关系留POINT-003,完整POINT-004后续推进。3309/8097仍仅监听127.0.0.1、原PID保持;继续先核对隔离监听/bootstrap,不默认初始化应用、运行worker、旧cleanup/reset或重用历史生产授权,默认.env仍指正式库。
## 历史设计:2026-10-01 积分规则与开发契约(0.47)
本轮仅整理规则/接口/数据库设计草案,新增[积分规则与开发契约](积分规则与开发契约.md)及后端 `D:/AAdesk/202609/airz/database/points-design.md`;未实现任何积分API、签到到账、迁移脚本或部署,未连接DB、执行运行测试或收费模型。POINT-001仍受DEC-POINT待确认阻塞,POINT-002/003/004未实施,27页面/63任务保持;不把本轮文档校验称为开发检查通过。
首阶段建议每日10分、服务端上海业务日每日一次且不补签,资料/邀请关闭,积分不导入本机体验记录。奖励数额、权益、有效期和会员level策略待确认;未发布规则必须停止新入账且奖励null,不使用页面示例兜底。现有score_log已具business_type/business_id、uk_user_business、idx_user_time,首阶段仅拟新增request_id/rule_version两个可空字段、用户请求唯一及idx_user_point_id(user_id,id)游标索引,成功流水保存冻结回执,不重复增加已有业务列/索引或另建签到表;本轮只读仓库结构,目标库须实施前显式预检。
拟接口保留POST /points/check-in,严格三字段requestId/expectedRuleVersion/expectedDate,expectedDate为服务端日期预期、不是补签,取得用户锁后按当日验证,防锁等待跨午夜误发奖。流水目标改为snapshotId/beforeId有界游标,当前无已发布积分API;旧成功请求跨日/暂停可返回原回执,随后重新读取余额,不能用历史balanceAfter覆盖当前值。后台绝对值score编辑、User::score吞异常及level联动是实施前门禁;邀请关系/资格/奖励另属POINT-003。
下一步先确认首阶段规则,再实施POINT-002的写方保护、明确配置、字段增量、余额/流水/签到服务及相应页面;完整邀请和POINT-004后续推进。本轮正式库、默认.env、线上、源码/测试/schema保持,不复用此前生产迁移或部署授权。继续前仍先核对隔离监听/bootstrap,不默认运行worker或旧cleanup/reset。
本轮仅文档校验:8目标文档UTF-8无BOM/无行尾空白,两新方案10处本地链接目标存在、围栏配对,两仓库限定文档diff检查通过(仅既有LF/CRLF提示);只读方案复核已对齐源码字段/已有索引,补清错误优先级、已回滚竞争错误码及ID游标索引。未连接数据库/Redis/HTTP、未调用模型,不是运行测试,未形成真实积分开发检查或到账证据;POINT-001决策仍未批准。
## 历史开发:2026-10-01 模型运行参数与调用额度受控配置(未部署)
用户要求继续开发,仍暂不做运营、真机或发布验收。本轮ADMIN-003独立 `GET modelconfig/index` / `POST modelconfig/update`受控配置子项源码完成,四字段为暂停新调用、新评估模型Flash/Pro、每日三场景共享次数1–1000和评估尝试1–3;助手/产品解释仍固定3次,环境开关是硬限制,不编辑凭据/地址/timeout/maxTokens。复用保留 `fa_config.ai_runtime_policy` JSON,无新表/字段,通用配置入口/模型/refreshFile保护该行;无跨操作缓存,三场景会员锁内一次共享锁策略快照,旧调用模型冻结,进行中的curl自然收尾,暂停后的未开始任务沿禁用路径失败且保留已有预留。
保存CAS版本、CSRF、`cfg_`随机请求键、四种原因和成功审计同事务;审计失败回滚,原键重放返回旧回执,不覆盖后续变更,拒绝日志只记白名单。技术v5继承v4,新增3节点/1模板共4项已仅在 `127.0.0.1:3309/airz_product_test_20260930`显式备份初始化、复检0项,旧规则/绑定保持,不换绑或生产迁移。
本轮检查通过:策略纯83/事务24、双PHP/双连接并发43、业务路径纯63/隔离DB43、权限97、审计20,原服务53/用量76/重试39;服务HTTP207项(95请求)、Chrome Playwright桌面1280×900/手机390×844页面67项。首行并发实测MySQL1213,一方成功另一冲突;只确定1062/1205/1213映射冲突,不自动重试。覆盖提交成功却丢响应后刷新保留原键/同audit及version重放、另一管理员冲突刷新、CSRF/字段白名单/Referer不回显、旧技术v4可读服务但无配置读写权、客服运营拒写和超管通用Config保留行保护。坏策略禁止编辑、服务固定报错,quota保留已预留数但dailyLimit/remainingToday/maxAttempts为NULL。无未解释console/pageerror、横溢或文字重叠,刻意中断响应的一条网络错误另记。
收尾修了确认关闭动画期间快速响应阻断自动刷新的时序问题,以及同请求字段顺序变化误判异意图的问题。元字段固定规范顺序,乱序重放返回原audit/version且不覆盖后续保存;新增2项纯/1项隔离DB检查计入83/24,6表摘要一致并完整回滚。
并发14表、HTTP原13表和Redis原队列摘要一致,原Config与site.php摘要保持;held精确清理3项通过,owned配置/账号/绑定/审计/任务夹具已精确清理,凭据JSON及scope私密JSON删除,0模型/worker调用。23PHP lint、2JS语法、26源码/测试文件UTF-8无BOM/空白检查通过。原MySQL3309/PID19100和PHP8097/PID43340仍仅监听127.0.0.1,无本机analysis:work,bootstrap仍为 `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`。证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-runtime-policy-20261001/`有 `verification.json/ui-result.json`、`saved-desktop.png/saved-mobile.png/invalid-mobile.png`。页面脚本依赖已删夹具,不可直接重跑,须重新建立显式隔离夹具。
仅本地开发,正式库、默认 `.env`、线上、真实worker和移动端未改,未部署/验收,ADMIN-003保持开发中。供应商账单/余额与外部告警尚需能力/方案确认,下一项按已具备依赖选择,不承诺外部能力。维护见后端 `D:/AAdesk/202609/airz/database/admin-services.md`和 `database/admin-permissions.md`。继续先复查3309/8097监听及显式bootstrap,不默认运行worker/恢复、不重跑旧cleanup/reset,不复用历史生产发布授权。
## 历史开发:2026-10-01 分析进程心跳与进度超时提示(未部署)
用户要求继续下一步,仍暂不做运营、真机或发布验收。本轮ADMIN-003最近登记常驻分析进程的进度观测子项源码完成:独立Redis JSON键按数据库及配置队列隔离;随机实例标识本次启动,原子核验instanceId及startedAt,新进程可接替,旧进程不能覆盖新进程的进度或停止状态。首写已落地却丢响应后也只走原子校验,普通进度更新可补登记缺失键,停止不复建。一次执行和仅恢复模式不登记;启动/工作/空闲/队列降级/停止边界记录安全元数据,Redis故障不影响业务执行、任务租约、调用预算和日志。
后台沿用服务检查只读GET及技术v4权限,无新节点/模板、角色换绑或数据库结构迁移。显示最后进度、年龄及阈值,明确区分缺记录、未启用、损坏、存储不可用和进度超时;超时不证明进程死亡、全部worker停止或供应商健康,退出路径上报停止不证明任务正常完成。暂不改DeepSeekClient,阈值为配置值(默认180秒)、模型timeout+60、任务租约及30秒的最大值,TTL86400秒且大于阈值;外部告警投递仍待方案。供应商余额/费用对账和受控配置编辑未完成,ADMIN-003保持开发中。
验证通过:心跳纯133项、真实隔离Redis90项(含首写丢响应12项)、服务纯53项/隔离DB14项、服务HTTP207项(95请求)、Chrome Playwright桌面1280×900/移动390×844页面43项,9文件PHP lint/JS语法通过。覆盖新owner保护、丢键恢复/停止不复建、once/recover-only、退出和致命错误回执、Redis故障和9种后台状态;无console/pageerror、文档横溢或文字重叠,0模型调用。13表原有记录和Redis原队列摘要保持,HTTP held精确清理3项通过;合成账号/会员/会话/调用/日志及所有随机观测键精确清理,凭据JSON和浏览器scope私密JSON删除。
仅本地开发/显式隔离检查,不部署、不改正式库、默认 `.env` 或移动端。维护契约见后端 `D:/AAdesk/202609/airz/database/admin-services.md`;证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-heartbeat-20261001/`有 `verification.json/ui-result.json/redis-result.json`及截图。专用8098/PID36740已停止,原MySQL3309/PID19100、PHP8097/PID43340仍监听127.0.0.1,无真实worker;原bootstrap仍为 `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`。继续先复查监听和隔离配置,不复用已删夹具、不运行默认worker或旧cleanup/reset。下一开发项建议推进模型运行参数和调用额度的受控配置;供应商余额/费用对账仍依赖接口能力确认,外部告警投递方案另定,不复用历史生产发布授权。
## 历史开发:2026-10-01 只读模型与服务检查、调用用量(未部署)
用户要求继续下一步,仍暂不开展运营、真机或发布验收。ADMIN-003 首个只读子项源码完成:后台 `GET servicestatus/index/usage`,固定七项服务检查与任务排队/运行/租约观察,以及按会员/日期/场景/状态的安全调用元数据、20条分页和会员当日预留额度。模型只查PHP当前配置,不探测供应商;队列和登录Redis仅有限只读命令,目录只检查存在/权限不写探针,短信未接入、worker无心跳显示未知。队列正常不能证明进程存活,登记模型/密钥及用户Token额度不作为真实执行或供应商余额。
报表仅含已识别且未删除的评估/产品解释/助手记录,首尾日期包含、最多31天、默认PHP当日。额度按真实预算独立统计今日00:00后全部assistant预留,包含失败、软删除、遗留和未来时间,不随报表窗口/场景/状态变化。Token单值/汇总保留十进制字符串,未知NULL与已知0区分;不估算费用。数据不含正文、输入、报告、匹配、上下文、凭据、连接路径或原异常。包含超管的写入口均拒绝,不派发/恢复/消费队列或调用模型;页面加载/失败清旧指标和分页、锁定查询控件避免筛选错配。
新增3节点及独立技术 `v4` 模板,旧技术 `v3/v2/v1`、客服 `v2`、运营 `v1` 规则和账号绑定保留,不自动扩权。显式隔离库 `127.0.0.1:3309/airz_product_test_20260930` 备份应用4项,重复预检0项,原8097的 `__menu__`精确刷新;无业务表字段迁移。权限备份和本轮页面证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-services-20261001/`。正式库、默认 `.env`、线上与移动端源码未改,未部署。
维护与显式隔离测试见后端 `D:/AAdesk/202609/airz/database/admin-services.md`,权限见 `database/admin-permissions.md`。ADMIN-003保持开发中,供应商余额/费用对账、受控配置编辑和心跳告警仍待开发;ADMIN-002完整外部查询/对账继续依赖DATA-004。FAQ/反馈及全部受控后台仍须配套正式部署后再明确分配新模板,不运行默认.env/worker或旧cleanup/reset。
验证:服务纯48项/隔离DB13项、用量纯76项/隔离DB26项、权限定义90项;服务HTTP203项(95请求)、原权限227项(158请求)、Chrome Playwright桌面1280×900/移动390×844页面56项通过。覆盖真实20条分页、未知/零与大Token、历史筛选不改今日额度、加载防重、错误清旧结果与恢复、超管禁写和旧角色拒绝;无console/pageerror/横溢或文字重叠。全部合成账号/会员/会话/调用/日志精确清理,凭据JSON删除,13表原有行和Redis原队列摘要保持,0模型调用。安全回执 `verification.json`、`ui-result.json`和截图在上述临时目录;脚本依赖已删夹具,不能直接重跑,需显式新建随机夹具。
原MySQL3309/PHP8097保留,监听127.0.0.1,模型关闭、worker未启动。下一轮先重查监听和原bootstrap `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`;不要默认加载正式 `.env` 或运行旧cleanup/reset。下一开发子项建议补分析进程心跳与失联提示,外部告警投递方案另定;供应商余额/费用对账和受控配置编辑尚未完成。
## 历史开发:2026-10-01 受控人工重试与操作审计(未部署)
用户授权继续下一步,仍暂不开展运营、真机或发布验收。ADMIN-002 的人工重试/审计源码已完成:`POST assessment/retry` 严格要求CSRF、预期当前失败版本/任务、`adm_`加32位小写十六进制随机请求键和四种固定原因。失败详情显示确认弹窗,防重复提交,失联保留原键,接受后刷新当前元数据/历史尝试并提供操作日志入口。用户与管理员请求命名空间隔离,排障查询已支持管理员请求键定位原版本和任务。
固定顺序锁管理员/会员/会话/当前输入,复用用户失败重试、尝试上限及每日调用预留。成功审计复用 `fa_admin_log`,与任务及回执同事务;审计失败全回滚。成功重放先核验原审计意图、返回原任务,不随新版本变化创建新任务。提交后才派发,失败保留接受回执,可原键补投;结束钩子的拒绝日志仅白名单,写失败不会覆盖既有固定响应。表单输入、已发布报告、匹配和历史版本保持冻结。Redis可重复投递同任务,执行幂等靠任务/租约校验,不能表述为队列exactly-once。
新增 `assessment/retry` 仅技术 `v3` 模板授权。旧技术 `v2`、客服 `v2`、运营 `v1`及账号绑定保留,不自动扩权。本机隔离库显式备份应用1节点/1模板共2项,重复预检0项,两个隔离runtime的 `__menu__`精确刷新;没有业务表字段迁移。正式库、默认 `.env`、线上及移动端源码均未修改,未部署。维护见后端 `D:/AAdesk/202609/airz/database/admin-assessment.md`。
验证:重试服务纯39项/隔离事务45项、审计90项、权限82项、诊断纯48项/隔离事务47项;重试HTTP/数据库1016项(91请求),原排障回归1075项(200请求),原权限227项(158请求)均通过。Chrome Playwright桌面1280×900/移动390×844页面38项通过,特别覆盖失联→取消→页面内刷新→CSRF更新→原键返回同任务/审计,以及冲突刷新、状态/调用列表刷新和旧技术角色隐藏按钮。无新增未解释console/pageerror,刻意丢弃一次响应的网络错误单独记录。13表原有行及其他队列摘要一致,0次模型调用。
本轮合成账号、会员、评估、调用、消息、日志、专用trigger与随机队列已精确清理,临时凭据JSON已删除,profile恢复。两条浏览器匿名登出日志经确切ID/时间/来源/行hash核验后纳入本轮清理,未按范围删除。安全回执 `C:/Users/JUN/AppData/Local/Temp/airz-admin-retry-20261001/verification.json`、`ui-result.json`;截图和权限备份亦在该目录。临时UI脚本依赖已删除夹具,不能直接重跑;需显式创建新夹具。8098专用PHP已停止,原MySQL3309/PHP8097保留,下一轮先核对监听和原bootstrap,不运行默认.env/worker或旧cleanup/reset。
ADMIN-002 保持开发中,完整外部查询/对账依赖 DATA-004;下一独立开发项可推进 ADMIN-003 服务状态检查。FAQ/反馈及全部受控后台仍须配套正式部署后再明确分配新模板,不直接运行默认worker或旧cleanup/reset。
## 本轮继续开发:2026-10-01 已有评估任务只读排障(未部署)
用户要求继续下一步开发,仍暂不做验收。ADMIN-002 的已有评估任务只读排障完成源码和隔离开发检查:FastAdmin 新增评估任务列表与详情,按评估/任务/请求/会员 ID 精确查询,显示阶段、派发、租约、稳定错误提示及分别分页的提交版本/调用尝试。当前任务、已发布结果和历史输入版本分开;历史零调用、未关联旧调用、坏版本/错指针、缺任务/租约可定位,产品解释不混入评估尝试。未知用量不冒充零,迟到用量更新时间不冒充完成时间。
只在数据库提取安全元数据,不返回表单、报告、匹配、分析上下文、模型正文、供应商异常原文和密钥。控制器包含超管的所有写入口拒绝,无恢复、派发、人工重试或模型调用。新增3个只读权限节点及客服/技术 `v2` 模板,运营仍 `v1`;原客服/技术 `v1` 与账号绑定保留,不自动扩权。只对隔离库 `127.0.0.1:3309/airz_product_test_20260930` 显式备份应用5项,重复预检0项,精确刷新隔离 `__menu__`;备份及UI截图在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-assessment-20261001/`。
48项纯投影、42项隔离事务、1053项HTTP/数据库开发检查通过(194次请求),包含超管写入拒绝和上述异常关联;原后台权限另227项回归通过(158次请求),权限定义75项、隐私37项和字段投影73项通过。桌面1280×900/移动390×844页面27项查询、详情、tab、分页、错误/空态检查通过,无新增控制台错误。合成对象及临时账号JSON已精确清理、原记录保持,0次模型调用。正式库、默认 `.env`、线上和移动端源码未改,未部署或做运营/真机验收。
接口与测试命令见后端 `D:/AAdesk/202609/airz/database/admin-assessment.md`,权限说明仍 `database/admin-permissions.md`。ADMIN-002 保持开发中,下一开发子项建议受控人工重试与操作审计;完整外部查询/对账依赖 DATA-004,ADMIN-003 服务检查也尚未做。正式发布仍须配套FAQ/反馈字段和受控后台,再由超管明确分配新模板。
隔离MySQL3309/PHP8097继续监听127.0.0.1,bootstrap仍为 `C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/bootstrap.php`,模型关闭、worker未启动。下一轮先核对监听;禁止加载默认正式 `.env` 或运行旧cleanup/reset。临时UI脚本依赖已经删除的合成凭据JSON,不能直接重跑,应使用显式隔离测试重新创建随机夹具。
## 本轮继续开发:2026-10-01 后台菜单与角色权限(未部署)
用户同意继续 ADMIN-001 功能开发,仍暂不开展验收。已新增 FastAdmin 运营/客服/技术三个最小权限模板,复用三张管理员权限表,不恢复会员组/会员规则、不创建账号或自动绑定。运营管理产品和内容;客服处理反馈及只读融资资质;技术只读配置、受控启停密钥及查看范围内日志。姓名、手机号、企业信息保持掩码,资料附件/证件原文/密码/令牌/密钥不输出;独立 `user/info/financial` 只给客服。技术模型配置写入及密钥新增/轮换由超管保留,受控配置继续属于 ADMIN-003。
资料与系统消息后台全只读(包含超管和批量/导入/回收站);会员、资料、密钥列表及模型选择器限制查询和返回字段。密钥批量仅改合法状态,不改密文/所属模型/用量。反馈列表和编辑移除历史附件地址;日志新写入和历史读取脱敏,URL不保留查询串。通用排序与缓存清理补权限校验,角色登录首屏只打开有权业务页。
后端 `database/migrate_admin_permissions.php` 必须显式 `--env --target`,默认只读;应用要求 `--apply --backup-dir`,备份/锁表后仅增量插入,模板漂移、危险同名节点或不兼容层级拒绝。只对隔离库 `127.0.0.1:3309/airz_product_test_20260930` 初始化50节点/3模板并精确刷新 `__menu__`,既有角色和账号绑定保持;备份在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-permissions-20261001/`。源码、FAQ/反馈业务及反馈字段必须配套正式部署后再绑定新角色,不能给旧版通用CRUD直接授权。
PHP/JS语法和纯内存回归通过;`tests/admin_access.php` 227项隔离HTTP/数据库检查(158次请求)通过,含角色菜单/默认页、直接越权、财务字段隔离、只读超管、客服回复、密钥事务/选择器及历史日志脱敏。合成对象精确清理,13表原有行保持,0次模型调用。正式库/默认 `.env` 未改,本轮未部署、未做运营或真机验收;台账保持开发中。
隔离MySQL3309与PHP8097已沿用原配置恢复,监听127.0.0.1;PHP关闭模型,未启动worker。临时bootstrap仍为 `airz-product-editor-20260930/bootstrap.php`,继续前先重查监听,不运行旧cleanup/reset脚本。下一步推荐 ADMIN-002:先做已有评估任务的只读阶段/错误定位,完整外部查询仍依赖 DATA-004;FAQ/反馈和权限业务尚未上线。
## 2026-10-01 数据库注释与实体类注释已部署
已按授权完成正式库 `111.230.144.231:3306/airz` 的注释同步:26 张表、157 个已有字段的中文注释已更新,重复预检为 0 项待修改;线上复核为 26 张表注释、342 个已有字段注释。因正式 `fa_feedback` 仍缺少 `request_id`、`reply`、`handled_by`、`handled_at`,本次只同步现有结构,没有上线反馈闭环字段和 API。
同时仅发布 29 个实体模型类的类级 PHPDoc/`@property` 注释,逐文件备份并确认可执行代码未变化。FAQ、反馈闭环和内容编辑业务逻辑仍未部署。部署前后 `airz-analysis`、`php-fpm-74`、Redis 均 active,worker `NRestarts=0`,分析队列、保留队列和延迟队列均为 0。服务器备份为 `/root/airz-comments-20261001/`,本机回执在 `D:/AAdesk/202609/airz-backups/comments-deploy-20261001/`。
## 本轮继续开发:2026-10-01 FAQ服务端化(未部署)
在不进行真机/跨设备验收的前提下,已完成FAQ服务端开发:复用`fa_acticle`的`type=6`和`content` JSON(`schemaVersion=1/kind=faq`),新增公开`GET /api/v1/help/faqs`及分类筛选;新增独立后台FAQ编辑模型、控制器、页面和版本保护;前端帮助页移除本地FAQ数组,改为始终读取服务端。没有新增表或字段,没有写入正式库或部署。
初始内容见后端`database/faq_initial.json`,导入脚本为`database/import_faq.php`,必须显式指定隔离/正式环境与目标,默认预检回滚,重复按slug保留已有记录。源码语法检查及隔离事务中的FAQ保存/读取/下架检查通过;现有本地HTTP服务因尚未导入种子返回空列表是预期。下一步继续做反馈提交/处理闭环;人工客服接入仍等待`EXT-CS`供应商方案。
## 本轮继续开发:2026-10-01 反馈提交与处理闭环(未部署)
已完成`SUPPORT-002`源码:复用`fa_feedback`新增`request_id`、`reply`、`handled_by`、`handled_at`和会员请求键唯一索引;迁移脚本为后端`database/migrate_feedback.php`,显式环境/目标,默认只预检,写入要求`--apply --backup-dir`。本轮仅对本机隔离库`127.0.0.1:3309/airz_product_test_20260930`应用,备份在受限临时目录;正式库、正式`.env`、PHP部署和后台正式资源均未修改。
新增`FeedbackRecords`和登录接口`POST/GET /api/v1/feedback`、`GET /api/v1/feedback/:id`。反馈正文去HTML、最多255字;同会员同`requestId`幂等,参数冲突返回409;附件服务未开放,非空`attachmentIds`拒绝。后台只能编辑状态与回复,自动记录处理管理员/时间,新增、删除、批量和导入拒绝。帮助页保留服务端FAQ并新增意见反馈、本人记录和重试。
验证:新增/修改PHP lint通过;隔离迁移预检、应用及重复预检通过;`tests/feedback_records.php`隔离数据库回归58项通过,含并发幂等、越权、历史NULL键和原始字段保护;HBuilderX 5.26 Web、微信小程序和Android 27页编译通过。未做真机、跨设备、视觉验收或正式部署;人工客服仍等待`EXT-CS`供应商方案。
## 最新内容与部署:2026-10-01 已完成
用户授权继续功能开发、改用airz.hqling.cloud并部署后端。新闻/融资课堂/详情/首页推荐/搜索已接真实服务,支持分类分页、总数、下架/空态/错误恢复及迟到响应保护,移除原静态数组兜底,保留原型页面层级。后台复用文章和融资课堂入口,结构化编辑、发布/下架、封面及章节排序/版本冲突保护完成。FAQ与反馈源码已完成但尚未部署,CONTENT-002/003待真机及多设备验收,27页/63任务不变。
复用fa_acticle(新闻type=5)与fa_finance现有content TEXT保存schemaVersion=1的JSON,不给现有会员/资料/会话/内容表增加字段。新增fa_user_lesson_progress关系表;按当前会员保存固定章节ID、正文摘要和首次完成时间,章节重排保留进度、正文更新使对应进度失效,lessonVersion冲突返回409。消息表uk_user_message_event唯一索引本轮一并上线。初始原文4篇新闻/3门课程按slug只新增,重复预检无改动,不添加环境标签。身份资料、评估输入版本及match_result存储约定保持。
本机40项MySQL5.7隔离数据库、81项内容HTTP/Playwright(42次隔离请求)、13项后台UI/HTTP检查及166项产品编辑纯内存回归通过;390×844与1280×900截图无运行错误,微信/Android开发编译通过。服务器64项真实HTTPS/FPM内容/学习进度/消息/产品目录/评估报告/PDF检查通过,2次显式假评估、0次收费调用。测试会员/Token/消息/进度/资料/会话/独立队列精确清理;26张表按预期摘要一致,所有原有行、无关源码、.env与数据库全局参数保持。
正式34个源码/后台资源文件已通过宝塔文件页面和终端限定发布;排除.env、vendor及环境相关application/extra/site.php。新增消息索引和课程进度表后导入7条内容,重启PHP-FPM,恢复worker与公网入口;维护gate已移除。三服务active,最终worker MainPID=1041115/NRestarts=0、队列[0,0,0],后续需重新核对。不要重跑已完成维护阶段或默认本机worker,默认后端.env仍指正式库。
当前正式域名为 **https://airz.hqling.cloud**,API `/api/v1`,后台 `/ZYurKboadX.php`。DNS A为111.230.144.231,宝塔新增绑定、部署Let's Encrypt RSA2048证书后移除aitest.ychysg.cn旧绑定;内部站点名与目录仍xctai.cn及/www/wwwroot/xctai.cn,public为运行目录。证书到期2026-12-29 16:12:27 UTC;公网11条路径检查和HTTP301跳转通过,TLS校验0,内容/字典200、匿名消息/产品401、敏感路径404。历史旧域名HTTPS阻塞不代表新域名现状。
服务器备份 `/root/airz-content-20261001/`;数据库/源码/nginx/证书/宝塔数据库、增量迁移回执及验收记录共22个文件已下载并校验SHA256至受限本机 `D:/AAdesk/202609/airz-backups/content-deploy-20261001/`(server-files内为解包)。恢复见后端[内容发布维护](D:/AAdesk/202609/airz/database/content-publication.md):优先回限定源码并保留增量数据,禁止整库回退、覆盖新消息或删除有进度的课程表。备份含私密信息,不对外分享。浏览器证据仍在临时airz-content-20261001目录。
前端services/config.uts已用https://airz.hqling.cloud/api/v1,APP_ENVIRONMENT=test、模拟关闭、production地址仍空。本轮小程序尚未代上传,需要重新发行,并将微信request合法域名改为https://airz.hqling.cloud;头像上传/文件下载核对相应平台域名配置。H5未部署,真机/多设备/真实模型未验收。FAQ/反馈的正式字段、API和业务逻辑仍待单独授权部署,或继续开发其他未完成模块。
本机隔离MySQL3309、PHP8097与H5 5173沿用,继续先核对监听及临时bootstrap;3309曾退出后已用原配置恢复,不依赖旧PID。不要用默认.env代替隔离配置。MySQL参数绑定采用TP5命名绑定,列表与计数分别新建Query,不能clone共享Builder;Android账户回调需延后绑定。关键约束已加中文注释。
## 历史消息功能:2026-09-30 本机完成,后于10-01部署
用户暂停公网HTTPS排查,已上传上一版小程序,并授权继续功能开发。本轮完成MSG-001—004本机实施:消息中心接真实分类分页/未读数/单条和全部已读、详情及原版本报告/档案跳转,首页红点同服务器状态;登录可回消息页,旧静态通知/本机已读不再使用。保留原图标、分类和底栏,修滚动高度及分页错误提示位置;离页/换分类/账户切换拒绝迟到响应,Android前向函数引用使用延后绑定兼容。关键约束中文注释,27页/63任务不变。
后端新增UserMessages.php、API Messages.php和五条路由,Assessment.php成功/失败同事务通知;business_id为system输入日志revisionId,事件唯一键原子去重。详情校验当前会员、关联会话和输入日志的归属/删除状态;旧消息始终绑定旧版本。列表snapshotId上界+beforeId分页,全部已读只更新上界内,单条首次readAt保持。复用fa_user_message现有列,仅加uk_user_message_event唯一索引,无新表/字段、无历史补通知。
50项MySQL5.7真实隔离数据库检查(5次假模型)、57项HTTP/Playwright(42次隔离API)及16项索引迁移恢复检查通过;手机390×844/桌面1280×900,console/pageerror为0,微信/Android最终开发编译通过,0次收费调用。测试会员/Token/资料/会话/日志/消息和本批随机队列已精确清理,25表原有行摘要一致,原4条材料草稿及6条产品保留。临时证据C:/Users/JUN/AppData/Local/Temp/airz-messages-20260930/qa.json、qa-migration.json、cleanup.json、messages-390.png、messages-1280.png、messages-empty.png及索引备份;凭据与Token不写入仓库。
**正式消息索引迁移、四文件PHP部署及本轮小程序/H5发行尚未执行**;用户已上传的是上一版,以下旧段落中的“尚未上传”不代表当前上一版状态。正式库及.env本轮未改。维护/恢复见后端[消息说明](D:/AAdesk/202609/airz/database/user-messages.md):新生产维护需本轮授权,先停写/停空闲worker/备份,先索引后PHP最后前端;重复组或错误同名索引阻断,不自动删除消息、不整表回退。测试只允许显式本机airz_product_test_*配置,不直接用默认.env或旧集成测试。
本机3309隔离MySQL5.7、8097隔离PHP和5173 H5沿用,继续先查监听;PHP临时bootstrap模型禁用,不运行默认worker。H5源码API仍为正式域名,Playwright验收仅通过浏览器请求转发到8097,不代表正式消息接口可用。公网HTTPS排查继续暂停,不复测公网/真机/真实模型;后续功能建议为资讯、融资课堂与搜索的服务端接入,复用现有内容表和页面。
## 最新产品展示:2026-09-30 正式数据及三文件PHP已部署