Files
shencaisuan/docs/reference-project-function-diff-2026-07-07.md
2026-07-07 17:07:44 +08:00

18 KiB

当前项目与参考项目功能差异审计

审计日期:2026-07-07

当前项目:C:\Users\Administrator\Desktop\job\shencaisuan

参考项目:C:\Users\Administrator\Desktop\job\3Dyjs

审计边界

本次按 AGENTS.md 的约束执行:只做源码静态对比和差异记录,不改业务代码,不删除现有迁移结果,不把有意外链化的页面误判成缺失。

已对比范围:

  • html/*.html 页面文件清单、页面脚本引用、页面内主要函数和接口调用。
  • utils/*.js 公共请求、公共工具、认证工具、权限工具。
  • 首页、导航、底部、走势图、专家/付费文章、免费文章、个人中心、钱包、推广、登录注册找回、协议公告下载等核心功能。

未完成范围:

  • 未逐页浏览器点测。
  • 未用真实接口账号完整走通购买、提现、微信授权、专家申请审核流。
  • 未对 CSS 视觉像素级复刻做审计,本文件只记录功能与交互差异。

总体结论

当前项目不是简单落后于参考项目,而是做过一轮“品牌化 + 新接口兼容 + 公共导航底部 + 移动端适配 + 部分页面外链化”的迁移。主要差异集中在三类:

  1. 明确替换:duanzuhe.htmlshazuhe.html 本地方案页被改为跳转 https://www.3dyjs.cn/duanzuhe.htmlhttps://www.3dyjs.cn/shazuhe.html;专家收藏从参考项目的 zhuanjiashoucang.html 合并到当前 mianfeishoucang.html
  2. 项目裁剪:当前项目明确不需要本地 zhuanjia.html 专家推荐页,这属于允许差异;只需要确保公共导航、接口返回入口和页面跳转不会误指向该页面。
  3. 实现风险:参考项目把趋势图渲染收敛到 public/js/trend-pages.js,当前项目是每个走势图页面各自实现,后续维护一致性风险更高。

文件级差异

当前项目独有页面

页面 判断 说明
html/c.html 新增/替代 当前项目的免费文章收藏页入口,调用 mineFreeCollectListfreeArticleCollect。参考项目没有同名页面。
html/jine.html 新增 当前项目的钱包资金明细/余额分类页,覆盖账户余额、销售余额、专家余额等明细查看。参考项目没有同名页面。

参考项目独有页面

页面 当前状态 风险
html/duanzuhe.html 当前项目已改为外链到 https://www.3dyjs.cn/duanzuhe.html 本地不再承载断组方案购买、预测列表、侧栏文章等功能;依赖外站可用性和登录态跨站体验。
html/shazuhe.html 当前项目已改为外链到 https://www.3dyjs.cn/shazuhe.html 同上,杀组合方案详情、购买、钱包余额等能力不在本项目内。
html/zhuanjia.html 当前项目明确不需要本地页面 允许差异;只需确认公共导航、接口入口和页面跳转不会指向该页面。
html/zhuanjiashoucang.html 当前项目未提供本地页面 当前 mianfeishoucang.html 已包含专家/免费/付费收藏 tab,可视为合并替代;需要确认入口文案是否仍叫“专家收藏”。

公共工具差异

模块 参考项目 当前项目 判断
utils/ApiClient.js 新版 API 集中表,TENANT_ID = 000000,包含大量注释说明。 API 集中表更兼容旧路径,TENANT_ID = 531923,有请求去重、旧接口映射、走势图兼容、专家列表兼容。 当前更偏兼容层,但要防止旧路径映射掩盖错误接口。
utils/CommonUtil.js 公共配置、导航、底部、首页渲染、cai/caiinfo 兼容。 公共配置、导航、底部、专家状态判断、移动适配、cai/caiinfo 兼容更重。 当前承担职责更多,后续改动需小心回归。
utils/AuthPageUtil.js 包含邀请码缓存、绑定、滑块移动端居中、滑块头注入等完整能力。 具备验证码/滑块/短信计时,但邀请码持久化和滑块移动端增强比参考项目少。 登录注册可用,但邀请关系跨登录/注册页保留能力需要重点验证。
utils/PublishPermission.js 独立发布权限判断工具。 没有独立文件,权限判断散落在 fabumianfeiwenzhang.htmlCommonUtil.js 等处。 功能可覆盖,但契约不集中,后续容易出现免费/付费发布条件不一致。

功能模块差异

1. 登录、注册、忘记密码

已覆盖:

  • 登录:手机号、密码、验证码/滑块验证、协议勾选、微信登录入口。
  • 注册:手机号、短信验证码、图片验证码/滑块、协议勾选、密码校验。
  • 找回密码:手机号、短信验证码、新密码、确认密码、验证码/滑块。

差异与风险:

  • 参考项目 AuthPageUtil 有更完整的邀请码捕获、session 缓存、登录后自动绑定推广关系逻辑。当前项目 API 里有 referralBindPreview/referralBind,但登录页/注册页需要重点确认是否完整覆盖“带邀请码访问 -> 注册/登录后绑定”的链路。
  • 参考项目滑块组件有移动端居中 patch;当前项目滑块功能存在,但移动端弹层居中和 viewport resize 回收能力不如参考完整。
  • 当前项目登录注册页面已经做了视觉重构,字段顺序和 DOM 类名与参考不同;后续复制参考逻辑时不能直接照搬选择器。

建议:

  • 用一个新手机号和邀请链接跑一次:?inviteCode=xxx 进入注册、登录后 referralBind 是否触发。
  • 移动端验证滑块弹窗是否居中、是否能关闭、是否能重复打开。

2. 首页

已覆盖:

  • 公告、APP 下载二维码、走势工具、组合工具、彩票分类导航、最新开奖、免费文章、广告、其它推荐、友情链接、公共底部。
  • 组合工具当前跳转外站断组/杀组合。

差异与风险:

  • 参考项目首页保留 3Dyjs 原站专家推荐入口,公共工具里也会把“专家推荐/专家”指向 zhuanjia.html
  • 当前项目明确不需要本地 zhuanjia.html,如果接口 home-nav 返回专家推荐项,当前公共导航必须过滤或改写,不能出现 404。
  • 2026-07-07 任务 1 复查结果:当前代码中未发现 zhuanjia.html 作为运行时跳转目标;保留的“专家推荐”主要是 cai.html 面包屑文案或发布页菜单过滤规则。
  • 当前首页底部和友情链接已重新设计,客服二维码使用本地 public/img/kfwx.jpgpublic/img/kfqq.jpg,这属于当前新增要求。
  • 当前项目 app 下载使用 appDownloadInfo 或页面内 /api/web/app/getDownloadInfo,参考项目没有在 API 表里集中同名 key。

建议:

  • 明确“专家推荐”入口策略:当前项目不展示本地 zhuanjia.html,入口应删除、隐藏或稳定改到已有等价页面。
  • 断组/杀组合外链需要确认是否新开页、是否要求携带登录态。

3. 走势图

已覆盖:

  • 当前项目包含 fc3d/pl3/pl5/kl8/ssq/cjdlt/qlc/qxc 8 个走势图页面。
  • 期数按钮已对齐为 10期/20期/30期/60期
  • 每 10 期有分隔线。
  • 当前项目已处理 lotteryTrend 返回对象包装,避免 allData.slice is not a function
  • 表格最大宽度已向 1420px 调整过。

差异与风险:

  • 参考项目所有走势图页面都引用 public/js/trend-pages.js,真正渲染逻辑集中在一个文件里。
  • 当前项目每个走势图页面内都有自己的 renderDatabuildHeadercalcStats 等逻辑,维护成本高,且快乐8、双色球、七乐彩、七星彩等特殊玩法更容易出现局部不一致。
  • 参考项目的 trend-pages.js 具备 lotteryTrend 优先、latestLotteryResult fallback 的统一请求策略;当前项目要逐页确认是否一致。
  • 参考项目表格区分区背景、开奖号码颜色、蓝球特殊标色、统计行、横向滚动统一。当前项目此前已多次调整颜色和分线,但仍建议按 8 个页面逐页比对。

建议:

  • 后续重构方向:引入当前项目版 public/js/trend-pages.js,把 8 个页面收敛成配置驱动。
  • 回归清单:8 个彩种分别测 10/20/30/60 期、移动端横向滚动、快乐8 20 个号两行展示、双色球/大乐透/七乐彩蓝球标色。

4. 专家排行、专家详情

已覆盖:

  • cai.html 有按彩种/玩法查看专家排行,调用 payArticleExpertRank
  • caiinfo.html 有专家信息、文章列表、购买/预购、收藏专家、收藏文章、余额支付、积分抵扣等复杂功能。

允许差异:

  • 参考项目有独立 zhuanjia.html,支持专家推荐聚合、彩种/方案/类型筛选、期数切换、分页。
  • 当前项目明确不需要 zhuanjia.html,这个页面不作为必须补齐项。

风险:

  • 如果 home-nav 或其它入口仍包含 zhuanjia.html,当前项目会跳空。
  • CommonUtil 中需要确认专家推荐路径映射是否已改掉,否则公共导航会受影响。

建议:

  • 按当前项目口径,不恢复 zhuanjia.html;只做入口清理或入口改写,确保不会跳空。
  • 文案层面统一“专家申请/申请审核中/发布文章”的状态。

5. 免费文章

已覆盖:

  • 列表页 mianfeilist.html
  • 详情页 mianfei.html
  • 发布页 fabumianfeiwenzhang.html
  • 收藏页当前有 mianfeishoucang.htmlc.html 两种入口形态。
  • 首页免费文章推荐、免费文章列表中的头像、昵称 issuer、标题省略等已按近期要求调整过。

差异与风险:

  • 参考项目免费文章发布权限与付费发布权限通过 PublishPermission.js 做集中判断;当前免费发布页里存在页面内判断。
  • 参考项目很多内容页引入 purify.min.js,当前项目更多依赖 CommonUtil.escapeHtml 和局部渲染,富文本内容页需要确认是否所有 HTML 内容都经过净化。
  • 当前 mianfeishoucang.html 已承担专家/免费/付费收藏,但又新增 c.html,入口功能可能重复。

建议:

  • 明确收藏入口只保留一个,另一个作为兼容跳转。
  • 发布权限建议收敛为 CommonUtil 或新增当前项目版 PublishPermission.js

6. 付费文章、购买与预购

已覆盖:

  • cai.html 专家预测列表。
  • caiinfo.html 专家文章详情、购买、预购、收藏、余额支付。
  • fufei.html 发布付费文章。
  • usercenter.html 我的付费文章、购买记录、删除购买记录。

差异与风险:

  • 参考项目的 caiinfo.html 对菜单元数据、购买记录、已购状态、预购状态、专家收藏、文章收藏有大量兼容字段;当前项目也有大量兼容,但两边函数名和数据归一化入口不同。
  • 当前项目购买记录中断组/杀组合购买详情会跳外站;参考项目可在本地方案页展示。
  • 当前项目没有本地方案详情页后,walletPurchaseFc3dScheme 的本地消费入口减少,但 API 仍存在。

建议:

  • caiinfo.html 做一次真实账号回归:未登录、余额不足、购买成功、预购成功、已购复看、专家收藏取消、文章收藏取消。
  • 购买记录跳转需要明确:付费文章本地打开,方案类外链打开。

7. 断组、杀组合方案

参考项目能力:

  • 本地 duanzuhe.htmlshazuhe.html 提供方案列表、当前方案、历史预测、侧栏文章、钱包余额、购买弹窗、复制推荐码等。
  • 调用 fc3dFreePredictMenusfc3dFreePredictListfc3dSchemeListfc3dSchemeDetailwalletPurchaseFc3dScheme

当前项目状态:

  • 首页组合工具和购买记录相关逻辑已改为跳转外站。
  • 当前 API 仍保留 fc3dFreePredict*fc3dScheme*walletPurchaseFc3dScheme,但本地页面入口已删除。

判断:

  • 这是有意架构差异,不是单纯缺文件。
  • 风险在于用户登录态、支付状态、购买记录复看是否能在外站无缝完成。

8. 个人中心

已覆盖:

  • 用户资料、头像、昵称、微信绑定、签到、专家申请状态、发布入口、免费文章、付费文章、购买记录。
  • 资料编辑弹窗已改为保存 nickName/password/avatar
  • 专家申请按钮已按 expertStatus 等状态显示“专家申请/申请审核中/发布文章”。

差异与风险:

  • 参考项目个人中心布局更大,付费文章、免费文章、购买记录渲染逻辑更复杂,包含更多空状态与错误状态。
  • 当前项目有重复的微信绑定卡片 DOM:头部区域和侧栏区域都存在同样 id="wechat-bind-card"id="wechat-bind-button",这会让 jQuery 选择器只操作首个或产生重复 ID 风险。
  • 当前项目资料编辑是 layer 新弹窗,参考项目是页面内旧弹窗;当前实现更干净,但要真实接口验证头像返回字段。
  • 当前项目 pageSize 全局值复用较多,文章列表、签到、购买记录之间后续改动需避免互相影响。

建议:

  • 立即检查重复 ID:微信绑定卡片应只保留一处,或改成唯一 ID + class 统一更新。
  • 用真实账号验证:只改昵称、只改头像、只改密码、三者都改、取消弹窗。

9. 专家申请

已覆盖:

  • 身份证正反面上传、个人简介字数、读取 expertConfig、提交 expertApply
  • 已是专家或审核中时禁用提交。

差异与风险:

  • 参考项目文案中明确“审核前三天每天发布 3 篇以上免费文章”等说明;当前项目简化为资料和简介说明。
  • 参考项目 apply.html 使用 mineSummary 渲染用户信息;当前项目用 CommonUtil.getCurrentUserDetailCommonUtil.getExpertState
  • 当前项目如果后端 expertStatus: 0 表示审核中,之前已修过 truthy 丢失问题,但仍需真实数据确认。

建议:

  • 明确后端审核状态字典:0/pending/audit/applying 哪些代表审核中,1/regular/intern 哪些代表专家。
  • 文案是否需要恢复参考项目的申请规则说明。

10. 钱包、充值、提现、明细

已覆盖:

  • chongzhi.html 充值套餐、下单、二维码、轮询订单状态。
  • tixian.html 提现、收款账户、二维码上传、默认账户、转入余额。
  • tixianlist.html 提现记录/资金流水筛选、删除流水。
  • jine.html 资金明细为当前新增。

差异与风险:

  • 参考项目充值页会加载 walletOverview 刷新余额;当前充值页主要加载充值配置和订单状态,需确认充值前余额展示是否仍需要。
  • 当前 tixianlist.html 比参考更偏筛选化,功能上覆盖更广。
  • 收款账户字段兼容较多,真实上传二维码后返回字段需要验证。

建议:

  • 真实回归:充值二维码生成、支付成功轮询、提现账户新增/编辑/设默认/删除、提现提交、提现列表筛选。

11. 推广与分销

已覆盖:

  • tuiguang.html 推广链接、二维码、邀请列表、返佣列表、统计。
  • fenxiao.html 申请推广/专家入口。
  • wodefenxiao.html 我的分销列表。

差异与风险:

  • 参考项目 AuthPageUtil 有邀请码跨页面缓存和登录后自动绑定能力,当前需要确认从推广链接进入注册/登录后的绑定链路是否完整。
  • 当前 wodefenxiao.html 调用 referralInviteList,参考项目同名页主要调用 referralRebateList。这里可能是业务口径差异:我的下级 vs 我的返佣。

建议:

  • 明确 wodefenxiao.html 应展示“邀请用户”还是“返佣流水”。
  • 用推广链接从匿名态进入注册/登录,验证 referralBind 是否发生。

12. 收藏

已覆盖:

  • 免费文章收藏。
  • 付费文章收藏。
  • 专家收藏。

差异与风险:

  • 参考项目有 zhuanjiashoucang.html 独立收藏聚合页。
  • 当前项目主要合并到 mianfeishoucang.html,另有 c.html。入口命名和展示口径需要统一。

建议:

  • 保留一个主入口:建议 mianfeishoucang.html 作为三类收藏聚合,c.html 改兼容重定向或入口隐藏。

13. 公告、协议、APP 下载

已覆盖:

  • 公告列表 gonggaolist.html、详情 gonggao.html
  • 用户协议 yonghuxieyi.html、隐私协议 yinsixieyi.html
  • APP 下载 appdown.html

差异与风险:

  • 当前 appdown.html 有独立下载信息接口,参考项目主要是默认信息 + 页面渲染。
  • 当前协议页使用 agreement(type),覆盖参考项目功能。
  • 当前项目移除了参考项目的 umami 统计脚本引用,若线上需要访问统计,需要补回或确认由其它系统接入。

高优先级待确认项

  1. 公共导航、首页接口入口和公共路径映射是否已彻底过滤 zhuanjia.html,避免跳空。
  2. duanzuhe.htmlshazuhe.html 外链化是否接受登录态不互通、购买记录跨站打开的体验。
  3. mianfeishoucang.htmlc.html 是否重复,需要保留哪个入口。
  4. usercenter.html 微信绑定卡片重复 ID 是否要立即清理。
  5. 发布权限是否要恢复成独立 PublishPermission.js,避免免费/付费文章权限逻辑分叉。
  6. 走势图是否要收敛成共享 trend-pages.js,避免 8 个页面维护不一致。
  7. 邀请码/推广绑定链路是否完整覆盖参考项目的跨页缓存和登录后绑定。

建议执行顺序

  1. 先确认“有意差异”:断组/杀组合外链、收藏页是否合并,zhuanjia.html 不恢复。
  2. 修真实风险:重复 ID、公共入口误跳 zhuanjia.html、邀请码绑定链路、资料编辑真实接口回归。
  3. 做结构收敛:发布权限工具化、走势图共享渲染模块化。
  4. 做完整手工回归:登录注册找回、首页入口、8 个走势图、专家详情购买、个人中心、钱包、推广、收藏。

证据摘录

  • 当前页面数 38,参考页面数 40,共同页面 36。
  • 当前独有:c.htmljine.html
  • 参考独有:duanzuhe.htmlshazuhe.htmlzhuanjia.htmlzhuanjiashoucang.html;其中 zhuanjia.html 为本项目明确不需要的允许差异。
  • 当前工具文件 4 个:ApiClient.jsAuthPageUtil.jsCommonUtil.jsDateUtil.js
  • 参考工具文件 5 个,多出 PublishPermission.js
  • 当前首页组合工具已经指向外站 https://www.3dyjs.cn/duanzuhe.htmlhttps://www.3dyjs.cn/shazuhe.html
  • 参考走势图页面统一引用 ../public/js/trend-pages.js?v=20260615-limit;当前走势图页面各自定义 renderData