加入群组没法审核——众学#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的时候取不到。

相关文章
相关标签/搜索