wxLogin.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. var jWeixin = require('jweixin-module')
  2. // 配置微信config
  3. function getSign() {
  4. // 获取微信签名
  5. uni.request({
  6. url: '',//后端获取签名的请求地址
  7. method: '',//请求方式
  8. data: {
  9. url: encodeURIComponent(location.href.split('#')[0])
  10. },
  11. success: (wxres) => {
  12. jWeixin.config({
  13. debug: false, // 开启调试模式,
  14. appId: wxres.data.data.appId, // 必填,公众号的唯一标识
  15. timestamp: wxres.data.data.timestamp, // 必填,生成签名的时间戳
  16. nonceStr: wxres.data.data.nonceStr, // 必填,生成签名的随机串
  17. signature: wxres.data.data.signature, // 必填,签名
  18. jsApiList: ["scanQRCode", "chooseWXPay",'hideToolbar']
  19. });
  20. jWeixin.ready(function(res) {
  21. console.log('微信config配置成功res', res)
  22. })
  23. }
  24. })
  25. }
  26. // 微信扫一扫
  27. function toggle() {
  28. return new Promise((resolve, reject) => {
  29. jWeixin.scanQRCode({
  30. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  31. scanType: ["qrCode"],
  32. success: function(res) {
  33. resolve(res.resultStr) // 当needResult 为 1 时,扫码返回的结果
  34. },
  35. fail: function(err) {
  36. reject(err)
  37. }
  38. });
  39. });
  40. }
  41. // 微信支付
  42. function payment() {
  43. let paymentcon = JSON.parse(uni.getStorageSync('payment'))
  44. jWeixin.chooseWXPay({
  45. timestamp: paymentcon.timeStamp, // 支付签名时间戳
  46. nonceStr: paymentcon.nonceStr, // 支付签名随机串,不长于 32 位
  47. package: paymentcon.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
  48. signType: paymentcon.signType, // 微信支付V3的传入RSA,微信支付V2的传入格式与V2统一下单的签名格式保持一致
  49. paySign: paymentcon.paySign, // 支付签名
  50. success: function(res) {
  51. console.log(res, '支付成功')
  52. // 支付成功后的回调函数
  53. }
  54. });
  55. }
  56. export {
  57. getSign,
  58. toggle,
  59. payment
  60. }