IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Cordova 调用微信SDK实现微信支付、微信分享、微信登录、打开微信小程序 -> 正文阅读

[移动开发]Cordova 调用微信SDK实现微信支付、微信分享、微信登录、打开微信小程序

微信 cordova 插件 v1.0.0

插件环境 cordova-android >= 7.0.0

1.申请密钥

请到微信开放平台 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。

2.安装插件

cordova plugin add cordova-plugin-wechat-chenyu --variable WECHAT_APPID=[your key]

3. 基础功能

  • ?分享
  • ?支付
  • ?登录
  • ?打开小程序

4.js/ts使用方法

//例如:
window["WeChat"].share(option, (res) => { }, (error) => { });
  • window["WeChat"].share(option,successCallback, failedCallback);
  • window["WeChat"].sendPaymentRequest(option,successCallback, failedCallback);
  • window["WeChat"].auth(option,successCallback, failedCallback);
  • window["WeChat"].openMiniProgram(option,successCallback, failedCallback);
  • window["WeChat"].onResp(successCallback);

5.参数说明及调用示例

所有方法的调用都可以看示例文档===>?示例文档
完整的示例代码(基于ionic3编写)===>?示例代码

任何方法都会返回一个正确的结果(successCallback)或者一个错误的反馈(failedCallback)

参数类型说明
optionOption方法所需的参数
successCallbackFunction方法正确运行会触发 successCallback 函数
failedCallbackFunction方法错误运行会触发 failedCallback 函数
  • 分享方法
    window["WeChat"].share(option,successCallback, failedCallback)

option

参数类型说明
messagemediaObject分享的对象
scenenumber分享的场景
typestring分享的类型
  • 支付方法
    window["WeChat"].share(option,successCallback, failedCallback)

option

参数类型说明
partnerIdstring微信支付分配的商户号
prepayIdstring微信返回的支付交易会话ID
nonceStrstring随机字符串,不长于32位。推荐随机数生成算法
timestampstring时间戳,请见接口规则-参数规定
packageValuestring暂填写固定值Sign=WXPay
signstring签名,详见签名生成算法注意:签名方式一定要与统一下单接口使用的一致
  • 微信登录
    window["WeChat"].auth(option,successCallback, failedCallback)
参数类型说明
scopestring应用授权作用域,如获取用户个人信息则填写 snsapi_userinfo
statestring用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止 csrf 攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加 session 进行校验
  • 打开小程序
    window["WeChat"].openMiniProgram(option,successCallback, failedCallback);
参数类型说明
userNamestring填小程序原始id
pathstring拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
miniprogramTypenumber可选打开 开发版,体验版和正式版
  • 订阅返回值
    window["WeChat"].onResp((e) => {});
    当你 登录、支付、分享、打开小程序、他都会返回一个值,标记你是否成功操作 window["WeChat"].onResp(option,successCallback, failedCallback);
参数类型说明
successCallbackFunction当调用某个方式时,返回app时就会触发该方法
   try {
  window["WeChat"].onResp((e) => {
    console.log(e);
    if ((e["errCode"] == -6 && (e["pluginType"] == "Share" || e["pluginType"] == "WXLaunchMiniProgram" || e["pluginType"] == "Auth")) || e["errCode"] == -1 && (e["pluginType"] == "Pay")) {
      this.presentToast("签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等")
    }
    //登录反馈
    if (e["errCode"] == -4 && e["pluginType"] == "Auth") {
      this.presentToast("登录被拒绝!")
    }
    if (e["errCode"] == 0 && e["pluginType"] == "Auth") {
      this.presentToast("登录成功")
    }
    //支付反馈
    if (e["errCode"] == -2 && e["pluginType"] == "Pay") {
      this.presentToast("无需处理。发生场景:用户不支付了,点击取消,返回APP。")
    }
    if (e["errCode"] == 0 && e["pluginType"] == "Pay") {
      this.presentToast("展示支付成功的界面!")
    }
    //分享反馈
    if (e["errCode"] == 0 && e["pluginType"] == "Share") {
      this.presentToast("用户已经完成分享了,无法判断是成功分享,还是取消的分享!")
    }
    //打开小程序反馈
    if (e["errCode"] == -3 && e["pluginType"] == "WXLaunchMiniProgram") {
      this.presentToast("小程序启动失败 (错误码:-3)")
    }
  })
} catch (e) {
  console.warn("请在Android 或者ios 上运行")
}

6.联系我:

 QQ群 390736068

7.可定制功能

  • ?图片识别
  • ?语音识别
  • ?语音合成
  • ?微信内网页跳转APP功能(可跳转到指定app界面)

8.常见问题:

  • 返回键问题
    • 当你打开微信界面时,你点击返回。app可能会被关闭。
    • 原因:因为cordova app 默认设置为点击一次物理返回按键 app就会关闭。
    • 解决方案为 就是监听cordova 物理按键,阻止关闭代码如下。
    • js文档
    • ionic2及以上文档
//js 阻止app关闭
document.addEventListener("backbutton", onBackKeyDown, false);

function onBackKeyDown(e) {
  e.preventDefault();
  alert('Back Button is Pressed!');
}
//ionic2 + 阻止app关闭
platform.registerBackButtonAction(() => {
  console.log("点击了返回按钮")
  return false;
});
平台示例图片
js
ionic

Image text



?

  • 打开微信会闪一下 并且code提示为-6(分享)或者为-1(支付),代表签名或者包名有问题。
    • 检查包名是否和微信开放平台一致
    • 检查签名是否和微信开放平台一致
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:52:58  更:2021-12-02 16:54:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:54:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码