前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >mpvue——API请求封装(小程序原生)

mpvue——API请求封装(小程序原生)

作者头像
思索
发布2024-08-16 10:26:51
发布2024-08-16 10:26:51
9300
代码可运行
举报
运行总次数:0
代码可运行

前言

能用,但不是最好的方法,最好的还是fly,因为为了以后多平台的考虑,最好使用fly.js,做之前先关闭校验合法域名,因为我没在后台进行配置

后台进行配置合法域名,按着官方给的配置就OK了,这里就不写了,因为只是个测试,用的都是测试的appid

https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

目录结构

fly.js位于src下的utils目录下,最后在main.js引入

封装

这就是个很简单很简单的封装,我也是一边学一遍弄的,如有更好的还望赐教。

fly.js

promise的资料

代码语言:javascript
代码运行次数:0
运行
复制
//定义请求地址
const host = 'http://test.wangyangyang.vip/api/';

function request(url, method, data, header = {}) {
    wx.showLoading({
        title: '加载中' 
    })
    return new Promise((resolve, reject) => {
        wx.request({
            url: host + url,
            method: method,
            data: data,
            headers: {
                'content-type': 'application/json' // 默认转为json格式
            },
            success: function(res) {
                wx.hideLoading();
                resolve(res.data)
            },
            fail: function(error) {
                wx.hideLoading();
                reject(false)
            },
            complete: function() {
                wx.hideLoading();
            }
        })
    })
}

function get(obj) {
    return request(obj.url, 'GET', obj.data)
}

function post(obj) {
    return request(obj.url, 'POST', obj.data)
}

export default {
    request,
    get,
    post
}

main.js

根目录下的main.js中引入

代码语言:javascript
代码运行次数:0
运行
复制
import Vue from 'vue'
import App from './App'
import fly from './utils/fly'
Vue.prototype.$http = fly;

Vue.config.productionTip = false
App.mpType = 'app'

const app = new Vue(App)
app.$mount()

使用

直接在页面中使用即可

代码语言:javascript
代码运行次数:0
运行
复制
this.$http.post({
        url:"live/get_liveinfo",
        data:{
            "token":"test6666",
            "uid":"1222",
        }
    }).then(res =>{
       console.log(res.status)
        if(res.status == 1) {
          this.user.userInfo = res.data
        } else {
          wx.showToast({
          title: '系统开小差', 
          icon: 'loading', 
          duration: 2000, 
          mask: true, 
        });
      }
    });

在console中可以完整看到打印的值

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目录结构
  • 封装
    • fly.js
    • main.js
  • 使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档