美文网首页
小程序常用api

小程序常用api

作者: autumn_3d55 | 来源:发表于2021-09-09 22:41 被阅读0次

    [TOC]

    1.常用api

    1.获取用户信息

    wx.getUserProfile

    获取用户信息。页面产生点击事件(例如 buttonbindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo

    getUserProfile(e) {
        // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
        // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
        wx.getUserProfile({
          desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
          success: (res) => {
            this.setData({
              userInfo: res.userInfo,
              hasUserInfo: true
            })
          }
        })
      },
    

    2.路由(页面跳转)

    保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层

    image-20210908165803563.png

    关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。

    image-20210908165922263.png

    示例代码:

    // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码
    
    // 此处是A页面
    wx.navigateTo({
      url: 'B?id=1'
    })
    
    // 此处是B页面
    wx.navigateTo({
      url: 'C?id=1'
    })
    
    // 在C页面内 navigateBack,将返回A页面
    wx.navigateBack({
      delta: 2
    })
    

    关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

    image-20210908165838368.png

    关闭所有页面,打开到应用内的某个页面

    跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

    示例:

    // app.json
    {
      "tabBar": {
        "list": [{
          "pagePath": "index",
          "text": "首页"
        },{
          "pagePath": "other",
          "text": "其他"
        }]
      }
    }
    //currentPage.js
    wx.switchTab({
      url: '/index'
    })
    
    wx.navigateTo({
        url: 'test/test?id=1'
    })
    wx.redirectTo({
        url: 'test/test?id=1'
    })
    wx.switchTab({
        url: 'test/test?id=1'
    })
    wx.reLauch({
        url: 'test/test?id=1'
    })
    

    3.请求数据 wx.request()

    发起 HTTPS 网络请求。

    可通过RequestTask.abort() 取消发送请求

    const requesttask = wx.request({
      url: '/test', //仅为示例,并非真实的接口地址
      data: {  //数据
        x: '',
        y: ''
      },
      method: "GET", //请求类型
      dataType: "json", //数据类型
      header: {
        'content-type': 'application/json' // 默认值
      },
      success (res) {
        console.log(res.data)
      }
    })
    requesttask.abort(); //取消请求任务
    

    4.上传/下载文件

    4.1下载文件

    ==wx.downloadFile==

    下载文件资源到本地。客户端直接发起一个 HTTPS GET 请求,返回文件的本地临时路径 (本地路径),单次下载允许的最大文件为 200MB。

    image-20210908191938287.png

    示例代码:

    wx.downloadFile({
      url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
      success (res) {
        // 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
        if (res.statusCode === 200) {
            filePath: res.tempFilePath
        }
      }
    })
    

    4.2 上传文件

    ==wx.uploadFile==

    将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-typemultipart/form-data

    image-20210908192752520.png

    示例代码:

    wx.chooseImage({
      success (res) {
        const tempFilePaths =            res.tempFilePaths
        wx.uploadFile({
          url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
          filePath: tempFilePaths[0],
          name: 'file',
          formData: {
            'user': 'test'
          },
          success (res){
            const data = res.data
            //do something
          }
        })
      }
    })
    

    相关文章

      网友评论

          本文标题:小程序常用api

          本文链接:https://www.haomeiwen.com/subject/rjnbwltx.html