小程序模板网

关于微信小程序登陆、支付的问题

 
1、微信小程序—登录

我写了一个外部的js,然后在js中写了一个方法。如何在页面的js中调用输出这个方法。就是在lids中的common里写了个方法,要如何在login.js中调用方法。

01pizvvva.png (5.93 KB, 下载次数: 15)

下载附件  保存到相册

2017-4-18 16:43 上传



A:在小程序js封装要用闭包

  1. // 获得工具utils工具js里面函数,先模块化引用utils里面的js地址  reqiure('js地址')成一个面向对象
  2. var utils=require('../../lids/common.js')
  3. // console.log(utils) 可查看获得的函数
  4. console.log(utils.getData())

只提供微信小程序端代码


  1. var app = getApp();
  2. Page({
  3. data: {},
  4. onLoad: function (options) {
  5. // 页面初始化 options为页面跳转所带来的参数
  6. var that = this
  7. //登陆获取code
  8. wx.login({
  9. success: function (res) {
  10. console.log(res.code)
  11. //获取openid
  12. that.getOpenId(res.code)
  13. }
  14. });
  15. },
  16. getOpenId: function (code) {
  17. var that = this;
  18. wx.request({
  19. url: "https://api.weixin.qq.com/sns/jscode2session?appid=小程序appid&secret=小程序应用密钥&js_code=" + code + "&grant_type=authorization_code",
  20. data: {},
  21. method: 'GET',
  22. success: function (res) {
  23. that.generateOrder(res.data.openid)
  24. },
  25. fail: function () {
  26. // fail
  27. },
  28. complete: function () {
  29. // complete
  30. }
  31. })
  32. },
  33. /**生成商户订单 */
  34. generateOrder: function (openid) {
  35. var that = this
  36. //统一支付
  37. wx.request({
  38. url: '后台路径',
  39. method: 'GET',
  40. data: {
  41. gfee: '商品价钱',
  42. gname: '商品名称',
  43. openId:openid
  44. (商品价钱和商品名称根据自身需要是否传值,openid为必传)
  45. },
  46. success: function (res) {
  47. var pay = res.data
  48. //发起支付
  49. var timeStamp = pay[0].timeStamp;
  50. var packages = pay[0].package;
  51. var paySign = pay[0].paySign;
  52. var nonceStr = pay[0].nonceStr;
  53. var param = { "timeStamp": timeStamp, "package": packages, "paySign": paySign, "signType": "MD5", "nonceStr": nonceStr };
  54. that.pay(param)
  55. },
  56. })
  57. },
  58.  
  59. /* 支付 */
  60. pay: function (param) {
  61. console.log("支付")
  62. console.log(param)
  63. wx.requestPayment({
  64. timeStamp: param.timeStamp,
  65. nonceStr: param.nonceStr,
  66. package: param.package,
  67. signType: param.signType,
  68. paySign: param.paySign,
  69. success: function (res) {
  70. // success
  71. wx.navigateBack({
  72. delta: 1, // 回退前 delta(默认为1) 页面
  73. success: function (res) {
  74. wx.showToast({
  75. title: '支付成功',
  76. icon: 'success',
  77. duration: 2000
  78. })
  79. },
  80. fail: function () {
  81. // fail
  82.  
  83. },
  84. complete: function () {
  85. // complete
  86. }
  87. })
  88. },
  89. fail: function (res) {
  90. // fail
  91. },
  92. complete: function () {
  93. // complete
  94. }
  95. })
  96. }
  97. })


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/23730.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询