import { WYYPLAYER, WYYPLAYER_CONFIG } from '@/config' const STORAGE = window.localStorage const storage = { get(key, data = []) { if (STORAGE) { return STORAGE.getItem(key) ? Array.isArray(data) ? JSON.parse(STORAGE.getItem(key)) : STORAGE.getItem(key) : data } }, set(key, val) { if (STORAGE) { STORAGE.setItem(key, val) } }, clear(key) { if (STORAGE) { STORAGE.removeItem(key) } }, } /** * 播放历史 * @type HISTORYLIST_KEY:key值 * HistoryListMAX:最大长度 */ const HISTORYLIST_KEY = '__wangyiyun_historyList__' const HistoryListMAX = 200 // 获取播放历史 export function getHistoryList() { return storage.get(HISTORYLIST_KEY) } // 更新播放历史 export function setHistoryList(music) { let list = storage.get(HISTORYLIST_KEY) const index = list.findIndex((item) => { return item.id === music.id }) if (index === 0) { return list } if (index > 0) { list.splice(index, 1) } list.unshift(music) if (HistoryListMAX && list.length > HistoryListMAX) { list.pop() } storage.set(HISTORYLIST_KEY, JSON.stringify(list)) return list } // 删除一条播放历史 export function removeHistoryList(music) { storage.set(HISTORYLIST_KEY, JSON.stringify(music)) return music } // 清空播放历史 export function clearHistoryList() { storage.clear(HISTORYLIST_KEY) return [] } /** * 播放模式 * @type MODE_KEY:key值 * HistoryListMAX:最大长度 */ const MODE_KEY = '__wangyiyun_mode__' // 获取播放模式 export function getMode() { return Number(storage.get(MODE_KEY, WYYPLAYER_CONFIG.PLAY_MODE)) } // 修改播放模式 export function setMode(mode) { storage.set(MODE_KEY, mode) return mode } /** * 网易云用户uid * @type USERID_KEY:key值 */ const USERID_KEY = '__wangyiyun_userID__' // 获取用户uid export function getUserId() { return Number(storage.get(USERID_KEY, null)) } // 修改用户uid export function setUserId(uid) { storage.set(USERID_KEY, uid) return uid } /** * 版本号 * @type VERSION_KEY:key值 */ const VERSION_KEY = '__wangyiyun_version__' // 获取版本号 export function getVersion() { let version = storage.get(VERSION_KEY, null) return Array.isArray(version) ? null : version } // 修改版本号 export function setVersion(version) { storage.set(VERSION_KEY, version) return version } /** * 音量 * @type VOLUME_KEY:key值 */ const VOLUME_KEY = '__wangyiyun_volume__' // 获取音量 export function getVolume() { const volume = storage.get(VOLUME_KEY, WYYPLAYER_CONFIG.VOLUME) return Number(volume) } // 修改音量 export function setVolume(volume) { storage.set(VOLUME_KEY, volume) return volume }