fix(utils): 优化小程序端复制文本功能体验

- 小程序端直接调用原生 wx.setClipboardData,避免 Taro Promise 封装问题
- 避免微信小程序重复显示复制成功提示和误报复制失败
- 失败时仅在小程序端输出错误日志,非小程序端显示提示
- 修改首页外链跳转逻辑,支持相对路径跳转,小程序内外链复制提示提升用户体验
- 更新项目内剪切板使用规范文档,说明复制行为调整及符合相应规范要求
This commit is contained in:
2026-06-30 18:10:29 +08:00
parent 93c66e1f14
commit dd183adaab
4 changed files with 63 additions and 19 deletions

View File

@@ -27,3 +27,23 @@
- 当前实现基本合规,主要问题是重复 Toast 影响体验
- **修复**: 更新 `src/utils/common.ts` 中的 `copyText` 函数小程序端不再显示自定义「复制成功」Toast由系统自带提示替代
- **验证**: weapp 构建通过
## 修复首页「复制失败」Toast 问题
- **问题**: 微信审核反馈小程序打开首页提示「复制失败」,截图显示该 Toast 来自产品矩阵页面
- **分析**:
- 首页无生命周期自动复制,复制均由用户点击触发
- 「立即开通」按钮点击后通过 `copyText` 复制外链,`copyText``fail` 回调会弹「复制失败」Toast
- 部分机型/场景下 `Taro.setClipboardData` 可能误报失败,导致审核不通过
- **修复**:
- 更新 `src/utils/common.ts``copyText`:小程序端直接调用原生 `wx.setClipboardData`,失败时只 `console.error` 不弹 Toast
- 优化 `src/pages/index/index.tsx``openMaybeLink`:相对路径改为 `Taro.navigateTo` 跳转,仅外链复制
- 「了解模板/插件市场」按钮不再调用 `openMaybeLink('/market')`,仅保留提示 Toast
- **验证**: weapp 构建通过dist 中不再包含「复制失败」字符串
## 修复 wx 全局变量 TypeScript 红色警告
- **问题**: `src/utils/common.ts` 中使用 `wx.setClipboardData`TypeScript 报「Cannot find name 'wx'」红色警告
- **原因**: 项目没有声明微信小程序原生全局对象 `wx` 的类型
- **修复**: 在 `types/global.d.ts` 中添加 `declare const wx: any;` 全局类型声明
- **验证**: `tsc` 不再报 `common.ts` 相关错误,`npx taro build --type weapp` 构建成功