diff --git a/src/assets/icons/svg/chart.svg b/src/assets/icons/svg/chart.svg new file mode 100644 index 0000000..c13fe1f --- /dev/null +++ b/src/assets/icons/svg/chart.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/svg/checkbox.svg b/src/assets/icons/svg/checkbox.svg new file mode 100644 index 0000000..4e04af0 --- /dev/null +++ b/src/assets/icons/svg/checkbox.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/src/assets/icons/svg/client.svg b/src/assets/icons/svg/client.svg new file mode 100644 index 0000000..cdb2cfa --- /dev/null +++ b/src/assets/icons/svg/client.svg @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/src/assets/icons/svg/clipboard.svg b/src/assets/icons/svg/clipboard.svg new file mode 100644 index 0000000..fbe9e7f --- /dev/null +++ b/src/assets/icons/svg/clipboard.svg @@ -0,0 +1,4 @@ + + + diff --git a/src/assets/icons/svg/code.svg b/src/assets/icons/svg/code.svg new file mode 100644 index 0000000..cc643f2 --- /dev/null +++ b/src/assets/icons/svg/code.svg @@ -0,0 +1,11 @@ + + + + + + + diff --git a/src/assets/icons/svg/color.svg b/src/assets/icons/svg/color.svg new file mode 100644 index 0000000..379b22e --- /dev/null +++ b/src/assets/icons/svg/color.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/src/directive/module/clipboard.js b/src/directive/module/clipboard.js new file mode 100644 index 0000000..4dbb944 --- /dev/null +++ b/src/directive/module/clipboard.js @@ -0,0 +1,57 @@ +/** + * v-clipboard 文字复制剪贴 + * Copyright (c) 2021 muyu + */ + +import Clipboard from 'clipboard' + +export default { + bind(el, binding, vnode) { + switch (binding.arg) { + case 'success': + el._vClipBoard_success = binding.value; + break; + case 'error': + el._vClipBoard_error = binding.value; + break; + default: { + const clipboard = new Clipboard(el, { + text: () => binding.value, + action: () => binding.arg === 'cut' ? 'cut' : 'copy' + }); + clipboard.on('success', e => { + const callback = el._vClipBoard_success; + callback && callback(e); + }); + clipboard.on('error', e => { + const callback = el._vClipBoard_error; + callback && callback(e); + }); + el._vClipBoard = clipboard; + } + } + }, + update(el, binding) { + if (binding.arg === 'success') { + el._vClipBoard_success = binding.value; + } else if (binding.arg === 'error') { + el._vClipBoard_error = binding.value; + } else { + el._vClipBoard.text = function () { + return binding.value; + }; + el._vClipBoard.action = () => binding.arg === 'cut' ? 'cut' : 'copy'; + } + }, + unbind(el, binding) { + if (!el._vClipboard) return + if (binding.arg === 'success') { + delete el._vClipBoard_success; + } else if (binding.arg === 'error') { + delete el._vClipBoard_error; + } else { + el._vClipBoard.destroy(); + delete el._vClipBoard; + } + } +} diff --git a/src/views/tool/build/CodeTypeDialog.vue b/src/views/tool/build/CodeTypeDialog.vue new file mode 100644 index 0000000..7e8058b --- /dev/null +++ b/src/views/tool/build/CodeTypeDialog.vue @@ -0,0 +1,106 @@ + +