uni-app或微信小程序从缓存storage获取token第一次为空,刷新才能拿到问题。

uni-app或微信小程序从缓存storage获取token第一次为空,刷新才能拿到问题。,第1张

请求框架config配置

configjs

未登录前token取到是空,登录后把后台返回的token存储到缓存,到下一个界面请求其他接口的时候,头信息里面的token为空,并且本地缓存信息已有token,于是想到是请求头里面的token并没有更新,需要去更新一下就可以了。

interfacejs

indexjs

本地缓存官方讲解:

>

保留当前页面,跳转到应用内的某个页面

关闭当前页面,跳转到应用内的某个页面

在写项目的时候,遇到了收货地址模块功能,刚开始想的很简单,就是用户点击具体某一项地址的时候,将其地址存放到storage里面,然后使用wxnavigateBack()返回到订单页面,然后在订单页面的onShow()方法中将地址取出来,并且渲染到页面上

选择地址页面,有具体某一项地址的详细信息,每一项包括修改和删除,还有新增地址

swiper组件的常用属性

属性     类型 默认值 说明

indicator-dots     boolean false 是否显示面板指示点

indicator-color    color rgba(0,0,0,3) 指示点颜色

indicator-active-color   color #O000oo 当前选中的指示点颜色

autoplay     boolean false 是否自动切换

interval      number 5000    自动切换时间间隔

