{"text_format":"2","workbook":"xlsx","n_sheets":4,"sheets":["变更说明","后台","移动端","接口权限埋点"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":0,"defined_names":0,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"变更说明","index":0,"n_rows":10,"n_cols":3,"rows_kept":10,"cut":false,"hidden":false,"merged":[]}
["变更类型","颜色","说明"]
["新增","绿色","新版需求文档新增或旧用例未覆盖的测试点"]
["调整","黄色","旧用例仍适用但断言、字段、状态、路径或范围需按新版需求修订"]
["删除/不适用","红色","旧用例与新版需求冲突、被替代，或当前功能范围未覆盖，不作为本轮验收项"]
["保留","白色","旧用例与新版需求一致，可继续执行"]
[]
["本次主要新增","","待发布状态、App pageId、太古地产/龙腾固定跳转、第三方拦截弹窗、接口异常、权限、埋点与后台审计日志"]
["本次主要调整","","列表入口路径、发布状态文案、链接弹窗规则、图文能力范围、权益商品动态筛选、按钮/弹窗跳转配置"]
["本次主要删除/不适用","","已上架状态文案、图文内容强制必填、PDF/表格富文本能力、固定白名单域名、发布至少一个展示模块强断言、图片格式固定限制"]
["待确认风险","","正式接口字段、草稿预览访问权限、第三方识别白名单、固定目标真实地址、图片格式/大小限制、权益商品排序来源"]

{"sheet":"后台","index":1,"n_rows":49,"n_cols":12,"rows_kept":49,"cut":false,"hidden":false,"merged":[]}
["序号","变更类型","范围","功能模块","测试项目","优先级","前置条件","测试内容","期待结果","备注","UAT 测试人","UAT 测试结果"]
[1,"调整","后台","后台入口与列表","组装页菜单入口","P1","账号具备组装页查看权限","进入【汇丰银行 / 页面管理 / 组装页】菜单","正常进入组装页列表页；查询区、列表区和新建/获取链接等入口按权限展示","新版需求入口为“汇丰银行 / 页面管理 / 组装页”；旧用例中的“定制功能”路径需同步调整","/",""]
[2,"新增","后台","后台入口与列表","无查看权限","P0","账号无组装页查看权限","尝试进入组装页菜单或直接访问组装页列表 URL","菜单不可见或进入后展示无权限提示；不得看到列表数据、详情、链接弹窗","来源：权限规则","/",""]
[3,"调整","后台","列表查询","列表字段展示","P1","/","打开组装页列表页，查看表格列","列表字段包含操作、页面 ID、组装页名称、发布状态、创建时间、更新时间；页面名称超长时不撑破表格并支持查看完整名称","/","/",""]
[4,"调整","后台","列表查询","发布状态展示","P0","/","准备草稿、待发布、正式三类组装页记录并刷新列表","发布状态分别展示“草稿”“待发布”“正式”；异常枚举值按草稿展示","替代旧用例中的“已上架”文案","/",""]
[5,"删除/不适用","后台","列表查询","旧状态“已上架”","P1","/","旧用例：草稿记录显示“草稿”；已发布记录显示“已上架”","新版不再使用“已上架”；应改为“正式”","删除旧断言，避免验收口径冲突","/",""]
[6,"保留","后台","列表查询","按页面 ID 查询","P1","/","在页面 ID 输入框输入已存在页面 ID 后点击【查询】；再输入不存在页面 ID 查询","存在时列表展示匹配记录；不存在时展示空态，不保留上一轮查询结果","精确/包含匹配规则仍为待确认问题，缺陷记录时需标明实际实现","/",""]
[7,"保留","后台","列表查询","按页面名称查询与重置","P1","/","输入页面名称关键字点击【查询】；页面 ID 和页面名称同时输入查询；点击【重置】","按条件刷新列表；同时输入时展示同时满足条件的记录；重置后清空查询条件并恢复全部列表","/","/",""]
[8,"新增","后台","列表查询","分页与接口异常","P1","存在多页数据；可模拟查询接口超时/失败","切换分页、修改每页条数；模拟查询接口超时后重新查询","分页数据正确刷新；接口超时时保留原列表或展示空列表，并提示“查询失败，请稍后重试”；支持重试","来源：5.1 查询组装页列表","/",""]
[9,"保留","后台","新建/编辑","进入新建页","P1","/","点击【新建组装页】","进入新建编辑页；页面 ID 显示保存后生成；组装页名称为空；分享与模块配置区为默认状态","/","/",""]
[10,"新增","后台","新建/编辑","无新建权限","P1","账号无组装页新建权限","查看列表页新建按钮；直接访问新建页 URL","新建按钮隐藏或禁用；直接访问被拦截，不得创建页面","/","/",""]
[11,"保留","后台","基础信息","组装页名称必填","P0","/","新建组装页，组装页名称为空，点击【保存草稿】和【发布上线】","保存/发布失败，停留当前页面，提示“保存失败：基本信息-组装页名称未填写”或等价文案","名称同时影响移动端导航栏标题和 Page Title","/",""]
[12,"保留","后台","基础信息","页面 ID 生成与只读","P1","/","填写合法组装页名称并保存草稿；重新进入编辑页尝试修改页面 ID；再次保存","首次保存后生成唯一页面 ID 和创建/更新时间；页面 ID 不可编辑；再次保存页面 ID 不变、更新时间更新","/","/",""]
[13,"调整","后台","编辑页状态","状态标签流转","P0","/","新建保存草稿；发布上线；编辑正式页面后先不保存；保存草稿；再次发布","新建保存后为草稿；发布后为正式；存在本地未保存修改时优先展示“有未保存修改”；正式页面保存草稿后为待发布；再次发布后回到正式","来源：状态流转图和编辑页状态规则","/",""]
[14,"调整","后台","保存与发布","已发布页面保存草稿","P1","/","编辑正式页面任一字段，点击【保存草稿】后返回列表并获取链接","列表状态变为“待发布”；正式链接仍指向线上版本；草稿预览链接可查看已保存但未发布内容","/","/",""]
[15,"新增","后台","保存与发布","发布前必须先保存","P0","编辑页存在未保存修改","直接点击【发布上线】","不执行发布，提示“请先保存草稿后再发布上线”；线上版本不被覆盖","/","/",""]
[16,"删除/不适用","后台","保存与发布","发布至少一个展示模块","P1","/","旧用例：仅填写组装页名称，不添加业务模块，点击发布上线","新版需求未明确“至少一个展示模块”为发布必校验；该断言不作为强制验收项","如产品后续确认需要，再恢复为新增校验用例","/",""]
[17,"保留","后台","返回与未保存","未保存返回确认","P1","/","编辑页产生未保存修改后点击【返回】；分别点击确认弹窗的继续编辑/确定离开","点击继续编辑停留当前页且内容保留；点击确定离开返回列表且未保存内容不生效","/","/",""]
[18,"调整","后台","获取页面链接","草稿状态链接弹窗","P0","组装页已保存草稿但未发布","点击【获取链接】","弹窗仅展示草稿预览链接，不展示正式 H5 链接和正式小程序链接","/","/",""]
[19,"调整","后台","获取页面链接","待发布/正式链接弹窗","P0","组装页状态为待发布或正式","点击【获取链接】","弹窗展示正式环境 H5 链接、小程序链接和草稿预览链接；待发布时正式链接仍基于线上版本，草稿预览链接查看待发布内容","/","/",""]
[20,"调整","后台","获取页面链接","Campaign/Channel 参数拼接","P1","/","打开链接弹窗，分别选择 Campaign ID、Channel ID、同时选择两者，再清空选择","生成链接按选择结果追加或移除 Campaign、Channel 参数；参数为空时不拼接；复制内容与弹窗展示一致","真实 URL 参数名待接口字段确认，测试时以当前实现和字段映射为准","/",""]
[21,"新增","后台","获取页面链接","参数下拉接口异常","P1","可模拟 Campaign/Channel 下拉接口失败或返回空列表","打开获取链接弹窗并查看下拉框；尝试复制不带参数链接","接口失败时下拉为空并提示“参数选项获取失败”；仍可复制不带 Campaign/Channel 参数的链接","/","/",""]
[22,"新增","后台","获取页面链接","剪贴板权限失败","P1","/","关闭浏览器剪贴板权限后点击【复制链接】","复制失败时提示“复制失败，请手动复制”；链接文本仍可手动选中复制","/","/",""]
[23,"调整","后台","微信分享配置","自定义微信分享开关","P1","/","默认进入编辑页；勾选/取消勾选【自定义微信分享】并保存","默认关闭；勾选后展示分享缩略图和分享标题；取消后保存成功，移动端小程序环境禁用分享菜单","/","/",""]
[24,"保留","后台","微信分享配置","分享缩略图和标题必填","P1","/","开启自定义微信分享后分别不上传缩略图、不填写标题，点击保存草稿/发布上线","保存/发布失败，提示分享缩略图未上传或分享标题未填写","/","/",""]
[25,"调整","后台","微信分享配置","分享图片格式大小","P1","/","上传合法图片、非图片文件、超大图片作为分享缩略图","合法图片上传并预览；非法或超限文件按实际限制提示失败","文档仅建议 100x100，格式和大小限制待设计/技术确认","/",""]
[26,"保留","后台","模块通用","添加重复模块","P1","/","依次添加图片模块、图文模块、按钮模块；重复添加同类型模块；添加权益商品模块后再次查看添加入口","图片/图文/按钮模块允许重复添加并按顺序追加；权益商品模块每页仅允许一个，添加后入口隐藏或不可用","/","/",""]
[27,"保留","后台","模块通用","模块排序","P1","/","已有多个模块时输入目标序号排序；分别输入为空、非数字、越界、当前位置序号","合法序号时模块移动到目标位置；非法或当前位置时不移动并提示有效序号","/","/",""]
[28,"调整","后台","模块通用","模块复制","P1","/","复制图片、图文、按钮模块；尝试复制权益商品模块","图片/图文/按钮模块克隆当前配置并插入原模块下方；权益商品模块不展示复制入口或提示“权益商品模块每页仅限配置一个，无法复制！”","/","/",""]
[29,"调整","后台","模块通用","模块删除","P1","/","点击模块删除；在确认弹窗点击取消和确认；确认后分别不保存、保存草稿后重新进入","取消不删除；确认后前端移除模块；未保存离开不生效；保存后重新进入该模块不展示","模块删除需二次确认","/",""]
[30,"调整","后台","图片模块","图片上传必填","P1","/","添加图片模块后不上传图片，点击保存草稿/发布上线；再上传图片保存","未上传时提示“图片模块-第 N 个-图片未上传”；上传后可保存并回显预览","/","/",""]
[31,"删除/不适用","后台","图片模块","固定仅支持 JPG/JPEG/PNG","P1","/","旧用例：上传 GIF、PDF、TXT 等非支持格式应提示仅支持 JPG/JPEG/PNG","新版文档未明确格式和大小限制，不再作为固定验收口径","保留为待确认风险，不按删除功能缺陷处理","/",""]
[32,"调整","后台","图文模块","富文本能力","P1","/","配置加粗、斜体、下划线、有序/无序列表、一级至三级标题、链接、图片、清除格式后保存并重新进入","保存成功，编辑页回显正常；移动端按汇丰标准字体和富文本结构渲染","来源：3.4 图文模块","/",""]
[33,"删除/不适用","后台","图文模块","图文内容强制必填","P1","/","旧用例：图文模块内容为空时保存草稿失败","新版待确认问题说明该规则存在冲突，当前不作为强制必填验收项","若产品确认图文模块必填，应改回新增/调整用例","/",""]
[34,"删除/不适用","后台","图文模块","PDF 附件和表格能力","P1","/","旧用例：富文本插入 PDF 附件、表格后保存并移动端预览","新版图文能力未包含 PDF 附件和表格，不作为本轮功能范围","仅保留为扩展能力待确认","/",""]
[35,"调整","后台","权益商品模块","模块唯一性与操作","P1","/","添加权益商品模块；再次尝试添加；查看模块右上角操作","每页最多一个权益商品模块；支持排序、删除；不支持复制","/","/",""]
[36,"调整","后台","权益商品模块","标题与商品来源","P1","/","配置权益商品模块大标题为空/非空；准备权益商品“显示页面-组装页”包含当前页面；进入编辑页","大标题为空时仅隐藏标题，不影响商品列表；商品不在组装页内手工新增，来自权益商品配置和可见权益接口","/","/",""]
[37,"调整","后台","权益商品模块","商品展示条件","P1","/","分别准备已上架且审核通过并关联当前页、未上架、审核未通过、不关联当前页、展示时间不命中、客户不命中的商品","仅满足关联当前组装页且客户有权限/发放资格的商品可展示；不满足条件的商品不展示","/","/",""]
[38,"调整","后台","权益商品模块","商品排序来源","P1","/","权益商品模块内返回多个商品，调整或校验排序后发布","移动端按权益商品配置或接口返回顺序展示；排序来源不明确时记录待确认项","来源：待确认问题 7","/",""]
[39,"调整","后台","按钮模块","按钮数量与文案校验","P1","/","添加按钮模块后删除至无按钮；按钮文案为空/超长；点击保存草稿/发布上线","每个按钮模块至少一个按钮；按钮文案必填；超长按实现限制提示或阻断保存","新版明确按钮数量和文案为保存/发布校验项","/",""]
[40,"调整","后台","按钮模块","按钮样式","P1","/","分别配置红色主按钮和白色次按钮后保存发布","移动端主按钮展示红底白字，次按钮展示白底深色字/浅灰描边；异常样式值按 secondary 兜底","/","/",""]
[41,"新增","后台","按钮模块","H5 跳转配置校验","P0","/","按钮动作为跳转链接，链接类型选择 H5；分别不填 H5 地址、填写非法地址、填写合法地址后保存","未填写或非法时阻断保存并提示；合法 H5 地址保存成功","/","/",""]
[42,"新增","后台","按钮模块","小程序跳转配置校验","P0","/","按钮链接类型选择小程序；分别缺失 AppID、缺失页面路径、两者完整后保存","缺失时分别提示 AppID 或页面路径未填写；完整配置保存成功","/","/",""]
[43,"新增","后台","按钮模块","App pageId 跳转配置校验","P0","/","按钮链接类型选择 App；pageId 为空、非法、合法时分别保存","pageId 为空阻断保存；合法 pageId 保存成功；App 环境按 pageId 打开对应页面，小程序环境是否支持需记录","新版补充 App pageId","/",""]
[44,"新增","后台","按钮模块","固定目标跳转配置","P1","/","按钮链接类型选择太古地产、龙腾并保存发布","无需手工输入地址即可保存；移动端点击后按固定目标处理；是否第三方拦截按技术/合规确认","新版补充固定目标","/",""]
[45,"调整","后台","底部弹窗","弹窗内容必填","P1","/","按钮点击动作选择弹窗提示；分别缺失弹窗标题、描述、左侧取消按钮配置，点击保存","按缺失项阻断保存并提示；弹窗描述去除 HTML 标签后不能为空","/","/",""]
[46,"新增","后台","底部弹窗","右侧确认按钮开关","P1","/","弹窗提示中关闭右侧确认按钮展示并保存；再开启但不配置确认按钮文案/跳转目标保存","关闭时移动端仅展示取消/关闭能力；开启时确认按钮配置和确认跳转目标必填，缺失则阻断保存","/","/",""]
[47,"新增","后台","底部弹窗","确认按钮跳转类型","P1","/","弹窗确认按钮分别配置 H5、小程序、App pageId、太古地产、龙腾并保存发布","各跳转类型按普通按钮同一套校验执行；移动端点击确认后执行对应跳转，第三方目标先触发拦截","/","/",""]
[48,"新增","后台","组装页删除能力","列表删除入口待确认","P1","/","查看列表操作列是否存在删除组装页入口；若存在则执行删除取消/确认/权限校验","若产品未确认删除能力，列表不应出现显性删除入口；若出现，需有权限控制和二次确认","来源：待确认问题 11","/",""]

{"sheet":"移动端","index":2,"n_rows":41,"n_cols":12,"rows_kept":41,"cut":false,"hidden":false,"merged":[]}
["序号","变更类型","范围","功能模块","测试项目","优先级","前置条件","测试内容","期待结果","备注","UAT 测试人","UAT 测试结果"]
[1,"调整","移动端","页面访问","正式链接访问","P0","组装页状态为正式","使用正式 H5 链接或小程序链接打开组装页","页面读取当前线上正式配置，正常展示导航标题和各模块内容","/","/",""]
[2,"调整","移动端","页面访问","待发布正式访问","P0","页面曾发布过，当前状态为待发布","使用正式链接打开页面；再使用草稿预览链接打开页面","正式链接展示线上版本，不展示待发布修改；草稿预览链接展示待发布内容","/","/",""]
[3,"调整","移动端","页面访问","草稿访问控制","P1","页面为草稿，且未发布","分别使用草稿预览链接、非预览正式链接访问","草稿预览链接可查看草稿内容；非预览访问展示“页面暂不可访问”","草稿预览是否需后台登录权限仍待确认","/",""]
[4,"调整","移动端","页面访问","页面 ID 缺失或不存在","P1","/","打开未携带页面 ID 的链接；打开不存在或已失效页面 ID 的链接","页面不加载组装页内容，展示“页面不存在或已失效”或等价错误提示","/","/",""]
[5,"新增","移动端","页面访问","详情接口异常","P1","可模拟查询组装页详情接口超时/失败","打开组装页并触发接口异常；点击重试","H5 展示加载失败或重试提示，不展示脏数据；重试成功后正常渲染","/","/",""]
[6,"调整","移动端","导航栏","页面标题读取与兜底","P1","/","后台配置组装页名称为空、超长、接口异常三类数据并打开移动端","正常时展示后台组装页名称；超长单行省略且不遮挡返回按钮；为空或接口异常时展示兜底“组装页”并记录日志","/","/",""]
[7,"保留","移动端","导航栏","返回按钮","P1","/","从上一业务页面进入后点击返回；无上一页时点击返回；模拟返回失败","优先返回上一页；无上一页时关闭 WebView 或返回权益首页；返回失败时停留当前页","无上一页策略待端能力确认","/",""]
[8,"保留","移动端","页面骨架","安全区和滚动","P1","/","在 iOS、Android 长页面连续滚动到底部并反复返回顶部","内容不被状态栏、导航栏、Home Indicator 或系统返回区遮挡；模块之间不重叠、不跳动","/","/",""]
[9,"保留","移动端","模块渲染","模块顺序","P1","/","后台配置图片、图文、按钮、权益商品等多模块并调整排序后发布","移动端按后台排序自上而下渲染；重复图片/图文/按钮模块全部展示","/","/",""]
[10,"调整","移动端","模块渲染","隐藏模块不占位","P1","/","配置图片为空、图文为空、权益商品无可见商品等场景后打开页面","需隐藏的模块不保留空白占位，后续模块自然上移；其他模块正常展示","/","/",""]
[11,"调整","移动端","微信分享","非小程序环境","P1","/","在 App 内 H5 容器或普通浏览器打开组装页","不调用微信小程序原生分享控制逻辑，页面内容正常展示","/","/",""]
[12,"调整","移动端","微信分享","小程序分享关闭","P1","/","后台关闭自定义微信分享，在微信小程序内打开页面并点击分享入口","小程序分享菜单被禁用、置灰或隐藏；不影响页面浏览","/","/",""]
[13,"调整","移动端","微信分享","小程序分享开启","P0","/","后台开启自定义分享并配置标题、缩略图；小程序内触发分享","分享卡片标题和缩略图取后台配置；分享链接携带页面 ID，并保留原 Campaign ID、Channel ID 参数","/","/",""]
[14,"新增","移动端","微信分享","分享配置缺失与 SDK 异常","P1","/","开启自定义分享但标题/缩略图缺失；模拟小程序 SDK 初始化失败","配置缺失按关闭处理并记录配置异常；SDK 初始化失败不影响页面浏览，但分享入口不可用","/","/",""]
[15,"保留","移动端","图片模块","图片展示","P1","/","后台配置 750px 宽图片、不同高宽比图片、多张图片模块并打开移动端","图片按屏幕 100% 宽度展示，高度按原始比例自适应，不拉伸变形；多图按后台顺序展示","/","/",""]
[16,"调整","移动端","图片模块","图片交互和异常","P1","/","点击图片模块；模拟图片资源加载失败","图片不支持点击跳转、放大预览或长按操作；加载失败时隐藏或展示占位并记录日志，其他模块继续展示","/","/",""]
[17,"调整","移动端","图文模块","富文本样式渲染","P1","/","后台配置加粗、斜体、下划线、有序/无序列表、一至三级标题、图片、清除格式后打开移动端","移动端按富文本内容渲染，使用汇丰标准字体，排版不破坏移动端阅读","/","/",""]
[18,"调整","移动端","图文模块","富文本链接","P0","/","点击富文本中的汇丰内部链接、第三方外链、空链接/非法链接","内部链接通过内置浏览器或端能力打开；第三方链接先展示离开汇丰确认弹窗；空或非法链接无响应并记录日志","/","/",""]
[19,"新增","移动端","图文模块","富文本安全过滤","P0","/","富文本中包含 script、onclick、超长连续字符、超宽图片后打开页面","危险脚本被过滤且不执行；超长文本和图片不撑破屏幕，不导致页面整体横向滚动","/","/",""]
[20,"删除/不适用","移动端","图文模块","PDF 附件预览","P1","/","旧用例：点击富文本内 PDF 附件拉起预览","新版功能范围未包含 PDF 附件，不作为本轮移动端验收项","/","/",""]
[21,"删除/不适用","移动端","图文模块","富文本宽表格横向滚动","P1","/","旧用例：富文本宽表格可横向滚动查看","新版功能范围未包含表格能力，不作为本轮移动端验收项","/","/",""]
[22,"调整","移动端","权益商品模块","客户可见权益过滤","P0","/","分别使用命中/不命中客户标签、发放资格、组装页展示配置的客户打开页面","仅展示当前客户有权限且关联当前组装页的权益商品；不命中商品不展示","/","/",""]
[23,"调整","移动端","权益商品模块","无可见商品","P1","/","当前客户无任何可见权益商品时打开页面","权益商品模块整体隐藏，包括大标题，不展示空态且不保留空白占位","/","/",""]
[24,"调整","移动端","权益商品模块","商品字段展示","P1","/","权益商品返回图标、名称、简介；分别模拟图标为空、名称为空、简介为空、名称/简介超长","图标为空展示默认图标；名称为空剔除异常商品并记录日志；简介为空仅展示名称；超长按单行/两行省略","/","/",""]
[25,"新增","移动端","权益商品模块","可见权益接口异常","P1","可模拟查询组装页可见权益接口失败","打开包含权益商品模块的页面并触发接口失败","权益商品模块隐藏并记录接口异常日志，不影响图片、图文、按钮等其他模块展示","/","/",""]
[26,"调整","移动端","权益商品模块","商品点击与登录态","P0","/","登录客户点击商品；未登录客户点击商品并完成 SSO；登录失败/取消","登录客户进入承接页；未登录客户触发 SSO，登录后回到原商品跳转链路；登录失败或取消时停留当前页或返回登录前状态","/","/",""]
[27,"新增","移动端","权益商品模块","商品承接类型","P1","/","权益商品承接页类型分别为详情页、H5 地址、小程序、App pageId、第三方固定链接、异常值和空地址","合法类型按端能力打开；第三方目标先拦截确认；异常值不跳转；空地址点击提示“暂不可访问”","/","/",""]
[28,"调整","移动端","按钮模块","按钮样式和布局","P1","/","同一按钮模块配置一个或多个主按钮/次按钮并打开页面","主按钮为汇丰红底白字，次按钮为白底深色字浅灰描边；多个按钮按后台顺序纵向排列，宽度为内容区域 100%","/","/",""]
[29,"新增","移动端","按钮模块","H5 跳转","P1","/","按钮配置汇丰内部 H5、第三方 H5；分别在 App 内 H5 和小程序环境点击","内部 H5 按当前环境 WebView/端约定打开；第三方 H5 先展示离开汇丰确认弹窗","/","/",""]
[30,"新增","移动端","按钮模块","小程序和 App pageId 跳转","P1","/","按钮配置小程序 AppID/页面路径、App pageId；分别在 App 内 H5 和微信小程序环境点击","按当前端能力拉起对应小程序页面或 App 内部页面；不支持时给出失败提示或无动作并记录日志","小程序环境是否支持 App pageId 待确认","/",""]
[31,"新增","移动端","按钮模块","固定目标跳转","P1","/","按钮配置太古地产、龙腾固定目标并点击","点击后按固定服务跳转；当前按第三方目标处理，跳转前展示离开汇丰确认弹窗","固定目标真实地址待技术确认","/",""]
[32,"调整","移动端","底部弹窗","弹窗展示与关闭","P1","/","点击配置为弹窗提示的按钮；分别点击右上角关闭、左侧取消按钮、遮罩层","底部弹窗展示后台配置的标题、描述、取消按钮和按配置展示的确认按钮；关闭/取消/遮罩仅关闭弹窗，不执行跳转","/","/",""]
[33,"新增","移动端","底部弹窗","确认按钮隐藏","P1","/","后台关闭右侧确认按钮展示后打开弹窗","弹窗不展示确认按钮，仅保留取消/关闭能力；布局不留异常空位","/","/",""]
[34,"调整","移动端","底部弹窗","确认按钮跳转","P0","/","弹窗确认按钮分别配置内部链接、第三方链接、小程序、App pageId、固定目标；点击确认","内部目标关闭弹窗后直接跳转；第三方目标关闭底部弹窗后展示离开汇丰确认弹窗；跳转失败提示“跳转失败，请稍后重试”","/","/",""]
[35,"新增","移动端","第三方拦截","拦截弹窗文案","P0","/","通过富文本链接、按钮跳转、弹窗确认、权益商品点击触发第三方目标","跳转前展示居中弹窗；标题固定“您正在离开汇丰中国”；取消和继续前往按钮固定展示","/","/",""]
[36,"新增","移动端","第三方拦截","取消和继续前往","P0","/","在第三方拦截弹窗点击取消；再次触发后点击继续前往；模拟目标打开失败","取消后关闭弹窗并停留当前组装页；继续前往后打开目标第三方页面；打开失败提示“跳转失败，请稍后重试”","/","/",""]
[37,"删除/不适用","移动端","第三方拦截","固定白名单 hsbc.com/test.hsbc.com","P1","/","旧用例：点击 hsbc.com、hsbc.com.cn 或 test.hsbc.com 链接不展示外链确认","新版未明确白名单域名范围，不保留固定白名单断言；以合规/技术确认清单为准","来源：待确认问题 5","/",""]
[38,"新增","移动端","投放参数","Campaign/Channel 参数透传","P1","/","通过带 Campaign ID、Channel ID 的链接进入页面后触发分享、按钮跳转、权益商品点击","分享链接保留投放参数；按钮/权益点击埋点记录 Campaign ID、Channel ID；是否透传到目标 URL 按实现确认","/","/",""]
[39,"新增","移动端","埋点与日志","关键事件上报","P1","/","依次触发页面访问、微信分享、权益曝光、权益点击、按钮点击、弹窗展示/确认、第三方拦截确认","按埋点需求记录页面编号、客户编号、Campaign/Channel、触发来源、目标类型等字段；客户编号和目标地址按脱敏规则处理","/","/",""]
[40,"新增","移动端","稳定性","弱网和多模块加载","P1","/","弱网环境打开包含多图片、多图文、多权益商品和多个按钮的长页面","页面不长时间白屏；已加载模块可正常浏览；接口或资源失败时局部兜底，不阻断整体页面","/","/",""]

{"sheet":"接口权限埋点","index":3,"n_rows":17,"n_cols":12,"rows_kept":17,"cut":false,"hidden":false,"merged":[]}
["序号","变更类型","范围","功能模块","测试项目","优先级","前置条件","测试内容","期待结果","备注","UAT 测试人","UAT 测试结果"]
[1,"新增","接口","查询组装页列表","入参校验","P1","/","调用列表查询接口，分别传页面 ID、页面名称、分页参数、空条件","接口按条件返回列表和分页信息；空条件返回默认分页列表；参数异常时返回可识别错误","虚拟接口，待技术确认","/",""]
[2,"新增","接口","查询组装页列表","发布状态枚举","P1","/","接口返回草稿、待发布、正式、异常枚举值","前端分别映射为“草稿”“待发布”“正式”；异常值按草稿展示并记录日志","/","/",""]
[3,"新增","接口","查询组装页详情","草稿预览与访问控制","P1","/","按页面编号和是否草稿预览参数查询详情；分别查询草稿、待发布、正式页面","草稿预览读取草稿内容；非预览访问草稿不返回可展示内容；待发布正式访问仍返回线上版本","/","/",""]
[4,"新增","接口","查询组装页详情","模块列表结构","P1","/","接口返回图片、图文、权益商品、按钮、弹窗等模块配置","模块类型、排序、字段、跳转配置完整；异常模块类型被忽略或按兜底处理，不影响其他模块","/","/",""]
[5,"新增","接口","保存组装页配置","保存类型","P1","/","分别以保存类型=草稿、发布调用保存接口","保存草稿后状态为草稿或待发布；发布后状态为正式；失败时返回明确失败文案","/","/",""]
[6,"新增","接口","保存组装页配置","字段校验","P1","/","缺失组装页名称、分享必填项、图片、按钮文案、跳转字段、弹窗字段等调用保存","接口或前端阻断保存，并返回/展示具体缺失项，不丢失已填写内容","/","/",""]
[7,"新增","接口","查询组装页可见权益","客户可见权益","P1","/","按页面编号、客户编号、Campaign、Channel 查询权益列表","返回客户有权限且关联当前组装页的权益；无可见权益返回空列表；接口失败时移动端隐藏权益模块","/","/",""]
[8,"新增","接口","查询组装页可见权益","商品字段异常","P1","/","返回权益编号为空、权益名称为空、承接页类型异常、承接页地址为空的商品","编号或名称为空的商品剔除；承接页类型异常不允许跳转；地址为空点击提示“暂不可访问”","/","/",""]
[9,"新增","接口","查询 Campaign/Channel 选项","选项获取","P1","/","分别查询 Campaign、Channel 选项；模拟空列表、接口失败、名称为空","正常时下拉展示 ID 与名称；空列表下拉为空；失败提示参数选项获取失败；名称为空时展示编号","/","/",""]
[10,"新增","权限","后台权限","查看/新建/编辑/发布/复制链接","P0","/","分别使用只有查看、无查看、有编辑无发布、有发布、有复制链接权限的账号操作","菜单、按钮、编辑区、保存、发布和复制链接能力严格按权限展示或禁用；越权请求被后端拒绝","/","/",""]
[11,"新增","权限","移动端权益权限","客户权益可见权限","P0","/","使用不同客户标签、发放计划、权益商品展示页面配置组合访问组装页","未授权商品不展示；授权商品展示；权限变化后刷新页面展示结果同步变化","/","/",""]
[12,"新增","日志","移动端埋点","页面访问与分享","P1","/","打开页面并触发微信分享","记录组装页访问事件和微信分享事件，字段包含页面编号、组装页名称、Campaign、Channel、客户编号、时间、环境","/","/",""]
[13,"新增","日志","移动端埋点","权益曝光和点击","P1","/","展示权益商品模块并点击权益商品，分别模拟跳转成功和失败","记录权益曝光、权益点击事件；点击事件包含权益编号、承接页类型；跳转失败记录失败原因","/","/",""]
[14,"新增","日志","移动端埋点","按钮和弹窗","P1","/","点击按钮、展示底部弹窗、点击弹窗确认和取消","记录按钮点击、弹窗展示、弹窗确认/取消事件；字段包含页面编号、按钮序号、文案、动作类型、跳转类型","/","/",""]
[15,"新增","日志","第三方拦截","合规审计日志","P0","/","触发第三方拦截弹窗并点击继续前往","记录第三方拦截确认事件，字段包含页面编号、触发来源、目标类型、目标地址、客户编号；目标地址按脱敏规则记录","/","/",""]
[16,"新增","日志","后台审计","保存与复制链接日志","P1","/","后台保存草稿、发布上线、复制链接","记录操作人、页面编号、保存类型、变更摘要、链接类型、Campaign、Channel、操作时间，便于审计和追溯","/","/",""]