5 changed files with 120 additions and 172 deletions
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
{ |
||||
"singleQuote": true, |
||||
"semi": false, |
||||
"printWidth": 80, |
||||
"tabWidth": 2, |
||||
"useTabs": false, |
||||
"quoteProps": "as-needed", |
||||
"jsxSingleQuote": true, |
||||
"vueIndentScriptAndStyle": true, |
||||
"endOfLine": "lf" |
||||
} |
@ -1,41 +1,41 @@
@@ -1,41 +1,41 @@
|
||||
{ |
||||
"name": "my-vue-app", |
||||
"version": "0.0.0", |
||||
"scripts": { |
||||
"dev": "vite --host", |
||||
"build": "vite build --mode prod", |
||||
"build-uni-app": "vite build --mode uni", |
||||
"report": "vite build", |
||||
"preview": "vite preview" |
||||
}, |
||||
"dependencies": { |
||||
"@jambonn/vue-lazyload": "1.0.9", |
||||
"axios": "1.6.0", |
||||
"axios-mock-adapter": "^1.22.0", |
||||
"core-js": "3.21.1", |
||||
"dayjs": "1.11.0", |
||||
"gl-matrix": "3.4.3", |
||||
"mitt": "3.0.0", |
||||
"mobile-select": "1.1.2", |
||||
"mockjs": "^1.1.0", |
||||
"pinia": "^2.1.7", |
||||
"vue": "3.4.21", |
||||
"vue-masonry": "0.16.0", |
||||
"vue-router": "4.3.0", |
||||
"vue-switches": "2.0.1" |
||||
}, |
||||
"devDependencies": { |
||||
"@iconify/vue": "^4.1.1", |
||||
"@types/lodash-es": "^4.17.9", |
||||
"@vitejs/plugin-vue": "4.0.0", |
||||
"@vitejs/plugin-vue-jsx": "3.0.0", |
||||
"less": "4.1.3", |
||||
"rollup-plugin-visualizer": "^5.9.2", |
||||
"unplugin-vue-define-options": "^1.4.1", |
||||
"unplugin-vue-macros": "^2.7.10", |
||||
"vite": "4.5.2", |
||||
"vite-plugin-cdn-import": "0.3.5", |
||||
"vite-plugin-compression": "^0.5.1", |
||||
"vite-plugin-imagemin": "^0.6.1" |
||||
} |
||||
"name": "my-vue-app", |
||||
"version": "0.0.0", |
||||
"scripts": { |
||||
"dev": "vite --host", |
||||
"build": "vite build --mode prod", |
||||
"build-uni-app": "vite build --mode uni", |
||||
"report": "vite build", |
||||
"preview": "vite preview" |
||||
}, |
||||
"dependencies": { |
||||
"@jambonn/vue-lazyload": "1.0.9", |
||||
"axios": "1.6.0", |
||||
"axios-mock-adapter": "^1.22.0", |
||||
"core-js": "3.21.1", |
||||
"dayjs": "1.11.0", |
||||
"gl-matrix": "3.4.3", |
||||
"mitt": "3.0.0", |
||||
"mobile-select": "1.1.2", |
||||
"mockjs": "^1.1.0", |
||||
"pinia": "^2.1.7", |
||||
"vue": "3.4.21", |
||||
"vue-router": "4.3.0", |
||||
"vue-switches": "2.0.1" |
||||
}, |
||||
"devDependencies": { |
||||
"@iconify/vue": "^4.1.1", |
||||
"@types/lodash-es": "^4.17.9", |
||||
"@vitejs/plugin-vue": "4.0.0", |
||||
"@vitejs/plugin-vue-jsx": "3.0.0", |
||||
"less": "4.1.3", |
||||
"prettier": "3.2.5", |
||||
"rollup-plugin-visualizer": "^5.9.2", |
||||
"unplugin-vue-define-options": "^1.4.1", |
||||
"unplugin-vue-macros": "^2.7.10", |
||||
"vite": "4.5.2", |
||||
"vite-plugin-cdn-import": "0.3.5", |
||||
"vite-plugin-compression": "^0.5.1", |
||||
"vite-plugin-imagemin": "^0.6.1" |
||||
} |
||||
} |
||||
|
@ -1,65 +1,65 @@
@@ -1,65 +1,65 @@
|
||||
export default { |
||||
eventMap: new Map(), |
||||
on(eventType, cb) { |
||||
let cbs = this.eventMap.get(eventType) |
||||
if (cbs) { |
||||
cbs.push(cb) |
||||
} else { |
||||
cbs = [cb] |
||||
} |
||||
if (cbs.length > 10) { |
||||
// console.error('eventMap', this.eventMap)
|
||||
} |
||||
this.eventMap.set(eventType, cbs) |
||||
}, |
||||
once(eventType, cb) { |
||||
this.eventMap.set(eventType, [cb]) |
||||
}, |
||||
off(eventType, fn) { |
||||
let cbs = this.eventMap.has(eventType); |
||||
if (cbs) { |
||||
if (fn) { |
||||
let cbs = this.eventMap.get(eventType) |
||||
let rIndex = cbs.findIndex(v => v === fn) |
||||
if (rIndex > -1) { |
||||
cbs.splice(rIndex, 1) |
||||
} |
||||
this.eventMap.set(eventType, cbs) |
||||
} else { |
||||
this.eventMap.delete(eventType); |
||||
} |
||||
} |
||||
}, |
||||
offAll() { |
||||
this.eventMap = new Map() |
||||
}, |
||||
emit(eventType, val) { |
||||
let cbs = this.eventMap.get(eventType) |
||||
if (cbs) { |
||||
cbs.map(cb => cb(val)) |
||||
} |
||||
} |
||||
eventMap: new Map(), |
||||
on(eventType, cb) { |
||||
let cbs = this.eventMap.get(eventType) |
||||
if (cbs) { |
||||
cbs.push(cb) |
||||
} else { |
||||
cbs = [cb] |
||||
} |
||||
if (cbs.length > 10) { |
||||
// console.error('eventMap', this.eventMap)
|
||||
} |
||||
this.eventMap.set(eventType, cbs) |
||||
}, |
||||
once(eventType, cb) { |
||||
this.eventMap.set(eventType, [cb]) |
||||
}, |
||||
off(eventType, fn) { |
||||
let cbs = this.eventMap.has(eventType) |
||||
if (cbs) { |
||||
if (fn) { |
||||
let cbs = this.eventMap.get(eventType) |
||||
let rIndex = cbs.findIndex((v) => v === fn) |
||||
if (rIndex > -1) { |
||||
cbs.splice(rIndex, 1) |
||||
} |
||||
this.eventMap.set(eventType, cbs) |
||||
} else { |
||||
this.eventMap.delete(eventType) |
||||
} |
||||
} |
||||
}, |
||||
offAll() { |
||||
this.eventMap = new Map() |
||||
}, |
||||
emit(eventType, val) { |
||||
let cbs = this.eventMap.get(eventType) |
||||
if (cbs) { |
||||
cbs.map((cb) => cb(val)) |
||||
} |
||||
}, |
||||
} |
||||
|
||||
export const EVENT_KEY = { |
||||
SINGLE_CLICK: 'SINGLE_CLICK', |
||||
SINGLE_CLICK_BROADCAST: 'SINGLE_CLICK_BROADCAST', |
||||
ENTER_FULLSCREEN: 'ENTER_FULLSCREEN', |
||||
EXIT_FULLSCREEN: 'EXIT_FULLSCREEN', |
||||
TOGGLE_FULLSCREEN: 'TOGGLE_FULLSCREEN', |
||||
TOGGLE_COMMENT: 'TOGGLE_COMMENT', |
||||
OPEN_COMMENTS: 'OPEN_COMMENTS', |
||||
CLOSE_COMMENTS: 'CLOSE_COMMENTS', |
||||
DIALOG_MOVE: 'DIALOG_MOVE', |
||||
DIALOG_END: 'DIALOG_END', |
||||
OPEN_SUB_TYPE: 'OPEN_SUB_TYPE', |
||||
CLOSE_SUB_TYPE: 'CLOSE_SUB_TYPE', |
||||
ITEM_TOGGLE: 'ITEM_TOGGLE', |
||||
ITEM_PLAY: 'ITEM_PLAY', |
||||
ITEM_STOP: 'ITEM_STOP', |
||||
NAV: 'NAV', |
||||
GO_USERINFO: 'GO_USERINFO', |
||||
SHOW_SHARE: 'SHOW_SHARE', |
||||
UPDATE_ITEM: 'UPDATE_ITEM', |
||||
CURRENT_ITEM: 'CURRENT_ITEM', |
||||
SINGLE_CLICK: 'SINGLE_CLICK', |
||||
SINGLE_CLICK_BROADCAST: 'SINGLE_CLICK_BROADCAST', |
||||
ENTER_FULLSCREEN: 'ENTER_FULLSCREEN', |
||||
EXIT_FULLSCREEN: 'EXIT_FULLSCREEN', |
||||
TOGGLE_FULLSCREEN: 'TOGGLE_FULLSCREEN', |
||||
TOGGLE_COMMENT: 'TOGGLE_COMMENT', |
||||
OPEN_COMMENTS: 'OPEN_COMMENTS', |
||||
CLOSE_COMMENTS: 'CLOSE_COMMENTS', |
||||
DIALOG_MOVE: 'DIALOG_MOVE', |
||||
DIALOG_END: 'DIALOG_END', |
||||
OPEN_SUB_TYPE: 'OPEN_SUB_TYPE', |
||||
CLOSE_SUB_TYPE: 'CLOSE_SUB_TYPE', |
||||
ITEM_TOGGLE: 'ITEM_TOGGLE', |
||||
ITEM_PLAY: 'ITEM_PLAY', |
||||
ITEM_STOP: 'ITEM_STOP', |
||||
NAV: 'NAV', |
||||
GO_USERINFO: 'GO_USERINFO', |
||||
SHOW_SHARE: 'SHOW_SHARE', |
||||
UPDATE_ITEM: 'UPDATE_ITEM', |
||||
CURRENT_ITEM: 'CURRENT_ITEM', |
||||
} |
||||
|
Loading…
Reference in new issue