最近公司的商城系统需要实现 ,同城社区类的功能;如果从头开始开发社区程序会花费大量时间。于是我寄希望于discuz的ucenter,用它链接我的商城和discuz论坛以此实现功能。
我的商城是tp系统,我找到了一些参考资料,比较详细和实用的是github上的thinkphp5-ucenter-interface这个项目。照着介绍的步骤进行测试仍然发现ucenter无法和tp5.1项目通信,检查了原因的方法:
首先看ucenter测试通路的测试请求是什么?
a、在ucenter后台编辑应用后会发送链接请求到对应应用进行测试
b、找到主要代码在
upload\uc_server\model\note.php这个文件的sendone函数中 144行左右有测试通路链接的方法
$url = $this->get_url_code($note['operation'], $note['getdata'], $appid);
查看此url发现与参考资料不同之处在于url后带了api目录,于是我对tp项目的通信目录路由进行修改 Route::get('api/uc', 'uc/UCenter/uc');
其次参考项目的一些TP类的引用是不正确的、有一个php7弃用的方法也需要替换或清除get_magic_quotes_gpc()
对上面说的几项进行修改之后,ucenter与我的tp项目通信成功