html 显示微信 用户头像,微信网页授权 、获取用户昵称 头像等信息

'use strict';var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeofobj; };var appid = 'PDCUGQUBOOUOP5XTP';var secret = 'ox2RVFBD8jNY79pUmG7gwrN2pCD4p10P';functiongetSignature(data, token) {var query ={

timestamp: Math.ceil(new Date().getTime() / 1000),

noncestr: randomChar(16),

appid: appid,

access_token: token|| ''};var _data =deepCopy(data);

_data.timestamp=query.timestamp;

_data.noncestr=query.noncestr;

_data.appid=query.appid;

_data.access_token=query.access_token;

forEachValue(_data,function(item, key) {var type = typeof item === 'undefined' ? 'undefined': _typeof(item);if (type === 'object') {

_data[key]=encodeStr(JSON.stringify(item));

}else if (type === 'function') {} else if (type === 'string') {

_data[key]=encodeStr(item);

}

});var str =getQueryString(_data).toUpperCase();var strMd5 = CryptoJS.MD5(str).toString() +secret;

query.signature=CryptoJS.SHA256(strMd5).toString();returngetQueryString(query);

}functionrandomChar(l) {var x = '0123456789qwertyuioplkjhgfdsazxcvbnmABCDEFGHIJKLMNOPQRSTUVWXYZ';var tmp = '';for (var i = 0; i < l; i++) {

tmp+= x.charAt(Math.ceil(Math.random() * 100000000) %x.length);

}returntmp;

}functionencodeStr(str) {return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A');

}functiongetQueryString(obj) {var arr =[];var _tmpArray =[];for (var index inobj) {

_tmpArray.push(index);

}

_tmpArray.sort();

_tmpArray.forEach(function(key) {if (_typeof(obj[key]) === 'object') {

obj[key].forEach(function(item) {

arr.push(key+ '[]' + '=' +item);

});

}else{

arr.push(key+ '=' +obj[key]);

}

});return arr.join('&');

}functionforEachValue(obj, fn) {

Object.keys(obj).forEach(function(key) {returnfn(obj[key], key);

});

}functiondeepCopy(obj) {var cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];if (obj === null || (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) !== 'object') {returnobj;

}var hit = find(cache, function(c) {return c.original ===obj;

});if(hit) {returnhit.copy;

}var copy = Array.isArray(obj) ?[] : {};

cache.push({

original: obj,

copy: copy

});

Object.keys(obj).forEach(function(key) {

copy[key]=deepCopy(obj[key], cache);

});returncopy;

}functionGetQueryString(name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');var r = window.location.search.substr(1).match(reg);if (r != null) {return unescape(r[2]);

}return null;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值