{"_rev":"3-a3ce77ff2b99085f66791c4a211faf8f","time":{"created":"2022-10-19T02:17:43.351Z","0.1.8":"2021-10-12T07:37:16.070Z","modified":"2022-10-19T02:17:43.726Z","0.1.9":"2022-10-19T02:17:43.518Z"},"_id":"u-cache","name":"u-cache","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.9":{"name":"u-cache","version":"0.1.9","description":"web 页面缓存处理库","main":"dist/index.js","typings":"dist/index.d.ts","unpkg":"dist/index.js","scripts":{"build":"webpack --config ../../build/webpack.base.config.js"},"engines":{"node":">=8.9.1","npm":">=5.5.1","yarn":">=1.3.2"},"browserslist":["last 3 Chrome versions","last 3 Firefox versions","Safari >= 10","Explorer >= 11","Edge >= 12","iOS >= 10","Android >= 6"],"dependencies":{"webpack":"^4.44.1"},"gitHead":"e76b4f2aad2083b5ccad6d0c0b8aa222eea1516d","_id":"u-cache@0.1.9","_nodeVersion":"16.15.1","_npmVersion":"lerna/6.0.1/node@v16.15.1+x64 (win32)","dist":{"integrity":"sha512-uiERZFYO/pTB0b1AJIQAKypkqHiWOi4XJZg5k23MnlybZflY+syrp4n3t9sSr9L56wMPofhJFVZzb7p4qJh1vA==","shasum":"408c77f432ef07bf3cc2a91c464a832a4e330385","tarball":"https://registry.npmjs.org/u-cache/-/u-cache-0.1.9.tgz","fileCount":4,"unpackedSize":18784,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6bI/ryUVUm9VcF9xgdbkwoR2h3/aXvFw0t0AcGJPEJQIgTaEdNDSAu7QlscoBwCFRzyiP4hltFLRJx8S4mv31vmg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjT15HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrskQ/9HvUZO1RgPZ9sDcNEgpSrWQ4TXd0ouu3mqYNsyJyQfdoUbYEG\r\nMF4ykByjapEfDfRbcYKJmZV1+46xcMjmkgOez3c8Ln6h/3SO+/siA8Voryq2\r\nfJ7robZGQ+j5h821LHoCrogpoBk5U2SAAXXEtov3VVdyDnbL5SqJ1zCto/Jt\r\nekDEC3g7qI/nWQwdF7YEH/SHIL7UnUbfEzQaA4B5Lr5c2/mYBul4Y/pZFIHF\r\nWTocGt8MWxK770HEmFR2Uz3Wb/fVBo+lQ+xS30AAtCF84iQzLI8agK9fDwbM\r\ntnYTY1zjneFwVuKMTY+bE+igwmL0IPLp1IqwsaVmhxWbNmQRf0v4qJrdsDAS\r\nj86x+V4bkx4GIPErQ2TzWUlvJV3rurrShc5E6rK3XAxxaYr5t/DpIzjTf9Ov\r\nVtvafVUUqqiayjIcBAq4sMdA8SG3y/D3gbWJtZboBslqwwKnHp5nIjlMoRXD\r\n2OYQe68KYWC3RvDA0sTrCZ9mp2ga7L4SYjRJFB3ptuiD9ubhmD1sG1TquLh0\r\n1YPJxaAcwk2ef8Bo34y7wdJ7DFy/bXYjcC0MaaxAoBXZQ5SPMRPevawi/ypg\r\ngdECsnMjj26fLs+qcA7vqeB34nEFRJi36uPjZlFD9fqWNpzVOQ9aOU+m1/mR\r\no9r4b53Y9Bt7JqbbrkriPX1eZQN23IjP5BI=\r\n=pXhE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"fengye12","email":"1270763370@qq.com"},"directories":{},"maintainers":[{"name":"fengye12","email":"1270763370@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/u-cache_0.1.9_1666145863351_0.6116657071440765"},"_hasShrinkwrap":false}},"maintainers":[{"name":"fengye12","email":"1270763370@qq.com"}],"description":"web 页面缓存处理库","readme":"# `@weier/u-cache`\r\n\r\n## 说明\r\n* 这是一个用来处理前端状态持久化的库\r\n* 初始化时自动读取已被持久化的数据，不需要手动处理 `JSON.parse`\r\n* 缓存下的数据，页面刷新时不会丢失，并且数据类型不会丢失，如`localStorage` 缓存下来的数据读取出来必然是`string`，很多场景我们需要手动序列化与反序列化，比较繁琐，使用该库没有这个心智负担，存入数据是什么类型，读取出来就是什么类型\r\n* api设计类原生 `localStorage`、`sessionStorage`\r\n* 你也可以把该库当作一个简单的数据中心来使用，当然这并不是一个单向数据流库\r\n\r\n```js\r\n// 安装\r\nnpm i @weier/u-cache -S\r\n\r\n// 代码引入（可选）\r\nimport Cache from @weier/u-cache\r\n```\r\n\r\n## 基础用法\r\n\r\n```js\r\n\r\nconst defaultCache = {\r\n  userName: null,\r\n  userRole: null,\r\n  userAge: null,\r\n  likes: null,\r\n}\r\n\r\nconst cache = new Cache(defaultCache, 'NAMESPACE', window.localStorage)\r\n\r\n// 存储字段\r\ncache.setItem('userName', '张三')\r\ncache.setItem('userRole', 'ADMIN')\r\ncache.setItem('userAge', 18)\r\ncache.setItem('likes', ['乒乓球', '羽毛球'])\r\n\r\n// 读取缓存\r\n// 请注意观察 likes 返回的数据 仍旧是数组\r\n\r\ncache.getItem('userName') // \"张三\"\r\ncache.getItem('userRole') // \"ADMIN\"\r\ncache.getItem('userAge') // 18\r\ncache.getItem('likes') // ['乒乓球', '羽毛球']\r\n\r\n// 删除字段缓存\r\ncache.removeItem('userName')\r\n\r\ncache.getItem('userName') // ''\r\n\r\n```\r\n\r\n## Cache 实例化参数\r\n| 参数 | 说明 | 类型       | 可选值      |  默认值  |\r\n| ---- | ---- | --------- | ---------- | ------- |\r\n| defaultCache | 字段集合，这里只是一个预设值，值得注意的是：如果你期望某字段被缓存，你应该在实例化时声明该字段，并设置初始值，当该值被更新，初始值也会被覆盖掉  | Object  | —— | —— |     \r\n| nameSpace | 命名空间，只要唯一即可  | String  | —— | `''` |    \r\n| storge | 缓存策略  | `localStorage` / `sessionStorage`  | `localStorage` / `sessionStorage` | `localStorage` |    \r\n\r\n## Attributes\r\n| 参数 | 说明 | 类型       | 可选值      |  默认值  |\r\n| ---- | ---- | --------- | ---------- | ------- |\r\n| getItem | 获取字段值  | String  | —— | —— |     \r\n| setItem | 设置字段值  | any  | —— | —— |     \r\n| removeItem | 删除字段值（请注意字段值被删除后，该字段仍在缓存中存在的，并且值为`''`）  | String  | —— | —— |     \r\n\r\n\r\n## 其他\r\n> [作者：基础建设组-金麦郎](dingtalk://dingtalkclient/action/sendmsg?dingtalk_id=venus1st)\r\n\r\n","readmeFilename":"README.md"}