← 返回产品介绍 CHANGELOG · 更新日志

系统更新日志

每一次版本发布都在这里留痕:新增了什么、优化了什么、修了什么问题,按真实日期归档,可随时回溯。

2026-09-26最近更新
2已发布版本
18累计更新条目
筛选:
v1.0.33
最新
新增
  • 新增:公告「标题颜色标记」:后台发布 / 编辑公告时新增「标题颜色」一项,可从预设色板(红 / 橙 / 绿 / 蓝 / 紫 / 棕)中点选一个颜色,也可用取色器自定义任意颜色,或选「默认」不染色;保存后前台该公告的标题即以所选颜色显示,便于把重要通告标出来。覆盖位置:网站公告列表、公告详情页标题、详情页「近期其他公告」、首页公告栏;两套主题(默认 / uizhan)一致。后台公告列表里标题也按所选颜色展示,一眼可见。仅接受标准色值(#RRGGBB),非法值自动忽略,不会引入脚本隐患。已实测:设置颜色后前台四处渲染均带该颜色、后台列表同步显示、编辑页正确回填已选颜色、非法色值被拒绝(不落库)。
v1.0.32
新增优化修复
  • 商家认证标识改版(已认证=彩色 / 未认证=灰色,四项固定排列):商品详情页商家卡片、店铺页等位置的「商家认证」一行(手机 / 邮箱 / 身份 / 营业执照)改为两种状态都显示图标:已认证显示彩色图标、未认证显示灰色图标;四项固定按「手机 → 邮箱 → 身份 → 营业执照」排列,不再出现“未认证项被排到最后、位置来回跳”的问题;未认证的营业执照现在也会显示灰色标识(此前完全不显示),已认证的营业执照图标仍可点击查看执照。已实测:四种状态组合(全已认证 / 全未认证 / 混合 / 老字段)逐项核对输出正确;店铺页与商品页真实渲染的图标顺序与颜色均正确。
  • 新增:个人店铺「经营者自我声明」公示:按《网络交易监督管理办法》要求,个人店铺的「认证类型」一行新增「(声明)」入口,点击弹出自我声明公示:「个人从事零星小额交易活动,依法不需要办理市场主体登记」;企业店铺仍为「(营业执照)」营业执照公示,两者互不影响。已实测:个人店铺商品页真实点击 → 弹窗正常弹出(请求 200、无跳转)、声明全文与要求一致;企业店铺点击仍为营业执照公示;无脚本异常。
  • 修复店铺「营业执照」弹窗打不开(404):企业店铺点「(营业执照)」会 404(弹窗实现迁移后请求没接上)。现已接通:一份实现 + 一份页面收进公共共享模块,前台与会员中心域名都指向它,前端脚本一行未动。已实测:企业店铺真实点击 → 弹窗正常弹出(请求 200),企业名称 / 注册号 / 法定代表人 / 店铺信息与执照图均正常显示;无脚本异常。
v1.0.31
优化修复
  • 修复列表页点「查看演示」报 500 错误:商品列表里点「查看演示」时会白屏报错(服务端 500)。原因是该按钮要弹的说明弹窗缺少模板文件(控制器方法在、视图不在);现按既定口径补上:弹窗内含「注意事项及声明」三条(第三条红色)、“查看演示”按钮(直达演示站)、“1天内不再提示”勾选(勾选后同页演示链接直接跳转,并记 1 天 cookie)。已真机实测:点「查看演示」→ 弹窗正常弹出(请求 200)、内容与样式正常、无脚本异常。
  • 列表页商家头像悬停显示「商家名片」(对齐既定版式):源码/网站/域名三个板块的商品列表里,鼠标移到商家头像上弹出名片:左侧头像 + 右侧商家名称与信誉图标 + 虚线下店铺评分(服务态度 / 工作效率 / 完成质量),白底、圆角、柔和阴影(宽 246px)。复用站内现成的悬停提示组件,未新增脚本;同时给网站/域名列表补上了评分数据。样式对不上的“与同行相比”一列未做(我们无此数据,不虚构)。已真机实测:鼠标移到头像 → 名片弹出,头像/名称/信誉图标/三行评分均正确显示,无脚本异常。
  • 修复多处图片不显示(图片地址未转换):部分页面直接输出了图片的存储路径,没有拼成可访问地址,导致图片显示不出来(服务列表大图、服务详情主图与同类推荐图、源码/网站商品详情页的主图、域名与网站列表的品牌图、店铺页商品图);其中服务详情主图原本是被写死的一个样品地址(取回来是 JSON 而不是图片,所以看上去“死”了),现已改为显示该服务自己的封面。原因是两种写法:一是直接输出变量、二是把转换过滤器写在三元表达式里(模板不认账);现统一改为站内标准写法(与其它页面一致)。另外:① 服务下单弹窗、会员端积分兑换/快照弹窗、积分商城卡片图、后台服务详情封面也一并修正;② 修正了一个写错的助手函数名(那处会报错)→ 改回统一函数;③ 加固了图片地址函数本身:站内静态图不再被误拼存储域名(否则会 404),上传图仍正常拼地址。已实测:服务列表/源码详情/服务详情/服务下单弹窗/域名/店铺页/积分商城均输出可访问地址(状态 200)、无未解析标签残留。
  • 编号生成全面统一(收拢 36 处手写):站内原本各处各写一套编号生成(任务号 9 位以 2 开头、投标号 8 位纯随机、订单号 O+日期、其余多为 time()+随机位数不同),现全部收敛到统一生成函数(一处实现):各个板块与各类记录的新编号格式一致;带含义的前缀保留(后台账号 ADM / 积分 JF / 提现 TXF / 反馈 fb / 工单 wo)。同时加固了统一实现本身:随机段由 2 位提升为 4 位(同一秒可组合数 81 → 9000),避免一次操作写多条记录时同秒撞号(历史上已有同类事故记录)。已实测:新建任务编号已与其他板块同形;全站无任何按编号长度/前缀解析的逻辑,存量编号不受影响;涉及 32 个文件改动均已语法检查通过、并有备份。
  • 任务发布/编辑页新增「附件」上传(对齐既定口径):任务发布、编辑页新增附件区:上传附件按钮 + 规则说明(非必传 / 限 5 个 / 单个≤5M / jpg,png,gif,txt,pdf,doc,xls,zip,rar),选好即上传(带进度、可取消),传完显示在列表里(文件名 + 大小 + 删除),删除会同步清掉文件;发布/保存时附件自动归属到该任务。任务详情页也会列出附件(文件名 + 大小,可点击下载)。技术要点:复用站内既有的附件上传通道(服务端规则本来就是 5 个/5M/同款格式)+ 统一存储(本地/OSS 自适应),未新开表。已真机实测:上传 → 列表出现并记录 fileid;点删除 → 文件与服务端记录同时清掉(HTTP 由 200 变 404);发布任务 → 附件归属到新任务号(库内核对 bh 一致);前台任务详情正确列出附件。
  • 编辑商品/服务时「删掉的图」也一并清理文件(删图即清文件):之前从演示大图里删掉一张、保存后只是不再引用,**图片文件仍留在存储里**(且商品整体删除时也清不到它)。现在编辑保存时会对比新旧值,把**被移除的那张(含被换掉的封面图)文件一并删掉**,同样**失败不影响保存结果**(只记日志)。已真机实测:编辑一个带 3 张演示图 + 1 张封面的商品 → 在编辑页删掉其中 2 张并保存 → 数据库里只剩 1 张,且被删的两张图片 URL 由 200 变为 404(文件真删),保留的那张与封面仍为 200,无脚本异常。
  • 删除商品/服务时连带清理图片(演示大图 + 封面图):原先删除只删数据库行,已上传到云存储(或本地)的演示大图与封面图会**留在存储里成为孤儿文件**;现在删除成功后会一并清理(本地文件删文件、OSS 删对象,自动识别),清理失败**不影响删除结果**(只记日志)。已真机实测:分别测商品与服务——删除前三张图(两张演示 + 一张封面)均可访问,走删除后数据行消失且**三张图全部变为 404**(真删了);操作日志里也有清理记录。
  • 服务板块也支持「演示大图」(与源码板块同口径):服务发布/编辑页新增演示大图区块:选图即自动上传(限 9 张、单张 ≤3M、jpg/gif/png)、带序号、可排序删除、上传加水印;「插入到详细介绍」可把大图以 [img]序号[/img] 引用进服务详情;服务详情页同样原位渲染引用图、未引用的自动补在末尾。版式对齐:演示大图区改为虚线框(按钮在左、规则在右),封面占位框恢复为站内统一的大号虚线框(340×280)+ 三行说明(按钮移到框上方);根因是服务模板把封面区样式覆盖成了横排,已恢复走站内统一样式。顺带修复:详情渲染与介绍模板合并原先有两条路(控制器里的旧合并 + 视图取原始正文),现统一为一处(控制器),避免模板内容重复输出;服务列表的“服务介绍”摘要不再露出 [img]序号[/img] 占位符。已真机实测:服务发布页区块/自动上传 2 张/插入面板/插入进编辑器均正常;服务详情页正文中的引用图原位显示、未引用图补末尾;列表摘要干净;页面异常 0。
  • 修复商品详情页不显示「介绍模板」内容:选了介绍模板保存后,前台商品详情的描述区没有拼接模板内容(合并逻辑虽已存在,但详情输出的取法没走它,等于没生效)。现在详情渲染会按商品选的模板拼接:“上方”模板拼在描述开头、否则拼在末尾,且仍带本店限定(不会串到别家模板)、模板删除后自动忽略。已真机实测:分别用“下方”与“上方”两种模板验证,模板文案确实出现在描述末尾 / 描述开头,位置正确。
  • 修复商品发布/编辑页「介绍模板」选了关不掉:编辑商品时,只要店铺勾选过「记住我的选择」,即使把模板改回“未选择”,保存后再次打开又会被记忆的模板自动回填,导致无法取消。现在下拉第一个选项明确为「不设置」(值与保存都按 0 处理),且编辑页不再用店铺记忆值回填(发布新商品时仍会默认预选记住的模板);选“不设置”保存后会如实生效。已真机实测:编辑一个未设模板的商品(店铺记忆为模板 1)→ 下拉显示「不设置」已选、无模板被选中;发布新商品 → 仍预选记住的模板且可切到「不设置」。
  • 商品「演示大图」:上传加水印 + 正文改为“引用大图”(与既定口径一致):① 水印:演示大图上传之前没走水印(水印只在编辑器上传通道生效),现已按同口径接入(仅源码板块详情图 + 商家开关);② 正文不再允许传图:编辑器工具栏去掉“插入图片”,且保存时服务端会清掉正文里的图片/外链图(双保险);③ 新增“插入到详细介绍”:在演示大图区点开面板,勾选已传大图即插入 [img]序号[/img](已在正文里的会标为已导入并提醒);④ 详情页渲染:[img]N[/img] 原位显示第 N 张大图,未被引用的按排序自动补在详情末尾(不丢图)。已真机实测:编辑器工具栏已无图片按钮;插入面板 2 张可选、点选后确认→编辑器里出现 [img]1[/img];正文含 [img]2[/img] 的页面渲染为第 2 张原位、第 1 张自动补末尾;无脚本异常。
  • 新增:商品「演示大图」多图上传(源码板块先上):发布/编辑商品页新增「演示大图」区块——最多 9 张(含已传)、单张 ≤3M、格式 jpg/gif/png,可调顺序、可删除,图片按顺序自动显示在商品详情页「商品介绍」之后。上传采用站内既有方案(与站内其他上传同一套):选好图片即自动排队上传(带百分比、可取消),未传完就点发布/确认提交,会先弹「正在上传数据(已传/总数),请稍等…」等传完再发布;超量会提示「演示图最多能上传9张(含已传)」。服务端对图片地址做白名单校验(只接受站内上传路径或 http(s) 地址)、自动去重并限量 9 张。已真机实测:选3张→入队不入库;超9张→提示并截断;点提交→弹进度、逐张上传(9/9)、进度完成后再发提交请求(请求体带 demoimg)、服务端校验失败不产生商品;缩略图带角标序号显示正常;页面异常 0。
  • 修复商品页左侧「商家已缴纳保证金」换行溢出:商品详情页商家信息卡里的保证金行(图标 + “商家已缴纳保证金” + 金额 + 元)原先被容器写死为 173px 宽,金额稍长就折行,第二行的「元」直接掉到绿框外面;且金额文字用的是主题里并未定义的样式类,显示成黑灰色(应为橙色)。现改为容器宽度随内容自适应并禁止折行,金额按统一口径显示为橙色。同一处样式在两个页面(商品详情页 / 店铺页)都已对齐。已真机实测(保证金 2300 元店铺):单行完整显示、无溢出(容器内容高=可见高)、金额为橙色,旁边无保证金店铺同样正常。
  • 修复发布商品弹窗的分类图标缺失:「免费发布商品 / 发布需求」弹窗里源码 / 域名 / 网站 / 服务(需求为 源码 / 域名 / 网站 / 任务)四类前面的标志原先是按新版图标字体的名称写的,本站的图标组件版本里没有这些图标,所以四个标志全是空白。现改用全站统一的 sprite 精灵图(与站内其它图标同一张图、同一套坐标),四个分类图标全部正常显示,弹窗外观与既定版式一致。已真机实测:四个图标均正常加载并定位(代码 / 地球仪 / 显示器 / 设计笔),页面无脚本异常。
  • 交易评价页效果对齐(星级气泡 / 图片放大 / 上传队列):该页原先把约 200 行交互脚本直接写在页面里(星级评分、等级提示、评价倒计时、图片上传、字数统计、提交都在其中),脚本按既定口径就地整理在页面底部(不新增脚本文件;按钮也改成站内统一的标记写法,不再写内联事件;通用部分全部复用自带脚本)。同时补齐了交互效果:星级悬停弹出长文案气泡(描述相符 / 服务态度 / 发货速度 三个维度、每档一段话),三行**默认 5 分**(点亮五星并显示「5 分(对应文案)」),重选其他分数时右侧文案同步变化;评价图片可点击放大;上传改为待传队列(选图先入队、可取消,提交时才逐个上传,并显示百分比进度条)。已真机实测:字数统计、评价等级提示切换、倒计时跳动、星级悬停气泡与点选定分、图片放大、选图入队(待传队列 1 / 状态 待上传 / 可取消)、提交时上传至「已上传」并出现进度条、空内容提交只弹校验提示不提交,均正常,无脚本异常。
  • 评价选项加上小花图标:「好评 / 中评 / 差评」三个选项前面各自带一朵小花(红 / 黄 / 灰),与站内既定样式一致。
  • 评价内容 / 上传区版式对齐:「评价内容」区改成虚线框包裹,字数统计移到输入框内右下角;「选择图片」按钮在左、上传说明在右;待传队列改成灰头表格(文件名 / 状态 / 操作),与所定版式一致。
  • 倒计时改用站内现成实现:「自动评价截止」的倒计时不再自写定时器,改为用站内既有的公共实现(元素标上 ttime 类 + 截止时间,公共脚本会自动每秒刷新),与其它页面的倒计时口径一致;到期文字改为「已结束」。
  • 评价内容不再强制填写:好评可直接提交(不写内容也能过)、推荐流程不再被卡住;中评/差评仍需说明原因(不少于 10 个字)。前后端校验已同步。已实测:好评 + 空内容 → 提交成功;中评 + 空内容 → 提示「非好评需要说明原因」(不发请求);中评 + 写出原因 → 提交成功。
  • 评价页显示商品名:订单信息栏新增「商品:xxx」(可点击直达商品页),长标题自动截断;商品名**独占一行**,订单号 / 出售评价 / 买家(或卖家)/ 成交金额在下一行,不会被挤得换行。
  • 星级图标改用站内 star.png:评价的三项评分星改用站内既有的 star.png(同一个图里上排空心星、下排实心星),与站内其它评分位置口径一致;未选为空心星、选中为实心橙星。
  • 申请退保需安全码验证:保证金退保弹窗新增「安全码」输入,需验证本人身份后才提交;未设置安全码会直接提示先到「账号安全」设置。已实测:安全码留空 → 前端提示「请输入安全码」且不发请求;安全码错误 → 接口返回「安全码错误」;两种情况都**不会产生退保申请**。
  • 退保弹窗尺寸调整:加上「安全码」后原来的弹窗偏小、要上下滑动;现已按内容调到刚好一屏放下(当前保证金 / 退还金额 / 退保原因 / 安全码 / 按钮 全部可见,无需滚动)。
  • 保证金页动作弹窗化 + 新增「保证金转出」:缴纳/追加、保证金转出 各自独立弹窗(退保弹窗已有,三个动作各一个窗口,与所定版式一致)。新增的保证金转出:仅【追加保证金】部分可转出(保证金总额 − 基础保证金),转出的钱回到【账户余额】;校验:金额>0、不超可转出额、无进行中的退保申请、无未完结订单、需安全码。已真机实测:两个弹窗字段/尺寸正常、无滚动;该账号因有未完结订单被正确拦下(提示“还有 1 笔未完结订单…”)。
  • 退保弹窗改为「全额退保」(与既定口径一致):去掉金额输入与「全部退保/退一半/退四分之一」快捷按钮,弹窗只留 退保原因 + 安全码 + 确认提交;可退保总额显示在弹窗标题(如「申请退保 - 可退保总额:¥2010」);安全码输入框照站内样式做绿框高亮。已实测:标题带总额、无金额输入框、原因+空安全码→只提示不提交(未发请求),弹窗高适配不滚动。
  • 退保接口清理不可达代码:「部分退保」已无入口(退保=全额退,追加部分走「保证金转出」),已从退保接口中移除该分支;若仍传入非全额,会明确提示「退保为全额退保;如需取回追加的保证金,请使用「保证金转出」」。已实测:部分金额→上述提示;全额+空/错安全码→对应提示;三种情况均未产生退保申请。
  • 保证金转出简化为「只不能动基础保证金」:按业务口径,转出不做其它限制(不限订单状态、不限退款中)——唯一条件是不能把基础保证金转走(最多只能转出「保证金总额 − 基础保证金」的追加部分);资金操作仍需安全码。保证金未超过基础标准时,按钮位置直接提示「当前没有可转出的保证金」。已实测:超上限 → 「单次最多可转出 ¥xxx(仅追加部分可转出)」;无可转出额 → 「当前没有可转出的保证金」(保证金=基础保证金时)。
  • 转出弹窗版式精简:去掉顶部的「当前保证金 / 可转出金额」两行,弹窗只留 转出金额(含快捷)/ 转出原因 / 安全码 / 提交;可转出金额与规则说明挪到底部(第1条即写明「可转出金额:¥xxx(仅【追加保证金】部分可转出)」,共 3 条),与退保弹窗版式一致。
  • 修复店铺标签页「技能说明」区块:①该标题本来应显示一个小灯泡图标(与站内其它说明块一致),但样式里丢了图标位置,导致整张精灵图被画出来、看上去是一排杂图标;②说明块的灰底没包住内部内容(浮动未清理),标题在灰底内、条目却漏在外面。两处均已修复:现在灰底完整包住「💡技能说明:」与下方条目,且已升级公共样式版本号(保证浏览器加载到新样式)。
  • 修复申诉闭环与拒绝理由不可见的问题(源码 / 网站 / 域名 / 服务四板块统一):此前后台「审核拒绝/违规禁售」与会员「申诉中」共用同一状态值,导致被拒绝的商品永远无法申诉;且网站/域名的拒绝理由只发站内信、不存库,卖家列表上看不到拒绝原因。现已拆开:新增「审核未通过」状态专表后台拒绝/禁售,卖家可对「审核未通过 / 申诉被拒」提交申诉,提交后进入「申诉中」等管理员处理,拒绝理由在申诉页显示(列表不展示,保持列表清爽);四个板块的拒绝理由统一入库。存量被拒数据已迁移到新状态。已实测:列表正确显示「审核未通过」状态与申诉入口;申诉页正常展示拒绝理由与表单(申诉驳回时显示驳回理由);提交申诉后状态变「申诉中」、返回提示正常。
  • 修复商品列表状态显示错误(源码 / 网站 / 域名 / 服务四个板块统一):商品发布后处于「审核中」,会员列表却显示成「被禁售」;现已正确显示「审核中」。同时去掉「审核中」商品上的「申诉」按钮(那是按旧的错误口径加的),申诉只保留在被驳回的状态上。四个板块列表页已逐页核对一致。
  • 联系方式弹窗收归一处(前台与会员中心共用一份):「联系卖家」弹窗(QQ / 微信 / 电话)原先只挂在前台模块上,会员中心域名下同一地址是打不开的(404)。现已收进公共共享模块:一份实现 + 一份页面,两端域名都指向它,前端脚本与请求地址一行未动。已真机实测:前台商品详情页 / 店铺页真实点击 → 弹窗正常弹出、QQ / 微信按点击渠道正确筛选(请求 200、无跳转);会员中心域名下同一地址同样正常,与前台的返回逐字节一致;页面无脚本异常。
  • 「查看演示」弹窗收归公共共享模块(修复点开报 404):商品列表点「查看演示」应弹出说明弹窗(注意事项及声明 + 直达演示站的按钮 +「1天内不再提示」);因弹窗实现分散、前台请求未稳定接入,近期点开会直接报 404(打不开)。现已统一收进公共共享模块:一份实现 + 一份页面,前台与会员中心两侧域名都指向它,前端脚本一行未动。已真机实测:列表页真实点击 → 弹窗正常弹出(请求 200、无跳转),三条声明 /「查看演示」按钮 /「1天内不再提示」齐全;页面无脚本异常。
  • 修复购物车「积分抵价」串行(勾一件、多件跟着抵价 → 结算提示积分不足):在购物车里点某个商品的「积分抵价」,同店其它商品也会跟着显示「已用 xx 积分 / -¥xx」;结算时按多件重复计算积分,导致一直提示「积分不足」、无法完成结算。原因是页面把同店商品合并成了一组、而结算脚本按「每件商品一组」读取勾选与积分——现已把页面结构对齐为每件商品独立分组:勾选 / 积分 / 合计 / 结算全部恢复正确。已真机实测:只勾一件的积分抵价 → 仅该件显示「已用」,其它商品不再跟显;结算按实际勾选提交积分(不再重复累加);全选 / 取消全选 / 单件勾选均正常,无脚本异常。
v1.0.30
优化
  • 收藏与取消收藏合并为一个接口:以前「收藏」(商品页)和「取消收藏」(收藏列表页)走的是两个不同接口、返回格式也不一样;现已合并为同一个接口,两种操作都走它,行为与提示完全一致。收藏列表页的「取消收藏」按钮已切到这个接口。已真机实测:在收藏列表点「取消收藏」→ 弹出确认(“确定要取消收藏该商品吗?”)→ 接口正常返回(200)→ 该条收藏即时消失,其它收藏不受影响。
  • 收藏模块去冗余(只留一处实现):清掉了收藏服务里 6 个没有任何调用方的方法(置顶 / 取消置顶 / 旧版添加与删除 / 检查是否收藏等),收藏相关方法从 10 个收敛到 4 个(添加、取消、列表、数量)。同时下线了三个没人调用的旧接口与对应控制器方法。
  • 取消收藏改用站内自带钩子:收藏列表页的「取消收藏」不再单独写页面脚本,改为走站内既有的收藏钩子(按钮标记 + 自带的确认与提交逻辑),点击后确认文案会自动带上当前类别(「确定要取消收藏该商品吗?」),确认后提示「取消收藏成功」并刷新列表。已真机实测:确认文案正确、接口正常返回(200)、提示后列表刷新、该条收藏消失、其它收藏不受影响、无脚本异常。
  • 新增「收藏置顶」:收藏列表(商品与店铺都支持)里每条都多一个「置顶」按钮,点一下即可把该条放到最前面(排在最前的那条显示为「取消置顶」)。同样走站内既有钩子,确认后提示「置顶成功」并刷新列表。已真机实测:商品原排第 3 的条目、店铺原排第 3 的条目,分别点「置顶」→ 确认(「确定要置顶收藏该商品/店铺吗?」)→ 提示「置顶成功」→ 刷新后均升到第 1、按钮自动变成「取消置顶」,无脚本异常。
  • 店铺收藏「最新宝贝」排版优化:原先该行几个商品链接全挤在一起、没有间隔;现改为每行一个、上下排列的标签(长标题自动截断、鼠标悬停变色)。已截图复核:三个宝贝链接分三行上下排列、间隔均匀、不重叠。
v1.0.29
修复优化
  • 修复会员中心「收藏」点了报错(并收归一处):收藏接口以前在前台与会员中心各写了一份,其中会员中心那份会直接报错(返回内容格式不合法),所以在会员中心点收藏是不通的。现已收进公共共享模块:一份实现,前台与会员中心都指向它,前端脚本一行未动。已真机实测:前台商品页点「收藏商品」→ 接口正常返回 200(未登录会提示「您需要先登录才能收藏哦」);会员端同样可用,两端返回内容完全一致。
v1.0.28
优化
  • 安装服务弹窗收归一处(前台与会员中心不再各写一份):这个弹窗以前在前台和会员中心各写了一段相同的代码、各存了一份相同的页面,改一边忘了另一边就会出问题。现已收进公共共享模块:一份实现 + 一份页面,两边的路由都指向它,前端脚本一行未动。已真机实测:前台商品页点【要求说明】→ 弹层「安装服务详情」(免费商品显示「免费提供」);会员端购物车点【要求说明】→ 同一个弹层正常弹出(收费商品显示「¥600.00」),两端内容完全一致、无异常。顺带:合并后弹层样式统一采用新版设计(不再保留旧的兜底副本)。
v1.0.27
修复
  • 修复会员中心「安装服务详情」弹窗报错打不开:会员端购物车/订单里点【要求说明】时,页面报「Cannot redeclare ... Box::installing()」——该控制器里同一个方法被写了两遍(前面已有一份走统一数据入口、复用前台模板的完整实现,末尾又追加了一份旧写法),PHP 不允许同名方法重复定义,于是整页直接 500。现已删除末尾那份重复方法,只保留统一实现,并顺手修正渲染路径(该弹窗模板只在前台主题有一份,会员端原先指向的模块模板并不存在,现已改为切到前台主题渲染)。已真机实测:免费商品弹窗显示「安装服务 免费提供」、收费商品弹窗显示「¥10.00」、不存在的商品返回「商品不存在或已删除」,三条路径均正常、无 500。
v1.0.26
新增优化安全
  • 购物车结算不再多弹一句提示:点「结算」原先会弹一个「正在跳转支付页面」的确认框(要再点一下才跳),现已改为**直接跳转付款页**;同时把「安装服务」勾选框改为默认勾上,且免费时置灰不可点(免费安装默认包含、无需选择)——两项均与既定交互口径一致。已真机实测:直接跳转不弹窗、免费项的勾选框为置灰不可点。
  • 购物车页回归前端组件自带结构(整页变干净):购物车页原先用自绘卡片结构 + 约 200 行页内脚本硬拼,因为与前端组件自带的结算脚本对不上;现已改为使用组件自带的页面结构与结算脚本,页内脚本整段删除(页尾只留一行脚本引用),勾选 / 全选 / 积分抵价 / 安装服务 / 合计 / 结算全部由自带脚本驱动,商品与卖家信息仍取本系统数据。已用无头浏览器 + 现成登录会话真机实测:页面 200、控制台零异常,点「全选」后所有商品都打上勾、合计与件数正确显示,点「清空购物车」正常弹出自带的二次确认。
  • 购物车结算收口到一处实现:购物车下单的校验与算价(可购买 / 防重复购买 / 防自己买自己 / 安装费 / 积分抵价 / 记账)从接口里抽到一处统一实现,「购物车直接结算」与「下单页结算」共用同一套规则;同时按页面约定补上了购物车结算接口。已真机实测:页面发出的结算请求体与预期一致、空参数或非法参数只返回错误提示而不会生成订单,原结算接口的返回字段与提示文案保持不变。
  • 修复「找回密码 / 找回安全码」两页脚本加载不到(点了没反应):这两页用模板资源助手取 js,但在会员端它会解析到会员主题自带的 static 目录(那里只有 common.js / market.js),于是 jquery 与前端组件那两行被解析成空地址 → 整页 JS 失效、验证码与提交都不会绑定。现按会员中心既定做法改为指向实际存在的主题资源。已真机实测:jQuery 与组件正常载入(1.0.7)、表单提交事件已注册、无 4xx、控制台零异常。
  • 修复后台「网站图标」传 .ico 报「不支持的格式」:后台前端组件(2.13.5)的图片上传默认只认 jpg/png/gif/bmp/jpeg/svg/webp,不含 ico(服务端其实允许),所以 .ico 在选完文件那一刻就被前端拦下。现已为该处上传显式声明扩展名(含 ico/webp/svg)。已真机实测:.ico 上传成功、返回本地路径、预览正常。
  • 页脚模板规范化(同时修掉一处性能损耗):原页脚在模板里用 {php} 写业务逻辑(取配置 / 值班时间判断 / 电话打码),而且用的是每次直查库的配置读取——每渲染一个前台页至少多跑 8 条 SQL。现改为:页脚数据在前台基类统一一次性赋值(改用带缓存的配置读取,8 条 SQL → 0~1 条),值班判断与电话打码收进公共函数一处实现,页脚模板只做展示({php} 整段消失);帮助分类链接集中到一处便于维护;12 行内联样式搬进主题样式表;过时标签换成语义标签。已对照实测:改前/改后页脚输出逐项一致(4 组 × 4 条帮助链接、客服 QQ/电话(仍打码)/邮箱/值班时间、版权/备案、两个二维码、悬浮购物车),页内内联样式 0、{php} 0,只读脚本依赖的 data-phone/data-worktime 属性保留不变。
  • 后台「站点图片」改存服务器本地:网站LOGO / 网站图标 / 官方微信二维码 / 小程序二维码 这四项以前跟随全局存储设置(启用 OSS 时会传到 OSS),现改为固定保存到服务器本地,前台显示也按本地地址输出(否则会把本地图拼上 OSS 域名、图不显示)。其它图片(头像、商品图等)不受影响,仍按全局设置。已实测:站点图上传返回本地路径、头像上传仍走 OSS。
  • 修复「申请退保」弹窗按钮没反应:该弹窗是独立页面(用的是站内另一套前端组件 2.4.5,不是会员中心那套),而上一轮统一适配时用了会员中心专属的兼容助手(该页没有)→ 脚本一开始就报错 → 弹窗里的「确认退保 / 快捷金额」等函数从未定义,点了毫无反应。现已改为自带版本判断的写法(两套组件都能跑),并排查了同类页面(共 6 个:申请退保、兑换弹窗、首页资料块、店铺客服/轮播弹窗等)。已真机实测:退保弹窗加载零异常、校验提示正常弹出、不会静默。
  • 修复「商品编辑 / 发布后满屏乱码(显示一串 {code:1,...})」:发布页的脚本文件也是新版组件写法(在 1.0.7 下加载即报错),导致提交事件根本没绑上 —— 点发布就变成浏览器原生提交,后端返回的数据被当成网页直接显示出来。已适配为本站写法,现在点「确认发布 / 保存」会正常弹出提示并跳回列表。已真机实测:发布页加载零异常、提交事件正常注册。同一问题也修了「自助交易」页的脚本。
  • 修复会员中心大量页面「按钮点了没反应」(根本原因:前端组件版本写法不匹配):这些页面的内联脚本用的是新版组件写法——把表单对象当“实例”直接用、还用了新版才有的快捷方式;而本站前端组件是 1.0.7,脚本第一行就报错中断,所以页面上所有按钮、提交、下拉校验、上传入口全都没绑上(看着正常、点了没反应)。已逐页按本站组件写法适配:45 个页面 / 52 处,并把这类写法全量清零。已真机实测 7 个页面(密码 / 支付密码 / 网站发布 / 任务发布 / 服务发布 / 白名单 / 域名添加):控制台零异常、提交事件正常注册。另两类同类问题也已排查并修复(见下面两条)。
  • 修复会员中心「上传图片 / 店铺LOGO」点了没反应:8 个页面(头像、实名认证、工单、店铺 LOGO / 装修 / 客服 / 轮播)的上传按钮写的是新版组件用法(上传对象用 render、还用了新版才有的尺寸限制 / 多选 / 本地预览),而本站组件是 1.0.7 —— 该入口一加载就报错中断。现改为在主题脚本目录新增一个上传适配层(一处实现,页面只接一行),把新版的用法译到本站组件上、改用表单方式提交:支持格式校验、大小限制、多选逐个上传、本地预览。已真机实测:头像页真实上传一张图 → 提示「头像上传成功」;店铺基础设置页上传 LOGO 请求也正常,控制台零异常。
  • 修复会员中心部分「保存 / 提交点了没反应」(接口地址写错):13 个页面里的 28 处接口地址写成了本站不支持的「三段式」,实测全部 404 —— 波及消息已读 / 全部已读、店铺设置 / 导航 / 服务 / 标签 / 轮播、个人资料、改密码、安全码、白名单等。已改为本站可用的两段式,并逐个实测地址(改后均 200)。其中充值入口 /member/onpay 是已登记的三段式(实测 200),保持不动。
  • 说明:批量/单条操作里只有「删除」会弹二次确认(删除前还会过安全码:本次登录已验证过、或尚未设置安全码则直通),上架 / 下架 / 刷新等点下去直接执行、不多弹一层。删除仍是「安全码 → 确认 → 执行」。
  • 新增「提现前置安全验证」:在本页点「确认提现」不再直接提交,而是先弹出安全验证层,需要输入 安全码 + 邮箱验证码(验证码发送到账号已认证的邮箱);验证通过后才真正提交提现申请。已真机实测:弹窗正常弹出、验证码错误会在弹窗内气泡提示且不提交(也不会误发邮件)、验证通过后自动回填并继续提交(控制台零异常)。
  • 修复「确认提现显示 NaN 元」:原先点「确认提现」会先进安全验证、后校验金额,所以金额没填也能弹出验证框;验证通过后自动重放提交,此时金额为空,又因为空值转数字会得到“NaN”(而“NaN 小于 30”判断为假)而没被拦下,于是确认框变成「确认提现 NaN 元?手续费:NaN 元」。现已改为先校验表单(金额/收款信息)、通过才弹验证框,并对空值/非数字做显式拦截。已真机实测:金额空、金额低于 30 元两种都直接提示「提现金额不能低于30元」且不弹验证框;金额 30 元的正常路径确认框为「30 元 / 手续费 3.00 元 / 实际到账 27.00 元」,全页无 NaN。
  • 安全验证弹窗版式改为左对齐:原先用组件自带的「标签列 + 输入区」排版,标签列就占去 110px,再加上盒子内边距,输入框要从弹窗左缘 132px 才开始,左侧空一大块。现改为标签在输入框上方、整体左对齐:实测输入框起点距弹窗左缘仅 18px(原来的内边距),控件宽度 304px 且无横向/纵向滚动条,验证码与「获取验证码」同行显示。
  • 安全码只在验证弹窗里输一次:提现表单里不再展示安全码输入框(页面正文已看不到「安全码」字样);验证通过后由弹窗把它写入表单的隐藏字段,仍会随提现申请一起提交,后端校验逻辑不变。
  • 修复「验证过提现后,删除商品不再要安全码」:提现前置验证通过后会把整个登录会话标记成“安全码已验证”,于是同一次登录里再去删除商品(单条或批量)就不再弹安全码了。现已拆开:提现验证只在本次提现内生效,不再影响其它操作的校验。删除仍按顾有口径「本次登录验证一次即可」(与参考站一致:验证过一次后,本次登录内后续敏感操作直通)。已实测:干净会话点删除会弹安全码;提现验证成功后该会话仍会被要求输安全码。
  • 修复提现按钮「看着能点、点了没反应」:待处理提现不为 0 时按钮本就不可用,但原先只加了原生 disabled —— 本站前端组件只给带 layui-btn-disabled 类的按钮上置灰样式,所以按钮看着和正常一样、点了却毫无反馈。现已改为置灰态并盖住页面自定义的渐变背景,且点击时直接给出原因「您有提现正在处理中,请先在「提现记录」撤销后再申请」,不再静默。已真机实测:待处理时按钮呈灰底、鼠标成禁止形、点击出提示;无待处理时点击正常弹安全验证。
  • 验证码改用邮箱发送(不依赖短信通道):弹窗内「获取验证码」把验证码发往当前账号已绑定且已认证的邮箱(收件地址由服务端取,不采用前端传值),带 60 秒防重发;已验证邮箱与验证码必须同属本账号,校验通过后一次性作废。未设置安全码、或邮箱未完成认证时,弹窗直接给出对应的设置/认证入口。
  • 说明:验证通过的状态会写入本次会话,后续同类敏感操作可直接通过;安全码填错时不会白烧一次邮件验证码(两项都通过才作废)。
v1.0.25
修复优化
  • 修复「提现申请页根本用不了」:该页脚本用的是新版 layui 的写法(把表单对象当"实例"用、还用了新版才有的快捷方式),而本站前端组件是 1.0.7 —— 脚本第一行就报错中断,导致"提现"按钮的提交处理从未绑定、快捷金额按钮也点不动。现已把该页脚本迁到主题脚本目录并按其版本写法适配(表单实例改用站内既有的兼容写法、jQuery 用全局的、提交与跳转地址改成本站可用地址),页面只保留引用与数据标记。已真机实测:控制台零异常、快捷金额能回填、提交校验正常触发、提交地址接通。
  • 提现记录的「撤销」改回脚本自带入口:该按钮原先由页面内联脚本自己实现(自己的提交地址与提示)。现已按脚本既有约定改为调用自带的撤销入口,页面里那段内联脚本整块删除;后端补了对应接口,撤销逻辑复用既有的"撤销提现"服务(归属校验、仅待处理可撤、金额退回余额并记流水,都在同一处实现)。已真机实测:点击弹出"确定要撤销提现吗?撤销后提现金额将返回至您的账户,每日仅可撤销一次提现",确认后正常请求并返回结果。
  • 说明:撤销仍受既有规则约束 —— 仅"待处理"的提现可撤销、每日仅一次;实测账号当前没有待处理提现,因此列表里没有可点的撤销按钮(属正常状态,非故障)。
  • 修复商家订单页「页脚与订单列表挤在一起」:上一条把"编辑备注"改成自带入口时,改模板漏掉一个闭合标签,导致订单列表的容器没有正确收尾、把页面底部的页脚并了进去。已补齐该标签并真机核对结构(备注元素与页脚的最近公共祖先已回到页面主体,页脚位于列表下方)。
  • 商家订单的「编辑备注」改回脚本自带入口(去掉页面自己那套):该弹窗原先由页面内联脚本自己实现(自己的按钮类名、自己的提交地址)。现已按脚本既有约定改为:按钮用自带的 order_note 标记 + number=订单号、紧邻显示备注的元素;后端补一个 /ajax/note 接口,备注写入收进仓储一处实现(原"保存备注"接口同步改为调它,不再两处各写一遍)。已真机实测:点「[编辑]」弹出"订单备注(仅自己可见)",保存返回成功且页面即时更新;页面里的内联备注脚本已删除。
  • 说明:备注为空时该位置留空(与参考站一致)——因为弹窗的初始值直接取该元素内容,若写"暂无备注"会把它当成备注内容带进输入框。
  • 修复删除确认文案里的「选中null」:确认框会读页面上的"当前分类"标记来拼文案,而本站列表页没有这个标记 → 显示成"选中null"。已按页面各补一个隐藏标记(源码页=商品 / 网站页=网站 / 域名页=域名 / 服务页=服务 / 任务页=任务),现在文案分别是「确定要批量删除选中商品吗?」等。已真机实测 4 个页面文案正确(任务页当前无数据、控件未渲染,标记已就位)。
  • 删除操作现在会先弹「安全码」校验(与参考站一致):点删除后先向后端问一句"这次需要输安全码吗" —— 本次登录期间已验证过、或尚未设置安全码 → 直接进入二次确认;否则弹出"请输入安全码"输入框,校验通过后才执行删除。判定与站内既有的安全码门槛完全同一套(复用现有安全服务,未改任何现有前端脚本)。已真机实测:弹窗、错误提示、已验证直通三条路径都符合预期。
  • 修复「批量删除 / 单条删除点了没反应」:删除流程在弹出确认前会先调用一个"敏感操作前置校验"接口,而该接口我们后端一直不存在 → 前端收到 404 后只提示"网络异常,请重试",删除根本走不到执行那一步。现已把该接口补上(会员端 Ajax 控制器 + 顶层路由,主域与会员中心子域都可用),删除恢复为「前置校验 → 二次确认 → 执行 → 结果提示」。已真机实测:确认后请求正常发出、返回结果提示。
  • 说明(可选优化):删除确认框文案里的"选中…"用的是页面上的当前分类名元素,本站模板没提供该元素 → 会显示"选中null"。可在对应列表页加一个隐藏标记修正(属模板标记适配,未改)。
  • 修复「批量上架/下架/删除没任何提示」:所选商品全都不符合条件时(如已上架的商品再点批量上架),后端原先返回的是"字段校验"类提示码 —— 该提示码会在某个输入框上弹小气泡,而批量操作没有对应输入框,于是提示根本没弹出来(还顺手把页面刷了一下)。现已改为业务失败提示,并写清原因,例如「上架失败:所选商品均已是上架状态,无需重复上架」。已真机实测:选中已上架商品执行批量上架,弹出叉图标提示且文案正确。
  • 修复「点全选,行的勾选框没打上勾」:全选联动由主题脚本里既有的一套负责,它重绘勾选框时需要"表单实例";而本站与参考站同为 layui 1.0.7(该对象是函数,须先调用才得到实例),脚本里共用的全局对象被赋成了函数本身 → 重绘那句抛错、界面不更新。已改为取实例。并用无头浏览器 + 现成登录会话真机实测:点全选后 10 行全部勾上、控制台零异常。
  • 勾选框尺寸问题复核 + 版本核对:行勾选框已恢复 16px 小号;核对确认本站所用的 layui 与参考站(互站网)为同一份文件(layui.js md5 一致、css 一致,均 1.0.7),因此无需更换前端组件版本。
  • 修复列表勾选框「偏大」(真正原因):本站用的是 layui 1.0.7,而勾选框上写的是 layui 2.x 才认识的 lay-skin="primary"。1.0.7 遇到带 lay-skin 的勾选框会跳过它的小号样式,改用默认的 32px 大号外观。现已去掉该属性(6 个列表页),1.0.7 会自动套用 16px 小号样式。
  • 说明:带文字标签的勾选框(如「有人回复请邮件提醒我」「记住收款信息」)本就属于大号带标签样式,未改动;lay-skin="switch" 是 1.0.7 支持的写法,也未改动。
  • 修复会员中心列表「点全选,行勾选框没打勾」:全选联动用的是公共脚本里自带的那套,它重绘勾选框时依赖一个全局表单对象,而本站从未定义过 → 结果只改了状态、界面没跟着变。现已在公共脚本里补上这个全局对象,全选 / 反选联动可正常显示。
  • 修复列表勾选框「偏大」:样式表里把勾选框的盒模型覆盖成了内容盒(content-box),而该组件是按边框盒设计的,导致边框与内边距被额外加上、视觉偏大。已改回 border-box,恢复组件原本尺寸。
  • 修复「批量刷新 / 单条刷新」的提示一闪而过:刷新结果用的是双按钮提示,而"刷新列表"这一步原先挂在提示的 fun 上 —— 该提示一打开就会被立即执行,等于整页刷新把提示刷掉了,所以看不清。现已把"刷新列表"改到「我知道了」按钮上:提示会停留,点按钮才刷新;点「我的刷新」仍会打开刷新次数弹窗。
  • 修复会员中心列表「全选框 / 下拉框看不见」:这两类控件是 layui 的样式化控件,必须在页面加载完成后渲染一次才会显示;渲染这一步原先写在每个列表页的内联脚本里,清理重复代码时一并去掉了,导致控件被样式隐藏。现已把这一步收进主题公共脚本(common.js)统一执行一次,页面不再需要内联脚本。
  • 会员中心列表的「全选 / 批量操作 / 单条操作」改回脚本自带约定,去掉各自重写:这些交互本来就由主题脚本负责(全选联动与表单渲染在 common.js,批量/单条按钮的处理在 member.js);之前模板里的标记名与约定不符,导致各自又在页面里内联补了一份实现。现已按约定修正:行勾选框 name="C1"、全选框补 name="xuan"、单条按钮由 data-action 改回 action,模板不再内联任何交互代码。
  • 全套提示弹窗统一到 common.js 那份:删除 4 个列表页内联的简化版 Rs()(它把主题脚本里的完整版覆盖了,导致字段校验气泡、未登录跳登录等行为失效)。
  • 修复会员中心「批量操作 / 单条操作」的提示弹窗与主题脚本不一致:4 个列表页(源码 / 网站 / 域名 / 服务)各自内联了一份简化的 Rs(),把主题脚本里的完整版覆盖掉了 —— 结果是字段校验提示不弹气泡、未登录时点按钮没反应、需要跳转的提示不跳转。现已删除模板里的内联定义,统一走主题脚本那一份(同时保留页面自身的 layui 表单渲染与全选联动)。
  • 说明:「需求」板块(dempub)的批量/单条操作走它自己的接口,不经统一批量入口,本次未动。
  • 统一批量入口改为「注册表 + 动态分派」(便于后续持续加操作):新增一个批量操作,现在只要三步 —— 写一个处理方法、在注册表里加一行、前台加一个选项,分发代码不用动;老写法是每加一个操作都要改一次分发逻辑。
  • 本次一并收口:刷新的板块参数改由统一映射表给出(不再单独传),站内信「全部设为已读」也纳入同一注册表;商品类的归属校验、订单/任务保护、返回格式全部保持不变。
  • 修复站内信「全部设为已读」点了没反应:该按钮走的是统一批量入口,但后端只认商品类操作,且因为不带选择项而先返回「请选择要操作的对象」,消息始终标不上已读(此前后端也没有任何"标记已读"的实现)。现已补齐:统一入口新增站内信分派,标记已读收进 MessageService::markRead() 一处实现(字段 is_read)。
  • 统一批量入口覆盖面盘点(对齐后无漏项):商品类 4 个操作(刷新 / 上架 / 下架 / 删除)× 6 个板块全部走同一入口,且都带归属校验与业务保护(订单保护、任务状态保护、推广记录清理);本次补上「站内信已读」这一档。工单走会员中心独立入口,不经此处。
  • 修复「批量操作 / 单条操作」点一次多一个假提示:会员中心布局原先同时加载主题脚本和一份外部脚本,同一按钮被绑了两次;而主题侧那套读的是旧标记(name=C1 / action="xxx"),取不到值就先弹一个「至少选择一条操作对象」/「请选择操作类型」,关掉之后操作才真正执行。现已把批量/单条操作的取值改到主题脚本内(按当前标记 data-action + name="ids[]" + 隐藏 type),并移除布局里那行外部引用 —— 一次点击只发 1 个请求,不再出现假提示。
  • 会员中心脚本引用统一到主题目录:布局里所有脚本现在都指向 themes/pc/uizhan/static/ 下的文件,不再混引 /static/member/;相关过时注释一并订正。
  • 「我的刷新」弹窗接口迁移到共享模块(无行为变化):该弹窗的实现从 member/Box::qrefresh 迁到 aform 共享模块的 aform/Html::qrefresh,新地址 /aform/html/qrefresh;会员中心脚本改为请求新地址,旧的 /box/qrefresh 保留路由映射(老链接照旧可用)。实测两个地址均正常返回。
  • 修复「我的刷新」点击无反应 / 重复请求:会员中心脚本原先请求的 /html/qrefresh 在本站从未注册过路由(实测 404),已改为新地址;同时移除会员中心 common.js 里针对同一弹窗的重复绑定,现在一次点击只发 1 个请求、只弹 1 个窗。
  • PC 前台公共脚本加功能注释 + 功能对照表(无行为变化):给前台公共交互脚本 common.js 的 77 个功能块逐个加了中文用途注释(含 Aform/Rs 契约、弹层、签到/积分卡、表单验证码、交易与价格、购物车收藏、搜索联想、客服分享、列表钩子、通用工具等分区),并出一份「功能 → 触发写法 → 调用接口」对照表,方便后续按功能块排查与迁移;纯注释,脚本行为与加载方式未变(去掉注释后与原文件逐字节一致)。
v1.0.24
修复优化
  • 资金与积分相关代码整理(无行为变化):本期把会员模型/仓储里 26 个从未被调用的旧方法、以及 11 个整类没人引用的旧数据模型类一并清掉,并给资金/积分的读写定了唯一入口(加减余额、扣款校验、记账流水各自都只有一处实现);相关页面与接口逐项实测一致。
  • 修复后台“资金调整”流水记录错误:后台给商家加/扣余额时,账面金额会变,但**流水记录写的字段在流水表里并不存在**(框架会静默丢弃)→ 实际只落下一行空记录,事后无法对账追溯;现已改为与全站一致的流水字段(单号/用户/摘要/金额/时间/IP/关联)。另把 6 处“各写各的”记账(退款给买家、第三方充值入账、消保赔付、扣积分明细、签到送积分等)统一到同一个记账入口,**字段与金额口径完全不变**。
  • 修复潜在资金风险(并发场景):余额支付原先“先查余额、再扣款”两步走,高并发下同一账号两笔同时支付有可能都通过校验、把余额扣成负数;现已改为带余额校验的原子扣减(不足直接拒绝)。正常单笔支付的规则与提示完全不变,仅在并发时更安全;顺带把“积分抵扣”也补上了同样的校验。
  • 代码内部整理(无行为变化):清掉 11 个“整类没人引用”的旧数据模型类(含订单旧模型、店铺/收藏/举报/帮助等旧壳),这些职责早已由对应的数据访问层接管;删除后 16 个页面(含举报页)实测正常。
  • 代码内部整理(无行为变化):把控制器里最后 38 处“直连数据库取数”全部搬进数据访问层(后台/前台/会员中心共 17 个控制器),取数只留一条路;新增 6 个数据访问方法,其余全部复用既有方法,SQL 逐字保留。19 个测试页面改前/改后逐行对比,17 页完全一致,其余 2 页差异已逐条查证为既有缺陷与缓存刷新,与本次改动无关。
  • 修复后台“搜索词管理”批量删除无效:该页多选后点“删除关键词”,后端拿到的是一串逗号编号却当成数组用 → 删除总是失败;现在能正常批量删除(已实测单条、多条)。
  • 修复“提现详情”(后台)与“选择推广商品”(会员中心)两页打不开:提现详情页从查询流水到费用计算再到页面模板每一层都有问题(列表页点“详情”进去只会报错);会员推广页则是页面模板名字对不上。两页现已正常打开;提现详情会展示提现单信息、实际到账金额与该用户的提现相关流水,并可直接在详情页用“通过(已转账)/ 拒绝”审核(和列表页同一个接口),已用临时提现单实测通过/拒绝全流程。
  • 服务价格显示口径统一(显示不变):同一价格原来有两套叫法与两种格式(一套带“¥”的派生字符串、一套原值),且派生字符串在 10+ 处各自生成。现统一到同一个价格函数(动态价仍显示“¥300 ~ ¥1200”区间,固定价显示原值),行数据只保留原值列;服务列表、店铺页、首页、搜索页、会员中心服务列表六页改前/改后逐行对比一致。
  • 会员中心脚本加功能注释 + 功能对照表(无行为变化):给会员中心脚本 member.js 的 50 个功能块逐个加了中文用途注释(含文件头 11 个分区),并出一份「功能 → 触发写法 → 调用接口 → 现有实现情况」的对照表,便于后续按功能块逐个迁移;纯注释,脚本行为与加载方式未变。
  • 修复“不带 www 的域名除首页外打不开”:前台路由之前用“域名数组”写法声明,框架只为其中首个域名建立了完整生效的域名组、其余域名只挂了规则别名,导致访客用不带 www 的域名访问时,凡是没命中具体规则的页面(如带斜杠的帮助页、店铺页)会报错打不开。现已改为两个域名各自完整注册同一份路由与模块绑定,**不带 www 与带 www 访问结果完全一致**(前台 27 个地址逐个对照、后台与接口一致、会员中心子域无影响)。
  • 修复积分商城「确认兑换」点不出去:兑换弹窗里的提交请求实际发往 /dform/exchange,但实现却只挂在会员中心的 /ajax/exchange 上 → 点提交必报系统错误。现把该提交动作归入共享表单域(aform/Dform):/dform/exchange、/Dform/exchange 与老路径 /ajax/exchange 在前后台两个域名下都指向同一份实现,返回契约与原先完全一致(成功 state:1、字段错 -1、未登录 -2、令牌过期 0),前端未改一行。
v1.0.23
修复优化
  • 代码内部整理(无行为变化):会员中心「我的店铺」页的取数(买家资料/店名卡/登录地区/店铺技能)改由统一数据层负责(原先直接写在控制器里),3 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「公告管理」的取数改由统一数据层负责(原先直接写在控制器里),3 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台安全中心(会员/安全/管理员日志、封禁列表)的取数改由统一数据层负责(原先直接写在控制器里),4 个页面核对一致(其中「后台访问审计」页会因我们自己刷新而多出访问记录,属页面固有行为)。
  • 代码内部整理(无行为变化):后台「积分商城」管理的取数改由统一数据层负责(原先直接写在控制器里),3 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「举报类型管理」的取数改由举报数据层负责(原先直接写在控制器里),4 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):前台「首页 / 全站搜索」的取数(最新帮助·帖子、站内指数、分板块搜索)改由统一数据层负责(原先直接写在控制器里),首页与搜索结果页核对一致(只差防伪令牌)。
  • 代码内部整理(无行为变化):会员中心「推广」(推广记录 / 购买页)的取数改由统一数据层负责(原先直接写在控制器里),4 个入口逐行核对完全一致。
  • 代码内部整理(无行为变化):会员中心「交易纠纷 / 仲裁 / 聊天」入口的取数改由统一数据层负责(原先直接写在控制器里),4 个入口核对一致(只差页面自带的当前时间)。
  • 代码内部整理(无行为变化):会员中心「我的服务」页的取数(列表 / 推广状态预取)改由统一数据层负责(原先直接写在控制器里),4 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「系统配置 / 商城开关 / 交易设置 / 主题」页的配置读取改由统一数据层负责(原先直接写在控制器里),5 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「论坛板块类型」(列表/新增/编辑/删除)的取数改由统一数据层负责(原先直接写在控制器里),4 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「举报管理」(列表/详情/编辑/删除)的取数改由新的举报数据层负责(原先直接写在控制器里),5 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「实名·企业认证审核」列表的取数改由统一数据层负责(原先直接写在控制器里),4 个筛选项页面逐行核对完全一致;审核动作本身未动。
  • 代码内部整理(无行为变化):后台「帮助中心文章」(列表/新增/编辑/二级分类接口)的取数改由统一数据层负责(原先直接写在控制器里),4 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「搜索词统计」的列表/统计取数改由新的搜索词数据层负责(原先直接写在控制器里),2 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):会员中心「自助交易」(建立/修改/应答/重发/关闭/删除)内部的附件归属与订单清理取数改由统一数据层负责(原先直接写在控制器里),5 个入口逐行核对完全一致。
  • 代码内部整理(无行为变化):前台「论坛」列表/帖子详情/我的帖子入口的取数(含帖子收藏与回复点赞)改由统一数据层负责(原先直接写在控制器里),5 个页面逐行核对完全一致(只差我自己反复抓页造成的浏览量 +1)。
  • 代码内部整理(无行为变化):会员中心「任务选标交易」页(选此标建立交易 / 编辑交易)的取数改由统一数据层负责(原先直接写在控制器里);表单与校验行为不变。
  • 代码内部整理(无行为变化):后台首页仪表盘(总/今日用户·订单·交易额、待处理退款、担保中金额、商品统计、近 7 天走势、最近订单)的取数改由统一数据层负责(原先直接写在控制器里),仪表盘整页逐行核对完全一致。
  • 代码内部整理(无行为变化):会员中心「批量操作(上下架/删除/刷新)」与「商品申诉」入口的取数改由统一数据层负责(原先直接写在控制器里),并按商品类型走统一分发口径(源码/网站/域名/服务/任务/求购六类商品一套代码,含求购板块在内均与之前一致);6 个页面(含真实商品的申诉表单)逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「帮助中心分类」(列表 / 新增 / 编辑 / 删除)的取数改由统一数据层负责(原先直接写在控制器里),5 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「商家管理」(列表 / 商家详情:认证、订单、流水、提现)的取数改由统一数据层负责(原先直接写在控制器里),6 个页面逐行核对完全一致;商家「资金调整」逻辑本次完全未动。
  • 后台「财务 → 担保记录」筛选修复:切到「已完成」时页面会直接报错打不开(担保中/全部正常);现已修复,并确保「已完成」筛选仍能正常列出记录。「担保中」筛选与改动前完全一致。
  • 代码内部整理(无行为变化):后台「财务管理」(概览 / 资金流水 / 担保记录 / 退款记录 / 退保申请)的取数改由统一数据层负责(原先直接写在控制器里),7 个页面逐行核对完全一致;本批未改动任何资金加减逻辑。
  • 代码内部整理(无行为变化):后台「任务大厅」(列表与 7 个状态页签 / 任务详情 / 投标列表)的取数改由统一数据层负责(原先直接写在控制器里),8 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「域名管理」(列表 / 出售中 / 已下架 / 审核中 / 违规申诉 / 详情)的取数改由统一数据层负责(原先直接写在控制器里),7 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「网站管理」(列表 / 出售中 / 已下架 / 审核中 / 违规申诉 / 详情)的取数改由统一数据层负责(原先直接写在控制器里),7 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「服务管理」(列表 / 出售中 / 已下架 / 审核中 / 违规申诉 / 详情)的取数改由统一数据层负责(原先直接写在控制器里),7 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):资金/积分的“加减余额”写法统一到一个入口(原先 7 个文件各写各的共 16 处),生成的 SQL 与原写法完全一致、页面与接口实测正常;后续的“先校验余额再扣款”与“记账流水”两项仍在计划内。
  • 代码内部整理(无行为变化):全项目的“写了但从没被调用过”的方法先做了彻底普查(917 个方法名逐个扫全项目引用),并按“零引用 + 无动态调用可达 + 访问器查属性引用”的判据分批清理,本轮共清 **252 个**;同时加了防复活自检(清单 docs/_c9_removed.json:62 个文件 / 269 条),以后再有旧写法回流会当场拦住。功能与页面均实测正常。
  • 代码内部整理(无行为变化):再按“文件时间考古”清掉老骨架里 22 个从未被调用的方法(异常类的旧命名构造、事件/验证基类的旧方法等)。至此共清 57 个零引用方法;页面与接口实测正常。
  • 代码内部整理(无行为变化):又清掉一批“写了但从来没被调用过”的旧方法(缓存类 12 个 + 数据模型层 23 个),共 35 个;同类清理会继续分批做,并已加防复活自检。页面与接口实测正常。
  • 代码内部整理(无行为变化):会员模型最后 3 个没人调用的方法(两个互为重复的身份查询别名、一个 0 引用的访问器)也清掉了;至此该模型只剩 4 个方法且全部是实际在用的。登录页与登录接口实测正常。
  • 修复一个潜在陷阱(登录相关):库里有两个“看着像登录入口”的旧方法(登录校验/登录时间更新),实际上既没人调用、又对不上现行表结构(引用了不存在的列),谁把它们当登录入口调用就会直接报错;已确认真正在用的登录校验在别处后删掉。登录页与登录接口实测正常。
  • 代码内部整理(无行为变化):会员模型再清 9 个没人调用的方法(订单/收藏/源码三个旧关联,加登录校验、登录时间、卖家判定、账号启用判定、账户信息旧写法),先出了一张“类名+方法名 → 谁活着、谁在调”的对照表确认干净才动手;页面字节数、登录页访问均与之前一致。
  • 代码内部整理(无行为变化):会员模型里再清掉 2 个没人调用的关联方法(店铺关联),连同前两批共清 12 个;页面字节数一致,防复活自检同步扩到 12 个。
  • 代码内部整理(无行为变化):又清掉会员模型里 4 个没人调用的方法(两个关联方法 + 冻结/解冻金额两个旧写法),连同上一批共清 10 个;冻结/解冻的真实逻辑不受影响(页面字节数一致)。防复活自检同步扩到 10 个方法。
  • 代码内部整理(无行为变化):清掉会员模型里 6 个没人调用的资金/积分方法(其中几个与其它类同名但无关,本次只删确认 0 引用的),资金/积分口径不再保留“第二、第三套写法”;同时加了一条防复活自检,以后再有同名旧写法回流会被当场拦住。
  • 会员评价「中评被当成未评价」修复:评价分值里的「中评」此前会被判成「未评价」(空值判空写得太宽松,中评的 0 被当成空),导致评价页仍显示「暂未评价 + 倒计时」、接口也可能再给一次评价入口;现已改为严格口径(空值才算未评价,中评/好评/差评都算已评价),并把这条口径收成一处公共实现,以后改口径只改一个地方。实测库内 3 笔中评订单已从「未评价」正确变为「已评价」。
  • 前台「免费发布任务 / 免费发布商品」修复:顶栏下拉与服务页的这两个入口此前指向早期主题遗留的老地址(实测 404;在非首页因缺少弹窗函数还会报 JS 错),现已接到站内现成的「选择类型」发布弹窗(商品/网站/域名/服务,需求/任务等入口都在),并顺手修正了「立即发布需求」按钮的 href 拼写错。
  • 代码内部整理(无行为变化):会员中心「个人资料 / 实名·企业认证 / 安全中心防护日志 / 登录记录」页面的取数改由统一数据层负责(原先直接写在控制器里),6 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「论坛帖子 / 板块 / 回复审核」页面的取数改由统一数据层负责(原先直接写在控制器里),3 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「仲裁 / 消保赔付记录 / 纠纷聊天」页面的取数改由统一数据层负责(原先直接写在控制器里),3 个页面逐行核对完全一致;涉钱的“支持买家/卖家”动作本身未动。
  • 代码内部整理(无行为变化):后台「求购管理 / 求购留言管理」页面的取数改由统一数据层负责(原先直接写在控制器里),3 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「广告位 / 套餐 / 推广记录 / 广告内容」页面的取数改由统一数据层负责(原先直接写在控制器里);顺手把“取最大值”这类重复写法收敛成基类一处。5 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「商品分类管理」页面的取数改由统一数据层负责(原先直接写在控制器里,本批几乎全部复用已有方法、只新增 1 个排序号方法),5 个页面(含 2792 行的分类菜单树)逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「邮件账号 / 发送记录 / 通知任务」页面的取数改由统一数据层负责(原先直接写在控制器里),4 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「商品审核/评价管理/申诉」页面的取数改由统一数据层负责(原先直接写在控制器里),7 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「管理员/角色/菜单权限」三张表的取数改由专门的数据层负责(原先直接写在控制器里),10 个页面(含 3430 行的菜单树)逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「会员管理」的列表/默认禁用/详情页取数改由统一数据层负责(原先直接写在控制器里),5 个页面逐行核对完全一致。
  • 代码内部整理(无行为变化):后台「订单管理」的列表/详情页取数改由统一数据层负责(原先直接写在控制器里),7 个页面逐行核对完全一致;顺手修掉过程中自己引入的两个问题(详情页取数键、状态徽章统计)。
  • 代码内部整理(无行为变化):前台「求购大厅」「网站列表/详情」等页面的取数改由统一的数据层负责(原先直接写在控制器里),页面输出逐行核对一致(只差防伪令牌,以及我自己反复抓页造成的浏览计数 +1)。
  • 代码内部整理(无行为变化):清掉 11 个早就没人调用的旧退款实现(其中两份是重复的「申请退款 / 同意退款」写法),退款流程走的仍是同一套代码;另外还清掉了一个 335 行的「担保交易服务」闲置文件(全项目确实无人调用)。页面与行为不变。
  • 前台右侧「消息」角标修复:该角标以前把「累计消息条数」当成未读数——永远不会归零,还会漏掉一部分消息;现在按真实未读(未读标记)统计,读完消息后角标会相应减少、清零后消失。
  • 会员中心「我的消息」页侧栏修复:该页侧栏的头像以前是空白(只能看到默认图)、昵称也可能缺失,现已与其它会员页面一致显示真实头像与昵称;同时该页现在也会跟其它会员页一样做账号状态校验。
  • 代码内部整理(无行为变化):商品取数(源码/网站/域名/任务/定制/服务)统一到同一处实现;商品类型白名单从 4 份收敛为 1 份,购物车「是否可购买」(含网站类未上架/已上架口径)也收到一处。页面表现与之前完全一致。
  • 新增代码规范与一键自检(开发侧,无页面变化):把「一个意思一个名字、一个实现」的规矩写成文档,并新增一个只读自检脚本(检查站内信入口、重复方法是否回流、BOM 等 8 项)——以后每次改完代码跑一次,防止前面几轮的整理被逐步改回去。
  • 代码内部整理(无行为变化):站内信(系统通知)的写入方式统一到同一个入口——此前后台各管理页、退款/退保/超时任务等 20 处各写各的,现在只有一处实现,以后新增通知不会再漏字段。页面表现与之前完全一致。
  • 商家卡片「联系卖家」弹窗标题修复:商品/服务/网站等详情页点「联系卖家」时,弹窗标题以前固定显示为「商家」,现在显示真实店铺名称。
  • 代码内部整理(无行为变化):「按订单号取一条记录」等 7 份重复方法与「按用户分页」2 份重复方法合并为基类一处;顺手把两个"名字与实际行为不符"的方法正名(附件列表按编号取多条、提现按状态分页)。
  • 代码内部整理(无行为变化):11 份重复的「按编号取一条记录」方法合并为基类一处实现,页面表现与之前完全一致,后续同类改动的出错面从 11 处降到 1 处。
  • 首页「最新交易」状态文案更精确:此前滚动条里一律显示「正在交易」,现在会按真实状态显示(等待卖家发货 / 卖家已发货 / 交易成功 等),与订单列表、订单详情口径一致。
  • 订单脚印/通知缺失修复:一次结算多件(或多卖家)的订单此前不会有任何「脚印」记录,且买卖双方的付款通知也不会发出;现已修复,并补上了商品订单的「买家下单」脚印。
  • 取货页显示「购买版本」+ 列表文案修正:自助取货页现在会显示你购买的套餐档位(如「高级版」,一口价订单不显示该行),并按你实际成交的套餐价显示「成交价」(此前误显示商品基础价);同时修正「网站出售」「域名」列表页的计数文案(原先误写为「个源码出售信息」)。
  • 「记住我的介绍模板」修复:此前勾选后不会真正记住(保存成功但没有生效);现已修复——勾选后会记住你选的介绍模板,下次发布新商品自动预选、勾选框也会自动回显。
  • 显示名统一为一个字段:全站页面的「用户名/店铺名」统一由同一个字段输出,口径自动判定(是卖家显示店铺名、是买家显示昵称、都没有则回退编号/昵称),不会再出现同一人在不同页面显示不同名称或空白。
  • 后台管理页名字/头像统一 + 商品申诉页修复:后台广告、反馈、工单、提现、会员等列表的「用户」一律显示统一的显示名(无店铺/无昵称时回退编号),会员列表头像统一走默认图;同时修复「商品申诉」页此前一直打不开(模板名不匹配导致 500)的问题。
  • 清理历史无用代码 + 身份取名收口:删除 13 处已无任何引用的旧函数/方法(含一个早已失效、请求必然失败的顶部登录刷新脚本);同时把 64 处「取名」调用统一接到唯一入口,并把「卖家名/买家名」的取名口径也收进同一个函数,身份相关代码只保留 2 个函数。不影响任何页面显示,只减少无效请求与维护成本;另附一个「身份键自检」脚本(docs/身份键自检.php),以后改模板可一键自检防复发。
  • 后台论坛发帖人昵称优化:后台论坛列表、帖子详情、回复审核的「发帖人/回复人」改为一次批量取昵称,页面加载更省查询;显示为真实昵称或「游客」,不再出现编号兜底。
  • 前台身份信息展示统一(第 1 批 · PC 前台):前台各列表与详情页的店铺名、头像、买家昵称统一走同一套取名与头像规则;头像缺失时统一使用默认头像,不再出现空白或破图。
