jx3-help图片渲染服务
npm install koishi-plugin-jx3render基于 Koishi 的剑网3图片渲染服务插件,用于将 HTML 模板渲染为图片。
- 🎨 模板渲染:基于 Handlebars 模板引擎,支持灵活的 HTML 模板定义
- 📸 图片生成:通过 Puppeteer 将 HTML 转换为高质量图片
- 💾 缓存支持:支持图片缓存功能,提高响应速度
- 🔌 服务注入:作为 Koishi 服务,可被其他插件调用
- 📋 预置模板:内置活动日历、名剑大会进度等常用模板
``bashnpm
npm install koishi-plugin-jx3render
🔧 依赖
该插件依赖以下服务:
-
koishi-plugin-puppeteer:用于网页截图请确保在使用前已安装并启用 puppeteer 插件。
📖 使用方法
$3
`jsx
const data = {
// 你的模板数据
};
// 渲染图片
const imageBase64 = await ctx.jx3render.render(
"templateName", // 模板名称
data, // 模板数据
"imageName", // 图片名称
false // 是否使用缓存(可选,默认 false)
);
// 发送图片
return
;
`$3
`typescript
const imageBase64 = await ctx.jx3render.render(
"celebs",
data,
"celebs-20231015",
true // 启用缓存
);
`当启用缓存时,如果已存在同名图片文件,将直接返回缓存的图片,不会重新渲染。
🛠 API 说明
$3
#### render(templateName, data, imgName, isCache?)
渲染模板并生成图片。
参数:
-
templateName (string):模板名称,对应 templates 目录下的 .hbs 文件名(不含扩展名)
- data (any):传递给模板的数据对象
- imgName (string):生成图片的文件名(不含扩展名)
- isCache (boolean):是否使用缓存,默认 false返回:
-
Promise:返回图片的 Base64 编码字符串示例:
`typescript
const base64Image = await ctx.jx3render.render(
'ActiveList',
{ data: [...] },
'activity-calendar',
true
);
`$3
- 使用内联样式或