uniAPP 网络连接实现轮播图

时间:2021-09-23 20:50:52   收藏:0   阅读:38

uni.request(OBJECT)

发起网络请求。

 

在各个小程序平台运行时,网络相关的 API 在使用前需要配置域名白名单。

OBJECT 参数说明

参数名类型必填默认值说明平台差异说明
url String   开发者服务器接口地址  
data Object/String/ArrayBuffer   请求的参数 App(自定义组件编译模式)不支持ArrayBuffer类型
header Object   设置请求的 header,header 中不能设置 Referer。 App、H5端会自动带上cookie,且H5端不可手动修改
method String GET 有效值详见下方说明  
timeout Number 60000 超时时间,单位 ms H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序(2.10.0)、支付宝小程序
dataType String json 如果设为 json,会尝试对返回的数据做一次 JSON.parse  
responseType String text 设置响应的数据类型。合法值:text、arraybuffer 支付宝小程序不支持
sslVerify Boolean true 验证 ssl 证书 仅App安卓端支持(HBuilderX 2.3.3+)
withCredentials Boolean false 跨域请求时是否携带凭证(cookies) 仅H5支持(HBuilderX 2.6.15+)
firstIpv4 Boolean false DNS解析时优先使用ipv4 仅 App-Android 支持 (HBuilderX 2.8.0+)
success Function   收到开发者服务器成功返回的回调函数  
fail Function   接口调用失败的回调函数  
complete Function   接口调用结束的回调函数(调用成功、失败都会执行)  

method 有效值

必须大写,有效值在不同平台差异说明不同。

methodAppH5微信小程序支付宝小程序百度小程序字节跳动小程序
GET
POST
PUT x
DELETE x x
CONNECT x x x x
HEAD x x x
OPTIONS x x
TRACE x x x x

success 返回参数说明

参数类型说明
data Object/String/ArrayBuffer 开发者服务器返回的数据
statusCode Number 开发者服务器返回的 HTTP 状态码
header Object 开发者服务器返回的 HTTP Response Header
cookies Array.<string> 开发者服务器返回的 cookies,格式为字符串数组

data 数据说明

最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String。转换规则如下:

示例

uni.request({
    url: ‘https://www.example.com/request‘, //仅为示例,并非真实接口地址。
    data: {
        text: ‘uni.request‘
    },
    header: {
        ‘custom-header‘: ‘hello‘ //自定义请求头信息
    },
    success: (res) => {
        console.log(res.data);
        this.text = ‘request success‘;
    }
});

返回值

如果希望返回一个 requestTask 对象,需要至少传入 success / fail / complete 参数中的一个。例如:

var requestTask = uni.request({
    url: ‘https://www.example.com/request‘, //仅为示例,并非真实接口地址。
    complete: ()=> {}
});
requestTask.abort();

如果没有传入 success / fail / complete 参数,则会返回封装后的 Promise 对象:Promise 封装

通过 requestTask,可中断请求任务。

requestTask 对象的方法列表

方法参数说明
abort   中断请求任务
offHeadersReceived   取消监听 HTTP Response Header 事件,仅微信小程序平台支持,文档详情
onHeadersReceived   监听 HTTP Response Header 事件。会比请求完成事件更早,仅微信小程序平台支持,文档详情

示例

const requestTask = uni.request({
    url: ‘https://www.example.com/request‘, //仅为示例,并非真实接口地址。
    data: {
        name: ‘name‘,
        age: 18
    },
    success: function(res) {
        console.log(res.data);
    }
});

// 中断请求任务
requestTask.abort();

Tips


 

上面都是官网的 下面我们写一个轮播吧

用的是黑马程序员的 API接口:

get 请求 。

我们在页面生命周期 onload 中 写:

技术分享图片

 

 

所以我们下面要这样写:

注意 this 穿透 所以我设置了个me,详细看代码:

<template>
    <view class="page">
       <swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" indicator-active-color="#ff0000" indicator-color="#ffffff"  circular class="carousel">
          <swiper-item v-for="(item , index) in rotation">
                <image :src="item.image_src"  class="carousel"></image>
            </swiper-item>
            
         
            
        </swiper>
        
        
    </view>
    
</template>

<script>
    export default {
        
        data() {
            return {
             rotation:[]
            }
        },
        onLoad() {
            var me = this;
          uni.request({
              url:"https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata",
              method:"GET",
              success(res) {
                  //判断是否请求成功
                  if(res.statusCode == 200){
                      console.log("请求成功");
                       me.rotation = res.data.message;      //这个rotation里面其实就是图片数组了
                       console.log(me.rotation);
                  }
              },
             
              
          }) 
        },
        methods: {

        }
    }
</script>

<style>
    @import url("./index.css");
</style>

 

效果:

技术分享图片

 

原文:https://www.cnblogs.com/bi-hu/p/15309922.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!