开发者社区> 灵感蒙太奇> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 1.缓存的读取 //添加Storage await wepy.setStorageSync('userInfo', ret.data.
+关注继续查看

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)
                        }
                    })
                }
            })

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【七日打卡】taro小程序项目入门使用
Taro 项目基于 node,请确保已具备较新的 node 环境(>=8.0.0),推荐使用 node 版本管理工具 nvm 来管理 node,这样不仅可以很方便地切换 node 版本,而且全局安装时候也不用加 sudo 了。
0 0
小程序开发框架wepy
小程序目前主流的开发框架有mpvue 和wepy 两种,由于wepy是腾讯自己开发的框架,所以先来简单了解一下wepy。 wepy的作用主要是提高开发者的开发效率,采用了类似使用了vue的代码书写风格, 结合使用webwack提供的多种插件,开发者可以熟练的上手小程序开发,但再开发过程中还有有很多与vue的不同需要注意。
951 0
使用mpvue开发小程序教程(六)
在上一章节中,我们列举了在Vue中能用但在mpvue中不能用或需要特别注意的特性,在实际开发前了解一下还是很有必要的,可以避免浪费找错误的时间。 如果你使用过原生的小程序框架,你一定经历过或思考过怎么解决以下的问题: 怎么存放可全局访问的变量? 页面...
1186 0
使用mpvue开发小程序教程(三)
【注意事项】由于mpvue也在不断的开发演进,大家在不同时间段使用的时候,可能会遇到和文中的做法不一样的地方。请关注文章的评论区中大家的讨论,寻找解决方案,或者及时查阅官方文档,避免陷入版本更新的坑里哦。
938 0
使用mpvue开发小程序教程(二)
在上一篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来。在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构。
1429 0
微信小程序组件化开发框架wepy 学习(一)
1.对微信小程序原生开发文档熟悉。2.对前端mvvm有一定的了解。3.会nodejs npm 进行前端组件化开发
2272 0
微信小程序组件化开发框架wepy 学习(二)
1.文件结构 文件结构类似VUE文件 扩展名为 .wpy
1717 0
+关注
灵感蒙太奇
一名铁艺设计师跨界IT界,个喜欢创新和对新技术的学习探索。爱好绘画篮球,为人谦虚乐观,对生活充满好奇,对工作积极上进。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Flutter 应用框架 Fish-Redux
立即下载
用RxSwift写易维护易读的愉悦代码
立即下载
ReactNative实战优化之路
立即下载