微信小程序内置api

一,常用的内置api

  1. 下载图片
  2. 上传图片
  3. 分享到朋友圈
  4. 获取用户信息
  5. 模态框
  6. 滚动监听
  7. 获取设备信息
  8. 路由
  9. dom节点操作
(1)下载图片
<view>
  <button type="primary"  bindtap="downImg" >下载图片</button>
  <image src="{
    
    {pic}}" module="aspectFill" bindtap="downImg"/>
</view>
  downImg() {
    
    
    wx.downloadFile({
    
    
      url: this.data.pic,
      success(res) {
    
    
        console.log(res);
        //把临时文件保存到相册(需要用户授权)
        wx.saveImageToPhotosAlbum({
    
    
          filePath: res.tempFilePath,
          success() {
    
    
            //提示保存成功
            wx.showToast({
    
    
              title: '下载图片成功',
              icon: 'none'
            })
          }
        })
      }
    })
  },

效果展示:在这里插入图片描述

(2)上传图片
<view>
  <button type="warn" bindtap="upImg">上传图片</button>
</view>
  upImg(){
    
    
    var that =this;
    wx.chooseMedia({
    
    
      count:1,
      success(res){
    
    
        console.log(res)
           //获取 选择 的第 0 个图片临时地址
        var tempFile=res.tempFiles[0].tempFilePath;
          //执行上传操作
        wx.uploadFile({
    
    
          filePath: tempFile,
          name: 'file',
          url: 'http://dida100.com/ajax/file.php',
          success:res=>{
    
    
            console.log("@@@",res);
            console.log("为转换前",res.data)
              //转化为js对象
            var data=JSON.parse(res.data)
            console.log("转换后",data)
              //更新图片信息
            that.setData({
    
    pic:"http://dida100.com"+data.pic})
          }
        })
      }
    })
  },

效果展示:
在这里插入图片描述

(3)分享到朋友圈

1.在onShareAppMessage()这个方法里面声明

  onShareAppMessage() {
    
    
    //默认当前页面的截图
    //在实际中,可以网络请求一个数组,从随机回去一组参数
    return{
    
    
      title:'送红包了',
      path:'/pages/index/index',
      imageUrl:'https://img.tukuppt.com/png_preview/00/09/44/RNu32K5RpD.jpg!/fw/780'
    }
  },

在这里插入图片描述
2.点击按钮进行分享

<button type="warn" open-type="share">分享给朋友领红包</button>
  onShareTimeline(){
    
    
    return{
    
    
      title:'送朋友',
      // path:'/pages/index/index',
      path:'?age=18&name=mumu',
      imageUrl:'https://img.tukuppt.com/png_preview/00/09/44/RNu32K5RpD.jpg!/fw/780'
    }
  },

在这里插入图片描述
在这里插入图片描述

(4)滚动监听
<view class="showTop" bindtap="goTop" wx:if="{
    
    {showTop}}">
  回到顶部
</view>
  //页面滚动
  onPageScroll(e){
    
    
    console.log(e);  //打印出scrollTop
    if(e.scrollTop>100){
    
    
      //当页面的滚动距离大于100 时候 显示回到顶部
        this.setData({
    
    showTop:true})
    }else{
    
    
      //否则就回到页面
      this.setData({
    
    showTop:false})
    }
  },

开始时先隐藏回到顶部按钮,当鼠标滚动的距离大于100时让按钮显示

  //回到顶部
  goTop(){
    
    
    wx.pageScrollTo({
    
    
      //页面滚动到0 的位置,事件为600毫秒
      duration:600,
      scrollTop:0
    })

  },

在这里插入图片描述
点击回到顶部时,滚轮慢慢滚到顶部!

(5)模态框提示
<button type="primary" bindtap="showTip">提示</button>
  showTip() {
    
    
    wx.setNavigationBarColor({
    
    
      frontColor: '#ffffff',
      backgroundColor: '#ff6600',
      animation: {
    
    
        duration: 400,
        timingFunc: 'easeIn'
      }
    })
    wx.setNavigationBarTitle({
    
    
      title: '微信api',
    })
    wx.showLoading({
    
    
      title: '我不会停的',
    })
    setTimeout(() => {
    
    
      wx.hideLoading()
    }, 3000)
  },

在这里插入图片描述

(6)获取设备信息
wx.getSysteminfosync
  1. 状态栏高度(statusBarHeight)
  2. 可用窗口的宽 (windowWidth)
  3. 可用窗口的高(windowHeight)
  4. 安全区域 (safeArea)
  5. 手机型号 (system)
  6. 电量(batteryLevel)
(7)路由
  1. wx.navigateTo({})- 跳转
  2. wx.redirect-重定向
  3. wx.switchTab()-切换底部栏
  4. wx.navigateBack()-返回
(8)网络请求

wx.request()

  1. url:请求的地址
  2. data数据(post)
  3. timeout:超时事件
  4. method:方式post|get|put|delete
  5. success:成功时执行的回调函数
  6. fail失败时执行的回调函数
  7. complete完成:成功失败都执行,结束加载提示
(9)dom节点操作
  onReady() {
    
    
    console.log("页面生命周期,onReady第一次渲染完成 ")
    //1.操作节点(没有window,document.getxxx,document.getElement)
    //创建一个选中器
    const query = wx.createSelectorQuery()
    //选中h1节点,获取他的边界
    query.select('.h1').boundingClientRect()
    //获取窗口的位置信息
    query.selectViewport().scrollOffset()
    //执行命令返回结果
    query.exec(function (res) {
    
    
      // 获取元素的边界信息
      /* left: 0  right: 320   top: 0  width: 320 */
      console.log(res[0])
      //窗口信息scrollHeight: 504  scrollLeft: 0  scrollTop: 0  scrollWidth: 320
      console.log(res[1])
    })
  },

二,微信小程序的生命周期

(1)小程序的生命周期
  1. onLaunch页面启动执行
  2. onHide后台切换时执行
  3. onShow页面显示时执行
  4. onError发生错误时执行
(2)页面的生命周期
  1. onLoad页面加载时执行
    1.发起网络请求
    2.获取页面传递的参数
    3.页面本地存
    4.初始化

2.onReady页面初次渲染完成
3.onShow前台页面显示时执行
4.onHide后台运行时执行
5.unonLoad写在onLoad
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_68907098/article/details/127851893