九月 21st, 2016 by lanxinxichen@126.com

 

最近做的一个二开开源项目,项目本身使用的是“优雅”的laravel框架开发的,我也顺带着了解了一下laravel框架。由于项目需要多平台的会员数据统一,所以第一时间想到用UCenter进行会员整合。

上次使用UCenter的时候还是2014年,那时候的会员整合我不负责,也就没在这上面下太多功夫,终于这次揭开了UCenter神秘的面纱。

安装后的首页

ucenter1

应用列表

ucenter2

首先,先添加一个新应用,填写相应的表单。应用接口文件名称需要填写应用的路由地址,这个可以先空着,填写完毕之后保存,此时的通信情况应该是通信失败的。

在github上面我们能找到好几个关于laravel – Ucenter的项目,我自己根据看根据别人的项目修改了bug:https://github.com/lanxinxichen/laravel5-ucenter ,另外推荐尝试https://github.com/binaryoung/ucenter,个人感觉比我fork的这个好一些。

安装UCenter

只要在你的 composer.json 文件require中加入下面内容,就能获得最新版.

“goodspb/laravel5-ucenter”: “dev-master”

然后需要运行 “composer update” 来更新你的项目

安装完后,在 app/config/app.php 文件中找到 providers 键,添加:

Goodspb\Laravel5Ucenter\UcenterServiceProvider::class,

找到 aliases 键,添加:

‘Ucenter’ => Goodspb\Laravel5Ucenter\Facades\Ucenter::class,

 

他这个版本config::get是有问题的,可以参看我的修改记录进行修改。

https://github.com/lanxinxichen/laravel5-ucenter/commit/01d4714174ae4acba3aa9fcfef6bfb6b931e1aa2

在config文件中增加一个ucenter.php的文件,然后添加以下内容

 

<?php

return [
‘url’       => env(‘ucenter_url’,’/api/ucapi’), // 网站UCenter接受数据地址
‘api’       => env(‘ucenter_api’,’http://www.ucn.net’), // UCenter 的 URL 地址, 在调用头像时依赖此常量
‘connect’   => env(‘ucenter_connect’,’mysql’), // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
‘dbhost’    => env(‘ucenter_dbhost’,’localhost’), // UCenter 数据库主机
‘dbuser’    => env(‘ucenter_dbuser’,’root’), // UCenter 数据库用户名
‘dbpw’      => env(‘ucenter_dbpw’,”), // UCenter 数据库密码
‘dbname’    => env(‘ucenter_dbname’,’ucenter’), // UCenter 数据库名称
‘dbcharset’ => env(‘ucenter_dbcharset’,’utf8′),// UCenter 数据库字符集
‘dbtablepre’=> env(‘ucenter_dbtablepre’,’uc_’), // UCenter 数据库表前缀
‘key’       => env(‘ucenter_key’,’76bc3bbK5aoWVrb26juV1vk4uq4c2aSNQvzv70Zs12′), // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
‘charset’   => env(‘ucenter_charset’,’utf-8′), // UCenter 的字符集
‘ip’        => env(‘ucenter_ip’,’127.0.0.1′), // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
‘appid’     => env(‘ucenter_appid’,2), //当前应用的 ID
‘ppp’       => env(‘ucenter_ppp’,20), //当前应用的每页数量
];

注意:上面的配置根据自己实际环境进行修改。

 

配置路由

在项目中的相应位置添加通信api的路由

Route::any(Config::get(‘ucenter.url’), function(){
return \Goodspb\Laravel5Ucenter\UcenterApi::execute();
});

 

这时候就可以返回UCenter应用管理中心,把之前空的接口文件路由修改为自己定义的路由,比如我设置的路由是/api/ucapi那么在填写的时候需要填写ucapi,不带/api/。因为我在这里被坑了,所以附上通信接口调试文章https://my.oschina.net/ppss/blog/744743    

ucenter3

通信成功!

 

可以通过以上链接里面的办法把接口通信调试成功,然后就是实现自己的业务逻辑了。

Posted in PHP Tagged with: , ,