Files
websopy-taro/.workbuddy/memory/2026-06-30.md
赵忠林 e6c7ffa46c fix(index): 优化外链提示及删除复制咨询模板功能
- 替换小程序内外链打开方式提示为弹窗提醒用户手动复制
- 删除复制咨询模板功能及相关按钮
- 修改联系我们文案,突出直接电话沟通或需求反馈
- 移除无用导入的复制文本工具函数copyText
2026-06-30 18:18:38 +08:00

62 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 修复 WXSS 不兼容的 .\!visible CSS 选择器
- **问题**: Tailwind JIT 引擎把 JS 代码 `if (!visible)` 误识别为 `!visible` important 修饰符类名,生成 `.\!visible` CSS 选择器WXSS 不支持反斜杠转义的 `!`
- **修复**: 创建 PostCSS 插件 `postcss-remove-tailwind-important.js` 移除所有 `.\!xxx` 选择器
- **配置**: 更新 `postcss.config.js` 引入该插件(使用函数引用方式,非字符串模块名)
- **验证**: 构建通过,`.\!visible` 从输出中移除,`.visible` 保留
- **注意**: 项目中实际无人使用 Tailwind 的 `!` 修饰符类名,安全移除。将来若需使用,需创建对应 WXSS 兼容类名
## 替换项目中不兼容 WXSS 的 space-x/y-* 类名
- **问题**: `space-y-*` / `space-x-*` 依赖 `:not()` + `~` + CSS 变量 + 嵌套 calc()WXSS 不兼容
- **修复**:
- 源码中将所有 `space-y-*` 替换为 `flex flex-col gap-*`
- 注释中的 `space-y-*` 也一并替换,防止 Tailwind JIT 误扫描生成
- 扩展 PostCSS 插件为 `postcss-remove-wxss-incompatible.js`,一并移除 `space-*``divide-*` 规则
- 删除旧的 `postcss-remove-tailwind-important.js` 文件
- **涉及文件**: dealer/qrcode/index.tsx, dealer/invite-stats/index.tsx, components/QRScanModal.tsx
- **验证**: 构建通过,所有不兼容选择器已从输出中移除
## 审查并修复剪切板接口合规问题
- **问题**: 用户截图显示「复制成功」与系统「内容已复制」重复 Toast担心违反 5.15.4 剪切板接口滥用规范
- **审查结果**:
- 所有复制操作均为用户点击触发,无 `getClipboardData` 自动读取
- 无复制后强制跳转或中断业务流程
- 当前实现基本合规,主要问题是重复 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` 构建成功
## 去掉首页「复制咨询模板」按钮及复制逻辑
- **问题**: `wx.setClipboardData` 在小程序开发者工具中报 `no permission` 错误,且审核对复制功能敏感
- **修复**:
- 移除 `src/pages/index/index.tsx` 中的 `copyConsultTemplate` 函数
- 删除「复制咨询模板」按钮,只保留「电话咨询」
- 修改联系我们区域文案,去掉「复制咨询模板」相关描述
- `openMaybeLink` 中外链不再调用 `copyText`,改为 `Taro.showModal` 提示用户手动复制到浏览器打开
- 移除首页对 `copyText` 的 import
- **验证**: `npx taro build --type weapp` 构建成功,首页无复制相关调用
- **备注**: 项目其他页面仍有复制功能(如礼品卡分享、优惠券分享、订单号复制、密钥复制等),如需要可继续逐个移除