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

设置、获取本地缓存

设置本地缓存(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
}

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

在这里插入图片描述

设置缓存实例:

在这里插入图片描述

获取缓存实例

在这里插入图片描述

发送请求

小程序需要发送请求一般都是发生了某些事件需要调用后台的接口,发送请求用的是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;
            }
		});

在这里插入图片描述

渲染数据

当我们发送请求后服务器会给我们想要的数据,这时就需要如何渲染数据了
需要在当前js文件page的data设置变量名:
在这里插入图片描述
在发送请求后判断服务返回的状态码是否是200,然后使用that.setData
在这里插入图片描述
设置在data后还需再在wxml中去取出来

在这里插入图片描述

转发当前页面

在这里插入图片描述

需要wxml中指定这个

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

在这里插入图片描述
在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
                    });
                }
            }
        })
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值