day02hard

交互

用户和小程序上进行交互的时候,某些操作可能比较耗时,我们应该予以及时的反馈以舒缓用户等待的不良情绪。
对于一些危险操作,一定要给予提示。出现错误的时候要告诉用户错误的原因,以及如何改正。这些都是前端在开发过程需要考虑的问题,也是提现我们专业性的地方。

跳转

wx.navigateTo
wx.navigateTo({
  url: 'test?id=1',
})
保留当前页面,只能打开非 tabBar 页面。
wx.redirectTo
wx.redirectTo({
  url: 'test?id=1'
})
关闭卸载当前页面,只能打开非 tabBar 页面。
wx.switchTab
wx.switchTab({
  url: '/index'
})
关闭所有非tabbar页面, 只能打开 tabBar 页面。
wx.reLaunch
wx.reLaunch({
  url: 'test?id=1'
})
关闭卸载所有页面,可以打开任意页面。
wx.navigateBack
wx.navigateBack({
  delta: 2  //返回的页面数,如果 delta 大于现有页面数,则返回到首页。
})
返回前面的页面,可以指定返回多少页,如果用过redirectTo,那么被关闭的页面将返回不去

# 传参

```javascript
以获取文章列表为例
    wx.request({
      url: 'https://showme.myhope365.com/api/cms/article/open/list',
      method: "POST",
      data: {
        pageNum: 1,
        pageSize: 10
      },
      header: {
        "content-type": "application/x-www-form-urlencoded"
      },
      success: res => {
        console.log(res.data.rows)
      }
})
参数说明
url	开发者服务器接口地址。注意这里需要配置域名
data	  请求的参数
header	设置请求的 header,header 中不能设置 Referer,默认header['content-type'] = 'application/json'
method(需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
dataType	json	回包的内容格式,如果设为json,会尝试对返回的数据做一次 JSON解析
success	收到开发者服务成功返回的回调函数。
fail	接口调用失败的回调函数
complete	接口调用结束的回调函数(调用成功、失败都会执行)

封装

作用:
添加统一的请求配置
可以添加请求拦截器和响应拦截器,在请求和响应之前加一些通用的处理。
封装的实现:
function request(options) {
  // 请求拦截器
  //  ...
  // 1. 加一些统一的参数,或者配置
  if (!options.url.startsWith("https://") && !options.url.startsWith("http://")) {
    options.url = "https://showme.myhope365.com" + options.url
  }
	// 默认的请求头
  let header = {
    "content-type": "application/x-www-form-urlencoded",
  };
  if (options.header) {
    header = {
      ...header,
      ...options.header
    }
  }

  return new Promise((reslove, reject) => {
    // 调用接口
    wx.request({
      // 默认的配置
      // 加载传入的配置
      ...options,
      header,
      success(res) {
        // 响应拦截器,所有接口获取数据之前,都会先执行这里
        //  1. 统一的错误处理
        if (res.statusCode != 200) {
          wx.showToast({
            title: '服务器异常,请联系管理员',
          })
        }

        reslove(res)
      },
      fail(err) {
        reject(err)
      }
    })
  })
}

export function get(url, options = {}) {
  return request({
    url,
    ...options
  })
}

export function post(url, data, options = {}) {
  return request({
    url,
    data,
    method: "POST",
    ...options
  })
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值