feat: 新增复制粘贴功能

This commit is contained in:
MTrun
2022-02-03 22:54:31 +08:00
parent 0cda041315
commit ad8cc8a003
22 changed files with 519 additions and 129 deletions
+1 -2
View File
@@ -3,7 +3,6 @@ import { ResultEnum } from '@/enums/httpEnum'
import { ErrorPageNameMap, PageEnum } from '@/enums/pageEnum'
import router from '@/router'
import { docPath, giteeSourceCodePath } from '@/settings/pathConst'
import { goDialog } from '@/utils/plugin'
/**
* * 根据名字跳转路由
@@ -139,6 +138,6 @@ export const fetchRouteParams = () => {
* * 回到主页面
* @param confirm
*/
export const goHome = <T extends typeof goDialog>(confirm: boolean, params: T) => {
export const goHome = () => {
routerTurnByName(PageEnum.BASE_HOME_NAME)
}
+14 -8
View File
@@ -1,7 +1,7 @@
import { h } from 'vue'
import { NIcon } from 'naive-ui'
import screenfull from 'screenfull'
import debounce from 'lodash/debounce'
import throttle from 'lodash/throttle'
/**
* * 生成一个不重复的ID
@@ -91,12 +91,18 @@ export const setDomAttribute = <K extends keyof CSSStyleDeclaration, V extends C
HTMLElement.style[key] = value
}
}
/**
* * 判断是否是 mac
* @returns boolean
*/
export const isMac = () => {
return /macintosh|mac os x/i.test(navigator.userAgent)
}
/**
* * 挂载监听
*/
export const goAddEventListener = <K extends keyof WindowEventMap>(
target: EventTarget,
export const addEventListener = <K extends keyof WindowEventMap>(
target: HTMLElement | Document,
type: K,
listener: any,
options?: boolean | AddEventListenerOptions | undefined
@@ -104,7 +110,7 @@ export const goAddEventListener = <K extends keyof WindowEventMap>(
if (!target) return
target.addEventListener(
type,
debounce(listener, 300, {
throttle(listener, 300, {
leading: true,
trailing: false
}),
@@ -115,10 +121,10 @@ export const goAddEventListener = <K extends keyof WindowEventMap>(
/**
* * 卸载监听
*/
export const goRemoveEventListener = <K extends keyof WindowEventMap>(
target: EventTarget,
export const removeEventListener = <K extends keyof WindowEventMap>(
target: HTMLElement | Document,
type: K,
listener: EventListenerOrEventListenerObject
listener: any
) => {
if (!target) return
target.removeEventListener(type, listener)