看到很多朋友都在问相关的问题,有的通信失败,有的通信成功但不能同步会员登陆注册,有的不知道如何设置插件等等,下面给大家分享一下我的使用心得。
准备工作:
1.在你的Fastadmin后台安装Ucenter插件;
2.安装你的Ucenter服务端和DISCUZ论坛(你也可以单独安装Ucenter服务端,这里为了方便介绍同步注册登录的方法,我就默认安装DISCUZ和Ucenter);
注意
Fastadmin官方有一个修改版Ucenter,是由于默认的会员注册需要填写手机号字段,但是官方修改版我安装之后始终有些问题,所以在这里就使用DISCUZ版本的Ucenter程序.
配置参数:
1.登录你的Ucenter服务端,然后再应用管理中添加应用
通信URL为 “你的站点URL/addons/ucenter/index/api”
开启同步和接收通知全部选择“是”。
然后提交。
接下来把生成的Ucenter配置信息全选复制,接着找到Fa的程序文件->打开Ucenter插件目录,编辑uc.php文件,然后将刚才复制的配置信息粘贴到对用位置。
保存->刷新。然后返回Ucenter服务端->应用管理,可以看到你的Fa程序通信成功
如果通信失败,请检查你填写的URL地址是否正确。
同步注册登录:
由于我使用的是DISCUZ官方版Ucenter服务端,所以我需要将Fa程序的用户注册中的提交手机号这一项暂时注释掉。
打开 /application/index/controller/User.php 文件
1.添加如下代码引入Uc
use appcommonlibraryAuth;use addonsucenterlibraryUc;use thinkLoader;
2.在public function _initialize()中添加如下代码导入Uc常量
Loader::import('uc', ADDON_PATH . 'ucenter');
3.同步注册->在会员注册public function register() 中找到
if ($this->auth->register($username, $password, $mobile,$email)) {$this->success(__('Sign up successful'), $url ? $url : url('user/index'));}
这段代码,修改为(由于Uenter版本问题此处去掉了$mobile参数)
if ($this->auth->register($username, $password, $email)) { $synchtml = ''; if (defined('UC_STATUS') && UC_STATUS) { $uc = new addonsucenterlibraryclientClient(); $ucuid = $uc->uc_user_register($username, $password, $email); $synchtml = $uc->uc_user_synlogin($ucuid); } $this->success(__('Sign up successful') .$synchtml, $url ? $url : url('user/index'));
4.同步登录->在会员登录public function login() 中找到
if ($this->auth->login($account, $password)) {$this->success(__('Logged in successful') , $url ? $url : url('user/index'));}
修改为
if ($this->auth->login($account, $password)) { $synchtml = ''; if (defined('UC_STATUS') && UC_STATUS) { $uc = new addonsucenterlibraryclientClient(); $synchtml = $uc->uc_user_synlogin($this->auth->id); } $this->success(__('Logged in successful') . $synchtml, $url ? $url : url('user/index'));
5.同步注销->在注销登录public function logout() 中找到
$this->auth->logout();$this->success(__('Logout successful'), url('user/index'));
修改为
$this->auth->logout(); $synchtml = ''; if (defined('UC_STATUS') && UC_STATUS) { $uc = new addonsucenterlibraryclientClient(); $synchtml = $uc->uc_user_synlogout(); } $this->success(__('Logout successful') . $synchtml, url('user/index'));
然后保存->刷新,现在就实现了同步登录、同步注册、同步注销功能,由于修改了程序文件,有的机器可能需要多刷新几次。
如果有错误的地方或新的方法欢迎小伙伴们留言。
在我的站点中还写了实现这个的流程说明,欢迎前往点赞
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。