PhoneGap/Cordova微信分享插件【升级版】

2024-02-26 07:58

本文主要是介绍PhoneGap/Cordova微信分享插件【升级版】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装:

?
1
cordova plugin add https: //git.oschina.net/jiusem/WechatShare-for-PhoneGap.git

安装成功后,需要将插件目录中的 wxapi 文件夹 移动 到你的 主包 中,这是微信官方的要求,wxapi 文件夹的作用是接受来自微信的回传信息。

移动文件夹后,java文件会出现一个报错,将第一行的包名修改为你自己的主包名即可。

还需要做的工作是打开WechatShare.java文件,大约在58行处,将appID修改为你自己在微信开放平台申请到的。

至此,准备工作就绪,可以使用插件了。

与所有插件一样,你应当在deviceready事件后调用插件,像这样:

?
1
2
3
document.addEventListener( 'deviceready' , function (){
     //调用插件
}, false );

首先来看看如何分享网页到微信,我想这是我们最常见的应用了:

?
1
2
3
4
5
6
7
8
9
10
var  args = {
      type:  'webpage' ,
      url: 'http://www.baidu.com' ,
      imgUrl: 'https://www.baidu.com/img/bdlogo.png' ,
      title: '文章标题' ,
      desc: '文章简介' ,
      isSendToTimeline: true  //true表示分享到朋友圈,false分享给好友
};
    
navigator.WechatShare.send(args);

分享文字:

?
1
2
3
4
5
6
7
var  args = {
      type:  'text' ,
      text: '需要分享的文字' ,
      isSendToTimeline: true  //true表示分享到朋友圈,false分享给好友
};
    
navigator.WechatShare.send(args);

分享图片:

?
1
2
3
4
5
6
7
8
var  args = {
      type:  'image' ,
      imageType:  'path' , //也可以使用 'url' 分享图片.
      data:  '/test.png' , //SD card 路径 or url
      isSendToTimeline:  true
};
    
navigator.WechatShare.send(args);

分享音乐:

?
1
2
3
4
5
6
7
8
9
10
11
var  args = {
      type:  'music' ,
      url:  'http://x.x.x/test.mp3' ,
      title:  'title' ,
      desc:  'desc' ,
      isLowBand:  true , // 是否使用低音质
      imgUrl: '' , //图片路径
      isSendToTimeline:  true
};
    
navigator.WechatShare.send(args);

分享视频:

?
1
2
3
4
5
6
7
8
9
10
11
var  args = {
      type:  'video' ,
      url:  'http://x.x.x.swf' ,
      title:  'title' ,
      desc:  'desc' ,
      isLowBand:  true ,
      imgUrl:  'http://www.baidu.com/img/bdlogo.gif' ,
      isSendToTimeline:  true
};
    
navigator.WechatShare.send(args);

分享文件:

?
1
2
3
4
5
6
7
8
9
10
var  args = {
      type:  'file' ,
      path:  'file:///test.mp3' ,//file 's fullPath
      desc: ' 我在发本地文件 ',
      title: ' 文件 ',
      imgUrl: ' http: //www.baidu.com/img/bdlogo.gif',
      isSendToTimeline:  true
};
    
navigator.WechatShare.send(args);

如果需要处理微信分享的结果,判断分享是否成功,可以定义一个回调函数:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
navigator.WechatShare.sendCallBack =  function (result){
    switch (result){
        case  1:
        //分享成功
        //...编写你的业务逻辑
        break ;
        
        case  2:
            //取消分享
            //...
            break ;
             
        case  3:
            //验证失败
            //...
            break ;
             
        case  4:
            //未知错误
            //...
            break
      }
}

在git中,我提供了一个完整的Android分享示例,在example文件中:

https://git.oschina.net/jiusem/WechatShare-for-PhoneGap.git

里面包含keystore文件,可以用来调试;在bin文件夹中有一个生成的apk文件,可以安装到手机上来测试。

可能的问题:有些网友反映将项目导入Eclipse后运行,不能调起微信。这是因为微信有校验签名的流程,请参考微信分享相关文档对签名的说明。

插件暂时仅支持Android,iOS版本也会尽快加上。

这篇关于PhoneGap/Cordova微信分享插件【升级版】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/748164

相关文章

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具