小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面

设置、获取缓存,发送请求,渲染数据,转发当前页面

  • 设置、获取本地缓存
    • 设置本地缓存(wx.setStorage)
    • 获取本地缓存 (wx.getStorageSync)
    • 在微信开发工具如何查看是否有本地缓存
    • 设置缓存实例:
    • 获取缓存实例
  • 发送请求
  • 渲染数据
  • 转发当前页面
  • 下拉刷新页面

设置、获取本地缓存

设置本地缓存(wx.setStorage)

setCache:function (key,value) {
    wx.setStorage({
          key:key,
          data:value
    });
},

获取本地缓存 (wx.getStorageSync)

getCache:function (key) {
    var value = undefined;
    try {
        value=wx.getStorageSync(key)
    } catch (e) {}
    return value
}

在微信开发工具如何查看是否有本地缓存

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第1张图片

设置缓存实例:

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第2张图片

获取缓存实例

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第3张图片

发送请求

小程序需要发送请求一般都是发生了某些事件需要调用后台的接口,发送请求用的是wx.request,
详细参数可以去看看官方文档:
https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html

 wx.request({
            url:app.buildUrl("/food/search"),
            header:app.getRequestHeader(),
            data:{
                "cat_id":that.data.activeCategoryId,
                "mix_kv":that.data.searchInput,
                "p":that.data.p
            },
            success:function (res) {
                var reps = res.data;
            }
		});

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第4张图片

渲染数据

当我们发送请求后服务器会给我们想要的数据,这时就需要如何渲染数据了
需要在当前js文件page的data设置变量名:
小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第5张图片
在发送请求后判断服务返回的状态码是否是200,然后使用that.setData
小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第6张图片
设置在data后还需再在wxml中去取出来

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第7张图片

转发当前页面

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第8张图片

需要wxml中指定这个

<button open-type="share" >分享</button>

小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面_第9张图片
在js中添加这个函数,指定了分享会自动帮我们调用这个函数,
因为api更新的原因已经没有了success方法了所以只能退而求其次变成只要点击分享了、就调后台接口(不管是否成功)
onShareAppMessage还有很多参数可以去看看官方文档
https://developers.weixin.qq.com/minigame/dev/api/share/wx.onShareAppMessage.html

//分享当前页面
onShareAppMessage:function () {
    var that=this;
    //我这个转发后调用了后台接口,所以需要使用这个函数去发送请求
    this.share_success();
    return {
        title: that.data.info.name,
        path: '/page/food/info?id=' + that.data.id
    }
},

下拉刷新页面

只需要在page添加这个函数就可以了,然后去调用发送请求的相关函数

onReachBottom:function () {
    var that=this;
    //延迟函数,为了看起不突兀
    setTimeout(function () {
        that.getFoodList();
    },500)
},
getFoodList:function () {
        var that=this;
        if (that.processing){
            return
        }

        if (! that.data.loadingMoreHidden){
            console.log(that.loadingMoreHidden);
            return
        }
        that.setData({
            processing:true
        });
        wx.request({
            url:app.buildUrl("/food/search"),
            header:app.getRequestHeader(),
            data:{
                "cat_id":that.data.activeCategoryId,
                "mix_kv":that.data.searchInput,
                "p":that.data.p
            },
            success:function (res) {
                var reps = res.data;
                if (reps.code != 200) {
                     app.alert({"content":reps.msg});
                    return
                }
                var goods=reps.data.list;
                that.setData({
                    //新的数据加上原来的数据使用concat
                    goods:that.data.goods.concat(goods),
                    //当前页数来之后+1
                    p:that.data.p+1,
                    //为服务器是否执行这条命令
                    processing:false
                });

                if (reps.data.has_more==0){
                    that.setData({
                        loadingMoreHidden:false
                    });
                }
            }
        })
    }

你可能感兴趣的:(python3,flask,小程序,第三方平台的使用,微信)