需要
当用户受权登录微信公众号提供的程序时,或者通过微信公众号注册时,将注册信息发送给 ucenter 接口,通过 ucenter 实现注册和登录。该性能基于之前开发的微信公众号会话开发程序。
参考资料
在整合 TP6 与 ucenter 时,次要参考了 UCenter API 开发笔记——UCenter 与 ThinkPHP5.1 整合 实现了胜利通信。
UCenter 接口开发文档
整合前提
thinkphp6
这个必定曾经有了。
装置 Center1.6.0
因之前我曾经装置过 Ucenter,并且实现了 Ucenter 和 Supesite 的整合,此处装置 Ucenter 过程略。请百度 Ucenter 装置办法。
下载 thinkphp5ucenter 接口
下载地址: thinkphp5 UCenter 接口
整合
- ucenter 中增加应用程序,参考 UCenter API 开发笔记——UCenter 与 ThinkPHP5.1 整合
-
将下载好的 thinkphp5ucenter 接口代码中的 UCenter 目录复制到 thinkphp 的扩大目录 extend 目录下, 如图所示。
-
复制 ucenter 中配置的通信参数
进入 UCenter-> 利用治理 -> 刚刚增加的那一项利用 -> 编辑 -> 页面底部内容
-
将配置信息黏贴到 thinkphp 根目录 /extend/UCenter/config.php 中笼罩保留
-
tp6 中新建一个模块用于与 Ucenter 通信
因我部署的 tp6 是单利用,所以新建 controller 代码如下
php think make:controller app/UCenter
-
新建一个模型
php think make:model uc/UCenter
- 批改新创建的控制器和模型
7.1 批改控制器使其继承 UcenterControllerApiController,残缺代码如下
<?php
declare (strict_types = 1);
namespace appcontroller;
use UcenterControllerApiController;
class UCenter extends ApiController
{public $eventListener = 'appmodelucUCenter';}
7.2 批改模型使其继承 UCenterModelEventModel,残缺代码如下
<?php
declare (strict_types = 1);
namespace appmodeluc;
use UCenterModelEventModel;
/**
* @mixin thinkModel
*/
class UCenter extends EventModel
{//}
8 配置路由
- 开启零碎路由 config/route.php
'url_lazy_route' => true,
此处我放弃 false 也是能够胜利的。最好还是改为 true
-
新增路由信息
- 关上文件 thinkphp 根目录 /route/app.php 新增一条路由信息
Route::get('uc', 'uc/UCenter/uc');
9 批改 extend/UCenter/Controller/ApiController.php
- 去掉 use thinkLog; 和 use thinkLoader;
- 增加 use thinkfacadeLog;
- 去掉 class ApiController extends Controller 中的 extends Controller
“
- 将
$action = Loader::parseName($get['action'], '1');
改为$action = parse_name($get['action'], '1');
10 批改 extend/UCenter/Controller/UcController.php
1 去掉 use thinkController;,增加上面的代码
use thinkfacadeLog;
use thinkfacadeRequest;
2 去掉 class UcController extends Controller 的 extends Controller
3 更改 $ip = !empty($reg_ip) ? $reg_ip : get_client_ip();
为$ip = !empty($reg_ip) ? $reg_ip : Request::host();
11 批改 UCenter 利用信息
- 利用主 URL 更改为利用域名 /index.php/uc
- 利用接口文件名称由 uc.php 该为 uc
到此,刷新 ucenter 利用治理页面,能够看到通信胜利。
下一篇讲通过 ucenter 接口实现注册和登录。