xiaobd's recent timeline updates
xiaobd

xiaobd

V2EX member #391461, joined on 2019-03-12 11:22:27 +08:00
Today's activity rank 2914
xiaobd's recent replies
# 更新日志:v3.1 -> v3.5

## 新增

- 支持 Markdown 表格渲染,并补充表格样式与发帖页 Markdown 提示。
- 新增附件记录表,上传附件会记录文件名、类型、大小、所属用户等信息。
- 个人主页新增“文件”标签,可查看用户上传文件、已用空间和空间上限。
- 用户组新增“上传空间”限制,后台可为不同用户组设置上传配额,`0` 表示不限。
- 新增插件 Hook:
- `topic.title_suffix`:可在主题列表标题后追加内容。
- `topic.toolbar_actions`:可在主题列表工具栏插入操作。
- `topic.after_view`:主题页浏览后触发,携带回复列表、页码、分页大小等上下文。

## 改进

- 插件系统改为缓存插件元数据,并按需加载插件代码,减少每次请求的插件扫描和 include 开销。
- 后台插件页改为“本地插件 / 插件市场”标签布局,并新增“刷新缓存”操作。
- 插件市场安装或更新后会主动刷新插件缓存。
- 回帖渲染 Hook 上下文新增 `reply_position`,便于插件判断楼层位置。
- 后台用户、主题、回帖的筛选 SQL 逻辑统一整理,列表和总数统计更一致。
- 通知已读更新改为只更新未读记录,减少无效写入。
- 路由分发整理为静态路由表,核心入口更清晰。
- 前端附件上传增强 JSON 解析错误处理,服务端异常返回时提示更稳。

## 修复

- 修正回帖后台检索时字段参数传递不一致的问题。
- 修正插件 Hook 、路由、后台标签在懒加载后函数未加载的问题。
- 修正用户组缓存结构升级后可能缺少 `upload_quota_mb` 字段的问题。

## 数据库变更

- `groups` 表新增字段:`upload_quota_mb`
- 新增 `attachments` 表
- 新增索引:
- `idx_attachments_user`
- `idx_attachments_hash`

## 升级说明

- 从 v3.1 升级后,管理员登录后访问 `update.php`,执行数据库结构同步。
- 手动放入 `plugins/*/plugin.php` 的插件,需要在后台插件页点击“刷新缓存”后显示。
- v3.1 以前已存在的上传文件不会自动生成附件记录;新版本之后上传的文件会进入“文件”页并参与空间统计。
exceeded retry limit, last status: 429 Too Many Requests, request id: 3cde6220-a27e-49e3-9883-5b378b0c37f9
bGlAMTg2MDEwLnh5eg==
20h 37m ago
Replied to a topic by xiaobd 分享创造 AI 做插件!一个单文件 PHP 论坛
@xinyana ai 的功劳。重点是产品思路而已
20h 43m ago
Replied to a topic by xiaobd 分享创造 AI 做插件!一个单文件 PHP 论坛
@ynyjyz 提交一个玩玩,想到啥就能做啥
# 更新日志

## 核心

