java微信网页授权获取用户信息以及JSSDK自定义分享等功能<三>
2015-12-08 13:09
1016 查看
接上文,在写完java全部代码之后,请先进行微信公众平台环境配置。
博主用的是测试号,正式公众号配置相同。
首先找到 js接口安全域 ,这个是做jssdk必须配置的一项,跟代理域名相同即可,在weixinProperties.properties这个配置文件中wx.url项。
测试公众号是这个地方,不含http://这部分,正式公众号是 公众号设置→功能设置→js接口安全域名
这样jssdk的环境配置就完成了。
然后是网页授权的环境配置,正式号也一样。
这里的网页账号项后面有个修改,点击修改,输入weixinProperties.properties这个配置文件中wx.url项,同样不含http://这个头,正式公众号是在 开发者中心→网页账号,位置差不多。
到此,授权和网页jssdk的外部环境配置全部完成。接下来剩下jsp页面的代码。这个时候在java后台已经可以通过http://heboy18.6655.la/lvyouju/lvyou.do?info=1这个链接获取到用户信息。只是没有页面,依旧会报404错误。
jsp页面代码图:
SignPackage.java类
全部完成。
博主用的是测试号,正式公众号配置相同。
首先找到 js接口安全域 ,这个是做jssdk必须配置的一项,跟代理域名相同即可,在weixinProperties.properties这个配置文件中wx.url项。
测试公众号是这个地方,不含http://这部分,正式公众号是 公众号设置→功能设置→js接口安全域名
这样jssdk的环境配置就完成了。
然后是网页授权的环境配置,正式号也一样。
这里的网页账号项后面有个修改,点击修改,输入weixinProperties.properties这个配置文件中wx.url项,同样不含http://这个头,正式公众号是在 开发者中心→网页账号,位置差不多。
到此,授权和网页jssdk的外部环境配置全部完成。接下来剩下jsp页面的代码。这个时候在java后台已经可以通过http://heboy18.6655.la/lvyouju/lvyou.do?info=1这个链接获取到用户信息。只是没有页面,依旧会报404错误。
jsp页面代码图:
<span style="font-size:14px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page import="org.lvyouju.entity.SignPackage;" %> <% SignPackage signPackage = (SignPackage)request.getAttribute("signPackage"); %> <!DOCTYPE HTML> <html> <head> <script type='text/javascript' src="js/jquery-1.8.2.min.js"></script> </head> <body> <input type="hidden" id="appid"value=<%=signPackage.getAppid()%>> <input type="hidden" id="timestamp"value=<%=signPackage.getTimestamp()%>> <input type="hidden" id="nonceStr"value=<%=signPackage.getNonceStr()%>> <input type="hidden" id="signature"value=<%=signPackage.getSignature()%>> <img id="img" alt="图片" src="test.jpg"> </body> <script type="text/javascript"src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script type="text/javascript"> var appid=$('#appid').val(); var timestamp=$('#timestamp').val(); var nonceStr=$('#nonceStr').val(); var signature=$('#signature').val(); var dataForWeixin = { title: '随便写', //分享标题 desc: '分享之旅', //分享描述 imgUrl: $("#img")[0].src, //分享的图片 link: 'http://heboy18.6655.la' //分享的链接 }; wx.config({ debug : false, appId : appid, timestamp : timestamp, nonceStr : nonceStr, signature : signature, jsApiList : [ 'onMenuShareQQ','hideAllNonBaseMenuItem','showMenuItems','onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareQZone'] }); wx.ready(function() { wx.hideOptionMenu(); wx.showMenuItems({ menuList: ['menuItem:share:timeline','menuItem:share:appMessage','menuItem:share:qq','menuItem:share:QZone'] }); wx.onMenuShareTimeline({ title: dataForWeixin.title, // 分享标题 link: dataForWeixin.link, // 分享链接 imgUrl: dataForWeixin.imgUrl, // 分享图标 success: function () { alert("分享成功"); }, cancel: function () { // 用户取消分享后执行的回调函数 } }); wx.onMenuShareAppMessage({ //分享给微信朋友 title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.link, // 分享链接 imgUrl: dataForWeixin.imgUrl, // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空 success: function () { alert("分享成功"); }, cancel: function () { } }); wx.onMenuShareQQ({ title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.link, // 分享链接 imgUrl: dataForWeixin.imgUrl, // 分享图标 success: function () { alert("分享成功"); }, cancel: function () { } }); wx.onMenuShareQZone({ title: dataForWeixin.title, // 分享标题 desc: dataForWeixin.desc, // 分享描述 link: dataForWeixin.link, // 分享链接 imgUrl: dataForWeixin.imgUrl, // 分享图标 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } }); }); wx.error(function(res) { }); </script> </html> </span>页面代码全部写完。可能还有个签名的类没有源码。
SignPackage.java类
public class SignPackage { /** * 时间戳 */ private String timestamp; /** * 随机字符串 */ private String nonceStr; /** * 签名字符串 */ private String signature; /** * 参与签名的url */ private String url; /** * js票据 */ private JsapiTicket jsapiTicket; /** * 网页授权access_token */ private String access_token; /** * 用户刷新access_token */ private String refresh_token; /** * 公众号id */ private String appid; /** * 用户openid */ private String openid; public String getAccess_token() { return access_token; } public void setAccess_token(String access_token) { this.access_token = access_token; } public String getRefresh_token() { return refresh_token; } public void setRefresh_token(String refresh_token) { this.refresh_token = refresh_token; } public String getAppid() { return appid; } public void setAppid(String appid) { this.appid = appid; } public String getOpenid() { return openid; } public void setOpenid(String openid) { this.openid = openid; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public JsapiTicket getJsapiTicket() { return jsapiTicket; } public void setJsapiTicket(JsapiTicket jsapiTicket) { this.jsapiTicket = jsapiTicket; } public String getTimestamp() { return timestamp; } public void setTimestamp(String timestamp) { this.timestamp = timestamp; } public String getNonceStr() { return nonceStr; } public void setNonceStr(String nonceStr) { this.nonceStr = nonceStr; } public String getSignature() { return signature; } public void setSignature(String signature) { this.signature = signature; } }
全部完成。
相关文章推荐
- 微信自定义回复
- iOS之微信支付交互图分析
- JS判断当前页面是否在微信浏览器打开的方法
- [Android]不经过第三方SDK直接调用系统自带分享QQ、微信
- 安卓微信浏览器加border-radius出现模糊(锯齿)
- java微信网页授权获取用户信息以及JSSDK自定义分享等功能<二>
- iOS 集成微信支付
- 如何查看微信分享jar包的版本号
- 微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版
- 微信web开发 - 自动拨打拨打电话问题
- 微信营销
- 微信开发
- JS判断当前页面是否在微信浏览器打开的方法
- 公司微信1.0开发,今天抓到了那条滑溜的鱼
- 灯泡开关小程序
- Django搭建微信公众平台详解 三
- iOS微信图片浏览模仿
- 集成微信支付详细步骤及说明——解决点击微信支付只有一个确定按钮的情况
- 关于微信接口
- 微信公众号:微信分享获得配置信息