circular     boolean false    是否采用衔接滑动`

二、按钮

通过type属性指定按钮颜色类型

<button>普通按钮</button>

<button type="primary">主色调按钮</button>

<button type="warn">警告按钮</button>

size="mini" 小尺寸按钮同一行

<button size="mini">普通按钮</button>

<button type="primary" size="mini">主色调按钮</button>

<button type="warn" size="mini">警告按钮</button>

plain 镂空按钮

<button plain>普通按钮</button>

<button type="primary" plain>主色调按钮</button>

<button type="warn" plain>警告按钮</button>

  data: {

    inputVal : '',

    storageVal:''

  },

  bindkeyInput: function (e) {

    let {detail: { value }  } = e;

    thissetData({

      inputVal: value

    })

  },

  cun:function(){

    let arr=['name','age','sex'];

    let i =Mathfloor(Mathrandom()(2-0+1)+0);

    / 异步取缓存的值必须在回调函数里面取 同的直接=即可 /

    wxsetStorage({

      key:'myname',

      data:'我是小超人',

      success:function(){

        consolelog('我成功了');

      }

    })

    / 同步的存起来 /

    / 相同的key会把值覆盖 /

    / wxsetStorageSync('username', thisdatainputVal) /

    wxsetStorageSync(arr[i],thisdatainputVal)

  },

  qu:function(){

    thissetData({

      / 同步的取缓存的值 /

      / 浏览器中的缓存存进去的都是字符串,小程序里的缓存可以存字符串,数组和对象 /

      / undefined存进去是字符串 null存进去是null类型 Symbol存进去是Symbol类型 /

      / storageVal:wxgetStorageSync('username') /

       storageVal:wxgetStorageSync('sex')

    })

  },

  delSex:function(){

    / 同步删除指定的某一个缓存 /

    wxremoveStorageSync('sex')

  },

  delAll:function(){

    wxclearStorageSync()

  },

小程序

第一个web项目-微信小程序后端开发

第一个web项目-微信小程序后端开发

前言

需求分析

团队分工

总体设计

开发工具及编码实现

小程序前端

后端

数据库

接口代码

管理系统前端10

管理系统前端20

测试

后端本地测试

前后端联合测试

部署

总结

第一个web项目-微信小程序后端开发

前言

去年暑假一个偶然的机会我和几位同学加入了学院一位老师主持的教改项目,需求是开发一个基于SPOC与翻转课堂的计算机组成原理课程的学习app(类似慕课、知到),后来经过讨论决定降低难度,先做一个微信小程序,附带一个后台管理系统,于是我的第一个web项目就开始了~

需求分析

这里简单介绍下SPOC和翻转课堂的意思

翻转课堂

“翻转课堂”(Flipping Classroom)是一种颠覆传统教学由“课堂授课听讲 + 课后作业练习”转变为“课前自主学习 + 课堂协作探究”的新型教学模式。

SPOC

SPOC(Small Private Online Course)一般被译为小规模限制性在线课程或者小规模私有型网络课程,音译为“私播课”。

这次项目的需求是开发一个学习类型的小程序,用户分为学生和教师,其中学生可以观看视频、课件、动画,完成作业、考试以及发布评论、点赞、回复,而教师可以上传教学视频、课件、动画和发布作业、考试、通知,以及查看学生的学习情况,也可以查看评论回复,及时解答学生的疑惑。

团队分工

团队一共有四个人,总体工作分为产品设计、前端开发、后端开发三部分,然后每部分由两人负责。其中我是负责后端开发的,同时兼任项目负责人(其实也没有听上去那么高大上,只是需要承担更多决策、协调、沟通的角色)。

总体设计

这里分为小程序和管理系统

首先是小程序,放几张使用墨刀制作的原型图,这里多说两句,市面上的小程序基本都是微信授权直接登录,最多绑定手机号,我们这个由于要统计学生的学习情况才设置了注册和登录功能

至于管理系统,由于是10月份才开始做的,而且是我和另一位做后端的同学负责的,时间比较紧,我们作为前端小白没有十分系统的方法去做开发,只是大概确定了需要做哪些模块,每个模块对哪些表的增删改查,这里原型图就不放了(较简陋)

开发工具及编码实现

小程序前端

据我了解,做前端的同学先去微信公众平台注册账号,然后做一些开发设置,具体步骤自行百度。前端用的是微信开发者工具,有不会的基本上在微信开放文档都可以找到,包括许多实用的API。

后端

这里分为数据库、接口代码两部分

数据库

用的是mysql数据库,之前是跟着学堂在线的一个小程序入门教程做的,它推荐的本地开发环境是phpstudy,里面集成了php、mysql、apache、FTP、Nginx以及数据库管理工具phpMyAdmin,关于phpMyAdmin使用请看>

localStorage中一般浏览器支持的是5M大小,在不同的浏览器中localStorage会有所不同。数据是储存在浏览器中的。

例如local storage在chromium里是存在一个本地的sqlite数据库文件里,并且这个数据库文件没有加密。这个文件被存在每个用户的AppData文件夹里。

插件将明文密码存在local storage中,存在本地的sqlite数据库的文件没有被加密。红芯浏览器的官网产品介绍称,其数据缓存及存储层使用了数据加密箱。然而该程序员发现,经他试验,红芯浏览器的数据缓存并未如其宣称的那样进行加密。

内核的技术创新体现在以下三方面:

第一,红芯隐盾该功能主要是让企业的应用系统隐身,只对特定身份和设备可见,从而有效避免外部可能的攻击。

第二,红芯云适配,主要是将企业PC端系统适配至移动端,从而帮助企业快速实现移动办公;

第三,安全可控浏览器,通过私有DNS、加密缓存国密算法支持等功能,帮助企业迸行数据保护和隐私保护这些功能都源自于企业客户的需求。

微信小程序的编写中,涉及到有些业务场景需要将数据缓存到本地,则微信小程序api提供了两个接口函数,

wxsetStorage可以将数据缓存在本地指定的key中,如果本地缓存已经存在指定的key,则会覆盖该key对应的内容,这是一个异步的接口,在调用时会涉及到成功,失败,完成三个状态,

与wxsetStorage唯一不同的就是wxsetStorageSync是同步进行的,所以不会涉及到成功,失败,完成等回调,但是在使用时需要使用trycatch来捕获异常;

现在编写一个将字符串缓存本地的例子

编译项目,点击缓存按钮:

现在改变缓存的内容,但是缓存的key保持不变

可以看到第二次的内容把第一次覆盖了。

将内容缓存到本地之后,将其从本地提取展示出来,则可是使用微信小程序api提供的两个接口:wxgetStorageInfo(Object object),wxgetStorageSync(string key),与缓存同样,读取缓存也分同步和异步;

我们将刚刚存储到本地的数据展示到页面上:

编译项目,点击按钮获取缓存数据并将其展示到页面上。

完成了本地数据的缓存,获取,则接下来就是关于缓存数据的清除,同样微信小程序api也提供了可使用的接口,

至此微信小程序本地保存数据就此结束!

以上就是关于uni-app或微信小程序从缓存storage获取token第一次为空,刷新才能拿到问题。全部的内容,包括:uni-app或微信小程序从缓存storage获取token第一次为空,刷新才能拿到问题。、【微信小程序】本地缓存、总结:微信小程序跳转方式(有关收货地址)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10208810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存