Weixin API -- 微信js接口
今天在开发项目的时候,由于需要在微信中实现分享功能(分享成功后实现页面跳转并记录)。问度娘,找了很久,终于找到一个不错的方法。收藏起来以后备用,也希望对大家有所帮助!
在github的地址:https://github.com/maxzhang/WeixinAPI
我能做什么?
分享到微信朋友圈、微信好友或腾讯微博
调用微信客户端的图片播放组件
获取当前的网络状态
隐藏/显示右上角的菜单入口
隐藏/显示底部浏览器工具栏
关闭当前WebView页面
DEMO
微信扫描下面二维码查看例子:
API
1、API初始化
WeixinAPI 初始化,是后续所有 WeixinAPI 操作的起始,调用方法:
var wxData = { 'appId': '', // 服务号可以填写appId,没有则留空
'imgUrl': '', // 分享显示的图标
'link': 'http://maxzhang.github.io', // 分享链接
'title': '大家好,我是cyt静风', // 分享标题
'desc': '大家好,我是cyt静风' // 分享内容};
WeixinAPI.ready(wxData);
你可以在ready动作之后的任何时候更改wxData对象,比如:
wxData.link = 'http://www.75team.com';
2、分享事件监听
支持的事件名称:
ready准备分享cancel取消分享ok分享成功fail分享失败complete分享结束
默认事件监听应用到全局,不论哪个分享渠道都会执行回调函数。调用方法:
WeixinAPI.on('ok', function() { alert('share success!'); });
WeixinAPI.on('fail', function() { alert('share failure!'); });
注:最新版本微信已经不再区分分享动作,分享只响应统一的"general_share"动作,以下接口只有在微信5.4以下版本才有效
除此之外,你还可监听特定动作的事件,支持:
timeline朋友圈appmessage微信朋友weibo腾讯微博
调用方法:
WeixinAPI.on('timeline:ok', function() { alert('share timeline success!'); });
WeixinAPI.on('timeline:fail', function() { alert('share timeline failure!'); });
3、移除事件监听
调用方法:
function callback() {}
WeixinAPI.on('ok', callback);
WeixinAPI.off('ok', callback); // 取消监听
也可以一次性移除所有监听,调用方法:
WeixinAPI.off('ok');
4、调用微信客户端的图片播放组件
调用方法:
// 需要播放的图片url列表var urls = ['url1', 'url1', ..., 'urlN'];// 选一个作为当前展示的图片urlvar current = 'url'; WeixinAPI.imagePreview(current, urls);
5、获取当前的网络状态
Network 类型取值:
network_type:wifiwifi网络network_type:edge非wifi,包含3G/2Gnetwork_type:fail网络断开连接network_type:wwan2g或者3gunknow未知网络
调用方法:
// 同步调用,30秒同步一次 WeixinJSBridge 返回的网络状态,所以会有误差
2 var networkType = WeixinAPI.getNetworkType();// 异步调用,能获取精确的网络状态
3 WeixinAPI.getNetworkType(function(networkType) {
4 alert(networkType);
});
6、隐藏/显示右上角的菜单入口
调用方法:
WeixinAPI.showOptionMenu();
WeixinAPI.hideOptionMenu();
7、隐藏/显示底部浏览器工具栏,仅对公众号页面有效
调用方法:
WeixinAPI.showToolbar();
WeixinAPI.hideToolbar();
8、关闭当前WebView页面
调用方法:
WeixinAPI.closeWindow();
Weixin API -- 微信js接口的更多相关文章
- 微信JS接口
微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置来源:http://www.cnblogs.com/txw1958/p/ ...
- 微信JS接口汇总及使用详解
这篇文章主要介绍了微信JS接口汇总及使用详解,十分的全面.详尽,包含分享到朋友圈,分享给朋友,分享到QQ,拍照或从手机相册中选图,识别音频并返回识别结果,使用微信内置地图查看位置等接口,有需要的小伙伴 ...
- md笔记——微信JS接口
微信js接口 隐藏微信中网页右上角按钮 document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { Weix ...
- 使用微信js接口的方法 ,以调用相机为例
protected string GetTimeStamp_Str=""; protected string nonceStr_Str = ""; protec ...
- 微信js接口自定义分享内容
最近客户有个要求,需要给网页添加微信分享功能,当然指的是用微信自带浏览器的时候,希望用户在最后一页点击分享的时候是分享的首页.曾经无意中看到过微信公众开发者平台提供了js接口,所以试着做了做,果然,跌 ...
- 关于微信js接口调用时,token效期问题
如果一个应用的不同模块分配两个独立的公众号微官网使用,这时调用JS接口生成的token一定就冲突,原因是,token的有效期为两个小时. 解决方案: 将两个公众号的APPID与SERVERID分给不同 ...
- 微信支付配置信息,JSAPI接口,H5调用微信js接口支付,微信公众号支付
微信支付已经做完了,没接触过微信的我,经历了非常艰难的3天,才把微信支付给做出来,对于专业的人来说,估计就是一小时就搞定的事情了,虽然说做了很长时间,但是确实也学到东西了,也收获了不少,下面跟大家分享 ...
- 微信JS SDK配置授权,实现分享接口
微信开放的JS-SDK面向网页开发者提供了基于微信内的网页开发工具包,最直接的好处就是我们可以使用微信分享.扫一扫.卡券.支付等微信特有的能力.7月份的时候,因为这个分享的证书获取问题深深的栽了一坑, ...
- 微信js SDK接口
微信JS-SDK说明文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 一.微信登录功能 在进行微信OAut ...
随机推荐
- 工作流性能优化(敢问activiti有扩展性?)(2)
2015/4/17 粗略看了activiti的sql的,在ativity engine包里边: 没什么头绪,先用excel记录数据量少的时候本机的性能情况: 不打印hibernate的sql:一刷 ...
- Missing map from Nullable`1 to String. Create using Mapper.CreateMap<Nullable`1, String>. 解决办法
这是一个叫做AutoMapper的插件,主要功能是让两个类的内容进行映射,最常见的例子就是EF查询出的内容映射到一个实体类上去然后返回这个实体类例如: Mapper.CreateMap(); 如果这时 ...
- Processing入门指南
简介 Processing 是由 MIT 媒体实验室的 Casey Reas 和 Benjamin Fry 发明的一种开源可视化编程语言.Processing为数字媒体与娱乐交互设计而创建,其目的是通 ...
- vue组件 $children,$refs,$parent的使用
如果项目很大,组件很多,怎么样才能准确的.快速的寻找到我们想要的组件了?? 1)$refs 首先你的给子组件做标记.demo :<firstchild ref="one"&g ...
- python_41_with语句
#为了避免打开文件后忘记关闭,可以通过管理上下文,即:with open('log','r') as f: # 如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源. with open ...
- React后台管理系统- rc-pagination分页组件封装
1.用户列表页面使用的rc-pagination分页组件 Github地址: https://github.com/react-component/pagination 2.安装 cnpm insta ...
- vue组件-使用插槽分发内容(slot)
slot--使用插槽分发内容(位置.槽口:作用: 占个位置) 官网API: https://cn.vuejs.org/v2/guide/components.html#使用插槽分发内容 使用组件时,有 ...
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg
package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...
- 告诉你今年是哪个生肖年的java程序
package com.swift; import java.util.Scanner; public class ChineseYear { public static void main(Stri ...
- NSCopying
///< .h @interface ChatManager : NSObject <NSCopying> @property (nonatomic) NSUInteger inde ...