微信小程序 接口请求统一配置

1.  文件格式

2. main.js 文件(统一配置接口导出,各个页面按需导入引用)

// 小程序开发api接口统一配置
// 如果你的域名是: https://www.baidu.com/cn 那么这里只要填写 cn
let subDomain = '/cn'  // 子域名,没有就等于''
const API_BASE_URL = 'https://www.baidu.com'  // 主域名


const request = (url, method, data) => {
  let _url = API_BASE_URL + subDomain  + url
  return new Promise((resolve, reject) => {
    wx.request({
      url: _url,
      method: method,
      data: data,
      header: {
        'Content-Type': 'application/json'
      },
      success(request) {
        resolve(request.data)
      },
      fail(error) {
        reject(error)
      },
      complete(aaa) {
        // 加载完成
      }
    })
  })
}

/**
 * 小程序的promise没有finally方法,自己扩展下
 */
Promise.prototype.finally = function (callback) {
  var Promise = this.constructor;
  return this.then(
    function (value) {
      Promise.resolve(callback()).then(
        function () {
          return value;
        }
      );
    },
    function (reason) {
      Promise.resolve(callback()).then(
        function () {
          throw reason;
        }
      );
    }
  );
}

module.exports = {
  request,
  // 首页列表接口
  getList: data => request('/goods/list','get', data),
  // 详情接口
  getDetail: (data) => request('/goods/detail','get', data),

}

3.  导入使用

index.js 导入使用

const WXAPI = require('../../wxapi/main')
const app = getApp()

Page({
  data: {
    list: [],
    inputValue:'',
    pageNumber: 1,
    pageSize: 10,
  },
   // 加载页面
  onLoad: function () { 
   let that = this;
    wx.showLoading({
      "mask": true,
      "title": "加载中..."
    });                  
      WXAPI.getList({  // 接口调用获取列表
      keyword: that.data.inputValue,
      pageNumber: that.data.pageNumber,
      pageSize: that.data.pageSize
    }).then(function (res) {
      wx.hideLoading()
      if (res.code == 200) {
        that.setData({
          list: res.data.list,
        });
      }
    }).catch(function (e) {
      console.log(e)
         wx.showToast({
           title: e.msg,
           icon: 'none'
         })
    }) 
  },
  // 分享
  onShareAppMessage: function () {

  }
})

 

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 微信小程序统一下单后台代码可以使用微信支付提供的API进行开发。以下是一个示例代码,仅供参考: ```php <?php // 导入SDK require_once "WxPayApi.php"; require_once "WxPayUnifiedOrder.php"; require_once "WxPayConfig.php"; // 设置参数 $input = new WxPayUnifiedOrder(); $input->SetBody("test"); // 商品描述 $input->SetAttach("test"); // 附加数据 $input->SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis")); // 商户订单号 $input->SetTotal_fee("1"); // 标价金额,单位为分 $input->SetTime_start(date("YmdHis")); // 订单生成时间 $input->SetTime_expire(date("YmdHis", time() + 600)); // 订单失效时间 $input->SetNotify_url("http://www.example.com/wxpay/notify.php"); // 接收微信支付异步通知回调地址 $input->SetTrade_type("JSAPI"); // 交易类型 $input->SetOpenid($openId); // 用户标识 // 统一下单 $order = WxPayApi::unifiedOrder($input); // 处理返回结果 if($order["return_code"] == "SUCCESS" && $order["result_code"] == "SUCCESS"){ $jsApiParams = $tools->GetJsApiParameters($order); // 将jsApiParams返回给前端,用于调起微信支付 }else{ // 统一下单失败 echo $order["return_msg"]; } ``` 需要注意的是,该代码中的`WxPayConfig`类需要根据自己的实际情况进行配置。此外,还需要导入`WxPayApi.php`、`WxPayUnifiedOrder.php`和`WxPayConfig.php`三个文件,这些文件可以从微信支付官方网站下载。 ### 回答2: 微信小程序统一下单是指在用户点击支付按钮后,将用户的支付请求统一提交到后台进行处理,后台代码的作用是验证用户请求的合法性,并生成预支付订单信息,最后返回给小程序供用户进行支付操作。 在后台代码中,首先需要验证用户请求的合法性,包括校验用户传递的参数是否完整、参数的格式是否正确等。然后,通过调用微信支付接口生成预支付订单信息,包括订单号、支付金额、商品描述等,并将这些信息保存到数据库中,以便后续查询和验证。生成预支付订单信息时,需要根据用户所选的支付方式来调用相应的支付接口。 接下来,在后台代码中要生成一个包含预支付订单信息的参数对象,用于向小程序返回支付页面的数据。这个参数对象一般包括小程序的AppID、时间戳、随机字符串、签名等信息,其中签名是根据预支付订单信息和微信支付的配置参数进行计算得到的,用于确保数据的完整性和安全性。 最后,后台代码要将生成的参数对象返回给小程序小程序再根据这些参数使用微信支付的API进行支付操作。小程序端会获取到预支付订单信息和支付配置参数,然后调用微信支付接口进行支付,在支付过程中,用户需要输入支付密码或进行指纹验证等操作来完成支付。 总的来说,微信小程序统一下单后台代码的功能是验证用户请求的合法性,生成预支付订单信息,并返回给小程序,以供用户进行支付操作。这样可以确保用户的支付请求安全可靠,并实现用户支付的流程控制。 ### 回答3: 微信小程序统一下单后台代码通常分为前端部分和后端部分。 前端部分主要是用户在小程序中选择商品,填写订单信息后,将订单信息发送到后台进行处理。常用的前端代码如下: 1. 用户在小程序中选择商品并填写订单信息,点击提交订单按钮。 2. 前端通过调用微信提供的API,将订单信息发送到后台。 3. 前端接收到后台的响应,判断是否下单成功。 4. 如果下单成功,则显示支付界面,引导用户进行支付。 后端部分主要是接收前端发送的订单信息,并使用微信支付接口进行统一下单的处理。常用的后端代码如下: 1. 后端接收到前端发送的订单信息,包括商品信息、价格、数量等。 2. 后端调用微信支付统一下单接口,将订单信息发送给微信支付服务器。 3. 微信支付服务器返回给后端一个预支付交易会话标识prepay_id。 4. 后端将prepay_id返回给前端,作为用户进行支付的凭证。 5. 用户在前端界面点击支付后,前端调用微信支付API,将prepay_id发送给微信支付服务器。 6. 微信支付服务器根据prepay_id进行支付的相关处理,返回支付结果给前端。 以上是一个简单的微信小程序统一下单后台代码的流程示例。在实际开发中,还需根据业务需求对代码进行定制,如处理订单状态、生成订单号、计算总金额等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懂懂kkw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值