mirror of
https://github.com/cuiocean/ZY-Player.git
synced 2026-05-05 19:31:21 +08:00
remove localforage add nedb
This commit is contained in:
@@ -15,7 +15,8 @@
|
||||
"dependencies": {
|
||||
"axios": "^0.19.0",
|
||||
"core-js": "^2.6.5",
|
||||
"localforage": "^1.7.3",
|
||||
"fs-jetpack": "^2.2.3",
|
||||
"nedb": "^1.8.0",
|
||||
"view-design": "^4.0.2",
|
||||
"vue": "^2.6.10",
|
||||
"vue-router": "^3.0.3",
|
||||
|
||||
11
src/App.vue
11
src/App.vue
@@ -12,7 +12,6 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { setting } from '@/plugin/localforage/'
|
||||
import { mapGetters, mapActions } from 'vuex'
|
||||
import ZYSider from '@/components/zy_sider.vue'
|
||||
import ZYHeader from '@/components/zy_header.vue'
|
||||
@@ -35,15 +34,7 @@ export default {
|
||||
'changeTheme'
|
||||
])
|
||||
},
|
||||
beforeCreate () {
|
||||
setting.find('theme').then(e => {
|
||||
if (!e) {
|
||||
this.changeTheme('light')
|
||||
} else {
|
||||
this.changeTheme(e)
|
||||
}
|
||||
})
|
||||
},
|
||||
beforeCreate () {},
|
||||
created () {
|
||||
// db.find('theme').then(e => {
|
||||
// if (!e) {
|
||||
|
||||
@@ -3,7 +3,6 @@ import App from './App.vue'
|
||||
import router from './router'
|
||||
import store from './store'
|
||||
import '@/plugin/iview/'
|
||||
// import '@/plugin/localforage/'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
import lf from 'localforage'
|
||||
|
||||
const collection = lf.createInstance({
|
||||
name: 'ZY',
|
||||
storeName: 'collection',
|
||||
version: '1.0',
|
||||
description: 'ZY Player collection DB'
|
||||
})
|
||||
|
||||
export default {
|
||||
set (key, value) {
|
||||
return new Promise((resolve, reject) => {
|
||||
collection.setItem(key, value).then(e => {
|
||||
resolve(e)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
remove (key) {
|
||||
return new Promise((resolve, reject) => {
|
||||
collection.removeItem(key).then(() => {
|
||||
resolve(true)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
clear () {
|
||||
return new Promise((resolve, reject) => {
|
||||
collection.clear().then(() => {
|
||||
resolve(true)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
find (key) {
|
||||
return new Promise((resolve, reject) => {
|
||||
collection.getItem(key).then(value => {
|
||||
resolve(value)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
all () {
|
||||
return new Promise((resolve, reject) => {
|
||||
collection.keys().then(value => {
|
||||
resolve(value)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
length () {
|
||||
return new Promise((resolve, reject) => {
|
||||
collection.length().then(value => {
|
||||
resolve(value)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import setting from './setting_db'
|
||||
import collection from './collection_db'
|
||||
export {
|
||||
setting, collection
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
import lf from 'localforage'
|
||||
|
||||
const setting = lf.createInstance({
|
||||
name: 'ZY',
|
||||
storeName: 'setting',
|
||||
version: '1.0',
|
||||
description: 'ZY Player setting DB'
|
||||
})
|
||||
|
||||
export default {
|
||||
set (key, value) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.setItem(key, value).then(e => {
|
||||
resolve(e)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
remove (key) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.removeItem(key).then(() => {
|
||||
resolve(true)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
clear () {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.clear().then(() => {
|
||||
resolve(true)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
find (key) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.getItem(key).then(value => {
|
||||
resolve(value)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
58
src/plugin/nedb/index.js
Normal file
58
src/plugin/nedb/index.js
Normal file
@@ -0,0 +1,58 @@
|
||||
import jetpack from 'fs-jetpack'
|
||||
import fs from 'fs'
|
||||
import Nedb from 'nedb'
|
||||
import { remote } from 'electron'
|
||||
|
||||
export default class {
|
||||
constructor () {
|
||||
this.db = null
|
||||
this.dataDir = jetpack.cwd(remote.app.getPath('appData'))
|
||||
}
|
||||
|
||||
createOrReadDB (db) {
|
||||
const dirName = process.env.NODE_ENV === 'development' ? '.ZY-dev' : '.ZY'
|
||||
const existsDir = jetpack.exists(this.dataDir.path(dirName))
|
||||
if (!existsDir) {
|
||||
fs.mkdir(this.dataDir.path(`${dirName}`), (err) => {
|
||||
if (err) console.log(err)
|
||||
})
|
||||
}
|
||||
|
||||
const eSetting = fs.existsSync(this.dataDir.path(`${dirName}/${db.setting}`))
|
||||
const eVideo = fs.existsSync(this.dataDir.path(`${dirName}/${db.video}`))
|
||||
let database = {}
|
||||
|
||||
if (!eSetting) {
|
||||
this.dataDir.write(this.dataDir.path(`${dirName}/${db.setting}`), '')
|
||||
}
|
||||
|
||||
if (!eVideo) {
|
||||
this.dataDir.write(this.dataDir.path(`${dirName}/${db.video}`), '')
|
||||
}
|
||||
|
||||
database.setting = new Nedb({
|
||||
filename: this.dataDir.path(`${dirName}/${db.setting}`),
|
||||
autoload: true
|
||||
})
|
||||
|
||||
database.video = new Nedb({
|
||||
filename: this.dataDir.path(`${dirName}/${db.video}`),
|
||||
autoload: true
|
||||
})
|
||||
|
||||
return database
|
||||
}
|
||||
|
||||
init () {
|
||||
if (this.db) {
|
||||
return this.db
|
||||
}
|
||||
|
||||
this.db = this.createOrReadDB({
|
||||
setting: 'setting.db',
|
||||
video: 'video.db'
|
||||
})
|
||||
|
||||
return this.db
|
||||
}
|
||||
}
|
||||
34
src/plugin/nedb/setting.js
Normal file
34
src/plugin/nedb/setting.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import DB from './index'
|
||||
|
||||
const db = new DB()
|
||||
const connect = db.init()
|
||||
const setting = connect.setting
|
||||
|
||||
console.log(setting, 'setting')
|
||||
|
||||
export default {
|
||||
add (data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.insert(data, (err, docs) => {
|
||||
if (err) { reject(err) }
|
||||
resolve(docs)
|
||||
})
|
||||
})
|
||||
},
|
||||
find (data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.find(data, (err, docs) => {
|
||||
if (err) { reject(err) }
|
||||
resolve(docs)
|
||||
})
|
||||
})
|
||||
},
|
||||
update (id, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
setting.find({ _id: id }, { $set: data }, (err, docs) => {
|
||||
if (err) { reject(err) }
|
||||
resolve(docs)
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
0
src/plugin/nedb/video.js
Normal file
0
src/plugin/nedb/video.js
Normal file
@@ -1,6 +1,5 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import { setting } from '@/plugin/localforage/'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
@@ -34,12 +33,12 @@ export default new Vuex.Store({
|
||||
},
|
||||
actions: {
|
||||
addCollection: (payload) => {
|
||||
localStorage.collection = payload
|
||||
// localStorage.collection = payload
|
||||
},
|
||||
changeTheme: ({ commit }, payload) => {
|
||||
setting.set('theme', payload).then(e => {
|
||||
commit('SET_THEME', e)
|
||||
})
|
||||
// setting.set('theme', payload).then(e => {
|
||||
// commit('SET_THEME', e)
|
||||
// })
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import { mapActions } from 'vuex'
|
||||
import { collection } from '@/plugin/localforage/'
|
||||
import settingDB from '@/plugin/nedb/setting'
|
||||
export default {
|
||||
name: 'settings',
|
||||
methods: {
|
||||
@@ -15,14 +15,14 @@ export default {
|
||||
'changeTheme'
|
||||
]),
|
||||
add () {
|
||||
// let data = {
|
||||
// name: '冰雪奇缘',
|
||||
// detail: '',
|
||||
// category: '动画片',
|
||||
// time: '20191206 12:12:45'
|
||||
// }
|
||||
collection.all().then(e => {
|
||||
console.log(e)
|
||||
let data = {
|
||||
name: '冰雪奇缘',
|
||||
detail: '1',
|
||||
category: '动画片',
|
||||
time: '20191206 12:12:45'
|
||||
}
|
||||
settingDB.add(data).then(res => {
|
||||
console.log(res)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
38
yarn.lock
38
yarn.lock
@@ -1578,6 +1578,11 @@ async-validator@^1.10.0:
|
||||
resolved "https://registry.npm.taobao.org/async-validator/download/async-validator-1.12.2.tgz?cache=0&sync_timestamp=1573467150027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.12.2.tgz#beae671e7174d2938b7b4b69d2fb7e722b7fd72c"
|
||||
integrity sha1-vq5nHnF00pOLe0tp0vt+cit/1yw=
|
||||
|
||||
async@0.2.10:
|
||||
version "0.2.10"
|
||||
resolved "https://registry.npm.taobao.org/async/download/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
|
||||
integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E=
|
||||
|
||||
async@^2.0.0, async@^2.6.2:
|
||||
version "2.6.3"
|
||||
resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
|
||||
@@ -1761,6 +1766,13 @@ binary-extensions@^2.0.0:
|
||||
resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
|
||||
integrity sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=
|
||||
|
||||
binary-search-tree@0.2.5:
|
||||
version "0.2.5"
|
||||
resolved "https://registry.npm.taobao.org/binary-search-tree/download/binary-search-tree-0.2.5.tgz#7dbb3b210fdca082450dad2334c304af39bdc784"
|
||||
integrity sha1-fbs7IQ/coIJFDa0jNMMErzm9x4Q=
|
||||
dependencies:
|
||||
underscore "~1.4.4"
|
||||
|
||||
bl@^1.0.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.npm.taobao.org/bl/download/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c"
|
||||
@@ -4432,6 +4444,14 @@ fs-extra@^8.1.0:
|
||||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-jetpack@^2.2.3:
|
||||
version "2.2.3"
|
||||
resolved "https://registry.npm.taobao.org/fs-jetpack/download/fs-jetpack-2.2.3.tgz#75113dcf1e4a9c7c7275732f2b7305656df114c8"
|
||||
integrity sha1-dRE9zx5KnHxydXMvK3MFZW3xFMg=
|
||||
dependencies:
|
||||
minimatch "^3.0.2"
|
||||
rimraf "^2.6.3"
|
||||
|
||||
fs-minipass@^1.2.5:
|
||||
version "1.2.7"
|
||||
resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz?cache=0&sync_timestamp=1569875077546&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
|
||||
@@ -5912,7 +5932,7 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
|
||||
emojis-list "^2.0.0"
|
||||
json5 "^1.0.1"
|
||||
|
||||
localforage@^1.7.3:
|
||||
localforage@^1.3.0:
|
||||
version "1.7.3"
|
||||
resolved "https://registry.npm.taobao.org/localforage/download/localforage-1.7.3.tgz#0082b3ca9734679e1bd534995bdd3b24cf10f204"
|
||||
integrity sha1-AIKzypc0Z54b1TSZW907JM8Q8gQ=
|
||||
@@ -6431,6 +6451,17 @@ natural-compare@^1.4.0:
|
||||
resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
|
||||
|
||||
nedb@^1.8.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.npm.taobao.org/nedb/download/nedb-1.8.0.tgz#0e3502cd82c004d5355a43c9e55577bd7bd91d88"
|
||||
integrity sha1-DjUCzYLABNU1WkPJ5VV3vXvZHYg=
|
||||
dependencies:
|
||||
async "0.2.10"
|
||||
binary-search-tree "0.2.5"
|
||||
localforage "^1.3.0"
|
||||
mkdirp "~0.5.1"
|
||||
underscore "~1.4.4"
|
||||
|
||||
needle@^2.2.1:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.npm.taobao.org/needle/download/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
|
||||
@@ -9464,6 +9495,11 @@ uglify-js@3.4.x:
|
||||
commander "~2.19.0"
|
||||
source-map "~0.6.1"
|
||||
|
||||
underscore@~1.4.4:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.npm.taobao.org/underscore/download/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
|
||||
integrity sha1-YaajIBBiKvoHljvzJSA88SI51gQ=
|
||||
|
||||
unicode-canonical-property-names-ecmascript@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
|
||||
|
||||
Reference in New Issue
Block a user