其他分享
首页 > 其他分享> > uniapp请求数据方法和二次封装(全面版)

uniapp请求数据方法和二次封装(全面版)

作者:互联网

页面vue文件中请求方法uni.request({ //获取信息
                url: getApp().globalData.https + '/api.php/Index/index',
                data: {},
                method: 'POST',
                header: getApp().globalData.header,
                dataType: 'json',
                success: function(res) {
                    console.log(res);
                }
            })
APP.vue 文件中设置全局变量<script>
    export default {
        globalData: {  
            text: 'text',
            https: "https://www.19870125.xyz",
            header: { 'content-type': 'application/x-www-form-urlencoded' },
          },  
        onLaunch: function() {
            console.log('App Launch')
        },
        onShow: function() {
            console.log('App Show')
        },
        onHide: function() {
            console.log('App Hide')
        }
    }
</script>

<style>
    /*每个页面公共css */
</style>

 

二次封装求取方法

新建文件夹util   文件api.js

 

 

 

const BASE_URL="https://www.19870125.xyz";  //域名抽取
const HEADER={ 'content-type': 'application/x-www-form-urlencoded' };  //头部
export const myRequest=(options)=>{
    return new Promise((resolve,reject)=>{
        uni.request({
            url:BASE_URL+options.url,
            method:options.method||'GET',
            header: HEADER,
            data:options.data||{},
            dataType: 'json',
            success:(res)=>{
                // if(res.data.status!==0){
                //     return uni.showToast({
                //         title:"获取数据失败"
                //     })
                // }
                resolve(res)
            },
            fail:(err)=>{
                reject(err);
            }
        })
    })
}

在  main.js中引用

 

 

 

import Vue from 'vue'
import App from './App'//引入
import { myRequest } from './util/api.js'
//在原型中挂载
Vue.prototype.$myRequest=myRequest;

Vue.config.productionTip = false

App.mpType = 'app'

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

页面中使用

export default {
        data() {
            return {

            }
        },
        methods: {
            async getSwipers() {
                const res=await this.$myRequest({
                    url: '/api.php/Index/index',
                    methods: "POST"
                })
                console.log("getSwipers",res);
            }
        },
        onl oad() {
            this.getSwipers();
        }
    }

 

标签:uniapp,console,log,二次,res,App,myRequest,封装,const
来源: https://www.cnblogs.com/caicaiz/p/13712251.html