v1.0.22
修复
  • 网站/域名列表页报错修复:打开「网站出售」「域名」列表页会显示服务端异常,现已恢复正常,并正确显示条目总数与页码。
  • 介绍模板选择/保存/生效修复:店铺「介绍模板」此前选不中、保存报「方法不存在」、正文存不进去,且选了也不会出现在商品详情页;现已全部修复(可在编辑页选择并回显,模板按「商品介绍上方/下方」自动合并到介绍内容)。
v1.0.21
新增优化修复安全
  • 源码多版本套餐(新增):发布源码可在一口价与套餐价之间选择;套餐价下每个版本单独定价、单独设置网盘(地址 + 密码),买家按自己需要的版本下单。
  • 详情页选版本(新增):源码详情页可在价格下方直接选版本,价格即时联动;下单、取货页与发货邮件都按买家所选版本给出对应网盘。
  • 订单详情显示购买版本(新增):带套餐的商品,买卖双方在订单详情里都能看到买家所购的是哪一档版本;一口价商品不显示此行。
  • 后台显示系统版本(新增):后台首页新增「系统信息」,显示当前版本号、发布日期、更新通道与构建号,便于核对手上的站点是否已升级到最新版。
  • 源码详情页「版本」选择位置调整:多版本选择从页面底部移到价格下方,选中版本即时更新价格,再往下依次是演示网站、安装服务等信息,下单前一眼看清所选版本与价格。
  • 套餐商品购物车只保留一件:多版本商品换成其他版本加入购物车时,只替换购物车里那一行的套餐与价格,同一商品不再出现多个版本。
  • 下单快照只存一处:套餐商品的下载地址快照改为只在成交时冻结一次(取货页与发货邮件均取这一份),待付款阶段不再重复存,避免两处不一致。
  • 订单快照只记录商品信息:成交快照不再保存网盘地址与密码(只需交付时给出),已存的历史快照一并整理;快照仍完整保留标题、价格、属性、介绍等内容。
  • 结算流程精简:下单只保留一套结算实现,重复的套餐快照字段与不再使用的旧代码已下线,后续维护只改一处。
  • 操作记录展示优化:赔付金额、来源、到期时间等字段改为中文标签,金额按 ¥ 显示。
  • 短信任务不再空跑:短信通道未启用时不再创建短信任务,后台不再堆积发送失败记录。
  • 评价区版式:商品详情页「卖家回复」改为气泡样式,与评价内容左对齐;评价/追评时间改为左对齐小灰字。
  • 邮件发送恢复:修复邮件正文为空导致全部邮件发送失败的问题;邮件模板目录改为跟随站点主题,切换主题即时生效。
  • 订单操作记录补全:卖家拒绝退款现在会写入操作记录(含拒绝原因与金额)。
  • 订单取货状态记录修复:买家点击取货后会正确记录「已取货」状态,此前该标记因历史改造遗留一直未更新。
  • 商品详情页购买按钮:补齐「立即购买 / 购物车」按钮样式,加购后「已在购物车」状态恢复正常。
  • 图标字体修复:补齐 iconfont 声明,购物车、收藏等图标不再显示为方框。
  • 后台任务稳定性:修复命令行环境下订单服务初始化异常,队列与定时任务不再中断;任务改为按站点用户运行,前台自助操作(如撤销退款申请)不再报权限错误。
  • 账号安全:源码商品的网盘密码(含各版本套餐)在数据库里改为加密保存,后台与备份中不再出现明文;买家在取货页与发货邮件里照常看到密码,历史商品无需重新发布。
v1.0.20
新增优化修复
  • 充值链路修复:修复第三方回调被判为「非法请求」、充值不入账的问题;充值成功后回到充值页,不再跳转到订单页。
  • 列表标题高亮:修复搜索关键词高亮撑破 HTML 属性、页面冒出代码文字的问题。
  • 源码列表徽标提示:「手动发货 / 自动发货 / 安装说明」等徽标新增悬停提示,颜色跟随徽标。
  • 举报弹窗修复:修复举报弹窗第二次打开异常(前台 layui 兼容)。
  • 店铺设置:修复「详情图水印」开关无法关闭的问题。
  • 首页轮播:支持为轮播图配置背景色,图片两侧自动铺底。
  • 首页求购信息:按纯文字展示(标题 / 价格 / 发布者),不再预留图片位。
  • 服务详情页:修复点击购买后转圈不消失、重复请求的问题。
没有符合筛选条件的更新记录
关于本页:更新日志为本系统配套页面,可独立部署,也可挂到站内任意路径。 每次修复或更新后请先更新本页:用真实发布日期归档,新增条目请复制页面源码里的模板段,放到列表最上面(标签写进 data-types 才会被筛选命中);维护细则见 docs/更新日志维护约定.md。