微信小程序 接口封装附带 封装 微信支付

准备 工作

一、根目录下创建文件夹 request
二、创建 3个 js 文件,分别是:config.js、api.js、request.js
三、有做微信支付需求的创建 requestPayment.js

如图:
在这里插入图片描述
封装 接口域名

config.js

// 正式接口
const baseURL = "https://*****.com/";
// 测试接口
// const baseURL = 'https://*********.com/';

export{
  baseURL
}

根据自己的需求把 域名封装一下。这里都是 用 baseURL 关键字定义,是因为,我只需用到一个,测试的时候用测试的,上线当然只用正式的,如果你有多个域名要一起使用,就要多定义。

封装请求方法

request.js

import{
  baseURL
} from './config.js';

export default function(options){
  let data = options.data.param;
  let newData = Object.assign(data);
  return new Promise((resolve,reject) =>{
    wx.request({
      url: baseURL + options.url,
      header: options.header ||  {
        'token': '',
        'content-type': 'application/json'
      }, // 默认值
      method: options.method || 'get',
      data: JSON.stringify(newData) || {},
      success: resolve,
      fail: reject
    })
  })
}

封装 接口

import request from 'request.js';

// 登录 
// 获取用户openId  (不带token的 接口地址是https://******/getOpenId,以实际为准)
export function getOpenId(param) {
  return request({
    url: "/getOpenId", // 接口地址
    method: 'POST',  // 请求方式
    header: {
      'content-type': 'application/json' // 表头
    },
    data: {
      param // 参数
    }
  })
}

// 注册重新申请 (带token的 接口地址是https://******/reApplyFound,以实际为准)
export function reApplyFound(param,token) {
  return request({
    url: "/reApplyFound",
    method: 'POST',
    header: {
      'token':token ||'', // token
      'content-type': 'application/json'
    },
    data: {
      param
    }
  })
}

调用 接口

引入

import {
  getOpenId
} from "./request/api.js";

调用

    // 登录
    login() {
      let that = this;
      wx.login({
        success(res) {
          if (res.code) {
			
			// 参数
            let param = {
              "code": res.code
            };
            
            // 这里是调用 接口的地方
            getOpenId(param).then(res => {
              let openid = res.data.data.openId;
              let session_key = res.data.data.session_key;
              if (res.data.code == 2000) {  // 以实际接口为准
                // 存储openid ,session_key
                wx.setStorageSync('openId', openid);
                wx.setStorageSync('session_key', session_key);
              } else {
                // 获取openid失败
                that.setData({
			        modalTitle: res.msg,
			        modalDisplay: 'block',
			        modalState: 'text'
			    });
              }
            });
			// 调用结束

          } else {
            console.log('登录失败!' + res.errMsg);
          }
        }
      })
    },

微信支付

封装接口

api.js

// 调起微信支付
import requestPayment from 'requestPayment.js'

export function Payment(param) {
  return requestPayment({
    param
  })
}

使用

引入

import {
  Payment
} from "../../request/api.js"

调用

  // 微信支付
  weChatPay(){
 	// 这些都是后台返回的 ,自己找后台拿
  	let param = {
		        	timeStamp: timeStamp,
		            nonceStr: nonceStr,
		            package: package,
		            signType: signType,
		            paySign: sign,
       	        };
    Payment(param).then(res => {
      let state = res.errMsg;
      if (state == 'requestPayment:ok') {
        wx.showToast({
          icon: 'success',
          title: '支付成功',
          duration: 1000,
          mask: true
        });
        // 回调	支付成功
		
		****************  //执行你自己的操作
      } else {
        wx.showToast({
          icon: 'none',
          title: '支付失败!',
          duration: 1000,
          mask: true
        });
        // 回调 支付失败

		**************** //执行你自己的操作
      }
    })
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值