FIT2CLOUD
自定义社交分享卡片 的图标

自定义社交分享卡片

1,483
628

将网址、图片、音乐、视频、文件封装为卡片样式分享至微信或QQ,并提供数据看板功能

v1.0.8
Avrinbai 发布于

v1.0.8

最新
>=2.23.0

更新日志

v1.0.8

新增

  • 媒体类卡片(图片 / 音频 / 视频 / 文件)新增 /view/{sid} 分享落地页:

    • 微信 / QQ 二次分享打开此页
  • 访问统计新增「分享落地」类型(VIEW):

    • 与推广页访问区分

修复

  • 修复非链接类卡片依赖 ?hint=0 隐藏提示、在 QQ 内易丢失 query 参数导致被分享者仍看到引导文案的问题

  • 兼容旧分享链接:

    • /share/{sid}?hint=0
    • 自动 302 跳转至 /view/{sid}

优化

  • 移除 JS「分享后自动隐藏提示」逻辑:
    • 分享 URL 改为独立 path
    • 行为更加稳定

资源下载

  • plugin-wechat-share-1.0.8.jar
v1.0.7
Avrinbai 发布于
>=2.23.0

更新日志

v1.0.7

新增

  • 支持 手机 QQ 自定义分享卡片:落地页注入 mqq.invoke('data','setShareInfo') 与 Open Graph 式 meta 标签(无需额外 AppId)
  • 公开链接支持 path 形式/wechat-share/share/{sid}/wechat-share/go/{sid}(兼容原有 ?sid= 写法)
  • 数据看板访问环境增加 手机 QQ 统计维度

