精华内容
下载资源
问答
  • 小程序缓存是小程序优化中经常要用到的,但随着版本的迭代,有些缓存字段已经更改或者不需要使用了,而且可能对我们新的版本产生影响,那要怎么清除线上缓存呢? 其实很简单,每次更新前在程序内配置一个版本号,...

    小程序怎么清除线上缓存呢

    小程序缓存是小程序优化中经常要用到的,但随着版本的迭代,有些缓存字段已经更改或者不需要使用了,而且可能对我们新的版本产生影响,那要怎么清除线上缓存呢?

    其实很简单,每次更新前在程序内配置一个版本号,只要检测到版本号不一样,就清除以前的缓存,具体实现如下

    config.js

    module.exports = {
        VERSION: '1.0'
    }
    

    update-version.js

    // 更新版本前清空缓存
    import config from './config.js'
    
    export const updateVersion = (function() {
        const version = wx.getStorageSync('version')
        // 缓存的版本不存在或者和当前版本不一样,就清空以前的
        if (!version || version !== config.VERSION) {
            console.log('清除所有缓存')
            wx.clearStorageSync()
            wx.setStorageSync('version', config.VERSION)
        }
    })()
    

    有时候有些数据并不需要清除的时候,比如用户的数据,那么我们清除前可以先保存起来,清除后再写入缓存中

    export const updateVersion = (function() {
        const version = wx.getStorageSync('version')
    	const _userInfo = wx.getStorageSync('_userInfo')  // 保存用户数据
    	// 缓存的版本不存在或者和当前版本不一样,就清空以前的
        if (!version || version !== config.VERSION) {
            console.log('清除所有缓存')
            wx.clearStorageSync()
           	wx.setStorageSync('version', config.VERSION)
    		wx.setStorageSync('_userInfo', _userInfo) // 重新写入缓存
        }
    })()
    

    执行,引用该文件即可,因为这是一个自执行的函数

    import './update-version.js'
    

    当下一次发布版本的时候,手动修改config.js里的VERSION的值就可以啦

    展开全文
  • 微信小程序本地缓存数据增删改查实例详解 数据如: var user = { name: 'Lion', sex: 'guy' } CRUD: // 添加 wx.setStorageSync('user', user); // 查询 var developer = (wx.getStorageSync('user') || [])...
  • pcache:程序缓存-源码

    2021-03-07 21:50:49
    程序缓存是在测试中用于缓存对程序的调用的工具。 状态 README仅项目 目的 问题 一些程序依赖于其他命令行工具来执行特定任务。 当程序使用像ls这样几乎总是可用的基本工具时,这可能会出现问题,因此在测试中...
  • 数据如:   [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 var user = { ...// 更改 developer.name = 'Lion01'; wx.setStorageSync('user', user); // 删除 wx.removeStorage({ key: 'u
  • 对每个微信小程序的本地缓存(localStorage)进行增删改查的操作。目前本地缓存最大空间限制在10MB以内(从原先的5MB升级到10MB,意味着这不是最终大小,可能更改),同时,本地缓存将是永久存储
  • 黯然学编程 之 微信小程序杂记(二):小程序最新版登录进行缓存模块的实现 附源码一、功能描述二、mine.wxml界面图片三、mine.wxml代码四、mine.wxss代码五、mine.js代码六、app.js代码七、源码怎么用? 博主QQ:...

    CSDN私信我,有关微信小程序的事情可以交流讨论,共同学习!
    

    一、功能描述

    由于微信官方更改了 getUserInfo、authorize 接口,无法弹出授权窗口,大家可以在微信小程序开发者工具
    看到会提示接口过期。所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 组件点击之后触
    发登录事件。
    本登录模块还实现了用户信息缓存功能。
    

    二、mine.wxml界面图片

    登录前:
    登录
    点击登录后:
    在这里插入图片描述

    三、mine.wxml代码

    <view class="container">
      <!--用户信息-->
      <view class="category-item">
    
        <view class="personal-info">
          <view class="user-avatar">
            <image wx:if="{{userInfo}}" src="{{userInfo.avatarUrl}}"></image>
            <image wx:else src="/icons/wx_app_unline.png"/>
          </view>
          <view class="user-name">
            <view class="user-nickname">
            <text wx:if="{{userInfo}}">{{userInfo.nickName}}</text>
            <button class='in' wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo">登录/注册</button>
            </view>
            <view class="user-location">
              <open-data wx:if="{{userInfo}}" type="userCity" lang="zh_CN"></open-data>
            </view>
          </view>
        </view>
       </view>
    

    四、mine.wxss代码

    .container {
        background-color: #efeff4;
        width: 100%;
        height: 100%;
        flex-direction: column;
        display: flex;
        align-items: center;
        min-height: 100vh;
        color:#7F8389;
        font-size:24rpx;
    }
    .category-item {
        width: 100%;
        margin: 0 0 20rpx 0;
        border-top: 1rpx solid #d9d9d9;
        border-bottom: 1rpx solid #d9d9d9;
        background-color: #fff;
    }
    /*******************用户和相关操作*************************************/
    /*用户*/
    .personal-info {
        height: 130rpx;
        display: flex;
        padding: 20rpx 0;
    }
    .personal-info .user-avatar {
        margin: 0 30rpx;
        width: 130rpx;
        height: 130rpx;
        position: relative;
    }
    .personal-info .user-avatar image {
        vertical-align: top;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left:0;
        border-radius: 50%;
    }
    .personal-info .user-name {
        margin-right: 30rpx;
        flex: 1;
        padding-top: 10rpx;
    }
    .user-name .user-nickname{
        color:black;
        font-size:36rpx;
    }
    

    五、mine.js代码

    var app = getApp();
    Page({
    
    data: {
        hasUserInfo: false,
        canIUse: wx.canIUse('button.open-type.getUserInfo')
      },
    
      onLoad: function () {
        if (app.globalData.g_userInfo) {
          this.setData({
            userInfo: app.globalData.g_userInfo,
            hasUserInfo: true
          })
        } else if (this.data.canIUse) {
          app.userInfoReadyCallback = res => {
            this.setData({
              userInfo: res.userInfo,
              hasUserInfo: true
            })
          }
        }
      },
      getUserInfo: function (e) {
        console.log("mine.js执行登录按钮事件")
        app.globalData.g_userInfo = e.detail.userInfo
        this.setData({
          userInfo: e.detail.userInfo,
          hasUserInfo: true
        })
      }
      })
    

    六、app.js代码

    //app.js
    App({
    onLaunch: function () {
      this._getUserInfo();//加载登录函数
    },
    
    // 获取用户信息
    _getUserInfo: function () {
      var userInfoStorage = wx.getStorageSync('user');//从缓存中取出用户信息
      if (!userInfoStorage) {//如果没有用户信息缓存
        var that = this;
        wx.getSetting({
          success: res => {
            if (res.authSetting['scope.userInfo']) {
              wx.getUserInfo({
                success: res => {
                  console.log("app.js调用api获取用户信息");
                  that.globalData.g_userInfo = res.userInfo//设置app的全局变量
                  if (this.userInfoReadyCallback) {
                    this.userInfoReadyCallback(res)
                  }
                  wx.setStorageSync('user', res.userInfo)//设置用户信息缓存
                },
                fail: function (res) {
                  console.log(res);
                }
              })
            }
          }
        })
      }
      else {
        console.log("app.js从缓存中获取用户信息");
        this.globalData.g_userInfo = userInfoStorage;//有用户信息缓存直接取出给全局变量
        
      }
    },
    
    globalData: {
      userInfo: null
    }
    })
    

    七、源码怎么用?

    app.js微信小程序是有固定位置的;
    mine.wxml、mine.wxss、mine.js只要在同一个目录下就行,目录路径无所谓。
    完成登录功能请把以上代码全复制粘贴过去。
    本登录功能还实现了微信小程序的缓存功能。不缓存的微信小程序不是个小程序!缓存很重要!

    查看下一篇

    黯然微信小程序杂记(三):微信小程序实现倒计时功能 附讲解教学 附源码

    展开全文
  • 微信小程序开发内测一个月.数据传递的方式很少.经常遇到页面销毁后回传参数的问题,小程序中并没有类似Android的startActivityForResult的方法,也没有类似广播这样的通讯方式,更没有类似eventbus的轮子可用. 现在已知...
  • 微信小程序开发内测一个月.数据传递的方式很少.经常遇到页面销毁后回传参数的问题,小程序中并没有类似Android的startActivityForResult的方法,也没有类似广播这样的通讯方式,更没有类似eventbus的轮子可用. 现在已知...
  • 更改gradle缓存路径

    2019-09-06 22:51:58
    最近用Android Studio开发程序包管理使用的gradle,默认下载的那些依赖会放在C:\Users\Administrator\.gradle这个文件夹后面会越来越大,这时候C盘比较的就比较尴尬了;所以还是有必要换下路径。 更换路径办法:配置...
    • 最近用Android Studio开发程序包管理使用的gradle,默认下载的那些依赖会放在C:\Users\Administrator\.gradle这个文件夹后面会越来越大,这时候C盘比较小的就比较尴尬了;所以还是有必要换下路径。
    • 更换路径办法:配置GRADLE_USER_HOME环境变量,然后重启Android Studio即可。
      在这里插入图片描述
      在这里插入图片描述
    • 之前的数据也可以平滑的迁移过来,没有影响。
    展开全文
  • 更改谷歌浏览器缓存位置的方法

    千次阅读 2014-07-17 21:37:49
    Google 浏览器胜在速度,但其特点是喜欢强J系统盘,安装程序几兆几十兆的就算了,Chrome 的缓存也放在系统盘,无疑使有些分区很多系统盘不大的用户倍感苦恼。此处提供更改 Chrome 缓存位置的方法,希望对大家有用。 ...
    Google 浏览器胜在速度,但其特点是喜欢强J系统盘,安装程序几兆几十兆的就算了,Chrome 的缓存也放在系统盘,无疑使有些分区很多系统盘不大的用户倍感苦恼。此处提供更改 Chrome 缓存位置的方法,希望对大家有用。



    Google Chrome自定义路径、缓存、数据文件夹

    几个用到的命令参数
    --disk-cache-size 缓存大小(自己定义)
    --user-data-dir 是用户数据目录
    --disk-cache-dir是上网缓存目录
    一般用户喜欢把软件安装在D盘,下面就以D盘为例
    下载离线版Chrome,解压出Chrome-Bin文件夹制作成Chrome绿色版


    Chrome安装目录D:\Program Files\Chrome\Chrome.exe
    定义其中一个的方法
    用户数据文件,

    默认是C盘的Application Data\Google\Chrome\User Data文件夹里
    创建Chrome.exe快捷方式,  右键——属性——快捷方式——目标
    在chrome.exe"后面添加 --user-data-dir="X:\文件夹"
    添加好以后是这样的:"D:\Program Files\Chrome\chrome.exe" --user-data-dir="X:\文件夹"(注:英文状态标点,注意空格)

    上网缓存文件,

    默认是C盘的Application Data\Google\Chrome\User Data\Default\Cache文件夹里
    创建Chrome.exe快捷方式, 右键——属性——快捷方式——目标
    在chrome.exe"后面添加 --disk-cache-dir="Y:\文件夹"
    添加好以后是这样的:"D:\Program Files\Chrome\chrome.exe" --disk-cache-dir="Y:\文件夹"(注:英文状态标点,注意空格)
    两个一块定义的方法
    创建Chrome.exe快捷方式,  右键——属性——快捷方式——目标
    在chrome.exe"后面添加 --user-data-dir="X:\文件夹" --disk-cache-dir="Y:\文件夹"(注:英文状态标点,注意空格)


    注意:快捷方式创建好后,只能从快捷健启动有效,要使外部调用生效,还要做如下修改:

    Win+R——regedit

    分别找到[HKEY_CLASSES_ROOT下的ChromeHTML,ftp,http,https,

    在shell\open\command的右边数值上右键修改"D:\Program Files\Chrome\chrome.exe\" -- "%1\""的值,

    在 -- "%1\"的前面chrome.exe"的后面添加 --user-data-dir="X:\文件夹" --disk-cache-dir="Y:\文件夹"(注意空格)
    [HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command]
    修改后"D:\Program Files\Chrome\chrome.exe" --user-data-dir="X:\文件夹" --disk-cache-dir="Y:\文件夹" -- "%1\"
    [HKEY_CLASSES_ROOT\ftp\shell\open\command]
    修改后"D:\Program Files\Chrome\chrome.exe" --user-data-dir="X:\文件夹" --disk-cache-dir="Y:\文件夹" -- "%1\"
    [HKEY_CLASSES_ROOT\http\shell\open\command]
    修改后"D:\Program Files\Chrome\chrome.exe" --user-data-dir="X:\文件夹" --disk-cache-dir="Y:\文件夹" -- "%1\"
    [HKEY_CLASSES_ROOT\https\shell\open\command]
    修改后"D:\Program Files\Chrome\chrome.exe" --user-data-dir="X:\文件夹" --disk-cache-dir="Y:\文件夹" -- "%1\"
    全部弄好后,不管点击Chrome快捷方式,还是QQ、迅雷外部调用,都会成功定义文件夹
    展开全文
  • 微录客手机视频采集程序(缓存版)为手机视频网站微录客采集程序。占用空间,建站成本低,无需等待,马上就可以拥有海量网站数据;免更新免维护,管理方便,操作简单,实现全站后台管理的全自动采集;实现内容页URL路径...
  • 更改教室状态为不可用。 新增管理员账号(输入新账号和密码) 2.直接把数据放在缓存(storage)里了,之后有时间考虑搭个后台,用Node.js express和mongodb搭建 3.有想尝试登录的,可以输入账号2013190419、admin...
  • 运势运程算命小程序 v1.2.0 完整版+微信小程序+前端+后端 运势运程算命小程序开源源码最新更新日志: 新增测算栏目支付成功模版消息提醒,增加留存率。新增每日星座卡片、单向历,请求缓存解决请求慢问题。修复测算...
  • 和之前的一致,小程序会默认从本地缓存中读取,以为你的数据没有改动,所以如果返回数据有图片的话,做更改之后,要把路径也改掉,这样小程序才会认为你的数据改了,重新请求,这样就会缓存新的数据了,也就是图片。...
  • 我的小程序全是对接的cms,为了方便栏目的调用,我都是先进行加载所有的栏目,然后存储到缓存里边,这样小程序的首页就可以直接通过该栏目缓存调用栏目或者子栏目信息,栏目属于不常更改的内容,提前缓存栏目算是一...
  • 小程序传递参数的方式有三种:(1)通过在App.js中设置全局变量(2)通过拼接URL直接传递(3)通过数据缓存存储再获取1.app.js通常把不会更改的数据放在app.js的Data中,在各个页面中都可以通过APP实例获取Data数据。...
  • H5缓存

    2020-02-27 11:19:38
    H5引入了应用程序缓存,意味着WEB应用可进行缓存,可在没有因特网时进行访问 应用程序缓存的优势: 离线缓存:用户可在离线时使用它们 速度:加载速度更快 减少服务器负载:浏览器只从服务器下载更新的或者更改过的...
  • 小程序进阶-常见问题

    2020-10-31 15:54:06
    答:小程序首次加载慢,但是再次打开会快很多,是因为小程序做了缓存,再次打开相同页面或者发送相同请求时使用的缓存的数据。小程序发送第三方服务请求(相同于后台)所用的时间,明显比浏览器花费的时间更多。综合...
  • 该应用程序将在OS-X中创建具有指定大小的,以将应用程序缓存存储在RAM中,这称为SSD优化-减少磁盘IO或使使用IntelliJ的网络浏览和编程更加有趣。 支持的应用程序(您可以添加您的应用程序): 苹果浏览器 的iTunes...
  • 1.刚刚进入页面,判断本地缓存中是否有该类型的本地缓存(即判断是否是第一次进入小程序这个页面),在判断本地缓存中是否有这个商品的记录,有的话收藏图标变为收藏 2.点击收藏按钮更改本地缓存的数据,收藏即为...
  • 微信小程序 - 参数传递     小程序传递参数的方式有三种: (1)通过在App.js中设置全局变量 (2)通过拼接URL直接传递 (3)通过数据缓存存储再获取     1.app.js 通常把不会更改的数据放在app.js的...
  • 1、项目介绍 2、创建项目、云开发初始化、页面初始化 3、登录功能(云函数的创建和调用) 获取openid(每个微信号的唯一标识) 设置云函数 调用云函数 用户登录按钮的设置 登录缓存的设置【wx....查看小程序版本信息
  • MESI场景下面这个程序缓存一致性问题,initFlag第二个线程更改为true后,如果没有volatile关键字修饰,thread1是无法可见数据已被修改,不会跳出while循环。可见性实现一当对代码initFlag进行修饰关键字volatile时,...
  • 1、小程序获取token接口调用,该方法我这里写在了utils文件夹里的util.js文件中,所以下文中上传图片引用的时候会用到对应的文件目录,该方法我在界面初始化监听的时候调用并写入了缓存方便后期使用,可根据自身需求...
  • lode文件是小程序加载时默认调用,先调取本地缓存中的数据,然后筛选出还在进行中的列表及数量 inputChangeHandle获取用户输入的内容 addTodoHandle添加事件 toggleTodoHandle更改事件状态 removeTodoHandle删除...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 588
精华内容 235
关键字:

更改小程序缓存