• Weixin API -- 微信js接口


    今天在开发项目的时候,由于需要在微信中实现分享功能(分享成功后实现页面跳转并记录)。问度娘,找了很久,终于找到一个不错的方法。收藏起来以后备用,也希望对大家有所帮助!

    在github的地址:https://github.com/maxzhang/WeixinAPI

    我能做什么?

    1. 分享到微信朋友圈、微信好友或腾讯微博

    2. 调用微信客户端的图片播放组件

    3. 获取当前的网络状态

    4. 隐藏/显示右上角的菜单入口

    5. 隐藏/显示底部浏览器工具栏

    6. 关闭当前WebView页面

    DEMO

    http://jsbin.com/woluy/latest

    微信扫描下面二维码查看例子:

    demo qrcode

    API

    1、API初始化

    WeixinAPI 初始化,是后续所有 WeixinAPI 操作的起始,调用方法:

    1 var wxData = {    'appId': '', // 服务号可以填写appId,没有则留空
    2     'imgUrl': '', // 分享显示的图标
    3     'link': 'http://maxzhang.github.io', // 分享链接
    4     'title': '大家好,我是cyt静风', // 分享标题
    5     'desc': '大家好,我是cyt静风' // 分享内容};
    6 WeixinAPI.ready(wxData);

    你可以在ready动作之后的任何时候更改wxData对象,比如:

    wxData.link = 'http://www.75team.com';

    2、分享事件监听

    支持的事件名称:

    • ready 准备分享

    • cancel 取消分享

    • ok 分享成功

    • fail 分享失败

    • complete 分享结束

    默认事件监听应用到全局,不论哪个分享渠道都会执行回调函数。调用方法:

    1 WeixinAPI.on('ok', function() { alert('share success!'); });
    2 WeixinAPI.on('fail', function() { alert('share failure!'); });

    注:最新版本微信已经不再区分分享动作,分享只响应统一的"general_share"动作,以下接口只有在微信5.4以下版本才有效

    除此之外,你还可监听特定动作的事件,支持:

    • timeline 朋友圈

    • appmessage 微信朋友

    • weibo 腾讯微博

    调用方法:

    1 WeixinAPI.on('timeline:ok', function() { alert('share timeline success!'); });
    2 WeixinAPI.on('timeline:fail', function() { alert('share timeline failure!'); });

    3、移除事件监听

    调用方法:

    1 function callback() {}
    2 WeixinAPI.on('ok', callback);
    3 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:wifi wifi网络

    • network_type:edge 非wifi,包含3G/2G

    • network_type:fail 网络断开连接

    • network_type:wwan 2g或者3g

    • unknow 未知网络

    调用方法:

    1 // 同步调用,30秒同步一次 WeixinJSBridge 返回的网络状态,所以会有误差
    2 var networkType = WeixinAPI.getNetworkType();// 异步调用,能获取精确的网络状态
    3 WeixinAPI.getNetworkType(function(networkType) {
    4 alert(networkType);
    5 });

    6、隐藏/显示右上角的菜单入口

    调用方法:

    1 WeixinAPI.showOptionMenu();
    2 WeixinAPI.hideOptionMenu();

    7、隐藏/显示底部浏览器工具栏,仅对公众号页面有效

    调用方法:

    1 WeixinAPI.showToolbar();
    2 WeixinAPI.hideToolbar();

    8、关闭当前WebView页面

    调用方法:

    WeixinAPI.closeWindow();
  • 相关阅读:
    ArcSDE 10.1安装、配置、连接 (SQL Server 2008)
    ASP.NET MVC 音乐商店
    ASP.NET MVC 音乐商店
    一些Web开发工具
    Apache 2 频率限制模块
    零起步高性能PHP框架 Phalcon 实战
    零配置Ubuntu下Wordpress安装
    零起步的Hadoop实践日记(hbase in action)
    零起步的Hadoop实践日记(hive in action)
    零起步的Hadoop实践日记(内存设置调整)
  • 原文地址:https://www.cnblogs.com/iyitong/p/4217208.html
Copyright © 2020-2023  润新知