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

@@ -70,14 +70,18 @@ function Home() {
const openMaybeLink = (url?: string) => {
if (!url) return
// 小程序内无法直接打开外链,这里统一“复制链接”降低认知成本
const abs = toAbsoluteMaybe(url)
// 相对路径在小程序内直接跳转
if (url.startsWith('/')) {
Taro.navigateTo({ url })
return
}
// 外链在小程序内无法直接打开,复制链接降低认知成本
if (/^https?:\/\//i.test(abs)) {
copyText(abs)
return
}
Taro.showToast({ title: '请在 PC 端访问该入口', icon: 'none', duration: 1600 })
copyText(abs)
}
const copyConsultTemplate = () => {
@@ -440,7 +444,6 @@ function Home() {
block
onClick={() => {
Taro.showToast({ title: '该入口可对接到模板/插件市场', icon: 'none', duration: 1600 })
openMaybeLink('/market')
}}
>
/