Skip to content
jinyu edited this page Mar 12, 2017 · 2 revisions

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包,可以利用JS代码唤起客户端的某些功能,比如拍照,关闭网页等功能。

使用步骤如下:

0.我们需要实例化一个WeixinProxy对象

1.生成jssdk的注册验证json字符串:

JSSDKConfigurator jssdk = new JSSDKConfigurator(
				weixinProxy.getTicketManager(TicketType.jsapi));
jssdk.apis(JSSDKAPI.SHARE_APIS); // 分享功能
//jssdk.apis(JSSDKAPI.MP_ALL_APIS); // 或者使用全部功能
//jssdk.debugMode(); //打开调试模式
String config = jssdk.toJSONConfig(getFullLoction()); // 生成json串
model.addAttribute("jssdk", config); //传入到请求作用域(Spring mvc 其他web框架类似)

3.绑定安全域名,登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

4.引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js 备注:支持使用 AMD/CMD 标准模块加载方法加载

5.通过config接口注入权限验证配置

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用.

var config = ${config}; // 后台传入过来的json串
wx.config(config);
wx.ready(function(){
    //调用相关API
    wx.onMenuShareTimeline(...); // 监听分享事件
    wx.closeWindow(); // 关闭当前网页窗口
});	

ps:获取当前访问的全路径URL

protected String getRootLocation() {
		int port = request.getServerPort();
		if (port == 80) {
			return String.format("%s://%s", request.getScheme(),
					request.getServerName());
		} else {
			return String.format("%s://%s:%s", request.getScheme(),
					request.getServerName(), port);
		}
	}

	protected String getFullLoction() {
		String root = getRootLocation();
		String queryString = request.getQueryString();
		return String.format("%s%s%s", root, request.getRequestURI(),
				StringUtil.isNotBlank(queryString) ? "?" + queryString : "");
	}
Clone this wiki locally