UNPKG

vue-django

Version:

个人实验项目, 本框架的目标是借鉴并超越django admin的自动化思想, 实现UI前端的极简快速定制开发

66 lines (59 loc) 1.36 kB
/** * Created by denishuang on 2020/4/21. */ import low from 'lowdb' import LocalStorage from 'lowdb/adapters/LocalStorage' export function Cache (key, db) { return { db, save (v) { try { db.set(key, v).write() } catch (e) { alert(e.toString()) } }, read (k) { return db.get(k || key).value() }, destroy () { console.log('destroy', key) try { db.unset(key).write() } catch (e) { alert(e.toString()) } } } } export function BCache (key, db) { function changeKey (k) { let ps = k.split('.') ps[2] = ps[2].replace(/^n/, '') return ps.join('.') } let cache = Cache(key, db) return { ...cache, read (k) { return cache.read(k) || JSON.parse(localStorage.getItem(changeKey(k || key))) } } } export default BCache export function UserStorage (key) { if (key === undefined) { key = 'userStore' } if (Number.isInteger(key)) { key = `userStore${key}` } let adapter = new LocalStorage(key) let db = low(adapter) return { db, newCache: function (key) { return BCache(key, db) } } }