wip: article AI polish, category SEO fields, cover generator, membership plan seeder
CI / PHPUnit (PHP 8.3) (push) Failing after 4s
CI / PHPUnit (PHP 8.2) (push) Failing after 1m9s
CI / Deploy (manual gate) (push) Skipped

This commit is contained in:
2026-09-07 18:48:37 +00:00
parent 263b98b218
commit 3cec4c5e18
121 changed files with 4701 additions and 313 deletions
+8 -4
View File
@@ -4,7 +4,8 @@
```
plugins/{vendor}/{name}/
plugin.json
README.md
README.md # 默认 / 英文
README.zh_CN.md # 可选,后台中文界面优先
database/migrations/ # 可选
resources/views/ # 可选
src/PluginServiceProvider.php
@@ -25,7 +26,7 @@ plugins/{vendor}/{name}/
```
- `requires`:硬依赖,未启用时 `PluginManager::enable` 会拒绝
- `docs`:相对插件根目录的说明文件,后台卡片可查看;只允许指向插件目录内(`..`、绝对路径、软链越界会被拒绝)
- `docs`:相对插件根目录的说明文件(默认 `README.md`)。后台按当前语言优先读 `README.{locale}.md`(如 `README.zh_CN.md`),再试语言前缀(如 `README.zh.md`),最后回退到 `docs` 指定文件。Markdown 会渲染成 HTML,在侧栏弹层中展示。只允许指向插件目录内(`..`、绝对路径、软链越界会被拒绝)
`composer.json``autoload.psr-4` 注册命名空间,然后:
@@ -73,9 +74,12 @@ Hook::listen('article.access', function (AccessDecision $decision, array $ctx):
| `article.access` | fold | 收紧阅读权限;核心逐个 `tightenWith` 折叠,放宽无效、非 `AccessDecision` 返回值忽略 |
| `filament.article.form` | collect | 文章表单追加组件 |
| `filament.article.table.columns` | collect | 文章表追加列 |
| `filament.article.table.filters` | collect | 文章表追加筛选 |
| `filament.article.table.query` | filter | 文章表查询(如子查询列) |
| `filament.article.actions` | collect | 文章动作 |
| `filament.article.mutate_before_fill` | filter | 编辑回填 |
| `filament.article.mutate_before_save` | filter | 保存前改/剥数据 |
| `filament.article.mutate_before_save` | filter | 保存前改数据(勿在此 unset 限制字段) |
| `filament.article.validate_access_restrictions` | filter | 密码/付费/会员互斥校验(strip 之前) |
| `filament.article.after_save` | dispatch | 保存后写插件表 |
| `order.paid` / `order.refunded` | dispatch | 支付插件发出 |
@@ -106,6 +110,6 @@ Resource / Page 需用 `canAccess` / `shouldRegisterNavigation` 检查插件已
| `larablog/ai-comment-moderation` | 可运行 |
| `larablog/payment` | Stub 订单/权益可跑通 |
| `larablog/paid-content` | 文章付费(依赖 payment |
| `larablog/membership` | 骨架 |
| `larablog/membership` | 会员套餐 / Stub 订阅 / 会员可见文章(依赖 payment) |
| `larablog/plugin-marketplace` | 骨架 |
| `larablog/theme-marketplace` | 骨架 |