不墨迹,直接说重点:(配置了uc的网站不要再去采集了,否则uid不一致,新用户永远无法同步登录了)
下载系统后留意文件夹里是否带了uc的源码
api是接口文件夹,uc_client是uc的客户端文件,api和uc_client文件夹都必须有。
ucserver文件夹是uc中心服务器端的,如果没安装uc服务器端管理中心可以安装http://你的域名/ucserver,一般安装discuz产品默认带了,反正没有就自己安装。
如果没有去这里下载:/huangyouzhi/whatsns
然后将文件夹上传到问答根目录
现在讲解uc端配置,上面文件夹咱们都有了,现在正式开始配置:
第一步,配置uc通信信息
去应用管理中心添加新应用
填写问答域名网址即可,注意箭头,设置通信密钥 其它得空着,勾选同步登陆,然后复制uc信息到问答后台
参考原文配置教程:/article-14830.html
此处重点讲采坑,刚开始通信失败,原因有2:
1 目前问答网站data/cache/setting.php文件为空,需要访问首页后动态生成一个setting.php(配置缓存),检查有没有这个文件
2 通信信息配置错了,网址写错了,网址填http://域名,其它得不要填,不要带 /,也不要/index.php,如图所示即可,如果是二级目录安装定位到二级目录名称
如果通信成功后,亲测注册没问题,注册后会同步到uc管理中心。
下面就是登录采坑记录
1 切记uc管理中心得用户uid和问答网站还有需要同步登录的网站用户uid三个都要一致,比如问答用uid=15的用户登录,那么uc后台用户管理中必须存在uid=15且同步登录的第三方网站也需要有uid=15得用户
而且账号名称和密码都要一致。(如果同步登录失败自己检查即可)
2 默认uid自增从1开始的,所以如果新注册用户uid肯定不一致,需要手动调整到老网站用户表中得最大值,比如我dz用户已经有1000,那么新安装的问答里用户uid必须从1001开始
3 上面的uid一致后发现还是不能同步登陆,如何解决?
排查问题得知,uc接口文件带坑,不能生成cookie,找到api/uc.php文件,然后ctr+F搜索 checkattack ,注释或者删掉图片中的箭头指向代码(已注释 ,//代表注释)
4 别高兴太早,虽然能生成cookie,但是默认uc_client无法自动更新app信息,也就是 uc_client\data\cache\apps.php就是多端应用配置信息,这个没写入。
我手动将ucserver服务器端文件里配置用的信息复制粘贴过来了,你们别傻乎乎得也去复制网站根目录下得ucserver文件夹里的应用配置文件,我是将uc后台安装在ucserver里,也就是官方自带的,
如果你们是安装dz自带或者别的地方下载的,去你们uc管理网站所在目录复制:uc管理中心网站目录\data\cache\apps.php,将里面的配置信息都拷贝到对应其它网站的uc_client\data\cache\apps.php文件里,或者干脆覆盖对应的文件。
第四步完成后还是不能同步登陆,最后发现是官方代码采用ajax登录得,uc同步登陆采用浏览器里输出script地址登录,所以只能修改官方登录代码,修改代码我已经修改,大家可以下载zip并上传解压覆盖
/data/ueditor/php/upload/file/1104/1572857547889236.zip
上面几个步骤完成后就可以实现同步登陆,退出和注册了。参考视频演示
00:26
举报/反馈