uniapp封装请求

news/2024/7/10 1:39:11 标签: vue

一、在根目录下创建文件夹utils,在该目录下创建文件api.js及http.js

二、在http.js中封装,如需验证token/sign或者其他字段信息,可添加方法进行验证再进行回调

let token = '';//token
let sign = '';//签名
let data = {
  token,
  sign
};
function http(url, method, params) {
    // data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略
    if (params.data) { 
      for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性
        if (params.data[key] == null || params.data[key] == 'null') {
          delete params.data[key]
        }
      }
      data = {
        ...data,
        ...params.data
      }
    }
    uni.request({
      url:url,
      method: method == 'post' ? 'post' : 'get', 
      data,
      header: {
        'content-type': method == 'get' ? 'application/json' : 'application/x-www-form-urlencoded'
      },
      success(res) {
        params.success && params.success(res.data)
      },
      fail(err) {
        uni.showToast({
          title: '服务器请求失败',
          icon: 'none',
          duration: 1500
        })
        params.fail && params.fail(err)
      },
      complete() {
        setTimeout(() => {
          uni.hideLoading();
        },1500)
      }
    })
}
  
module.exports = {
  http
}

三、api.js

import { http } from './http';//引进封装方法

/*
	接口
*/
const Url = 'http://******.cn/';//域名
//首页接口
const index = {
	dream:"***/list"
};



// 方法
function getDream(params){
	http(Url + index.dream, 'get', params)
}


// 暴露方法
export default { 
  getDream
}

四、页面调用

import api from '../../utils/api';//引进


//调用方式
api.userLogin({
	data:{
		key:'***',
		text:'测试',
		type:'1'
	},
    //成功回调
	success:res =>{
		console.log(res)
	}
})

借鉴于:https://www.cnblogs.com/lhl66/p/12888408.html,如果侵权请联系删除


http://www.niftyadmin.cn/n/874554.html

相关文章

python网络爬虫框架内容_Python网络爬虫(scrapy框架简介和基础应用)

一、什么是Scrapy?Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持…

python基线计算法_教程 | 从头开始:用Python实现基线机器学习算法

选自MachineLearningMastery机器之心编译参与:Jane W、吴攀在预测建模时,确定基线性能(baseline performance)是很重要的。基线为评估更高级的方法提供了比较的标准。在本教程中,你将了解如何在 Python 中实现基线机器学习算法(Baseline Mach…

合并两个数组的方法

JS合并两个数组的方法 我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况。比如: var a [1,2,3];var b [4,5,6]; 有两个数组a、b,需求是将两个数组合并成一个。方法如下: 1、concat js的Array对象提供了一个叫c…

python 数据库操作 yeild from_python中的yield和yield from

学到了一点,就写一点吧:本文不区分生成器和协程,且把生成器直接当做协程,对于from inspect import iscoroutine中的async协程类型一无所知,开始:yield: 流程控制工具: 可以把控制器让步给中心调度程序,从而激活其他协程.(简单说就是实现线程中任务切换)协程四个状态:1.GEN_CREA…

html 类似雷达扫描效果 及 闪屏效果

//雷达扫描效果 1 <em id"Radar" class"RadarFast"></em>css:.RadarFast{position: absolute;z-index: 10;bottom: 140px;left: 50%;margin-left: -3px;}.RadarFast:after{content: ; position: absolute; width: 280px; height: 280px; borde…

监听audio标签播放

<audio id"audio" controls"controls" loop"loop" style"display: none;"><source src"image/3.mp3" type"audio/mpeg" /> </audio>audio.play();//播放 audio.pause();//暫停//监听播放完毕a…

文字转换语音播报

1.网页版&#xff1a; <script type"text/javascript">var msg new SpeechSynthesisUtterance("你是谁");window.speechSynthesis.speak(msg);</script> 2.webAPP&#xff1a; <div id"Box"></div>var src "号请…

python标准算术操作符_Python脚本编程:标准类型运算符和内建函数

1.标准类型运算符:(1)对象值的比较(2)对象身份的比较:例1.如:foo1 foo2 4.3 表示foo1和foo2指向相同的对象.(这条语句等同于 foo1 4.3 foo2 foo1) 因为Python是通过传递引用来处理对象的.例2.foo1 4.3 第一个数值对象被创建,然后赋值给foo1,foo2 1 3.…