开发与架构
适用版本 1.0.0 | 面向二次开发与源码阅读
插件由「Java 后端 + Vue 3 控制台扩展」两部分组成,构建产物是一个 Halo 插件 JAR。许可证为 GPL-3.0。
环境
构建
产物位于 build/libs/plugin-reward-<version>.jar。
控制台前端由 Gradle 的
ui子模块调用pnpm build,产物经Sync同步到build/resources/main/ui(Halo 2.11 起优先读取resources/ui)。单独改前端后跑一次./gradlew build即可,不需要手工拷贝文件。
目录结构
技术架构
数据模型
RewardRecord 的字段与公开范围:
扩展点
二次开发提示
- 前台资源放在
src/main/resources/static/dist/,修改后需要重新构建;控制台前端不要手工拷贝,交给 Gradle 同步 - 新增公开接口时同步检查限流与字段脱敏,联系方式、交易单号不能出现在匿名响应里
- 爱发电回调没有签名,任何新增的入库路径都必须先走
query-order反查 - 改权限规则时注意:Halo 会把「有名称段的 POST」降级为非资源请求,相关接口用 PUT
- 修改设置项后,
extensions/settings.yaml、config/模型与前台读取处要一起改
上游脚手架
项目基于 Halo 官方插件脚手架 halo-dev/plugin-starter 创建。该模板后续由 create-halo-plugin 取代;本项目沿用生成后的工程结构,不依赖模板仓库的后续更新。