需要
当用户受权登录微信公众号提供的程序时,或者通过微信公众号注册时,将注册信息发送给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接口实现注册和登录。