您的位置:首页 > 移动开发 > 微信开发

java微信浏览器禁止用户分享

2017-01-24 09:13 253 查看
1.核心js:

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>


2.核心JavaScript

<script type="text/javascript">
$().ready(function(){
//微信js注入
wxGetSign();

$("#cashInput").focus(function(){
$("#submit").attr("disabled",false);
$(".errorspan").text("");
});

});

var wxConfigData={
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: 'pkb', // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名,见附录1
jsApiList: ['hideOptionMenu'] //判断当前客户端版本是否支持指定JS接口,微信支付接口
};

// 获取签名
function wxGetSign() {
var signData ={
timestamp:wxConfigData.timestamp,
url : encodeURIComponent(location.href.split('#')[0])};
$.getJSON("${base}/wechatCode/sign.jhtml?jsoncallback=?", signData, function (data) {
console.log(data);
if(data.sign)
{
// 获取签名成功,初始化分享
wxConfigData["appId"]=data["appId"];
wxConfigData["signature"]=data["sign"];
wxConfigData["nonceStr"]=data["noncestr"];
//wxConfigData["timestamp"]=data["timestamp"];
wxInit();
}
});
}

function wxInit(){
//配置参数
wx.config(wxConfigData);
wx.ready(function (){
wx.hideOptionMenu();
});
}
</script>


3.核心java代码  

/**
* 微信js接入
*/
@RequestMapping(value = { "/sign" }, method = { RequestMethod.GET })
@ResponseBody
public JSONPObject sign(String timestamp, String url, String jsoncallback) {
if (StringUtils.isBlank(timestamp) || StringUtils.isBlank(url)) {
return null;
}
logger.debug("======timestamp=======" + timestamp);
logger.debug("======url=======" + url);
String jsApiTicket = TokenProxy.jsApiTicket();
String nonceStr = WxPaymentUtils.createNoncestr();
String signature = null;
try {
signature = WxJsSignUtils.signature(jsApiTicket, timestamp,
nonceStr, URLDecoder.decode(url, "UTF-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//logger.debug("======signature=======" + signature);
JSONObject result = new JSONObject();
result.put("appId", Config.instance().getAppid());
result.put("noncestr", nonceStr);
result.put("sign", signature);

return new JSONPObject(jsoncallback, result);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