java微信网页授权获取用户信息以及JSSDK自定义分享等功能<三>

8 篇文章 0 订阅

接上文,在写完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;
	}
}

全部完成。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值