加入群组无法审核——众学#1454

一、扫二维码取得数据

contact-->contacts_qrcode.html

 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};
                }

  进入页面的时候便加载信息进入二维码

    type=1表示为个人的二维码;其它的表示群组的二维码;

    加“*”的代码为重点:

           由于信息进入二维码,然后会被特殊的方式转码,而此时由于其它需求模块的关联,需要取得群名称,但如果group_name为中文的话就会出现转码问题,所以要通过

“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);
    }

“decodeURIComponent”进行解码,从而取得需要的信息

ps:如果是中文进入二维码中,由于会进行转码,并且不同的二维码生成器的转码方式也不同,直接取出信息的话则会是乱码,机器和人都无法识别,所以要先转换成机器能懂的语言,然后再进行解码,保证数据的完整新,再取得完整的数据。


不过此bug第一次出现是因为

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

这里的

params.im_friend_id

少加一个"im_",导致后面取params.im_friend_id的时候取不到。

转载于:https://my.oschina.net/u/2357858/blog/489065

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值