quanshiyinian 发表于 2023-1-31 19:06:56

Discuz!x3.4 QQ互联跳过完善资料直接登录(详细教程方法)

Discuz!x3.4 QQ互联跳过完善资料直接登录(详细教程方法)

有很多人都为QQ互联的问题困扰,最近我正在研究QQ登录怎么才能避开完善信息直接登录的问题,结果经过几天的反复测验终于被我找到了方法。

测试版本:DISCUZ!x3.4版
测试插件:QQ互联2.0
测试平台:PC网页版
修改文件:
source/admincp/admincp_setting.php
source/language/lang_admincp.php
source/class/class_member.php
template\网站相关模版\member\register.htm҅或register.php或原模版的register.htm҅

具体修改部署方法如下:

打开source/admincp/admincp_setting.php文件,查找代码
————————————————
showsetting('setting_access_register_send_register_url', 'settingnew', $setting['sendregisterurl'], 'radio');


在此代码下面添加以下代码
showsetting('setting_access_register_forge_email', 'settingnew', $setting['forgeemail'], 'radio');


[*]打开source/language/lang_admincp.php文件,查找代码
只有在<a href="?action=setting&operation=mail">站长 - 邮件设置</a>中完成邮件设置,确保邮件能发送成功下可以开启该功能 ',
在此代码吓添加如下代码:
'setting_access_register_forge_email' => '取消注册邮箱必填',
'setting_access_register_forge_email_comment' => '开启后如果不填写注册邮箱,将自动生成一个邮箱地址',

[*]打开source/class/class_member.php文件,查找代码
$email = strtolower(trim($_GET['email']));
在此代码吓添加如下代码:
if(empty($email) && $_G['setting']['forgeemail']) { $_GET['email'] = $email = strtolower(random(6)).'@'.$_SERVER['HTTP_HOST']; }

[*]进入后台→应用→QQ互联→QQ登录用户游客用户组中选择“普通用户”如图

进入后台→全局→注册访问控制→注册→开放QQ注册点击开启如图
[*]打开template\网站相关模版目录\member\register.htm҅或register.php如果没有可以打开原模版的register.htm҅文件,查找代码
[*]
进入后台→全局→注册访问控制→注册→开放QQ注册点击开启如图

进入后台→全局→注册访问控制→注册→取消注册邮箱必填→选择是,如图

<!--{template common/header}-->
在此代码下添加以下代码:
<!--{eval $suijipwd = substr(md5(time()), 0, 8); $suijiname = substr(md5(time()), 0, 2); $newyonghu = dhtmlspecialchars($_G); $iscunzai = DB::result(DB::query("SELECT uid FROM ".DB::table('common_member')." WHERE username = '$newyonghu'"));}-->
<!--{if $iscunzai > 0}-->
<!--{eval $newyonghus = $newyonghu."_".$suijiname}-->
<!--{else}-->
<!--{eval $newyonghus = $newyonghu}-->
<!--{/if}-->
继续查找代码
id="{$this->setting['reginput']['username']}"
在此代码后添加如下代码:
{if $_GET['mod'] == 'connect'} value="{$newyonghus}"{/if}
注意:注意前方要加个空格,还要将原有的 value 删除
继续查找代码
id="{$this->setting['reginput']['password']}"
在此代码后添加如下代码:
{if $_GET['mod'] == 'connect'}value="$suijipwd"{/if}
注意前方要加个空格
继续查找代码
id="{$this->setting['reginput']['password2']}"
在此代码后添加如下代码:
{if $_GET['mod'] == 'connect'}value="$suijipwd"{/if}
注意:注意前方要加个空格,还要将原有的 value 删除继续查找代码
<!--{eval updatesession();}-->
在此代码上方,添加如下代码:
<!--{if $_GET['mod'] == 'connect'}-->
<script type="text/javascript">
document.getElementById("registerform").submit();
</script>
<!--{/if}-->
到此全部部署完毕,到后台更新一下缓存后就可QQ直接登录PC版了,无需在进行完善资料了。不过手机登录的时候会提示用户名不能小于3字符的问题,我正在解决中,如果有解决方法我会在发出来的
页: [1]
查看完整版本: Discuz!x3.4 QQ互联跳过完善资料直接登录(详细教程方法)