feat: 完善登录流程、UI适配及协议文档更新

本次提交包含以下修改:
1. 新增微信登录相关服务及页面逻辑,实现首次微信绑定手机号流程
2. 优化产品匹配卡片 UI,移除不必要状态显示
3. 调整首页 scroll-view 属性及 banner 背景样式
4. 完善积分规则校验逻辑,增加时区及策略格式验证
5. 更新协议草案文档,补充资料清单及功能说明
6. 修复分析结果路由路径,适配新的匹配结果页面
7. 调整品牌 Logo 安卓端字体对齐样式
This commit is contained in:
hujun
2026-10-22 11:24:15 +08:00
parent e5406c23a6
commit 2c9d3feab5
36 changed files with 1246 additions and 212 deletions
+72
View File
@@ -1,7 +1,79 @@
# AI融资项目新会话交接
## 最新安卓Logo对齐(2026-10-22,已同步真机)
用户截图反馈登录页“AI融资”Logo歪斜。该组件混用文字A、色块i与中文字体,安卓可见字形底边不同;参考截图A底边126px、i竖条132px、中文129px。本轮仅components/BrandLogo.uvue增加APP-ANDROID条件样式:A向下4rpx、i向上4rpx,保持原尺寸、配色和组件布局,所有使用该组件的安卓页面共享修正。其余77个运行源码文件摘要保持,前序登录、首页及所有既有修改保留。
HBuilderX5.26于11:16:14完成安卓29页编译,11:16:19同步成功,11:16:28进入登录页,用户确认“已显示”。真机Logo区域截图核对A/i竖条/中文底边243/242/243px,差值从参考图6px降至真机1px;组件dex与手机SHA256一致。11:17:36微信29页编译通过,微信Logo样式未包含安卓偏移。验证采用原生真机截图,无浏览器模拟;只保存顶部及Logo区域,未采集输入内容。登录页既有Multiple text nodes警告仍在,本轮未处理。其他安卓机型和iOS未验收,无登录/短信/模型调用、提交/推送或发布。
证据D:/AAdesk/202609/airz-backups/android-brand-align-20261022-r1,含implementation.diff、android-login.log、mp-weixin.log、logo-before-reference.png、logo-after.png、visible-bounds-after.json及verification.json。手机最后停留登录页。
## 最新安卓真机验收(2026-10-22,首页双向滑动已由用户确认)
小米6(ADB 8119de76)已安装标准调试基座并成功同步当前项目。真机截图确认首页蓝色“AI智能评估”横幅及“查看档案”等当前文案;11:05最终同步后再次核对首页、登录页和主模块dex的SHA256均与本机产物一致,记录device-resource-hashes-final.json。“一键登录”按钮点击已由用户操作并截图确认提示“一键登录暂未开放”,实际运营商认证仍未接入。
首页无法滑动已定位为原生scroll-view方向属性:容器1698px、内容2051px有真实溢出,裸scroll-y编译成空字符串。本轮唯一运行源码增量是pages/home/home.uvue将scroll-y改为direction="vertical",共享layout及正式API配置保持。本轮10:50安卓增量编译成功并同步后,用户明确回复“现在可以滑动了”;10:56微信29页编译通过,微信产物正确生成scroll-y="true"。11:00安卓再次29页编译并同步成功。
11:05:15安卓29页再次编译成功,11:05:21同步成功,启动公开新闻页后用户手动点左下角“首页”,明确回复“已回首页,双向滑动正常”。11:06有效截图显示首页已滑到下方“融资课堂”,与此前顶部画面共同证明确实可滚动;该最终截图并非横幅完整展示图,顶部返回依据用户操作确认,不夸大截图证据。上滑后的第一次全黑截图无效。CLI直接启动首页仍会触发欢迎页再转登录,后续需要打开首页时可先启动公开新闻页再点首页,无须修改启动业务逻辑。
用户明确保持“USB调试(安全设置)”关闭,手动点击和滑动;远程输入会被INJECT_EVENTS拒绝,不再尝试。手机60秒息屏,验证时请保持解锁亮屏。公开内容请求仍报网络失败,真实数据与登录链路未验收;iOS未编译或真机验证。另观察到安卓登录页密码遮掩需单独确认,未改该输入属性,勿收集或记录真实凭据。
证据目录D:/AAdesk/202609/airz-backups/android-home-verify-20261022-r1;有效截图home-before-swipe.png、quick-login-modal.png及home-final-bidirectional-confirmed.png,编译日志launch-fresh-scroll-check.log、mp-weixin-final.log、launch-direct-home.log、launch-return-navigation.log。verification-final.json记录最终检查,scroll-direction-only.diff为本轮精确源码增量;初始8文件中其余7文件摘要保持。保留前序所有未提交改动;无提交、推送、发布、真实短信/微信/模型调用或后端改动。下方2026-10-21条目为此前状态,本节优先。
## 最新安卓真机首页排查(2026-10-21,编译通过、待重新连接真机)
用户反馈首页顶部白块、仍像旧版、无法上下滑动。17:50真机截图仍有“查看全部/信用融资方案/3/示例方案”,与当前首页“查看档案”和真实账户摘要不同;手机此前项目资源时间为2026-09-21,不能用该旧资源判断本轮登录开发效果。初次滑动截图时手机息屏,图片全黑,不作为有效滚动验证。后续手机从ADB断开,目前尚未同步并运行最新安卓资源,不登记首页滚动或白块真机验收通过。
已完成最小安卓编译兼容修正:compare和matches服务的字符串兜底改为显式长度判断;产品卡片/详情模板通过本地有类型函数调用导入的展示函数,消除生成代码的invoke错误;匹配列表及报告总数改用parseInt读取已校验的整数串;未开放微信平台分支显式返回Promise<string>。原有展示规则、账户逻辑和全部前序改动保留。首页横幅改为原生支持的background-image方向渐变,并增加蓝色background-color;共享layout未改,滚动应在最新资源实际运行后再定位。
HBuilderX5.26于18:07:20完成安卓29页编译,18:07:53完成微信29页编译。相关现有检查通过:匹配预览20、产品展示19、匹配文案12、列表分页6、微信登录19、报告优先级32、PDF导出38。证据/改前字节位于D:/AAdesk/202609/airz-backups/android-home-fix-20261021-r1,安卓成功日志compile-only-3.log、微信mp-weixin.log。ADB设备8119de76(小米6)重新连接并解锁后,再运行当前项目、核对真实摘要文案、蓝色横幅和双向滑动,并检查一键登录占位入口;不要并发启动多次HBuilderX运行。当前services/config.uts指向正式HTTPS API,勿擅改配置或操作真实短信/微信/模型入口。未提交、推送、发布或改后端;iOS尚未编译/真机验证。
## 最新微信与手机号登录开发(2026-10-21,本地待联调)
用户后续补充:明确保留Android/iOS运营商本机号码一键登录功能,并最新要求暂缓渠道准备、先还原按钮。登录页已恢复原图标/“一键登录”文字,点击仅展示原“暂未开放”提示;进入微信绑号或已认证时隐藏其他登录方式。实际运营商认证仍待App阶段开通服务、完成服务端取号核验及真机验证后启用,与短信登录共用原userId和业务资料。本次未开通服务或接入SDK;微信小程序首次绑号仍手输手机号及短信验证。
按钮还原已通过49项既有回归、29页微信编译,以及390×844/1280×900受控页面显示/点击/输入保持/微信绑定隐藏与取消恢复检查,无相关页面控制台错误或真实外部请求。证据D:/AAdesk/202609/airz-backups/quick-login-restore-20261021-r1;临时浏览器和Vite已关闭,未发布。
用户已确认并授权本地开发:微信首次登录必须手工输入手机号并短信验证;已有手机号关联原userId,没有才注册;后续微信直登,冲突不覆盖。前后端已实现三个精确端点、10分钟临时绑定票据、专用短信挑战、按应用隔离的身份双唯一映射、两份协议同意事务及故障Token撤销。前端增加绑定/取消/过期流程,离页或换账户的迟到结果不保存会话。首期微信小程序适配开放;Android/iOS复用公共手机号账户,原生微信SDK尚未启用。
验证:前端微信19和协议30场景通过,HBuilderX5.26于17:28完成29页小程序编译;受控H5在390×844/1280×900通过协议门禁、短信输入、绑定/取消/重新授权和成功回跳,无相关页面控制台错误。H5编译器既有layout.uts窗口API类型警告未改。绑定UI仅在浏览器测试运行期替换微信授权边界,不等于微信真机验收。后端在全新本机隔离MySQL/Redis/ROOT完成394检查、85次HTTP及真实多进程并发;回归短信71、账户短信271、会话284,13个PHP语法通过。独立审查发现的回滚自身失败跳过新Token回收、显式s被路由消费漏查两项已补RED/GREEN修复。
仅本地开发,微信配置默认关闭;本轮没有提交、推送、PR、发布、正式迁移或生产访问,也未发送真实短信、微信或模型请求。没有读取后端生产.env。原有所有脏改动保持,schema.sql未改;正式迁移提供独立database/wechat_identity.sql。运营主体等资料仍待用户提供,协议草案没有发布,协议未发布的门禁不可绕过。下一步是测试环境渠道配置与真实微信/短信验收;发布、正式DDL和App原生适配须另行明确授权。
两个工作区当前分支均为codex/wechat-sms-login-20261021(未提交)。开发说明:docs/微信与手机号登录开发-20261021.md;后端配置与迁移:D:/AAdesk/202609/airz/database/wechat-login.md。计划及设计在docs/superpowers/下2026-10-21-wechat-sms-login*。原始字节快照、测试/截图、独立审查和清理回执位于D:/AAdesk/202609/airz-backups/wechat-sms-login-20261021-r1。下方为历史记录,本节优先。
## 下一会话:微信与手机号登录讨论(2026-10-20)
用户要求记录进度并新开会话,开始讨论微信和手机号两种登录方式;当前仅授权梳理现状和讨论方案,尚未确定具体登录改造。本轮积分中心中间项改为分享已完成本地验证,待用户发行小程序;正式后端积分查询补丁已上线,详情见下两节,不必重复部署。
已只读核对:`packages/account/login/login.uvue` 的微信与一键登录按钮调用 `socialLogin()`,目前仅弹出暂未开放提示,并非已接入微信授权;`packages/account/services/auth.uts` 已对接手机号验证码及手机号密码登录接口,线上短信服务实际可用性尚未在本轮核验。新会话应先梳理微信身份、手机号与现有用户ID的关系,再讨论是否必须绑定手机、已有账户关联和冲突处理,确保融资档案、报告、积分及Token累计额度不会因两种登录方式分裂或重复发放。还需核对协议未发布对登录/注册的影响,不能绕过既有同意门禁。用户暂缓补运营主体等资料的约定仍有效。
工作区有多轮未提交改动,全部保留;前端 `D:/WorkSpace/cyun/ai融资`,后端 `D:/AAdesk/202609/airz`。后端 `.env` 指向生产,勿为讨论启动数据库/Redis/worker或执行写库测试。正确生产服务器为111.230.144.231,禁止旧219服务器。本次登录讨论不发布、不改正式数据、不发送短信或调用收费模型;形成方案后按用户决定推进。
## 最新积分中心分享入口(2026-10-20,本地待发行)
按用户要求,积分中心中间的“完善资料”改为“分享”,三项顺序为签到、分享、邀请好友;移除该入口跳融资档案的行为。微信端使用原生分享按钮,分享公开首页 `/pages/home/home`;不携带个人资料或报告,不发放分享积分,页面说明同步为分享和邀请奖励尚未开放。仅改前端页面及相关回归脚本,后端无需部署,待用户重新编译发行小程序。22个积分前端场景及HBuilderX 5.26微信29页编译通过,已核对产物的原生 `open-type`、分享回调和图标;未进行微信真机分享或发送操作。编译证据:`D:/AAdesk/202609/airz-backups/points-share-20261020-r1`。下方正式积分接口补丁保持。
## 最新积分入口补丁(2026-10-20 12:59:05)
用户确认已重新发行小程序(本轮未提供新版本号),反馈积分中心“积分请求查询参数不合法”和隐私政策“协议尚未正式发布”。已定位前者为正式Nginx `/index.php?s=$1` 内部参数与ThinkPHP已消费GET参数不一致,原本机直设PATH_INFO测试遗漏该部署路径。在原接口输入测试补真实Request改写/未改写回归,先复现再修复;250接口输入、251积分服务、21前端场景及PHP语法通过。沿用本会话积分后端上线授权,在正确111.230.144.231定向发布20261020-points-query-r1,仅替换后端 `application/api/controller/v1/Points.php`,改用REQUEST_URI原始客户端查询串;重复/未知/显式s/数组/错误编码仍拒绝。原文件c23e85ee6cde6bce38551e2da09db9583884ba9de43661d149c90e0899cb8e22,新文件d0f3a97e921b16b2921d381b988ad6be052150f7ef0ab517a6feac40cdcae619。私密备份后原子替换、温和重载PHP;四项正式积分服务读取正常(每日10分),8公网HTTPS通过,三服务active且worker PID/重启数保持。本轮无业务写入/签到/会员令牌创建/模型调用,不冒充真机或到账验收;无需再次发行小程序。隐私/用户/资料协议线上404/AGREEMENT_NOT_AVAILABLE保持,未发布草案,用户暂缓补资料约定继续有效,照片真实上传仍受门禁。证据D:/AAdesk/202609/airz-backups/points-query-hotfix-20261020-r1及服务器/root/airz-points-query-hotfix-20261020-r1;详见后端database/points-query-hotfix-20261020.md。下方各轮后端已发布内容保持,旧发布清单须叠加本补丁。
## 最新线上补丁(2026-10-19 18:09:09)
用户反馈“分析结果未通过格式校验”。在正确服务器111.230.144.231只读定位17:56:14的AI_INVALID_REPORT:第一批模板conditionOutcome与关联条件最终outcome不一致,旧ProductAiTemplates.php第228行;失败正文未保存,无法确定具体模板或模型混淆方式。定向发布20261019-report-template-r1,仅改该文件提示词,明确条件判定/正文适用性、先完成条件判断再复制引用结果及配对示例,严格校验保持。613项不同纯检查、151源码守卫、11服务器/8公网HTTPS通过,唯一worker PID3121708、心跳ready/idle,模型仍Pro。无本轮真实模型调用、自动重试、DDL、产品或历史改写;真实模型改善仍待用户从原失败记录重新分析验收,小程序无需因此重发。调用用量已正常实记。证据D:/AAdesk/202609/airz-backups/report-template-20261019-r1,后端database/report-template-hotfix-20261019.md;旧发布清单须叠加此单文件新摘要19fc50ee01dab152aa6808290039115d614842b48b1c530670e6eb5fabd1430c,不能盲重跑旧部署。下方前轮照片/积分/Token发布与协议边界保持。
## 最新正式发布(2026-10-19 17:40:33)
用户授权照片开关与后端更新,并追加积分和Token上线;正确宝塔为111.230.144.231:31702,禁止继续沿用219.151.177.172作为本项目目标。后端20261019-photo-points-token-r1已发布15运行文件并完成积分四项结构增量/Token三条ALTER,恢复入口和唯一新worker(PID3114856,ready/idle)。积分每日10分、上海每日一次,其他奖励/兑换关闭;用户累计Token/命中及总Token/累计额度已上线,现有额度NULL不限,不补历史。模型仍deepseek-v4-pro-0813。照片enabled已开,正式document-use版本0,404/AGREEMENT_NOT_AVAILABLE及有效同意校验保持,所以实际上传仍不可用;四份待填草案未发布。151路径、30表456行业务原字段投影保持、历史4报告/16组/4详情及归属/25产品/34省份、11服务器及16公网HTTPS通过;本轮模型调用0。备份与脱敏回执保存在D:/AAdesk/202609/airz-backups/photo-points-token-production-20261019-r1及正确服务器同名/root目录;临时连接文件/外层上传包已清理。小程序需要用户重新编译发行以包含积分文案/完整策略校验,正式签到到账/真机/真实供应商命中字段/照片恢复未验收。详见后端database/photo-points-token-release-20261019.md。下方Token/积分未发布及照片关闭为历史阶段,不覆盖本条;协议待定稿的边界继续有效。
## 新会话接续摘要(2026-10-19)
- 最新协议草案核对(继续先不发布):用户“继续下一项”承接协议定稿资料准备,已按本地代码及既有回执修订四份正文,纠正职业/单位文字与派生年龄/地区的AI外发范围、匹配分排序、照片关闭与删除边界,以及平台服务器保存外部查询意向的含义;补齐积分和AI用量计量目的及独立待确认期限。积分一期和命中/总Token及累计额度均仍本地待发布,不补历史,不因文案开启功能。新增 `docs/协议草案/定稿资料清单.md`,集中列出主体、有效申请渠道、分类保存期限、服务方主体/关系/留存/地域等资料,暂缺信息不编造、不重复追问;现有21类待填项继续保留,未法律审定、未正式定稿。四份正文经现有 `AgreementRegistry::definition()` 纯离线格式校验通过,清单/摘要已同步,校验用版本及2099生效时间仅作内存夹具、不写正式正文。仅文档修订;无生产/DB/Redis/worker/真实模型访问、无后台写入/迁移/启用/发布/提交/推送,Token和积分前序改动保留。原件、范围基线及验证位于 `D:/AAdesk/202609/airz-backups/agreement-draft-review-20261019-r1`。下一步待资料就绪后补齐并完成内容审核;当前不能将四份草案直接作为正式协议发布,照片/短信/新签到继续关闭。
- 最新积分一期收尾(继续先不发布):用户在一期规则建议后“继续下一步”,按每日10分、上海每日一次、不补签、无连续奖励、不过期、不联动等级;资料/邀请奖励和兑换/提现/AI额度抵扣关闭推进。前端校验完整服务端策略、补全规则弹窗并区分暂停状态;新增后端 `database/points-phase1.env.example`(points-checkin-20261019-v1,默认关闭且不自动加载),真实.env和默认points.php未改。251服务/190输入/110迁移纯检查、98写保护、21前端场景及原协议30/照片26场景通过;写保护旧测试仅补Token只读显示所需Db/view替身,业务代码保持。实际H5手机390×844/桌面1280×900合成接口49项记录通过,截图已查看,规则/暂停/异常/丢响应刷新原键确认覆盖,无运行错误或意外外呼;刻意404及断网控制台记录保留。HBuilderX5.26微信29页编译成功,产物在仓库外。未启数据库/Redis/worker、未重新执行持久化验收、未访问生产/迁移/发布/真实模型调用/提交/推送,前轮Token未发布改动保留。证据 `D:/AAdesk/202609/airz-backups/points-phase1-20261019-r1`,规则说明 `docs/积分规则与开发契约.md`;正式积分仍关闭,邀请体系/资料奖励未实施,正式到账和真机仍未验收。下一项为协议定稿资料核对,主体/有效申请渠道此前暂无,不编造也不反复追问,四份草案及照片/短信关闭状态保持。
- 最新本地开发:已按用户确认实现累计 Token 总额度。`fa_user.ai_token_limit` 留空不限、0 禁止新调用、正整数为跨模型累计上限;`fa_model_user` 按用户唯一累计 `used_quota`,有有效用量的失败也计入;`fa_ai_chat_log` 增加命中/总 Token,未知保留 NULL,不补历史。已接入评估、分批评估、产品解释、助手的提交与实际调用检查,并发在途用量允许实记超额。后台会员编辑可设置额度,用量页显示明细/汇总;记账独立事务且幂等。16 个测试入口、26 PHP/2 JS 语法及实际后台 19 项检查通过,包含 12 进程并发和迁移拒绝场景。迁移及说明位于后端 `database/migrate_ai_token_usage.php`、`database/ai-token-usage.md`。本轮仅本地开发和合成隔离验证,未迁移正式库、未发布、未真实模型调用;后续发布必须另获授权,停入口/worker并备份后配套迁移和部署。证据 `D:/AAdesk/202609/airz-backups/token-usage-20261019-r1`;这不改变下方已完成模型切换的正式状态,也未覆盖已有发布候选包。
- 最新模型切换:用户明确要求 Flash 用完后改用 `deepseek-v4-pro-0813`,2026-10-19 15:36:29 已切换正式后端与本地后端环境配置;补入 assessment_model、将助手/产品解释所用 model_flash 映射为 Pro,原 model_pro 保持。正式策略仍取 environment,无配置表写入;独立 App 只读回读确认三场景新请求均为 Pro,enabled/每日20次/最多3尝试/90秒及其他非目标字节保持。原唯一 worker 已支持 Pro,三服务 active、PID及重启计数保持,心跳 ready;无需重启或重发小程序。161源码/25产品与74规则保持,5历史报告/20匹配组/5详情及归属边界/34省份读取通过。旧评分档案有1会话整行摘要变化,诊断为15:19:51切换前已失败AI_BALANCE,原已发布报告保留;另4会话摘要保持,未自动重试。检查时活动评估/调用/三队列0,本轮模型调用0,Pro额度与真实推理未实测。旧发布环境摘要不回写,后续核验结合本次模型两行差异回执;原报告/任务模型字段未改。详见docs/模型切换回执-20261019.md;私密证据D:/AAdesk/202609/airz-backups/model-switch-pro-20261019-r1、服务器/root/airz-model-pro-20261019-r1。积分/协议等待办尚未推进,下方历史“Flash仍在用”的状态以本条为准。
- 最新产品加减分正式配置:用户“写入正式配置”授权后,2026-10-19 15:14:43将25款74条(49加/25减)原方案规则在单一事务中写入,版本各加1;仅物理other/update_time变化,当前正式准入、模板及其他字段保留。1356预检/1389事务检查/1020独立回读通过,161源码守卫/142发布路径、5历史报告/20匹配组/5详情与归属、25产品/34省份读取正常;三服务active且重启计数保持,唯一worker ready,检查时评估/调用/三队列0。模型仍66条件/100模板/6批,本轮调用0次;新捕获目录的评估生效,历史及已冻结任务不重算,无需重发小程序或后端。草案基于QA冻结目录,正式写入另以现场25款配置守卫并完整备份,未覆盖QA资料;本地route既有差异按已发布基线核实,未改生产源码。16份现场档案已下载核SHA、面板退出、一次性入口归档。详见docs/产品材料/产品加减分正式写入回执-20261019.md;私密档案D:/AAdesk/202609/airz-backups/product-soft-scores-production-20261019-r1。下方历史待配置状态以本条为准。