i
itbunan
V1
2023/03/29阅读:17主题:默认主题
typecho博客开放注册并用ruleuser接管用户中心
前言
前一段时间上线了app,网站一直没有开放注册。两方是割裂的,最近有时间。还是用ruleuser接管了博客的用户中心。特此记录配置过程。

配置
获取源码
一开始使用的是免费版,部署后有一个bug,然后换成了付费版。
上传
将源码上传到typecho根目录,解压并命名为user
configs.js
填写api相关信息
和博客整合
通过改造代码接管博客本身的登录注册功能,有2中方法,可以参考官方教程
只允许登录后评论
function.php
function toLogin($token,$uid){
// 如果不存在就写入 Cookie
Typecho_Cookie::set('__typecho_token', $token);
Typecho_Cookie::set('__typecho_token_uid', $uid);
if($uid==0){
Typecho_Cookie::set('__typecho_token', 0);
Typecho_Cookie::set('__typecho_token_uid', 0);
Typecho_Cookie::delete('__typecho_token');
Typecho_Cookie::delete('__typecho_token_uid');
}
}
function getLogin(){
if (empty($recording = Typecho_Cookie::get('__typecho_token'))) {
return 0;
} else {
$uid = Typecho_Cookie::get('__typecho_token_uid');
return $uid;
}
}
function quitUser(){
Typecho_Cookie::set('__typecho_token', 0);
Typecho_Cookie::set('__typecho_token_uid', 0);
Typecho_Cookie::delete('__typecho_token');
Typecho_Cookie::delete('__typecho_token_uid');
}
//根据字段获取用户信息
function userInfo($value,$uid)
{
$db = Typecho_Db::get();
$prow = $db->fetchRow($db->select($value)->from('table.users')->where('uid = ?', $uid));
$text = $prow[$value];
return $text;
}
header.php
<?php
if(isset( $_POST["token"])){
$token = $_POST["token"];
$uid = $_POST["uid"];
toLogin($token,$uid);
}
if(isset( $_GET["quit"])){
toLogin(0,0);
}
?>
comment.php
<?php if(getLogin()!=0) : ?>
...
<?php else: ?>
<div class="joe_comment__close">
<span>只有<a href="javascript:;" onclick="UserLogin()" rel="noopener noreferrer nofollow">登录/注册</a>用户才可评论</span>
</div>
<?php endif; ?>

相关文章
参考
作者介绍
i
itbunan
V1