封裝存儲音樂地址信息緩存的類javascript
新建一個MusicDataStore.js,因爲要給不一樣的音樂在存儲時設置id,因此先引入uuid模塊java
npm install uuid --save
以後編輯這個類npm
const Store = require('electron-store') const path = require('path') const uuid = require('uuid/v4') class DataStore extends Store{ constructor(settings){ super(settings) this.tracks = this.get('tracks') || [] } saveTrack(){//保存數據 this.set('tracks',this.tracks) return this } getTrack(){//讀取數據 return this.get('tracks') || [] } addTracks(tracks){//生成數據 const tracksWithProps = tracks.map(track => { return { id:uuid(), path:track, filename:path.basename(track) } }).filter(track => {//去重 const currentTracksPath = this.getTrack().map(track => track.path) return currentTracksPath.indexOf(track.path) < 0 }) this.tracks = [ ...this.tracks, ...tracksWithProps ] return this.saveTrack() } }