主要为以下实现步骤:
1.绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。(特别提示不需要加上http或者https,吃过亏)
2.页面引入js文件
3.通过config接口注入权限验证配置
wx.config({
debug:true,//开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId:'',//必填,公众号的唯一标识
timestamp:,//必填,生成签名的时间戳
nonceStr:'',//必填,生成签名的随机串
signature:'',//必填,签名,见附录1
jsApiList:[]//必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
4.通过ready接口处理成功验证
wx.ready(function(){
//详细代码
});
5.通过error接口处理失败验证
wx.error(function(res){});
详细页面代码
java后台action代码:
//微信分享
publicvoidshareToFriend(){
HttpServletRequestrequest=ServletActionContext.getRequest();
StringtimeStamp=Sha1Util.getTimeStamp();//时间戳
StringnonceStr=WxConfig.getUUID();//随机字符串,不长于32位
Stringurl=request.getParameter("url");
Stringsignature=WxConfig.getSignature("APPId","APP_secret",url,timeStamp,nonceStr);
request.setAttribute("timeStamp",timeStamp);
request.setAttribute("nonceStr",nonceStr);
request.setAttribute("url",url);
request.setAttribute("signature",signature);
WXjssdkresult=newWXjssdk(timeStamp,nonceStr,signature,url);
CommonUtil.returnMsg(ServletActionContext.getResponse(),newGson().toJson(result));
}
WxConfig.java代码
">//jsapi_ticket
publicfinalstaticStringWEIXIN_JSAPI_TICKET_URL="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi";
//access_token
publicstaticStringgetAccessToken(StringappId,StringappSecret){
Stringaccess_token;
access_token=mapToken.get("accessToken");
if(access_token==null){
Stringurl=HttpUtil.WEIXIN_HOST_API+"/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret;
StringmenuJsonStr=HttpUtil.get(url);
finalTypetype=newTypeToken
另外项目用到的Sha1Util.java和MD5Util.java可以直接在平台下载。