加入羣組沒法審覈——衆學#1454

1、掃二維碼取得數據
html

contact-->contacts_qrcode.html
code

 window.uexOnload = function(type) {
            var  code = {};
            var qrcode_type = params.qrcode_type;
            if (!type) {
                var user_name="",_id="";
                if(qrcode_type==1){
                    user_name = params.user_name;
                    _id = params.im_friend_id;
                    code = {id:_id,type:qrcode_type};
                }else{
                    user_name = params.group_name;
                    _id = params.group_id;
                    var group_name = encodeURIComponent(user_name);       *
                    code = {id:_id,type:qrcode_type,group_name:group_name};
                }

  進入頁面的時候便加載信息進入二維碼htm

    type=1表示爲我的的二維碼;其它的表示羣組的二維碼;io

    加「*」的代碼爲重點:function

           因爲信息進入二維碼,而後會被特殊的方式轉碼,而此時因爲其它需求模塊的關聯,須要取得羣名稱,但若是group_name爲中文的話就會出現轉碼問題,因此要經過class

「encodeURIComponent」方法對group_name進行轉碼

而後再掃描二維碼的一端亂碼

 contact-->index.html--> function toScanner-->isAddObject-->toAddObject二維碼

 function toAddObject(obj){
        var jump_html = "add_friend";
        if(obj.type==1){
            params.im_friend_id = obj.id;
        }else{
            params.im_group_id = obj.id;
            params.group_name = decodeURIComponent(obj.group_name);     *
            jump_html = 'user_add_group'
        }
        jump(jump_html);
    }

bug

「decodeURIComponent」進行解碼,從而取得須要的信息

ps:若是是中文進入二維碼中,因爲會進行轉碼,而且不一樣的二維碼生成器的轉碼方式也不一樣,直接取出信息的話則會是亂碼,機器和人都沒法識別,因此要先轉換成機器能懂的語言,而後再進行解碼,保證數據的完整新,再取得完整的數據。方法


不過此bug第一次出現是由於

if(obj.type==1){
            params.im_friend_id = obj.id;
        }

這裏的

params.im_friend_id

少加一個"im_",致使後面取params.im_friend_id的時候取不到。

相關文章
相關標籤/搜索