帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置

帝国CMS教程

帝国cms在7.0版本就已经开通外部登录接口,但是很多朋友网站还是没有配置QQ登录,正好今天接了一个网友咨询帮忙配置QQ互联实现QQ登录,且要求免绑定登录账号、也就是说要实现QQ登录后自动注册功能

本着能帮则帮,能抄照抄的原则,搜索引擎搜索了相关插件,下载了一个帝国7.2版本的,版本链接如下:

百度网盘: https://pan.baidu.com/s/1vo4yqiW6Zn5WOv2Ci9MfZQ

提取码: 71as

根据压缩包内教程安装好插件,如何安装,压缩包详细说明,这里不多做介绍

测试登录,发现登录到会员中心后台--提示绑定登录账号,或者注册绑定

顾客需求:QQ登录后自动注册登录账号,不绑定已有账号或重新注册绑定

针对这一需求,帝国论坛查看了相关文章,发现网友分享的:QQ登录插件改进版,有可以借鉴的地方

文章网址:http://bbs.phome.net/ShowThread/?threadid=311082&forumid=31

下载好文章,根据文章提示上传附件内容到指定目录,登录测试

问题一:验证码不正确

帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置 第1张

解决办法一:后台--系统设置--系统参数设置--用户设置--会员注册验证码

解决办法二:代码修改

/e/memberconnect/qq/loginend.php,找到

register($qq);

在代码上方添加

$qq['nokey']=1;//不验证后台验证码

/e/member/class/member_registerfun.php,找到

if($public_r['regkey_ok'])

改成

if($public_r['regkey_ok']&&$add['nokey']<>1)

这样验证码过期的问题就解决了

问题二:二次密码不一致

帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置 第2张

$password = rand(100000,999999); //随机密码
$qq['password'] = (int)$password;
$qq['repassword'] = (int)$password;

这是下载后/e/memberconnect/qq/loginend.php中关于密码的写法

这个写法是随机6位密码,但是密码这样写肯定是不一样的,那么怎么改呢,很简单

$qq['password'] = '123456';
$qq['repassword'] = '123456';

直接写死代码,不过建议改成复杂一点的,这样问题就解决了

问题三:此邮箱已被注册

帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置 第3张

这是下载后/e/memberconnect/qq/loginend.php中关于邮箱的写法

$qq['email'] = 'xxxxx@qq.com';

这样写就是写死了邮箱,也就是说不管哪个QQ登录都是这个邮箱,那么肯定不行,会提示此邮箱已被注册,那么如何解决

$email = rand(1000000000,9999999999);
$qq['email'] = (int)$email.'xxxxx@qq.com';

写个随机邮箱即可解决

问题四:登录后出现404错误

原本帝国cms注册后,跳转到的是会员中心页面,也就是:

http://qinshining.com/e/member/cp/

但是实际跳转到的页面是:

http://qinshining.com/e/memberconnect/member/cp/

从网址链接不难看出是多出了一个memberconnect层级,那么如何解决呢

解决方法:/e/member/class/member_registerfun.php

$location="../member/cp/";

改成

$location="/e/member/cp/";

到这一步,帝国cms使用外部接口QQ互联登录注册的工作就全部完成,使用QQ互联登录的好处是什么,一方面免去注册填写这些那些信息,另一方面,不用担心忘记注册用户名密码,因为主要你QQ还能登录,就能登录到网站


问题五:登录后会员用户名和密码以及邮箱是什么,安全吗

针对这个问题,如图

帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置 第4张

可以看出用户名,我这里采用的是QQ昵称,也就是说你QQ昵称是什么,用户名就是什么,至于密码,你设置一个复杂一点呢,也不会轻易被撞库成功


问题六:此用户名已被注册,请重填

这里补充,有网友问如果QQ昵称相同会不会注册不成功,针对这个问题,我修改了两个一样的昵称,还真的出现了问题

帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置 第5张

那么,如何解决这个问题呢,建议用户名$username = rand(1000,9999); 昵称+随机4位数字,也可以增加6-8位不等的

但是前提是要在后台--系统--系统参数设置--用户设置--注册用户名限制,修改更长的字符,避免报错,密码也是一样


问题七:邮箱能不能设置为哪个QQ登录,对应哪个QQ邮箱的形式

真不好意思,查看了QQ互联api调用的接口,没有返回QQ号码值,所以只能随机

帝国cms小程序api 帝国cms外部接口QQ互联登录直接完成注册免绑定账号设置 第6张

到这里应该是没有什么问题了,有问题在@站长修复bug

同时,也有朋友问,能不能也出一个微信接口调用的教程,真不好意思,小编没有营业执照申请微信开放平台的服务号,没法进行测试,实在抱歉,如果你有,我可以找对应的插件帮你调试

标签: 帝国cms小程序api