Files
airz-uniapp/docs/后端协议与照片发布-20261012.md
hujun c95482a0f3 feat: 实现协议全文与同意记录功能
新增协议全文后台管理、版本化发布及本人同意记录功能,支持可撤销授权;完善资料与授权相关边界提示,调整评估提交时的资料与授权校验逻辑,同步更新相关页面文案与路由。
2026-10-14 14:53:13 +08:00

46 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 协议、账户与照片后端发布(2026-10-12)
用户明确要求“就一个服务器,没有专门的测试服务器,直接部署吧,小程序我自己部署”。复用既有`https://airz.hqling.cloud`、后端`/www/wwwroot/xctai.cn`、PHP7.4、MySQL `127.0.0.1:3306/airz`及已保存宝塔维护通道;不再等待独立测试服务器。
## 本次范围与执行计划
- [x] 只读核对线上91基线文件、26张表、三项服务、活动评估/调用及队列。当前版本profile-grade-r4,三服务active、活动工作和队列为0,三个新表不存在。
- [x] 固定候选29文件(26运行、3增量DDL;7已有替换、22新增)和87保护文件。已有源码与本地HEAD规范化后相符,生产CRLF保持。原.env与模型配置保持;小程序源码改为production并填写既有HTTPS API,用户自行发行。
- [x] 本地23 PHP语法、14发布守卫、26照片/30协议源码检查通过,生产PHP扩展齐全。前轮168照片HTTP/351协议HTTP、32实际前后端H5与29页目标端编译为已有证据,不跨轮累计。
- [x] 上传私有发布包并核验,预检权限增量只允许协议五节点与独立运营v2模板,已有角色及账号绑定保持。
- [x] 临时阻断外部入口、停止空闲worker/FPM;备份本批before源码、site/Nginx、26表灾难dump及数据/结构/权限摘要,备份核验后才替换。
- [x] 定向发布29文件,安装三张空新表和六项权限元数据,仅更新资源版本;没有正式正文/账号/产品/同意记录导入。短信及照片上传默认关闭,现有模型业务设置保留,本次烟测零模型调用。
- [x] 维护内核验116源码/保护文件、26旧表数据及结构、3空新表、原权限/绑定、27项HTTPS接口/静态资源及精确回退干跑。
- [x] 移除维护入口并恢复FPM/worker,31项公网可信TLS检查和worker心跳通过;临时传输/凭据已清理,37个私密备份文件下载核验,宝塔退出并关闭。Nginx仅本站增加错误响应保留配置,详见下方结果。
## 生效边界
本次部署协议管理与同意记录、照片接口及默认关闭的短信配套,不生成正式协议或合成正文。正式terms/privacy/document-use/data-authorization须由后台逐份填写、审核发布。正式资料用途、保留期限、撤销后处理、私有目录/ACL及密钥恢复仍待确认,所以照片上传不在本次开启;短信供应商/签名/模板未接入,短信登录和验证码改密/换绑不可用,既有密码登录保持。
小程序由用户从当前29页源码重新编译和发行;当前配置为production、`https://airz.hqling.cloud/api/v1`。本轮不代上传微信或发布H5,微信真机未签收。融资28项、63任务、同事产品库及产品AI回撤保持。
## 回退
维护期间只能按本批before恢复7已有文件,新文件按当前摘要核对后移回私密归档;恢复原site资源版本和Nginx。权限回退只在没有新绑定且新增元数据未变时删除本次精确新增ID,不改旧角色或账号绑定。三张空增量表保留,不以整库dump覆盖用户/内容/产品或后续业务数据。恢复上线后若有新数据,需重新审阅定向恢复条件,不直接重跑旧脚本。
## 发布结果
后端版本`20261012-agreement-documents-r1`已在[现有服务器](https://airz.hqling.cloud)部署完成。以下时间均为2026-10-12、Asia/Shanghai:
| 阶段 | 时间 | 结果 |
| --- | --- | --- |
| 维护/备份完成 | 17:00:39 | 原7源码、site/Nginx、26表快照和灾难dump核验 |
| 后端更新 | 17:00:58 | 29文件、三空表、五权限节点/运营v2模板及资源版本 |
| 维护内验证 | 17:04:36 | 116源码、旧26表/原权限保持、27项HTTPS通过 |
| 恢复外部访问 | 17:05:07 | 三服务active、维护入口移除 |
| 最终服务器核验 | 17:10:26 | worker ready/idle、心跳0秒、活动工作/队列0,环境/非版本site保持 |
| 服务端清理 | 17:13:38 | 归档root/700/600、传输缓冲/临时凭据清理,三服务active |
首次维护内验证失败的原因是生产全局`fastcgi_intercept_errors on`将协议404 JSON替换为Nginx HTML错误页。已仅在本域名server增加`fastcgi_intercept_errors off`,全局配置不变;Nginx语法检查和27服务器/31公网可信TLS检查通过,四协议均明确`AGREEMENT_NOT_AVAILABLE`。敏感路径仍404,匿名同意/私有内容401,短信未配置503且未发送真实短信。维护标记已移除,Nginx只有这项本站修正,不能描述为完全原样恢复。
本次没有业务数据导入、账号绑定、生产评估提交或模型烟测调用。旧26表数据/结构及原权限逐项核验;新三表为空,只追加协议五节点和独立运营v2模板。新旧账号仍按原绑定访问后台,正式角色分配未实施。
服务器私密归档:`/root/airz-agreement-documents-release-1791794619319`。本机[发布回执](D:/AAdesk/202609/airz-backups/production-release/airz-agreement-documents-1791794619319/release-receipt.json)及`production-backup`保留37个逐项SHA核验的备份文件,包括完整26表dump、7个before源码、site/Nginx、权限快照及阶段回执;只允许当前Windows用户与SYSTEM访问,不含生产.env副本。失败校验和修正证据另行保留,不能重跑已完成维护脚本。
前端14个相关文件摘要已冻结,`APP_ENVIRONMENT=production`、正式API为`https://airz.hqling.cloud/api/v1`,test为空、demo关闭。用户须从当前完整29页源码重新编译发行,并确认微信request/uploadFile/downloadFile合法域名;本轮未代发微信/H5,也未重新编译目标端。正式协议正文、短信渠道及照片正式配置仍待,代码部署不等于照片可用或正式签收;此前本机测试证据不代替真机验收。无提交、推送或PR。