修复

  • 修复 QQ 打开分享链时 丢失 sid 参数(仅剩 qq_aio_chat_type)导致白屏或无效页的问题
  • 修复 链接卡片 在 QQ 内分享后点开仍停留在扫码落地页、未跳转外链的问题(QQ 分享链改为 /go/{sid}
  • 修复图片 / 音频 / 视频 / 文件卡片在右上角分享后,「分享后将自动隐藏」提示仍不消失 的问题(分享面板返回后自动隐藏,并写入 session;对外链附带 ?hint=0
  • 微信 JSSDK 签名 URL 对齐外部访问地址;分享图补全绝对地址
  • 公开路由 Filter 异常时回退到 Halo 默认链路,避免空响应

优化

  • 控制台二维码与推广链接统一为 path 形式,更适配 QQ 内置浏览器
  • QQ setShareInfo 的标题 / 摘要 / 分享 URL 按官方限制做 UTF-8 字节截断
  • 插件展示名称与描述更新为支持微信、QQ 双端分享

资源下载

  • plugin-wechat-share-1.0.7.jar
v1.0.6
Avrinbai 发布于
>=2.23.0

更新日志

新增

  • 分享二维码生成本地化:集成 ZXing,创建/更新卡片后生成 PNG,写入 spec.shareQrcodeBase64 / spec.shareQrcodeMimeType 并持久化;控制台列表与「查看二维码」通过管理端接口读取 Data URL不再依赖第三方二维码 HTTP 接口。
  • 链接类型落地页:优化样式

优化

  • 索引与回填ExtensionSchemeRegistryspec.cardKind / spec.visitedAt 等注册索引;启动时 WechatShareVisitCardKindBackfill 对历史无 cardKind 的访问记录按 SID 回填,保证筛选与展示一致。
  • 设置保存 UXPUT /settings 成功后 setTimeout + location.reload,使 Console 子应用与 experimentalIpLookupEnabled 等开关立即反映到 useVisitIpLookup 与列表请求。
  • 落地页工程化WechatSharePageRenderer 抽离 SharePageCopy / SharePageConstants / SharePageSvgSnippets;固定文案与微信脚本提示统一 HtmlEscapes / ObjectMapper 输出;StringBuilder 预设容量
  • 控制台:插件设置 移除「二维码上游接口」(扩展旧字段仅兼容,服务端不再读取)。

修复

  • 筛选一致性:历史访问 spec.cardKind 为空时,列表展示曾与索引/查询不一致导致非 link 类型筛选异常;回填 + 查询归一化后与 WechatShareCardKind.normalize 对齐。
  • 文件类型落地页fp-hint 补全 </p>,消除无效 HTML。
  • 二维码配置WechatShareSettingsService.normalizeSpec 不再写入默认第三方 qrcodeApiBase;移除 QrUpstreamGuard 及仅服务 HTTP 上游的遗留逻辑。
  • 微信 JSSDK 签名 URL 对齐外部访问地址;分享图补全绝对地址

资源下载

  • plugin-wechat-share-1.0.6.jar
v1.0.5
Avrinbai 发布于
>=2.23.0

更新日志

新增

  • 分享二维码生成本地化:集成 ZXing,创建/更新卡片后生成 PNG,写入 spec.shareQrcodeBase64 / spec.shareQrcodeMimeType 并持久化;控制台列表与「查看二维码」通过管理端接口读取 Data URL不再依赖第三方二维码 HTTP 接口。
  • 链接类型落地页:优化样式

优化

  • 索引与回填ExtensionSchemeRegistryspec.cardKind / spec.visitedAt 等注册索引;启动时 WechatShareVisitCardKindBackfill 对历史无 cardKind 的访问记录按 SID 回填,保证筛选与展示一致。
  • 设置保存 UXPUT /settings 成功后 setTimeout + location.reload,使 Console 子应用与 experimentalIpLookupEnabled 等开关立即反映到 useVisitIpLookup 与列表请求。
  • 落地页工程化WechatSharePageRenderer 抽离 SharePageCopy / SharePageConstants / SharePageSvgSnippets;固定文案与微信脚本提示统一 HtmlEscapes / ObjectMapper 输出;StringBuilder 预设容量
  • 控制台:插件设置 移除「二维码上游接口」(扩展旧字段仅兼容,服务端不再读取)。

修复

  • 筛选一致性:历史访问 spec.cardKind 为空时,列表展示曾与索引/查询不一致导致非 link 类型筛选异常;回填 + 查询归一化后与 WechatShareCardKind.normalize 对齐。
  • 文件类型落地页fp-hint 补全 </p>,消除无效 HTML。
  • 二维码配置WechatShareSettingsService.normalizeSpec 不再写入默认第三方 qrcodeApiBase;移除 QrUpstreamGuard 及仅服务 HTTP 上游的遗留逻辑。

v1.0.4
Avrinbai 发布于
>=2.23.0

新增

  • 数据看板:控制台新增「数据看板」页签,支持访问概览、近七日趋势、访问量排行与访问明细。
  • 实验性功能IP 归属查询:默认关闭可在插件设置中开启;查询结果写入访问记录扩展并持久化,访问明细列表与详情展示「IP / 归属」格式。

优化

  • 索引与回填ExtensionSchemeRegistryspec.cardKind / spec.visitedAt 等注册索引;启动时 WechatShareVisitCardKindBackfill 对历史无 cardKind 记录按 SID 回填空值,保证筛选与展示一致。
  • 设置保存 UXPUT /settings 成功后 setTimeout + location.reload,保证 Console 子应用与 experimentalIpLookupEnabled 等开关立即反映到 useVisitIpLookup 与列表请求。

修复

  • 筛选一致性:历史访问 spec.cardKind 为空时,列表展示曾从卡片反推类型,但索引/查询与持久化不一致导致「非 link 无数据」;回填 + 查询归一化后行为与 WechatShareCardKind.normalize 对齐。

资源下载

  • plugin-wechat-share-1.0.4.jar
v1.0.3
Avrinbai 发布于
>=2.23.0

版本更新说明

优化

  • 前台链接类型页面样式优化;
  • 控制台插件配置样式优化。

修复

  • 控制台插件配置报错无法保存信息问题;
  • 控制台插件的卡片列表switch无法使用问题;
  • 控制台插件内新增卡片后在无刷新页面情况下无法继续新增卡片选择附件问题;
  • 前台无报错场景下出现警告卡片问题。

资源下载

  • plugin-wechat-share-1.0.3.jar
v1.0.2
Avrinbai 发布于
>=2.23.0

版本更新说明 🎉

新增

  • 控制台插件列表按卡片类型过滤
  • 控制台插件列表快捷启用/禁用该卡片

优化

  • 控制台样式调整优化
  • 前台部分页面样式优化

资源下载

  • plugin-wechat-share-1.0.2.jar
v1.0.1
Avrinbai 发布于
>=2.23.0

版本更新说明 🎉

功能特性

  • 多类型分享卡片:除「链接卡片」外,新增 图片 / 音频 / 视频 / 文件 卡片类型;各类型独立落地页版式(封面、介绍、媒体区、相关说明等),数据仍按 SID 存 Halo 扩展资源
  • 控制台编辑体验:新建/编辑时可选卡片类型;表单字段按类型联动;侧栏 实时预览 与访客落地页结构、样式对齐(含图片卡 in-* 相关说明等)
  • 分享策略:链接类分享仍指向 /go?sid= 直达跳转;图片/音频/视频/文件等二次分享仍回流 /share?sid=(与前台 hint 逻辑一致)
  • 分享卡片管理:列表、复制分享链接、二维码预览;插件配置(公众号 AppId / AppSecret、换票与 wx.config 签名、公开路径前缀、二维码上游接口等)延续并适配多类型

站点前台

  • 分享页…/share?sid=…):按卡片类型输出对应页面;微信内 JSSDK 注入,更新 朋友圈 / 会话 分享数据
  • 跳转页…/go?sid=…):302 跳转至卡片配置的落地 URL(http/https

改进与可靠性

  • 二维码拉取安全:对上游 URL 做主机与网络侧约束,不跟随 HTTP 重定向,降低误配被滥用风险
  • 微信换票可观测与熔断:换票失败结构化日志(不含密钥);连续失败短时熔断;解析微信 errcode 便于排查
  • HTML 文本转义:访客提示与落地页统一封装,降低 XSS 风险

环境要求

  • Halo ≥ 2.23.0

资源下载

  • plugin-wechat-share-1.0.1.jar
1.0.0
Ryan Wang 发布于
>=2.23.0

首个版本发布 🎉

功能特性

  • 分享卡片管理(新增、编辑、删除;标题 / 摘要 / 封面 / 跳转链接,独立 SID 与扩展存储)
  • 控制台列表(复制分享链接、二维码预览)
  • 插件配置(公众号 AppId / AppSecretwx.config 所需换票与签名、公开路径前缀二维码生成服务 等)
  • 站点前台 分享页…/share?sid=…,微信内 JSSDK 注入,更新朋友圈 / 会话分享数据)
  • 站点前台 跳转页…/go?sid=…302 跳转到卡片配置的落地 URL)
  • 要求 Halo ≥ 2.23.0

Generate from v1.0.0

资源下载

  • plugin-wechat-share-1.0.0.jar