ak
|
66194b6b22
|
feat: 后台筛选条件横向排列 + 全局紧凑 CSS
- 文章表筛选改为 filtersFormColumns(3) 一行横向排列,不再纵向堆叠占空间
- 后台紧凑化 CSS:表格行(fi-ta-cell/fi-ta-header-cell)与表头工具栏收紧内边距,筛选区(Above 布局)压缩留白
- 说明:Filament 官方无全局紧凑开关,紧凑由 CSS 实现(侧边栏已如此)
|
2026-08-12 17:54:35 +08:00 |
|
ak
|
24b3c25e60
|
feat: 后台表格筛选改为 Above 常驻布局
文章/评论/用户/媒体/订单五个表格的筛选条件从下拉改为表格上方内联显示(FiltersLayout::AboveContent),无需点击即可看到并操作筛选
|
2026-08-12 17:51:02 +08:00 |
|
ak
|
01861f8809
|
feat: 插件使用说明(usage)+ 页面缓存命中统计
- plugin.json 新增 usage 字段(多行文本),后台插件卡片折叠展示;四个内置插件补齐使用说明
- PageCacheMiddleware 记录命中/未命中计数(按日滚动),仪表盘新增「页面缓存」统计卡(条目数 + 命中率),用于判断前台缓存效果、是否需额外加速
- 文档与测试同步
|
2026-08-12 03:57:22 +08:00 |
|
ak
|
e06e7c4300
|
feat: 商城付费购买流 + 市场契约
- MarketPackage 模型/迁移:市场商品作为可购买实体(payable),复用 Payment 订单
- MarketPurchaseService:购买创建订单、已购判断、免费/付费门槛校验
- payment.paid 监听(核心注册,仅支付插件启用时)标记商品已购
- 市场契约:条目含 name/type/price(分)/download_url;插件市场 Tab 只显示 plugin、主题市场 Tab 只显示 theme;付费商品显示「购买」按钮与「已购买」徽章,未购买无法安装
- 新增主题市场 Tab(原仅插件页有市场)
- 测试:购买/沙箱支付标记已购/重复购买/安装门槛/免费条目/支付插件禁用
|
2026-08-12 01:34:04 +08:00 |
|
ak
|
6a7daa79da
|
fix: review 修复——meta 覆盖、重复支付、卸载守卫、测试补全
- EditPost 保存时合并表单中的部分 meta 键,防止插件注入字段覆盖 unlocked_user_ids 等其他键(单篇解锁用户会失去权限的 bug)
- unlockPost:已有阅读权限(会员/作者/已解锁)直接跳文章,不重复支付
- subscribe:已有该套餐有效订阅直接跳我的订阅页
- uninstall:存在已启用的依赖者时拒绝卸载(与 disable 一致)
- .gitignore 排除 storage/media-library/temp 测试残留
- 测试:AdminPagesTest 补 /admin/plugins /admin/payments;新增 Livewire 保存验证 meta 保留、解锁/订阅防重复支付、卸载守卫
|
2026-08-12 00:53:46 +08:00 |
|
ak
|
4f59afb7ce
|
feat: 插件依赖强制校验 + 文章后台表单/表格注入 hook
- PluginManager: requires 依赖链校验(enable 需依赖已启用,disable 阻止有启用依赖者的插件,boot 跳过依赖未满足插件),all() 输出依赖状态供后台展示
- Plugins 页:卡片显示依赖链徽章,依赖未满足时禁用启用按钮,启停失败弹错误通知
- PostResource: form()/table() 增加 filament.post_form / filament.post_table 注入点
- membership 插件:注入「付费设置」Section(meta.price 单篇价格 + meta.members_only 会员专享)与表格价格/会员列
|
2026-08-12 00:18:40 +08:00 |
|
ak
|
56735804a1
|
feat: Markdown 正文自动 TOC(锚点+折叠目录)+ 社交账号扩充国内平台(B站/小红书/抖音/视频号/公众号/其他)+ 侧边栏社交展示 + JSON-LD sameAs 全平台聚合 + 首页 h1(SEO 语义)
|
2026-08-11 23:49:19 +08:00 |
|
ak
|
489a145259
|
feat: 插件/主题管理卡片改用 Filament 原生组件+中文页面标题;注入点分三组管理(页面/侧边栏/文章);前台 sablog 主题全面语义化(header/nav/main/aside/section/footer)
|
2026-08-11 23:43:41 +08:00 |
|
ak
|
ef8ec75e83
|
feat: 社交账号设置(微博/GitHub/X/Facebook/知乎/邮箱)+ JSON-LD sameAs(Person/Organization/WebSite)+ og:image/og:locale/article 时间 + twitter 完整卡片
|
2026-08-11 23:33:30 +08:00 |
|
ak
|
3ff766d980
|
fix: 分类/友链资源字段全部中文化(语言包 lang/zh_CN.json + __() 引用),支付过滤补 label,消除后台表格/表单英文
|
2026-08-11 23:31:50 +08:00 |
|
ak
|
d9a6ca2959
|
feat: 注入块拖拽排序(后台顺序即渲染顺序)+ theme.json 声明 inject_points + 主题卡片展示注入点
|
2026-08-11 23:25:34 +08:00 |
|
ak
|
3e3b9a2bfd
|
feat: 主题内容注入点系统(10 个标准位置,同位置多条注入块可排序/启停,stylevar 变量复活)+ 后台主题注入管理页(Tab 分区)+ 缓存/设置收进顶部用户下拉菜单(Livewire action 即时通知)
|
2026-08-11 23:20:57 +08:00 |
|
ak
|
7622cd8e2a
|
feat: 前台整页响应缓存(匿名 GET,浏览量走 track-view 独立端点)+ 后台缓存管理页 + 侧边栏 nav-groups 负 margin 归零
|
2026-08-11 21:53:09 +08:00 |
|
ak
|
dd7fe615e0
|
fix: BlogStats 浏览量 number_format 显式转 float(MySQL SUM 返回 string,strict_types 下 TypeError)
|
2026-08-11 21:34:22 +08:00 |
|
ak
|
b9f02df49f
|
feat: 后台侧边栏紧凑化(13rem + 自定义 CSS)+ 博客设置改 Tab 六分区(站点/外观/订阅SEO/评论/附件/维护),补回时间格式/评论排序/缩略图/水印等 sablog 设置项并接入实际使用
|
2026-08-11 21:30:56 +08:00 |
|
ak
|
6c7562115f
|
feat: 后台全中文(Filament zh_CN 语言包+资源中文label)+ 插件独立导航分组 + 插件/主题管理卡片化 + 主题预览图(无头浏览器生成)+ 两套主题移动端适配
|
2026-08-11 21:18:18 +08:00 |
|
ak
|
fc6624cf84
|
feat: 前台 .shtml 后缀 canonical + strict_types 全量启用 + 对外 API(Sanctum+Scramble 文档)+ pm2 ecosystem + GitHub Actions CI + 插件/主题/架构/API 文档 + REDIS_PREFIX 说明
|
2026-08-11 19:37:33 +08:00 |
|
ak
|
f77c96d3aa
|
M4: 插件框架(钩子系统/ZIP安装/市场客户端)+ blog-seo 插件(JSON-LD/OG/llms.txt/Markdown导出)+ 后台插件/主题管理页
|
2026-08-11 18:15:56 +08:00 |
|
ak
|
dee0208f1d
|
M3: Filament 后台资源(文章/分类/评论/媒体/用户/友链)+ 博客设置页 + 仪表盘统计
|
2026-08-11 18:08:47 +08:00 |
|