feat(app): share redesign — card share (system), QR poster (banner+title+time+venue+QR, downloadable), copy link

- 三方式(用户需求):①卡片模式默认=系统分享面板(share_plus SharePlus.
  instance,微信/其他应用,文本=标题+链接)②生成二维码=海报弹层——顶部
  宣传图(banner→cover→品牌占位回退)+ 活动标题 + 时间 + 地址 + 二维码,
  「下载海报图」RepaintBoundary 3x 渲染 PNG → gal 存相册 ③复制链接
- 依赖 share_plus + gal;分享/保存均 Provider 注入(测试替身)
- 测试适配三方式结构 + 海报弹层断言(397/397 全绿、analyze 0)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-23 11:27:32 +08:00
parent 8768a04a75
commit df0c318599
9 changed files with 452 additions and 69 deletions
@@ -1981,6 +1981,36 @@ abstract class AppLocalizations {
/// In zh, this message translates to:
/// **'宣传图上传失败'**
String get bannerUploadFailed;
/// No description provided for @shareCardMode.
///
/// In zh, this message translates to:
/// **'分享到微信 / 其他应用'**
String get shareCardMode;
/// No description provided for @sharePosterMode.
///
/// In zh, this message translates to:
/// **'生成二维码海报'**
String get sharePosterMode;
/// No description provided for @posterDownload.
///
/// In zh, this message translates to:
/// **'下载海报图'**
String get posterDownload;
/// No description provided for @posterSaved.
///
/// In zh, this message translates to:
/// **'海报已保存到相册'**
String get posterSaved;
/// No description provided for @posterSaveFailed.
///
/// In zh, this message translates to:
/// **'海报保存失败'**
String get posterSaveFailed;
}
class _AppLocalizationsDelegate