当前位置:   article > 正文

微信h5调用扫一扫_h5调用微信扫一扫实现扫码二维码获取地址及参数

h5调用微信扫一扫实现扫码二维码获取地址及参数
npm install weixin-jsapi --save
  1. var jWeixin = require('jweixin-module')
  2. // 配置微信config
  3. function getSign() {
  4. let that = this
  5. let currentRoutes = getCurrentPages(); // 获取当前打开过的页面路由数组
  6. var paraString = window.location.href;//获取页面完整路径包含路径上的参数
  7. let currentRoute = currentRoutes[currentRoutes.length - 1].route //获取当前页面路由不包含路径后的参数
  8. // 获取微信签名
  9. uni.request({
  10. url: 'https://xcx7.yxzyhz.com/project/tire_mall/public/api/common/getWxSign',
  11. method: 'POST',
  12. data: {
  13. // url: 'https://xcx7.yxzyhz.com/project/tire_mall/public/h5/#/' + currentRoute
  14. url: paraString
  15. },
  16. success: (wxres) => {
  17. jWeixin.config({
  18. debug: false, // 开启调试模式,
  19. appId: wxres.data.data.appId, // 必填,公众号的唯一标识
  20. timestamp: wxres.data.data.timestamp, // 必填,生成签名的时间戳
  21. nonceStr: wxres.data.data.nonceStr, // 必填,生成签名的随机串
  22. signature: wxres.data.data.signature, // 必填,签名
  23. jsApiList: ["scanQRCode", 'hideAllNonBaseMenuItem',
  24. 'showAllNonBaseMenuItem'
  25. ] // 必填,需要使用的JS接口列表
  26. });
  27. jWeixin.error(function(res) {
  28. console.log('微信config配置失败res', res)
  29. })
  30. jWeixin.ready(function() {
  31. // that.toggle()
  32. console.log('微信config配置成功res')
  33. })
  34. }
  35. })
  36. }
  37. // 微信扫一扫
  38. function toggle() {
  39. jWeixin.scanQRCode({
  40. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  41. scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有
  42. success: function(res) {
  43. var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
  44. uni.setStorageSync('scancode', result)
  45. },
  46. fail: function(err) {
  47. uni.removeStorageSync('scancode')
  48. }
  49. });
  50. }
  51. // 微信支付
  52. function payment() {
  53. let paymentcon = JSON.parse(uni.getStorageSync('payment'))
  54. jWeixin.chooseWXPay({
  55. timestamp: paymentcon.timeStamp, // 支付签名时间戳
  56. nonceStr: paymentcon.nonceStr, // 支付签名随机串,不长于 32 位
  57. package: paymentcon.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
  58. signType: paymentcon.signType, // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致
  59. paySign: paymentcon.paySign, // 支付签名
  60. success: function(res) {
  61. console.log(res,'支付成功')
  62. // 支付成功后的回调函数
  63. }
  64. });
  65. }
  66. export {
  67. getSign,
  68. toggle,
  69. payment
  70. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/274356
推荐阅读
相关标签
  

闽ICP备14008679号