From 9a3ccabcc9ddaf6903c2334bf528721dbbc78348 Mon Sep 17 00:00:00 2001 From: jacy <18049821889@163.com> Date: Wed, 15 Jul 2026 20:48:33 +0800 Subject: [PATCH] fix(mini-user): address textarea freeze, input align, wechat share invoke Co-authored-by: Cursor --- apps/mini-user/src/components/ShareGuide.css | 56 ++++++++ .../src/components/ShareNavButton.tsx | 36 +++-- apps/mini-user/src/lib/wechat-share.ts | 40 +++--- .../src/pages/address-edit/index.tsx | 26 +++- apps/mini-user/src/styles/address.css | 11 ++ apps/mini-user/src/styles/redeem.css | 23 ++++ apps/mini-user/src/styles/stores.css | 19 +++ packages/weixin-sdk/src/index.ts | 5 +- packages/weixin-sdk/src/share.ts | 127 +++++++++++++++--- packages/weixin-sdk/src/types.ts | 2 + 10 files changed, 299 insertions(+), 46 deletions(-) create mode 100644 apps/mini-user/src/components/ShareGuide.css diff --git a/apps/mini-user/src/components/ShareGuide.css b/apps/mini-user/src/components/ShareGuide.css new file mode 100644 index 0000000..c3be877 --- /dev/null +++ b/apps/mini-user/src/components/ShareGuide.css @@ -0,0 +1,56 @@ +.share-guide { + position: fixed; + inset: 0; + z-index: 10000; + background: rgba(0, 0, 0, 0.55); + display: flex; + flex-direction: column; + align-items: flex-end; + padding: 12px 16px; + box-sizing: border-box; +} + +.share-guide__arrow { + width: 0; + height: 0; + margin-right: 18px; + border-left: 10px solid transparent; + border-right: 10px solid transparent; + border-bottom: 14px solid #fff; + filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.12)); +} + +.share-guide__card { + margin-top: 0; + margin-right: 8px; + max-width: 260px; + padding: 16px 18px; + border-radius: 12px; + background: #fff; + box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18); + text-align: left; +} + +.share-guide__title { + display: block; + font-size: 16px; + font-weight: 700; + color: #1a1a1a; + margin-bottom: 8px; +} + +.share-guide__desc { + display: block; + font-size: 13px; + line-height: 1.5; + color: #666; +} + +.share-guide__ok { + display: block; + margin-top: 14px; + text-align: right; + font-size: 14px; + font-weight: 600; + color: #a61d24; +} diff --git a/apps/mini-user/src/components/ShareNavButton.tsx b/apps/mini-user/src/components/ShareNavButton.tsx index 30e83ae..35d98b4 100644 --- a/apps/mini-user/src/components/ShareNavButton.tsx +++ b/apps/mini-user/src/components/ShareNavButton.tsx @@ -1,5 +1,7 @@ +import { useState } from 'react'; import { Button, Text, View } from '@tarojs/components'; import { handleShareButtonClick, type PageSharePayload } from '../lib/wechat-share'; +import './ShareGuide.css'; type ShareNavButtonProps = { payload?: PageSharePayload; @@ -8,9 +10,11 @@ type ShareNavButtonProps = { /** * 顶栏分享: * - 小程序:open-type=share 弹出微信分享面板 - * - H5 微信:JSSDK 配置后提示点右上角 ··· + * - H5 微信:JSSDK share / 右上角引导蒙层 */ export default function ShareNavButton({ payload }: ShareNavButtonProps) { + const [guideVisible, setGuideVisible] = useState(false); + if (process.env.TARO_ENV === 'weapp') { return (