Halo-WechatShare.jpg

Wechat Share(自定义微信分享卡片)

简介

Wechat Share 是一款面向 Halo的微信自定义分享卡片插件:

  • 控制台:在「系统 → 工具」下维护分享卡片(标题、摘要、封面、跳转链接),集中配置公众号凭据与公开路径等。

  • 站点前台:按配置的公开路径前缀提供 /share(微信内分享预览页 + JSSDK 注入)与 /go(带 sid 的 302 跳转)能力;

功能

  • 分享卡片 CRUD:标题/摘要/封面/跳转 URL,独立 SID 与扩展存储 ;

  • 列表内复制分享链接、编辑、删除;支持二维码预览 ;

  • 插件设置:公众号 AppId / AppSecret、公开路径前缀(默认 /wechat-share)、二维码生成服务等;

  • 分享页 HTML 在微信内置浏览器中注入 jweixin,更新朋友圈 / 会话分享数据。

控制台预览

前台预览

使用介绍

安装插件

在 Halo 应用市场安装,或手动上传本项目构建后的插件包。

打开控制台

进入 Halo 控制台:系统 → 工具 → 微信分享卡片

插件配置

配置项

说明

公众号 AppId / AppSecret

用于服务端换取 access_tokenjsapi_ticket

公开路径前缀

默认 /wechat-share;保存后与站点根拼接生成对外路径 |

二维码上游接口

控制台列表中二维码预览所用接口

分享链接、跳转地址中的 站点根 URL 使用 Halo 全局 外部访问地址,无需在插件内单独填写「站点域名」。

新建卡片

填写标题、摘要、封面图 URL、跳转链接http/https)。保存后可复制分享链接或预览二维码。

在微信中使用

将生成的链接或扫描二维码在微信内打开,按页面提示从右上角菜单发起分享。

公开 URL 说明

假定 Halo 外部访问地址为 https://example.com,公开路径前缀为 /wechat-share(默认):

路径

作用

/wechat-share/share?sid={sid}

微信内分享落地页,注入 JSSDK 分享参数

/wechat-share/go?sid={sid}

302 跳转到卡片配置的落地 URL |

修改「公开路径前缀」并保存后,对外路径随之变化(别忘了更新已发出的推广链接)。

本地开发

环境要求:JDK 21、Node 20+(推荐使用 pnpm 构建控制台)。

# 构建控制台前端(产物由 Gradle 拷贝进插件 resources)

cd ui

pnpm install

pnpm run build

cd ..

# 编译并打包插件 JAR

./gradlew.bat clean build -x test

# Linux / macOS: ./gradlew clean build -x test

使用 Halo 官方 插件开发 工具链时,可在项目根目录执行:

./gradlew.bat haloServer

开源地址

https://github.com/Avrinbai/halo-plugin-wechat-share