专栏首页算法与数据结构微信小程序开发技巧总结 (一)

微信小程序开发技巧总结 (一)

结合自己在平时的开发中遇到的各种问题,和浏览各种问题的解决方案总结出一些自己在日常开发中常用的技巧和知点,希望各位不吝斧正。

1.短生命周期数据存储

以小程序启动到彻底关闭为周期的的数据建议存储在app.js文件夹中,引用app.js:

const app =getApp();

假设Value是在小程序本次生命周期中经常使用到的一个数据,比如说请求API的Token,动态的令牌等。那么就可以把这个值赋值到全局变量中去。实际上,并不是只有app.js中的globalData是全局变量,可以自己定义数据集。

App({
  eduOS:{
    token:''
  },
  ...
})

对于app.js里面的token进行赋值操作很简单,只要页面引用了app.js

app.eduOS.token = Value;

这个数据在小程序的本次启动到彻底关闭后台的周期中就是长期存在的了,还可以根据需要进行修改,Value可以是对象。

2.长生命周期或者隐私数据存储

这种数据的显著特点是在小程序关闭再次重启后依然存在,或者涉及到用户的隐私信息但是需要复用,这种时候可以用本地缓存来解决这种问题。

本地缓存的生命周期: 小程序被开始使用 -----> 小程序被彻底从使用列表中移除。

小程序设置缓存的方式:

wx.setStorage({
            key: 'educookie',
            data: {
              xh: that.data.xh,
              pwd: that.data.pwd
            }
          })

小程序获取缓存的方式:

 var that = this;
 wx.getStorage({
      key: 'educookie',
      success: function(res) {
        that.setData({xh:res.data.xh,pwd:res.data.pwd});
      },
    })

比如保存用户的登陆态信息,但是不能保存用户的隐私数据,就可以采用这种方式。

或者是一个非时效性的数据,可以通过这种方式进行存储。

3.动态信息或配置信息存储

保存用户的配置信息,在更换手机时能迅速完成配置同步。

商家小程序推荐商品修改,或者是内容修正,或者是增加活动,不可能每次都要重写然后再次让小程序进行审核。

对此,可以在后端服务器中保存这个信息。

以一个小程序的轮播广告牌为例:

{
 ad1:'imgurl1',
 ad2:'imgurl2',
 ad3:'imgurl3'
}

把这个数据存放在后台服务器,每一次刷新该页面都请求一次后台数据,对内容进行修改。

wx.request({
    url:'XXX',
    data:{},
    success(res){
        that.setData({
            adList:res.data
        })
    }
})

类似这种方式,完成对一些数据的动态控制或者是云同步。

4.页面间数据传递

页面间之间的数据传递一般是简单的,这种类型的数据的生命周期是一次性的,用完即删。

wx.navigatorTo({
    url:'../index/index?param1=value1&param2=value2'
})
//在index页面获取
onLoad(options){
    console.log(options.param1);//value1
}

可以参照Http请求中的Get表单传参方式来写页面之间的传参。

如果需要传送的数据太多,可通过Map<key ,Storge>进行传递

wx.setStorge({
    key:'xxx',
    data:mydata
})

传递参数只需要传递一个key,在其他界面通过这个key再次去获取本地缓存,对于这种类型的数据,建议使用完后即时的删除缓存。

wx.removeStorage({
  key: 'xxx',
  success(res) {
    console.log(res)
  }
})

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PTA 带头结点的单链表就地逆置(10 分)

    本题要求编写函数实现带头结点的单链线性表的就地逆置操作函数。L是一个带头结点的单链表,函数ListReverse_L(LinkList &L)要求在不新开辟节点...

    Kindear
  • 数据结构 单链表元素定位 PTA

    由于这个很简单,他也貌似没要判断溢出,取巧突破 #include<stdio.h> #include<malloc.h> #include<stdlib.h> ...

    Kindear
  • 小程序云开发--云函数上传文件或图片 base64

    但是我们同时也知道,云函数是后台服务端,具有管理员权限,只要能调用云函数上传文件就可以解决这个问题了

    Kindear
  • “数据货币化”战略的五大要素

    当今,在认知计算时代下的数字化商业模型中,数据带来了新的收入流。如果一个公司能够高效地利用数据,那么认知计算学就能为其带来额外的收入流。 在大数据中,我们称之...

    灯塔大数据
  • 大数据24小时 | 李彦宏“画饼”互惠金融,数据新闻第一人黄志敏离职转型抢滩大数据

    <数据猿导读> SAP推出最新数据仓库应用,帮助企业实现实时数字化运营;“麦谷科技”获同创伟业领投5000万元融资;财新传媒首席技术官黄志敏宣布离职……以下为您...

    数据猿
  • 浅谈数据治理、数据管理、数据资源与数据资产管理内涵及差异点(建议收藏)

    随着信息技术的不断涌现和普及,业务发展加快了数据膨胀的速度,行业内衍生了较多的新名词,如数据治理、数据管理、数据资源管理、数据资产管理等名词的定义很多,概念容易...

    木东居士
  • 关联分析(4):购物篮数据转换R语言

    我们现在有这样一份数据,记录了近173万用户的爱好情况(数据为随机生成)。数据中每行为一个用户,每列为一个爱好属性,“y”代表有此爱好,“n”代表无此爱好,我们...

    三猫
  • 为什么大数据需要敏捷思维?

    内容来源:2018 年 09 月 08 日,宜信大数据技术专家卢山巍在“2018开源数据库论坛暨首届MariaDB中国用户者大会”进行《敏捷大数据实践与开源赋能...

    IT大咖说
  • 波音收购机器人制造商加强海洋监测,AI创企图普科技获千万美元融资 | 大数据24小时

    数据猿导读 基于大数据技术的个性化教学平台“狸米学习”完成5000万元融资;收购了机器人制造商 Liquid Robotics,波音公司将全面加强海洋侦查力度;...

    数据猿
  • 用Python只需要三分钟即可精美地可视化COVID-19数据

    Matplotlib可能是Python的事实数据可视化库,但它并不总是最漂亮的。在本文中,我们将探讨如何将单调的默认Matplotlib图变成漂亮的数据可视化。...

    IT大咖说

扫码关注云+社区

领取腾讯云代金券