微信接口文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN
实现步骤:
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代码:
//微信分享
public void shareToFriend(){
HttpServletRequest request = ServletActionContext.getRequest();
String timeStamp = Sha1Util.getTimeStamp();//时间戳
String nonceStr = WxConfig.getUUID();//随机字符串,不长于32位
String url=request.getParameter("url");
String signature = WxConfig.getSignature("APPId", "APP_secret", url, timeStamp, nonceStr);
request.setAttribute("timeStamp", timeStamp);
request.setAttribute("nonceStr", nonceStr);
request.setAttribute("url", url);
request.setAttribute("signature", signature);
WXjssdk result = new WXjssdk(timeStamp,nonceStr,signature,url);
CommonUtil.returnMsg(ServletActionContext.getResponse(), new Gson().toJson(result));
}
WxConfig.java代码
//jsapi_ticket
public final static String WEIXIN_JSAPI_TICKET_URL ="https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi";
//access_token
public static String getAccessToken(String appId,String appSecret){
String access_token;
access_token = mapToken.get("accessToken");
if(access_token==null){
String url = HttpUtil.WEIXIN_HOST_API + "/cgi-bin/token?grant_type=client_credential&appid="+appId+"&secret="+appSecret;
String menuJsonStr = HttpUtil.get(url);
final Type type = new TypeToken
Sha1Util.java和MD5Util.java可以直接在平台下载。