小程序本地地址缓存封装

平常我们在做一些商城小程序、订单类的小程序都会有地址模块;有时候为了项目的快速开发,要求前端开发人员把地址模块做成本地缓存;这边我做了一些简单的封装和效果;



新建一个公共js

/**

 * 封装了对本地存储中的地址对象的操作

 */

 let ADDRESS_CACHE_KEY='_address'; //本地地址缓存key

export default class addressUtils {

  /*

   * 从本地存储中获取address对象

   */

  static getAddress() {

    const addressInfo = wx.getStorageSync(ADDRESS_CACHE_KEY);

    return addressInfo ? JSON.parse(addressInfo) : null;

  }

  /*

   * 缓存地址信息

   */

  static setAddress(addressInfo) {

    if (addressInfo) wx.setStorageSync(ADDRESS_CACHE_KEY, JSON.stringify(addressInfo));

  }

  /**

   * 寻找某条地址

   * @param {*} id 地址id

   */

  static findAddress(id){

   let address = this.getAddress();

   return address.find(item=>{return item.id==id})

  }

  /**

   * 删除某条地址

   * @param {*} id 

   */

  static deleteAddress(id){

    let address = this.getAddress();

    let flag = address.findIndex((item,index)=>{return item.id==id})

    if(flag==-1) return false;

    address.splice(flag,1);

    this.setAddress(address);

    return true;

  }

  /**

   * 修改单条地址数据

   * @param {*} intoData 

   */

  static editAddress(intoData){

    let address = this.getAddress();

    let flag = address.findIndex((item,index)=>{return item.id==intoData.id})

    if(flag==-1) return;

    address[flag]=intoData;

    this.setAddress(address);  

  }

}

使用

具体使用方法  import addressCanche from '../../../utils/addressUtils.js';

具体使用的调用方法  addressCanche.getAddress() 即可


具体的布局文件就不发了  大家使用时自己布局即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容