- 版本号更新为 `v3.0`。
- 扩展插件机制:
- 新增插件市场基础能力:插件分享、远程安装/更新、本地版本/哈希对比。
- 后台插件页新增“插件市场”入口。
- 插件列表支持“分享”操作。
- 插件支持入口显示开关:`sidebar.feature_links`、`sidebar.stack`。
- 新增 `topic.can_manage` Hook 。
- 新增 `auth.password_verified` Hook ,用于登录密码验证通过后的插件拦截。
- 新增 `profile.after_form` Hook ,用于个人资料页追加插件面板。
- 登录/注册跳转改为支持 `auth_return_url`,登录完成后回到原访问页面。
- Markdown 代码块支持语言标记,例如 ```` ```php ````。
- 站点关闭白名单加入插件市场相关路由和 `two_factor` 路由。

## 两步验证插件

- 新增 `plugins/two_factor/plugin.php` 插件。
- 支持 TOTP 动态验证码。
- 支持一次性恢复码,恢复码只保存哈希。
- 个人资料页可启用、关闭、重置恢复码。
- 登录时已启用用户需要二次验证。
- 二次验证错误计入现有登录失败频率限制。
- 后台插件页可查看已启用两步验证的用户统计。
- 修复 2FA 表单被全局 Ajax 拦截后提示“操作失败”的问题,相关表单改为普通提交。

## 移动端导航

- 新增移动端左侧抽屉菜单。
- 菜单 icon 移动到 logo 左边。
- 右侧恢复独立“我的 / 登录”入口。
- 移动端隐藏 logo 图标,只保留站点文字。
- 抽屉菜单从左侧弹出,支持点击遮罩和 `Esc` 关闭。
- 移动端菜单包含版块列表、我的菜单、快捷功能入口。

## 插件入口与侧栏

- 新增“快捷功能”侧栏卡片入口。
- `sidebar.feature_links` 支持插件追加快捷链接。
- 插件快捷入口支持数字徽标和红点提示。
- 管理后台侧栏也改为走 `sidebar_stack_html()`,允许插件扩展。

## 前端交互

- 新增移动端菜单打开/关闭脚本。
- 新增 `data-auto-submit` 自动提交能力,用于插件入口开关。
- 通用 Ajax 表单支持服务端返回 `modal` 数据并打开弹窗。
- 插件分享表单支持页面加载后自动提交。

## 样式

- 新增移动端菜单样式。
- 新增快捷功能双列布局。
- 新增插件入口开关、插件市场入口样式。
- 新增两步验证设置面板和恢复码列表样式。
- 优化每日签到独立页面样式。
- 新增邀请码批量展示网格样式。
- 调整插件列表布局,操作区更适合换行和移动端显示。
- 全局 `h2/h3/p` 默认 margin 统一为 `0`。

## 文档

- 精简 README 插件部分。
- 保留最基础插件机制说明:
- 插件目录约定。
- 最小插件示例。
- `hooks` 基本写法。
- 前台路由和后台 tab 的 manifest 写法。
- 常用核心函数和可信插件提醒。
3 days ago
Replied to a topic by xiaobd PHP 免费虚拟主机空间安装的一个 PHP 文件论坛
!
v2.3.1 更新日志
优化侧边栏卡片显示逻辑
bGlAMTg2MDEwLnh5eg==
# bbs1org v2.0 更新日志

对比版本:1.5

## 主要更新

### 1. 新增插件系统

后台新增“插件”入口。

现在可以:

- 启用插件
- 停用插件
- 卸载插件
- 保留或清理插件数据
- 进入插件自己的后台管理页

插件可以扩展侧边栏、后台页面、独立功能页、发帖和回帖处理等能力。

### 2. 新增“每日签到”插件

新增一个每日签到插件。

用户可以:

- 每天签到一次
- 查看连续签到天数
- 查看累计签到次数
- 签到获得积分

后台可以:

- 查看签到记录
- 设置签到卡片标题
- 设置按钮文字
- 设置固定积分奖励
- 设置随机积分奖励

### 3. 新增用户积分

用户现在有积分。

积分会显示在:

- 个人侧边栏
- 后台用户列表
- 后台用户编辑页

管理员可以直接调整用户积分。积分变化后,用户会收到系统通知。

### 4. 新增附件上传

发帖和编辑时可以上传附件。

支持:

- 图片附件
- 普通文件附件
- 多附件上传
- 上传后自动插入到编辑框

图片会作为图片插入帖子,普通文件会作为下载链接插入帖子。

后台可以设置:

- 附件数量限制
- 单个附件大小限制

### 5. 附件自动去重

附件按文件内容保存。

同一个文件重复上传时,系统只保存一份,减少空间占用。

### 6. 后台管理优化

后台做了多处改进:

- 新增插件管理页
- 新增签到管理页
- 用户列表显示积分
- 用户编辑页可调整积分
- 主题管理增加回收站入口
- 版块和用户组列表增加“添加”入口
- 部分后台列表样式优化

### 7. 通知体验优化

修复系统通知的一些细节:

- 系统通知不再跳转到 `id=0` 用户页
- 回复跳转改为使用 `replyid`
- 跳转到具体回复更稳定

### 8. 移动端顶部优化

移动端顶部增加搜索条。

搜索条显示在“我的 / 登录”左侧,方便手机访问时快速搜索主题。

### 9. Docker 和部署更新

Docker 部署增加 `upload` 持久化目录。

Nginx 配置增加:

- 上传目录访问规则
- 上传大小限制
- 禁止直接访问危险上传文件

手动部署时,需要确保这些目录可写:

- `data/`
- `cache/`
- `avatars/`
- `upload/`

### 10. 文档更新

README 增加:

- 附件目录说明
- 插件目录说明
- 插件开发格式
- 常用插件钩子说明
- 部署目录权限说明

## 升级注意

从 1.5 升级到 v2.0 后,需要注意:

1. 需要新增 `upload/` 目录,并确保可写。
2. Docker 部署需要使用新的 `docker-compose.yml` 和 Nginx 配置。
3. 新增了用户积分字段。
4. 新增了附件相关设置。
5. 如果是旧站升级,建议先运行升级脚本并备份数据库。
6. 插件等同于站点 PHP 代码权限,只建议安装可信插件。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   893 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 20:46 · PVG 04:46 · LAX 13:46 · JFK 16:46
♥ Do have faith in what you're doing.