Java微信公众平台开发(15) 微信JSSDK的使用

在前面的文章中有介绍到我们在微信web开发过程中常常用到的 【微信JSSDK中Config配置】 ,但是我们在真正的使用中我们不仅仅只是为了配置Config而已,而是要在我们的项目中真正去使用微信JS-SDK给我们带来便捷,那么这里我们就简述如何在微信web开发中使用必要的方法!微信的JS-SDk中为我们提供的方法很多,这里我有一个简单截图如下:

在上图的提供的所有口中我们可以按照接口实现的难易程度分成两个部分:

较易实现:基础接口、分享接口、设备信息接口、地理位置接口、界面操作接口、微信扫一扫接口;
较难实现:图像接口、音频接口、智能接口、微信小店接口、微信卡券接口、微信支付接口;(注:这里说较难是因为需要后端和本地文件配合接口,这些接口后面会一篇篇文章具体详解)
在这里我们将讲述所有较易实现的接口的具体实现方法,在文章中讲述过了如何配置和引入需要的js,通过这些配置之后我们就可以开始使用js的方法了!

①基础接口-判断当前浏览器是否支持某些js接口

注意:
所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

wx.ready(function () {
 //1. 判断当前版本是否支持指定 JS 接口,支持批量判断,只需要将需要判断的接口放入到jsApiList中即可
 checkJsApifunction () {
 wx.checkJsApi({
  jsApiList: [
  'getNetworkType',
  'previewImage'
  ],
  success: function (res) {
  alert(JSON.stringify(res));
  }
 });
 };

②分享接口,这里包含:分享给朋友、分享到朋友圈、分享到qq、分享到微博、分享到qq空间(但是这里要提醒要注意不要有诱导分享等违规行为,对于诱导分享行为将永久回收公众号接口权限)

 // 2. 分享接口
 // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
 onMenuShareAppMessagefunction () {
 wx.onMenuShareAppMessage({
  title: '菜鸟程序员成长之路!',
  desc: '关注java平台开发,前后端框架技术,分享前后端开发资源,服务端教程技术,菜鸟程序员!',
  link: 'http://www.cuiyongzhi.com/',
  imgUrl: 'http://res.cuiyongzhi.com/2016/03/201603201591_339.png',
  trigger: function (res) {
  // 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
  alert('用户点击发送给朋友');
  },
  success: function (res) {
  alert('已分享');
  },
  cancel: function (res) {
  alert('已取消');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 alert('已注册获取“发送给朋友”状态事件');
 };

 // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
 onMenuShareTimelinefunction () {
 wx.onMenuShareTimeline({
  title: '菜鸟程序员成长之路!',
  link: 'http://www.cuiyongzhi.com/',
  imgUrl: 'http://res.cuiyongzhi.com/2016/03/201603201591_339.png',
  trigger: function (res) {
  // 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
  alert('用户点击分享到朋友圈');
  },
  success: function (res) {
  alert('已分享');
  },
  cancel: function (res) {
  alert('已取消');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 alert('已注册获取“分享到朋友圈”状态事件');
 };

 // 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口
 onMenuShareQQfunction () {
 wx.onMenuShareQQ({
  title: '菜鸟程序员成长之路!',
  desc: '关注java平台开发,前后端框架技术,分享前后端开发资源,服务端教程技术,菜鸟程序员!',
  link: 'http://www.cuiyongzhi.com/',
  imgUrl: 'http://res.cuiyongzhi.com/2016/03/201603201591_339.png',
  trigger: function (res) {
  alert('用户点击分享到QQ');
  },
  complete: function (res) {
  alert(JSON.stringify(res));
  },
  success: function (res) {
  alert('已分享');
  },
  cancel: function (res) {
  alert('已取消');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 alert('已注册获取“分享到 QQ”状态事件');
 };

 // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口
 onMenuShareWeibofunction () {
 wx.onMenuShareWeibo({
  title: '菜鸟程序员成长之路!',
  desc: '关注java平台开发,前后端框架技术,分享前后端开发资源,服务端教程技术,菜鸟程序员!',
  link: 'http://www.cuiyongzhi.com/',
  imgUrl: 'http://res.cuiyongzhi.com/2016/03/201603201591_339.png',
  trigger: function (res) {
  alert('用户点击分享到微博');
  },
  complete: function (res) {
  alert(JSON.stringify(res));
  },
  success: function (res) {
  alert('已分享');
  },
  cancel: function (res) {
  alert('已取消');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 alert('已注册获取“分享到微博”状态事件');
 };

 // 2.5 监听“分享到QZone”按钮点击、自定义分享内容及分享接口
 onMenuShareQZonefunction () {
 wx.onMenuShareQZone({
  title: '菜鸟程序员成长之路!',
  desc: '关注java平台开发,前后端框架技术,分享前后端开发资源,服务端教程技术,菜鸟程序员!',
  link: 'http://www.cuiyongzhi.com/',
  imgUrl: 'http://res.cuiyongzhi.com/2016/03/201603201591_339.png',
  trigger: function (res) {
  alert('用户点击分享到QZone');
  },
  complete: function (res) {
  alert(JSON.stringify(res));
  },
  success: function (res) {
  alert('已分享');
  },
  cancel: function (res) {
  alert('已取消');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 alert('已注册获取“分享到QZone”状态事件');
 };

③设备信息接口--这里是获取设备网络状态,以防在页面中存在视频或者大流量文件播放的时候对用户给出友好提示!

 // 3 设备信息接口
 // 3.1 获取当前网络状态
 getNetworkTypefunction () {
 wx.getNetworkType({
  success: function (res) {
  alert(res.networkType);
  var networkType = res.networkType; // 返回网络类型2g,3g,4g,wifi
  if(networkType=='3g'){
   alert("您好,您的网络状态是3g网络,这里将播放视频文件会产生大流程!");
  }
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 };

④地理位置接口,这里包含查看经纬度对应的地图位置和获取当前位置的经纬度,可用做地图位置展示的第一步!

 // 4 地理位置接口
 // 4.1 查看地理位置
 openLocationfunction () {
 wx.openLocation({
  latitude: 23.099994,
  longitude: 113.324520,
  name: 'TIT 创意园',
  address: '广州市海珠区新港中路 397 号',
  scale: 14,
  infoUrl: 'http://weixin.qq.com'
 });
 };

 // 4.2 获取当前地理位置
 getLocationfunction () {
 wx.getLocation({
  success: function (res) {
  alert(JSON.stringify(res));
  },
  cancel: function (res) {
  alert('用户拒绝授权获取地理位置');
  }
 });
 };

⑤界面操作接口,这里说的界面操作其实就是在微信浏览器中操作和改名的那右上角的【三个点】,对这里隐藏的菜单进行操作和关闭微信浏览器!

 // 5 界面操作接口
 // 5.1 隐藏右上角菜单
 hideOptionMenufunction () {
 wx.hideOptionMenu();
 };

 // 5.2 显示右上角菜单
 showOptionMenufunction () {
 wx.showOptionMenu();
 };

 // 5.3 批量隐藏菜单项
 hideMenuItemsfunction () {
 wx.hideMenuItems({
  menuList: [
  'menuItem:readMode', // 阅读模式
  'menuItem:share:timeline', // 分享到朋友圈
  'menuItem:copyUrl' // 复制链接
  ],
  success: function (res) {
  alert('已隐藏“阅读模式”,“分享到朋友圈”,“复制链接”等按钮');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 };

 // 5.4 批量显示菜单项
 showMenuItemsfunction () {
 wx.showMenuItems({
  menuList: [
  'menuItem:readMode', // 阅读模式
  'menuItem:share:timeline', // 分享到朋友圈
  'menuItem:copyUrl' // 复制链接
  ],
  success: function (res) {
  alert('已显示“阅读模式”,“分享到朋友圈”,“复制链接”等按钮');
  },
  fail: function (res) {
  alert(JSON.stringify(res));
  }
 });
 };

 // 5.5 隐藏所有非基本菜单项
 hideAllNonBaseMenuItemfunction () {
 wx.hideAllNonBaseMenuItem({
  success: function () {
  alert('已隐藏所有非基本菜单项');
  }
 });
 };

 // 5.6 显示所有被隐藏的非基本菜单项
 showAllNonBaseMenuItemfunction () {
 wx.showAllNonBaseMenuItem({
  success: function () {
  alert('已显示所有非基本菜单项');
  }
 });
 };

 // 5.7 关闭当前窗口
 closeWindowfunction () {
 wx.closeWindow();
 };

⑥微信扫一扫接口,这个接口可以在页面调用微信的扫一扫功能,其中参数needResult可以设置扫描之后的处理方式;

 // 6 微信原生接口
 wx.scanQRCode({
 needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
 scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有
 success: function (res) {
 var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
}
});

那么到这里微信JS-SDK方法实现中的简答实现部分基本就讲述完成了,后面将继续为大家一篇篇带来没有讲述的js方法实现,感谢你的翻阅,如有疑问可以留言一起讨论!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java微信二次开发(一) Java微信请求验证功能

    准备用Java做一个微信二次开发项目,把流程写在这里吧. 第一篇,做微信请求验证 需要导入库:servlet-api.jar 第一步:新建包com.wtz.service,新建类LoginServlet.java package com.wtz.service; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.ht

  • Java微信公众平台开发(7) 公众平台测试帐号的申请

    前面几篇一直都在写一些比较基础接口的使用,在这个过程中一直使用的都是我个人微博认证的一个个人账号,原本准备这篇是写[多媒体消息回复]的,后来主要到我个人账号的接口权限不够,所以在这里插入一篇[公众平台测试帐号的申请]的文章,同时也提醒各位开发者一定要注意在开发过程中需要注意接口权限,以防想当然的写完代码才发现接口不能使用,但是同样的我们也可以先预演接口的功能然后再将其应用到实际中! ①登入到微信公众平台,我们到[开发]-->[开发者工具]-->[公众平台测试账号]--进入: 首次进入可能会需要

  • Java微信公众平台开发(1) 接入微信公众平台

    前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接! (一)接入流程解析 在我们的开发过程中无论如何最好的参考工具当然是我们的官方文档了:http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html 通过上面我们可以看出其中接入微信公众平台开发,开发者需要按照如下步骤完成: 填写服务器配置 验证服务

  • 微信 java 实现js-sdk 图片上传下载完整流程

    最近做的一个项目刚好用到微信js-sdk的图片上传接口,在这里做一下总结. 在这里能知道使用js api的基本配置 https://mp.weixin.qq.com/wiki t=resource/res_main&id=mp1421141115&token=&lang=zh_CN 我这里没有用checkJsApi去判断当前客户端版本是否支持指定JS接口,好.通过看开发文档,我们知道调用js接口直接都要通过config接口注入权限验证配置 <code class="

  • Java微信公众平台开发(8) 多媒体消息回复

    之前我们在做消息回复的时候我们对回复的消息简单做了分类,前面也有讲述如何回复[普通消息类型消息],这里将讲述多媒体消息的回复方法,[多媒体消息]包含回复图片消息/回复语音消息/回复视频消息/回复音乐消息,这里以图片消息的回复为例进行讲解! 还记得之前将消息分类的标准就是一种是不需要上传多媒体资源到腾讯服务器的而另外一种是需要的,所以在这里我们所需要做的第一步就是上传资源到腾讯服务器,这里我们调用[素材管理]接口(后面将会有专门的章节讲述)进行图片的上传,同样的这个接口可以提供我们对语音.视频.音

  • Java微信公众平台开发(13) 微信JSSDK中Config配置

    前端开发工程师和关注前端开发的开发者们在2015年中肯定被腾讯的JSSDk引爆过,搞APP的.搞前端的甚至是是搞后端的都跑过来凑热闹,一时之间也把微信JSSDK捧得特别牛逼,但是在我们的技术眼里它的实现原理和根本是不能够被改变的,这篇文章就不对其js的实现做任何评价和解说了(因为我也不是很懂,哈哈),这里要说的是它的config配置实现,参考文档:http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html  ! 微信

  • Java微信公众平台开发(3) 接收消息的分类及实体的创建

    前面一篇有说道应用服务器和腾讯服务器是通过消息进行通讯的,并简单介绍了微信端post的消息类型,这里我们将建立消息实体以方便我们后面的使用! (一)消息实体基础类 package com.cuiyongzhi.wechat.message.req; /** * ClassName: BaseMessage * @Description: 微信请求消息基本类 * @author dapengniao * @date 2016年3月7日 下午3:03:59 */ public class BaseM

  • Java微信公众平台开发(10) 微信自定义菜单的创建实现

    自定义菜单这个功能在我们普通的编辑模式下是可以直接在后台编辑的,但是一旦我们进入开发模式之后我们的自定义菜单就需要自己用代码实现,所以对于刚开始接触的人来说可能存在一定的疑惑,这里我说下平时我们在开发模式下常用的两种自定义菜单的实现方式:①不用写实现代码,直接用网页测试工具Post json字符串生成菜单:②就是在我们的开发中用代码实现菜单生成!(参考文档:http://mp.weixin.qq.com/wiki/10/0234e39a2025342c17a7d23595c6b40a.html 

  • Java微信公众平台开发(12) 微信用户信息的获取

    前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关联,所以在这里我们就采用openid去获取用户微信信息,并实现一个简单场景应用:当微信新用户关注我们的微信公众平台的时候我们自动回复一篇图文消息,然后在图文消息中标题为:[尊敬的:XXX,你好!],而且在图文消息中的图片就是用户的微信头像,如下图: 有关获取微信用户信息的文档我们可以参照:http:

  • 微信公众平台开发教程②微信端分享功能图文详解

    本文实例讲述了微信公众平台微信端分享功能.分享给大家供大家参考,具体如下: 背景 初次尝试微信公众号的开发,对于学习方法的探索都是来源于网上的博客.问答,对于参差不齐的信息,自己也是有苦说不出,抽出一点时间写点文章,既是对自己的学习总结,也希望给予同是菜鸟的小白一点帮助. 今天想添加微信分享的功能,如果不进行自定义设计,那么当我们点击分享朋友圈.好友或者QQ好友.空间时,默认的标题就是<title>标签中的信息,而显示的描述信息就是链接,图片多是默认为页面中显示的第一张图片,显然这样的处理是不

  • 微信公众平台开发教程⑥ 微信开发集成类的使用图文详解

    本文实例讲述了微信公众平台开发之微信开发集成类的使用.分享给大家供大家参考,具体如下: 背景 这几天又在接触微信PHP方面的开发,认为之前写的文章确实有些乱,刚好发现了一个不错的集成类(看原始代码,出自"云知梦军哥",不算打广告,只是尊重别人的开发成果,谢谢)里面涉及了非常全面的函数,在此针对我自己的实际使用过程简单的描述一下希望能给同道小白们一个诚恳的引导 ... 框架:ThinkPHP 3.2.3 前期准备: ①.微信公众平台的配置 这里不赘述,具体的可以参考我前面所写的1.2章,

  • 微信公众平台开发教程⑤ 微信扫码支付模式介绍

    本文实例讲述了微信扫码支付模式.分享给大家供大家参考,具体如下: 背景:因为微信占据众多的用户群,作为程序开发,自然而然也成了研究的重点.毕竟个人能力有限,很难想象设计的复杂性,多数时间接触起来,各种蒙圈,在此笔记自己的操作流程,仅做参考,欢迎指正. 一.微信扫码支付模式 1.附带微信公众号"微信开发"中,对微信扫码支付的两种模式流程图以作"膜拜". 2.具体的操作,可详细参考官方开发文档 文档有强调: 模式一开发前,商户必须在公众平台后台设置支付回调URL.URL

  • php微信公众平台开发之微信群发信息

    1.目的 完成在微信公众号中群发消息.这里只是完成简单的文字发送.也可以发送语音图片等,只是发送数据格式不同而已,下面有链接,可以查询数据类型的数据发送格式. 2.群发短信的流程 获取测试公众账号(有账号的可以不用测试账号,不过正式的账号限制比较多)用户关注上面的公众账号通过appid和appsecret获取我们的access_token通过access_token群发短信 3.获取测试公众账号 + 关注公众号 1).公众测试账号获取 访问上面的连接,选择"接口测试号申请"获得直接打开

  • 微信公众平台开发教程①获取用户Openid及个人信息图文详解

    本文实例讲述了微信公众平台开发获取用户Openid及个人信息.分享给大家供大家参考,具体如下: 前言: 初次尝试微信公众号的开发,对于学习方法的探索都是来源于网上的博客.问答,对于参差不齐的信息,自己也是有苦说不出,抽出一点时间写点文章,既是对自己的学习总结,也希望给予同是菜鸟的学渣一点帮助 背景介绍: 我需要用户接收微信分享的链接后,点击进入给参加活动的用户[点赞],然后需要后台获取该微信用户的 openid 作为唯一的标记信息,以便保证该用户下次进入后进行数据库的比对,直接提取其对应的操作信

  • 微信公众平台开发实战Java版之微信获取用户基本信息

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称.头像.性别.所在城市.语言和关注时间. 开发者可通过OpenID来获取用户基本信息.请使用https协议. 我们可以看看官方的文档:获取用户的基本信息. 接口调用请求说明 http请求方式: GET https://api.weixin.qq.com/cgi-b

  • 微信公众平台开发——群发信息

    1.目的 完成在微信公众号中群发消息.这里只是完成简单的文字发送.也可以发送语音图片等,只是发送数据格式不同而已,下面有链接,可以查询数据类型的数据发送格式. 2.群发短信的流程 获取测试公众账号(有账号的可以不用测试账号,不过正式的账号限制比较多) 用户关注上面的公众账号 通过appid和appsecret获取我们的access_token 通过access_token群发短信 3.获取测试公众账号 + 关注公众号 1).公众测试账号获取 访问上面的连接,选择"接口测试号申请"获得直

  • 微信公众平台开发入门教程(图文详解)

    在这篇入门教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯及XML语言基础.如果你还没有,那么请先学习相关知识. 我们将使用微信公众账号方倍工作室(账号:pondbaystudio,二维码在最底部)作为讲解的例子. 这篇入门教程将引导你完成如下任务: 创建百度云平台应用启用微信公众平台开发模式获取订阅.文字.图片.语音.视频消息回复文本.图文及音乐消息程序开发 创建百度云应用 申请账号 登录http://developer.baidu.com/bae ,使用邮箱或者手机

随机推荐