Fixed: #176 || macOS tray window upload img failed

This commit is contained in:
Molunerfinn 2019-01-25 19:16:52 +08:00
parent 649e9f0695
commit 43bace3212
2 changed files with 17 additions and 6 deletions

View File

@ -371,7 +371,7 @@ picgoCoreIPC(app, ipcMain)
// from macOS tray // from macOS tray
ipcMain.on('uploadClipboardFiles', async (evt, file) => { ipcMain.on('uploadClipboardFiles', async (evt, file) => {
const img = await new Uploader(file, window.webContents).upload() const img = await new Uploader(undefined, window.webContents).upload()
if (img !== false) { if (img !== false) {
const pasteStyle = db.read().get('settings.pasteStyle').value() || 'markdown' const pasteStyle = db.read().get('settings.pasteStyle').value() || 'markdown'
const url = img[0].url || img[0].imgUrl const url = img[0].url || img[0].imgUrl
@ -385,11 +385,11 @@ ipcMain.on('uploadClipboardFiles', async (evt, file) => {
notification.show() notification.show()
db.read().get('uploaded').insert(img[0]).write() db.read().get('uploaded').insert(img[0]).write()
window.webContents.send('clipboardFiles', []) window.webContents.send('clipboardFiles', [])
window.webContents.send('uploadFiles')
if (settingWindow) { if (settingWindow) {
settingWindow.webContents.send('updateGallery') settingWindow.webContents.send('updateGallery')
} }
} }
window.webContents.send('uploadFiles')
}) })
ipcMain.on('uploadClipboardFilesFromUploadPage', () => { ipcMain.on('uploadClipboardFilesFromUploadPage', () => {

View File

@ -5,14 +5,17 @@
<div class="wait-upload-img" v-if="clipboardFiles.length > 0"> <div class="wait-upload-img" v-if="clipboardFiles.length > 0">
<div class="list-title">等待上传</div> <div class="list-title">等待上传</div>
<div v-for="(item, index) in clipboardFiles" :key="index" class="img-list" :style="{height: calcHeight(item.width, item.height) + 'px'}"> <div v-for="(item, index) in clipboardFiles" :key="index" class="img-list" :style="{height: calcHeight(item.width, item.height) + 'px'}">
<div class="upload-img__container" @click="uploadClipboardFiles"> <div
class="upload-img__container"
:class="{ upload: uploadFlag }"
@click="uploadClipboardFiles">
<img :src="item.imgUrl" class="upload-img"> <img :src="item.imgUrl" class="upload-img">
</div> </div>
</div> </div>
</div> </div>
<div class="uploaded-img"> <div class="uploaded-img">
<div class="list-title">已上传</div> <div class="list-title">已上传</div>
<div v-for="(item, index) in files" :key="index" class="img-list" :style="{height: calcHeight(item.width, item.height) + 'px'}"> <div v-for="item in files" :key="item.imgUrl" class="img-list" :style="{height: calcHeight(item.width, item.height) + 'px'}">
<div class="upload-img__container" @click="copyTheLink(item)"> <div class="upload-img__container" @click="copyTheLink(item)">
<img :src="item.imgUrl" class="upload-img"> <img :src="item.imgUrl" class="upload-img">
</div> </div>
@ -36,7 +39,8 @@
body: '', body: '',
icon: '' icon: ''
}, },
clipboardFiles: [] clipboardFiles: [],
uploadFlag: false
} }
}, },
computed: { computed: {
@ -58,6 +62,7 @@
}) })
this.$electron.ipcRenderer.on('uploadFiles', (event) => { this.$electron.ipcRenderer.on('uploadFiles', (event) => {
this.files = this.$db.read().get('uploaded').slice().reverse().slice(0, 5).value() this.files = this.$db.read().get('uploaded').slice().reverse().slice(0, 5).value()
this.uploadFlag = false
}) })
this.$electron.ipcRenderer.on('updateFiles', (event) => { this.$electron.ipcRenderer.on('updateFiles', (event) => {
this.getData() this.getData()
@ -97,7 +102,11 @@
}, false) }, false)
}, },
uploadClipboardFiles () { uploadClipboardFiles () {
this.$electron.ipcRenderer.send('uploadClipboardFiles', this.clipboardFiles[0]) if (this.uploadFlag) {
return
}
this.uploadFlag = true
this.$electron.ipcRenderer.send('uploadClipboardFiles')
} }
} }
} }
@ -156,4 +165,6 @@ body::-webkit-scrollbar
width 100% width 100%
padding 8px 10px padding 8px 10px
height 100% height 100%
&.upload
cursor not-allowed
</style> </style>