From d1448cb0ef10f358bb7bddb4e1ec268515e0b787 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 15 七月 2025 11:46:57 +0800 Subject: [PATCH] 项目初始化 --- utils/storage.js | 86 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 86 insertions(+), 0 deletions(-) diff --git a/utils/storage.js b/utils/storage.js new file mode 100644 index 0000000..e3c7802 --- /dev/null +++ b/utils/storage.js @@ -0,0 +1,86 @@ +/** + * 缂撳瓨鏁版嵁浼樺寲 + * const storage = require('@/utils/storage'); + * import storage from '@/utils/storage' + * 浣跨敤鏂规硶 銆� + * 涓�銆佽缃紦瀛� + * string storage.set('k', 'string浣犲ソ鍟�'); + * json storage.set('k', { "b": "3" }, 2); + * array storage.set('k', [1, 2, 3]); + * boolean storage.set('k', true); + * 浜屻�佽鍙栫紦瀛� + * 榛樿鍊� storage.get('k') + * string storage.get('k', '浣犲ソ') + * json storage.get('k', { "a": "1" }) + * 涓夈�佺Щ闄�/娓呯悊 + * 绉婚櫎: storage.remove('k'); + * 娓呯悊锛歴torage.clear(); + * 銆� + * @type {String} + */ + +const postfix = '_expiry' // 缂撳瓨鏈夋晥鏈熷悗缂� + +module.exports = { + + /** + * 璁剧疆缂撳瓨 + * @param {[type]} k [閿悕] + * @param {[type]} v [閿�糫 + * @param {[type]} t [鏃堕棿銆佸崟浣嶇] + */ + set(k, v, t) { + uni.setStorageSync(k, v) + const seconds = parseInt(t) + if (seconds > 0) { + let timestamp = Date.parse(new Date()) + timestamp = timestamp / 1000 + seconds + uni.setStorageSync(k + postfix, timestamp + '') + } else { + uni.removeStorageSync(k + postfix) + } + }, + + /** + * 鑾峰彇缂撳瓨 + * @param {[type]} k [閿悕] + * @param {[type]} def [鑾峰彇涓虹┖鏃堕粯璁 + */ + get(k, def) { + const deadtime = parseInt(uni.getStorageSync(k + postfix)) + if (deadtime) { + if (parseInt(deadtime) < Date.parse(new Date()) / 1000) { + if (def) { + return def + } else { + return false + } + } + } + const res = uni.getStorageSync(k) + if (res) { + return res + } + if (def == undefined || def == "") { + def = false + } + return def + }, + + /** + * 鍒犻櫎鎸囧畾缂撳瓨 + * @param {Object} k + */ + remove(k) { + uni.removeStorageSync(k) + uni.removeStorageSync(k + postfix) + }, + + /** + * 娓呯悊鎵�鏈夌紦瀛� + * @return {[type]} [description] + */ + clear() { + uni.clearStorageSync() + } +} -- Gitblit v1.9.3