<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<#include "/com/lovo/ec/m/global/ftl/global_all.ftl" />
<script type="text/javascript" src="${staticHost}/m/js/common/zepto.min.js"></script>
<script>
function getappid() {
return "wx29b5cd93f26b8f14"; //换成自已的appid
}
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
function getTimeStamp() {
var timestamp = new Date().getTime();
var timestampstring = timestamp.toString();//一定要转换字符串
oldTimeStamp = timestampstring;
return timestampstring;
}
//得到随机字符串
function getNonceStr() {
var $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var maxPos = $chars.length;
var noceStr = "";
for (i = 0; i < 32; i++) {
noceStr += $chars.charAt(Math.floor(Math.random() * maxPos));
}
oldNonceStr = noceStr;
return noceStr;
}
//获取CODE
var getcodeobj = {
appid: getappid(),
redirect_uri: "",
response_type: "code",
scope: "snsapi_base",
state: "1"
};
//拼接url传参字符串
function perapara(objvalues, isencode) {
var parastring = "";
for (var key in objvalues) {
isencode = isencode || false;
if (isencode) {
parastring += (key + "=" + encodeURIComponent(objvalues[key]) + "&");
}
else {
parastring += (key + "=" + objvalues[key] + "&");
}
}
parastring = parastring.substr(0, parastring.length - 1);
return parastring;
}
//得到用户code
function getcode() {
var code = getQueryString("code");
if (!code) {
var getcodeparas = $.extend(getcodeobj, {
redirect_uri: window.location.href
});
window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?" + perapara(getcodeparas) + "#wechat_redirect";
}
else {
return code;
}
}
//得到用户accesstoken
function getaccesstoken(code,oldTimeStamp,oldNonceStr,url1) {
var url = "${ctx}/cart/getTockenByCode.php";
$.ajax({
type: "POST", //默认是GET
url: url,
data: {"code":code,"timeStamp":oldTimeStamp,"nonceStr":oldNonceStr,"ftlUrl":url1},
async: false, //异步
success: function (data) {
sign = data.addrSign;
},
error: function () {
}
});
}
function getSign(beforesingstring) {
sign = CryptoJS.SHA1(beforesingstring).toString();
return sign;
}
var signparasobj = {
"accesstoken": "",
"appid": getappid(),
"noncestr": "",
"timestamp": "",
"url": ""
};
</script>
</head>
<body>
<div>
<label>showerror</label>
<textarea id="showerror"></textarea>
<!--<div id="showerror"></div>-->
<label>code</label><input type="text" id="txtcode" /><br />
<textarea id="txtinfo"></textarea>
<label>accesstoken</label><input type="text" id="txtaccesstoken" />
</div>
<div id="showtestresult"></div>
<label for="redhref">href测试</label> <input type="text" id="redhref" /><br />
<label for="redhref">加密前参数</label> <input name="44" id="signpre" type="text" /><br />
<input name="44" id="thisurl" type="text" /><br />
<input name="33" id="thisurl2" type="text" /><br />
<input type="button" id="getaddress2" οnclick="editAddress()" value="得到地址方式2" /><br />
<input name="address1" id="address1" type="text" /><br />
<input name="address2" id="address2" type="text" /><br />
<input name="address3" id="address3" type="text" /><br />
<div id="divinfo"></div>
<div id="resvalues">aaaaaaaaS</div>
<script>
var codestring = "";
var access_tokenstring = "";
var oldTimeStamp;//保存timestamp,提交用
var oldNonceStr; //保存nonceStr,提交用
var sign;
var isaccget = false;
var url;
//绑定微信对象事件
function checkWeixinJSBridge(){
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', editAddress, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', editAddress);
document.attachEvent('onWeixinJSBridgeReady', editAddress);
}
} else {
}
}
function editAddress() {
alert(getappid());
alert(sign.toString());
alert(oldTimeStamp.toString());
alert("随机常量"+oldNonceStr.toString());
WeixinJSBridge.invoke('editAddress',
{
"appId": getappid(),
"scope": "jsapi_address",
"signType": "sha1",
"addrSign": sign.toString(),
"timeStamp": oldTimeStamp.toString(),
"nonceStr": oldNonceStr.toString()
},
function (res) {
alert(res.err_msg);
});
}
$(document).ready(
function () {
codestring = getcode();
oldTimeStamp = getTimeStamp();
oldNonceStr = getNonceStr();
$("#txtcode").val(codestring);
if(codestring){
$("#thisurl").val(window.location.href);
alert(codestring);
url = window.location.href;
getaccesstoken(codestring,oldTimeStamp,oldNonceStr,url);
checkWeixinJSBridge();
}else{
alert("第一次 进页面,code为空");
}
});
</script>
</body>
</html>
微信 收货地址共享
最新推荐文章于 2020-03-13 17:08:45 发布