From 6414c4f785fa606a04b53063c922dbbe32939a3f Mon Sep 17 00:00:00 2001 From: wally <18603454788@163.com> Date: Fri, 16 Jul 2021 19:34:59 +0800 Subject: [PATCH] feat: db store --- CHANGELOG.md | 26 +++++++++++++++++++------- README.md | 12 ++++++++++++ package.json | 1 + src/config/db.js | 3 +++ src/store/db/actions.js | 3 +++ src/store/db/getters.js | 3 +++ src/store/db/index.js | 12 ++++++++++++ src/store/db/mutations.js | 3 +++ src/store/db/state.js | 7 +++++++ src/store/index.js | 0 src/store/user/actions.js | 3 +++ src/store/user/getters.js | 3 +++ src/store/user/index.js | 12 ++++++++++++ src/store/user/mutations.js | 3 +++ src/store/user/state.js | 3 +++ src/utils/indexedDB.js | 29 +++++++++++++++++++++++++++++ yarn.lock | 9 +-------- 17 files changed, 117 insertions(+), 15 deletions(-) create mode 100644 src/config/db.js create mode 100644 src/store/db/actions.js create mode 100644 src/store/db/getters.js create mode 100644 src/store/db/index.js create mode 100644 src/store/db/mutations.js create mode 100644 src/store/db/state.js create mode 100644 src/store/index.js create mode 100644 src/store/user/actions.js create mode 100644 src/store/user/getters.js create mode 100644 src/store/user/index.js create mode 100644 src/store/user/mutations.js create mode 100644 src/store/user/state.js create mode 100644 src/utils/indexedDB.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c6a3b7..f269ac9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,32 @@ -# [0.1.0](https://gitee.com/mongos/uni-cli-template/compare/v1.1.1...v0.1.0) (2021-07-15) +# [0.1.0](https://gitee.com/mongos/uni-cli-template/compare/v1.1.1...v0.1.0) (2021-07-16) -### 🌟 新功能 +### 🐛 Bug 修复 范围|描述|commitId --|--|-- - pinch | alloy finger实现图片的pinch放大缩小 | [de01343](https://gitee.com/mongos/uni-cli-template/commits/de01343) + - | 修改main | [749ae9a](https://gitee.com/mongos/uni-cli-template/commits/749ae9a) -### 📝 文档 +### chore 范围|描述|commitId --|--|-- - - | README.md | [ab0eb05](https://gitee.com/mongos/uni-cli-template/commits/ab0eb05) + pwa 小程序 | 移除了pwa,alloyFinger添加平台判断 | [875fab4](https://gitee.com/mongos/uni-cli-template/commits/875fab4) -### chore 范围|描述|commitId --|--|-- - pwa 小程序 | 移除了pwa,alloyFinger添加平台判断 | [875fab4](https://gitee.com/mongos/uni-cli-template/commits/875fab4) + - | !2 基础模板v1.1.0 | [f5e61dd](https://gitee.com/mongos/uni-cli-template/commits/f5e61dd) + + +### 🌟 新功能 +范围|描述|commitId +--|--|-- + pinch | alloy finger实现图片的pinch放大缩小 | [de01343](https://gitee.com/mongos/uni-cli-template/commits/de01343) + + +### 📝 文档 +范围|描述|commitId +--|--|-- + - | README.md | [ab0eb05](https://gitee.com/mongos/uni-cli-template/commits/ab0eb05) # [1.1.0](https://gitee.com/mongos/uni-cli-template/compare/v1.0.1...v1.1.0) (2021-06-23) @@ -47,3 +58,4 @@ 范围|描述|commitId --|--|-- - | init | [c0f1deb](https://gitee.com/mongos/uni-cli-template/commits/c0f1deb) + diff --git a/README.md b/README.md index 8a842de..4cfabd0 100644 --- a/README.md +++ b/README.md @@ -71,3 +71,15 @@ yarn cz + commitlint git commit信息校验 + husky lint-staged git钩子处理commit校验及eslint代码检测 + vue-cli-plugin-mock mock数据 + +## H5 indexedDB +### 设计概要 + +db挂载到全局的store上,store存放的数据: +```js +{ + db: null, // object + name: 'TALL_indexedDB', // string + version: 1, // number +} +``` diff --git a/package.json b/package.json index 7ca7a49..fffa429 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,7 @@ "postcss": "^7", "regenerator-runtime": "^0.12.1", "register-service-worker": "^1.7.1", + "right-pad": "^1.0.1", "tailwindcss": "npm:@tailwindcss/postcss7-compat", "uview-ui": "^1.8.4", "vue": "^2.6.11", diff --git a/src/config/db.js b/src/config/db.js new file mode 100644 index 0000000..2f0d965 --- /dev/null +++ b/src/config/db.js @@ -0,0 +1,3 @@ +export const db = null; // indexedDB 对象 +export const name = 'TALL_indexedDB'; // indexDB name +export const version = 1; // indexDB version diff --git a/src/store/db/actions.js b/src/store/db/actions.js new file mode 100644 index 0000000..5dfa3d4 --- /dev/null +++ b/src/store/db/actions.js @@ -0,0 +1,3 @@ +const actions = {}; + +export default actions; diff --git a/src/store/db/getters.js b/src/store/db/getters.js new file mode 100644 index 0000000..56c8c75 --- /dev/null +++ b/src/store/db/getters.js @@ -0,0 +1,3 @@ +const getters = {}; + +export default getters; diff --git a/src/store/db/index.js b/src/store/db/index.js new file mode 100644 index 0000000..d22f64a --- /dev/null +++ b/src/store/db/index.js @@ -0,0 +1,12 @@ +import state from './state'; +import getters from './getters'; +import mutations from './mutations'; +import actions from './actions'; + +export default { + namespaced: true, + state, + getters, + mutations, + actions, +}; diff --git a/src/store/db/mutations.js b/src/store/db/mutations.js new file mode 100644 index 0000000..ea2bcc2 --- /dev/null +++ b/src/store/db/mutations.js @@ -0,0 +1,3 @@ +const mutations = {}; + +export default mutations; diff --git a/src/store/db/state.js b/src/store/db/state.js new file mode 100644 index 0000000..51d33c8 --- /dev/null +++ b/src/store/db/state.js @@ -0,0 +1,7 @@ +const state = { + db: null, // indexedDB对象 + name: 'TALL_indexedDB', + version: 1, +}; + +export default state; diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/store/user/actions.js b/src/store/user/actions.js new file mode 100644 index 0000000..5dfa3d4 --- /dev/null +++ b/src/store/user/actions.js @@ -0,0 +1,3 @@ +const actions = {}; + +export default actions; diff --git a/src/store/user/getters.js b/src/store/user/getters.js new file mode 100644 index 0000000..56c8c75 --- /dev/null +++ b/src/store/user/getters.js @@ -0,0 +1,3 @@ +const getters = {}; + +export default getters; diff --git a/src/store/user/index.js b/src/store/user/index.js new file mode 100644 index 0000000..d22f64a --- /dev/null +++ b/src/store/user/index.js @@ -0,0 +1,12 @@ +import state from './state'; +import getters from './getters'; +import mutations from './mutations'; +import actions from './actions'; + +export default { + namespaced: true, + state, + getters, + mutations, + actions, +}; diff --git a/src/store/user/mutations.js b/src/store/user/mutations.js new file mode 100644 index 0000000..ea2bcc2 --- /dev/null +++ b/src/store/user/mutations.js @@ -0,0 +1,3 @@ +const mutations = {}; + +export default mutations; diff --git a/src/store/user/state.js b/src/store/user/state.js new file mode 100644 index 0000000..4110b16 --- /dev/null +++ b/src/store/user/state.js @@ -0,0 +1,3 @@ +const state = {}; + +export default state; diff --git a/src/utils/indexedDB.js b/src/utils/indexedDB.js new file mode 100644 index 0000000..5b85f5e --- /dev/null +++ b/src/utils/indexedDB.js @@ -0,0 +1,29 @@ +import { name, version } from '@/config'; + +const install = Vue => { + Vue.prototype.$db.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + const request = window.indexedDB.open(name, version); // IDBRequest 对象 + request.onerror = error => console.error('打开数据库失败', error); + request.onsuccess = event => { + Vue.prototype.$db.db = event.target.result; + }; + request.onupgradeneeded = event => { + Vue.prototype.$db.db = event.target.result; + // 创建表 + // user表 + + // projects项目表 + + // roles 角色表 + + // plan_tasks 定期任务 + + // fixed_tasks 固定全局任务 + + // variable_tasks 可变全局任务 + + // plugins 插件表 + }; +}; + +export default { install }; diff --git a/yarn.lock b/yarn.lock index 1d33c5f..80526b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5995,13 +5995,6 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -flyio@^0.6.2: - version "0.6.14" - resolved "https://registry.npm.taobao.org/flyio/download/flyio-0.6.14.tgz#c5d83eb7a9b4fc1c915a463d2ea6dfce755c2d6f" - integrity sha1-xdg+t6m0/ByRWkY9LqbfznVcLW8= - dependencies: - request "^2.85.0" - follow-redirects@^1.0.0: version "1.14.1" resolved "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555234886&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" @@ -10951,7 +10944,7 @@ request-promise-native@^1.0.7: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.85.0, request@^2.88.0, request@^2.88.2: +request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.nlark.com/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1618847131102&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frequest%2Fdownload%2Frequest-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=