QQ 互聯使用者在註冊時預設無需填寫密碼,雖然會讓使用者更便捷,但卻會在一些特殊情況下帶來麻煩,比如如果不用某一天 QQ 登陸服務出了 「意外」,那我們網站的使用者怎麼登陸。
  拋去部分站長擔心的使用者可控性這一點不說,單就不設獨立密碼無法同步登入 UCENTER 下其它應用這一點,我就認為在註冊時設定獨立密碼是非常必要的。特別是很多站點高度整合了一些附屬的應用,比如點評、外部分類資訊系統等,如果不能讓使用者同步登入,是嚴重影響使用者體驗的。
  透過下面的幾個步驟,可以完美實現 QQ 互聯使用者註冊時完成獨立密碼的設定。但需要注意的是,註冊完成後首次自動進入登入狀態下,此時 UCENTER 的
應用仍然無法同步登入,需要使用者退出後第二次登入時,才能實現登入的同步 (但我認為到這一步已經不是什麼問題了,可以在頁面上做一個提示) 。
1 、開啟檔案 source/plugin/qqconnect/template/module.htm 檔案,查詢

  1. $('{$_G['setting']['reginput']['password']}').parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
  2. $('{$_G['setting']['reginput']['password']}').outerHTML += '$js1';
  3. $('{$_G['setting']['reginput']['password']}').required = 0;
  4. $('{$_G['setting']['reginput']['password2']}').parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
  5. $('{$_G['setting']['reginput']['password2']}').required = 0;

修改成

  1. //$('{$_G['setting']['reginput']['password']}').parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
  2. $('{$_G['setting']['reginput']['username']}').outerHTML += '$js1';
  3. $('{$_G['setting']['reginput']['password']}').required = 1;
  4. //$('{$_G['setting']['reginput']['password2']}').parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';
  5. $('{$_G['setting']['reginput']['password2']}').required = 1;

2 、開啟檔案 source/module/member/member_connect.php ,查詢

  1. $ctl_obj->setting['ignorepassword'] = 1;

在前面加兩道斜槓 // 將它註釋掉。

3 、開啟檔案 source/module/member/member_connect_register.php ,查詢

  1. DB::query("INSERT INTO
    ".DB::table('common_member_connect')." (uid, conuin, conuinsecret,
    conopenid, conispublishfeed, conispublisht, conisregister,
    conisqzoneavatar, conisfeed) VALUES ('$uid', '$conuin', '$conuinsecret',
    '$conopenid', '$conispublishfeed', '$conispublisht', '1',
    '$is_qzone_avatar', '$user_auth_fields')");

修改成 (只變動了一個數字)

  1. DB::query("INSERT INTO
    ".DB::table('common_member_connect')." (uid, conuin, conuinsecret,
    conopenid, conispublishfeed, conispublisht, conisregister,
    conisqzoneavatar, conisfeed) VALUES ('$uid', '$conuin', '$conuinsecret',
    '$conopenid', '$conispublishfeed', '$conispublisht', '0',
    '$is_qzone_avatar', '$user_auth_fields')");

效果如下圖:

snmw.cn.png