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

相关文章

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是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe