小程序开发中常用的方法(wepy)

1.缓存的读取

       //添加Storage
      await wepy.setStorageSync('userInfo', ret.data.data);
      //获取Storage
      let userInfo = await wepy.getStorageSync('userInfo');

2.滚动区域页面的高度通过wx.getSystemInfo 方法获取

      //
      <scroll-view scroll-y style="height:{{height}}px;"></scroll>
      
      async onLoad() {
    let self = this;
    wx.getSystemInfo({
        success: function(res) {
            console.log(res)
         //res.windowHeight为获取到的屏幕高度
            self.height = (res.windowHeight - 50);
            self.$apply()
        }
    });
    };

3.页面的跳转与返回

      //普通跳转
     wx.navigateTo({
                url: url
            })
      //跳转选项卡的页面
      wx.switchTab({
            url: url
     })
      //返回页面
      wx.navigateBack({
                changed: true
      })

4拨打电话

      //
      wx.makePhoneCall({
        phoneNumber:"12580"
    })

5 判断苹果还是安卓手机

    wx.getSystemInfo({
    success: function(res) {
      //苹果手机
    if (res.platform == "ios") {
        that.screenScroll = true
    }
       //安卓手机
    if (res.platform == "android") {
        that.screenScroll = false
    }
}

})

6.小程序返回页面同时刷新页面
(有些时候当我们从A页面跳转到B页面,在b页面更新了缓存中的数据,返回到a页面,a额面没有同步更新数据,可以尝试一下这种方法。)

          //B页面获取页面栈
            let pages = getCurrentPages();
            if (pages.length > 1) {
                //上一个页面实例对象
                let prePage = pages[pages.length - 2];
                //关键在这里,changeData方法是a页面中方法调用,可以传入你想要的数据
                prePage.changeData(historyArr) 
            }
              //返回A页面
            wx.navigateBack({
                changed: true
            })

          //A页面方法调用
            changeData(historyArr) {
                this.addingMore = true
          }

7.小程序的下拉刷新

   config = {
        //首先在config中配置enablePullDownRefresh参数
        enablePullDownRefresh: true
   }
  async onPullDownRefresh() {
        //在onPullDownRefresh函数中设置你下拉之后调用的请求
        await this.getBuildings()
  }

      //也可以在函数中手动的调用下拉刷新事件
        let ret = await api.getBuildings(where);
        if (ret.data.code === 0) {
            wx.stopPullDownRefresh()
            this.$apply()
        } 

8.图片上传

async doUpload(field) {
            let self = this;
                          //首先获取用户token
            let token = await wepy.getStorageSync('token');
                          //调用微信api
            wx.chooseImage({
                count: 1, // 默认9
                sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
                sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
                success: async(ret) => {
                    var tempFilePaths = ret.tempFilePaths;
                    wx.uploadFile({
                      //图片上传的路径
                        url: `https://api.*****.com/v1/file/upload-image?access-token=${token}`,
                        filePath: tempFilePaths[0],
                        name: 'file',
                        header: {
                            "Content-Type": "multipart/form-data;application/json",
                        },
                        success: async(res) => {
                            var data = JSON.parse(res.data);
                            if (data.code === 500) {} else {
                                //成功以后的回调 data.data.url就是图片的路径                   
                                self.$apply()
                            }
                        },
                        fail(e) {
                            console.error(e)
                        }
                    })
                }
            })
上一篇:小程序代码体积优化


下一篇:阿里云视觉智能开放平台(VIAPI)人脸美颜Java SDK使用说明