一款为 Typecho 量身打造的全功能用户中心插件,支持前台登录、注册、个人资料管理、文章前台发布与编辑、收藏点赞、关注粉丝、权限控制等功能,让你的 Typecho 瞬间拥有完整的用户社区体系。 和我们的主题一起使用 https://github.com/24pu/PulseTabs 单独使用请在 你的主题里header.php添加用户中心的链接 href="options->siteUrl(); ?>dashboard"
- 用户仪表盘:统计文章、评论、收藏、阅读量
- 个人资料修改:用户名、邮箱、昵称、个人主页
- 密码修改:安全修改密码
- 前台写文章:支持 Markdown 编辑器,可发布/保存草稿
- 文章管理:列表展示、编辑、删除,支持分页
- 状态显示:已发布/待审核/草稿
- 权限控制:贡献者只能管理自己的文章,编辑/管理员可管理所有文章
- 我的收藏:收藏喜爱的文章,一键取消收藏
- 我的点赞:点赞支持,记录点赞历史
- 用户主页:查看他人主页,显示文章列表、关注数、粉丝数
- 关注/粉丝:类似微博的关注机制,互相关注
- 邮箱验证(可选):注册需邮件激活账号
- 前台权限系统:基于 Typecho 原生用户组,自定义权限规则
- 文章审核:非管理员/编辑发表的文章自动进入待审核状态
- 下载插件包,解压后将
UserCenter文件夹上传到usr/plugins/目录。 - 在 Typecho 后台「控制台」→「插件」中启用
UserCenter。 - 插件将自动创建所需的数据表(
user_favorites、user_likes、user_follows、usercenter_activations)。
进入插件设置页面:
- 邮箱验证开关:是否开启注册邮箱激活。
- SMTP 配置:填写发件服务器信息(主机、端口、加密方式、账号、密码),用于发送激活邮件。
插件内置了前台权限控制,规则如下:
| 权限 | 关注者 | 贡献者 | 编辑 | 管理员 |
|---|---|---|---|---|
| 写文章 | ❌ | ✅ | ✅ | ✅ |
| 编辑自己的文章 | ❌ | ✅ | ✅ | ✅ |
| 编辑他人的文章 | ❌ | ❌ | ✅ | ✅ |
| 删除自己的文章 | ❌ | ✅ | ✅ | ✅ |
| 删除他人的文章 | ❌ | ❌ | ✅ | ✅ |
| 管理所有评论 | ❌ | ❌ | ✅ | ✅ |
| 访问后台 | ❌ | ✅ | ✅ | ✅ |
| 收藏/点赞 | ✅ | ✅ | ✅ | ✅ |
未登录用户(访问者)无任何操作权限。
| 页面 | URL | 说明 |
|---|---|---|
| 登录 | /login |
前台登录 |
| 注册 | /register |
前台注册 |
| 用户中心 | /dashboard |
个人仪表盘 |
| 个人资料 | /profile |
修改资料 |
| 修改密码 | /password |
修改密码 |
| 我的文章 | /my-articles |
文章管理 |
| 写文章 | /write |
前台创作 |
| 我的评论 | /my-comments |
评论管理 |
| 我的收藏 | /favorites |
收藏列表 |
| 我的点赞 | /likes |
点赞列表 |
| 用户主页 | /u?uid=用户ID |
对外展示主页 |
提示:所有路由均采用
固定路径 + GET参数方式,稳定性极高,无需配置伪静态。
插件会自动使用当前主题的 header.php 和 footer.php,您只需确保主题中包含这两个文件。建议在主题中增加以下入口:
在用户下拉菜单中添加:
<a href="<?php $this->options->siteUrl(); ?>dashboard">用户中心</a>
权限判断
在模板或 Widget 中可使用:
php
<?php if (UserCenter_Plugin::can('write_post')): ?>
<a href="/write">写文章</a>
<?php endif; ?>
📁 数据表
user_favorites:用户收藏记录
user_likes:用户点赞记录
user_follows:用户关注关系
usercenter_activations:邮箱激活令牌
❓ 常见问题
Q:访问页面出现 404?
A:本插件不依赖伪静态,请确保使用 /index.php/xxx 或直接访问 /xxx(需开启地址重写)。若仍 404,请尝试访问 /index.php/my-articles。
Q:邮件无法发送?
A:请正确配置 SMTP 信息(建议使用 465 端口 + SSL)。推荐使用 QQ 邮箱、163 邮箱的授权码。
Q:如何让管理员看到待审核文章?
A:插件默认将待审核状态设为 waiting,Typecho 原生后台支持筛选 waiting 状态的文章。管理员点击“待审核”即可管理。
Q:我可以自定义用户主页的 URL 为 /user/用户名 吗?
A:可以,但需要自行修改路由规则或使用服务器重写。插件默认使用 ?uid= 参数,稳定可靠。
🤝 贡献
欢迎提交 Issue 和 Pull Request。
📄 许可证
MIT License
开发与维护:24pu
项目地址:https://github.com/24pu/UserCenter