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的時候取不到。