⚡ 初始提交 - FutureOSS v1.0 插件化运行时框架
一切皆为插件的开发者工具运行时框架
🧩 核心特性:
- 插件热插拔 (importlib 动态加载)
- 依赖自动解析 (拓扑排序 + 循环检测)
- 企业级稳定 (熔断/降级/重试/隔离)
- 事件驱动 (发布/订阅事件总线)
- 完整配置 (YAML 配置 + 热重载)
This commit is contained in:
134
website/community/UPDATE_PROFILE.md
Normal file
134
website/community/UPDATE_PROFILE.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# 用户个人主页功能更新
|
||||
|
||||
## 改动概述
|
||||
|
||||
为用户社区添加了完整的个人主页系统,包括用户信息展示、文章管理、个人简介编辑等功能。
|
||||
|
||||
## 新增文件
|
||||
|
||||
### 1. `profile.php` - 用户个人主页
|
||||
**功能:**
|
||||
- 显示用户头像、用户名、角色徽章
|
||||
- 显示用户个人简介(bio)
|
||||
- 显示注册时间和邮箱(仅本人可见)
|
||||
- 统计数据卡片:文章数、回复数、总浏览、总点赞
|
||||
- 最近发表的文章列表(最新 10 篇)
|
||||
- 最近的回复列表(最新 5 条)
|
||||
- 支持查看其他用户的主页(通过 `?id=用户ID` 参数)
|
||||
- 本人访问时显示"编辑资料"按钮
|
||||
|
||||
**访问方式:**
|
||||
- `profile.php` - 查看当前登录用户的个人主页
|
||||
- `profile.php?id=123` - 查看指定用户的个人主页
|
||||
|
||||
### 2. `edit-profile.php` - 编辑个人资料
|
||||
**功能:**
|
||||
- 编辑个人简介(bio)
|
||||
- 实时预览功能
|
||||
- 显示用户名和邮箱(只读)
|
||||
- 保存成功后显示提示信息
|
||||
|
||||
**访问方式:**
|
||||
- 从个人主页点击"编辑资料"按钮进入
|
||||
|
||||
### 3. `my-posts.php` - 我的文章(已更新)
|
||||
**更新内容:**
|
||||
- 支持查看其他用户的文章(通过 `?id=用户ID` 参数)
|
||||
- 只有文章作者才能看到"编辑"和"删除"按钮
|
||||
- 页面标题动态显示用户名
|
||||
|
||||
### 4. `migrate-add-bio.php` - 数据库迁移脚本
|
||||
**用途:**
|
||||
- 为现有的 `users` 表添加 `bio` 字段
|
||||
- 检查字段是否已存在,避免重复添加
|
||||
|
||||
**运行方式:**
|
||||
```bash
|
||||
php website/community/migrate-add-bio.php
|
||||
```
|
||||
|
||||
## 修改的文件
|
||||
|
||||
### 1. `includes/dock.php`
|
||||
**改动:**
|
||||
- 用户头像链接从 `#` 改为 `profile.php`,点击跳转到个人主页
|
||||
- 用户面板新增"个人主页"菜单项
|
||||
- 保留"我的文章"菜单项,并显示文章数量徽章
|
||||
|
||||
### 2. `api/auth.php`
|
||||
**改动:**
|
||||
- 新增 `my-post-count` API 端点
|
||||
- 用于获取当前登录用户的文章数量
|
||||
- 在用户面板中实时显示文章数徽章
|
||||
|
||||
### 3. `css/dock.css`
|
||||
**改动:**
|
||||
- 新增 `.dock-user-avatar` 样式
|
||||
- 用户头像图标显示为青色高亮
|
||||
- 鼠标悬停时有缩放和背景效果
|
||||
|
||||
### 4. `assets/css/dock-popover.css`
|
||||
**改动:**
|
||||
- 新增 `.popover-menu` 菜单区域样式
|
||||
- 新增 `.menu-item` 菜单项样式(带图标、文字、徽章)
|
||||
- 新增 `.menu-badge` 徽章样式
|
||||
|
||||
### 5. `assets/js/dock-popover.js`
|
||||
**改动:**
|
||||
- 新增 `fetchMyPostCount()` 函数
|
||||
- 页面加载时自动获取并显示用户文章数量
|
||||
- 保留原有的退登和注销功能
|
||||
|
||||
### 6. `schema.sql`
|
||||
**改动:**
|
||||
- `users` 表新增 `bio TEXT` 字段
|
||||
- 用于存储用户的个人简介
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. 运行数据库迁移
|
||||
首次部署需要运行迁移脚本添加 bio 字段:
|
||||
```bash
|
||||
cd website/community
|
||||
php migrate-add-bio.php
|
||||
```
|
||||
|
||||
### 2. 访问个人主页
|
||||
- 点击左侧 Dock 栏的用户头像图标
|
||||
- 或访问 `community/profile.php`
|
||||
|
||||
### 3. 编辑个人简介
|
||||
- 在个人主页点击"编辑资料"按钮
|
||||
- 或访问 `community/edit-profile.php`
|
||||
|
||||
### 4. 查看我的文章
|
||||
- 在用户面板中点击"我的文章"
|
||||
- 或访问 `community/my-posts.php`
|
||||
|
||||
### 5. 查看其他用户的主页
|
||||
- 访问 `community/profile.php?id=用户ID`
|
||||
|
||||
## 技术细节
|
||||
|
||||
### 数据库查询优化
|
||||
- 使用子查询统计回复数,避免 JOIN 导致的性能问题
|
||||
- 使用 SUM 聚合函数统计总浏览和总点赞
|
||||
- 所有查询都使用参数化查询防止 SQL 注入
|
||||
|
||||
### 安全性
|
||||
- 所有用户输入都经过 `htmlspecialchars()` 转义
|
||||
- 只有本人才能编辑和删除自己的文章
|
||||
- Session 验证确保用户只能访问自己的数据
|
||||
|
||||
### 响应式设计
|
||||
- 适配桌面端和移动端
|
||||
- 小屏幕时自动调整布局和字体大小
|
||||
- Dock 栏在移动端自动移到底部
|
||||
|
||||
## 后续可扩展功能
|
||||
|
||||
1. **头像上传** - 支持用户上传自定义头像
|
||||
2. **关注系统** - 用户可以互相关注
|
||||
3. **成就徽章** - 根据用户活跃度颁发徽章
|
||||
4. **社交链接** - 添加 GitHub、Twitter 等社交链接
|
||||
5. **活动日志** - 记录用户的登录、发帖等活动
|
||||
Reference in New Issue
Block a user