修复打包异常文件

pull/106/head
puhui999 2023-04-08 22:52:23 +08:00
parent d679a7a3be
commit 25a175a895
3 changed files with 88 additions and 81 deletions

View File

@ -1,21 +1,21 @@
<template>
<Dialog title="上传文件" v-model="dialogVisible">
<Dialog v-model="dialogVisible" title="上传文件">
<el-upload
ref="uploadRef"
:limit="1"
accept=".jpg, .png, .gif"
:auto-upload="false"
drag
:headers="headers"
:action="url"
:auto-upload="false"
:data="data"
:disabled="formLoading"
:headers="headers"
:limit="1"
:on-change="handleFileChange"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
accept=".jpg, .png, .gif"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text"> 将文件拖到此处 <em>点击上传</em> </div>
<div class="el-upload__text"> 将文件拖到此处 <em>点击上传</em></div>
<template #tip>
<div class="el-upload__tip" style="color: red">
提示仅允许导入 jpgpnggif 格式文件
@ -23,19 +23,19 @@
</template>
</el-upload>
<template #footer>
<el-button @click="submitFileForm" type="primary" :disabled="formLoading"> </el-button>
<el-button :disabled="formLoading" type="primary" @click="submitFileForm"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</template>
</Dialog>
</template>
<script setup lang="ts">
<script lang="ts" setup>
import { Dialog } from '@/components/Dialog'
import { getAccessToken } from '@/utils/auth'
const { t } = useI18n() //
const message = useMessage() //
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const url = import.meta.env.VITE_UPLOAD_URL
const headers = { Authorization: 'Bearer ' + getAccessToken() }

View File

@ -1,40 +1,47 @@
<template>
<doc-alert title="上传下载" url="https://doc.iocoder.cn/file/"/>
<doc-alert title="上传下载" url="https://doc.iocoder.cn/file/" />
<!-- 搜索 -->
<ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true">
<el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px">
<el-form-item label="文件路径" prop="path">
<el-input
v-model="queryParams.path"
placeholder="请输入文件路径"
clearable
placeholder="请输入文件路径"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="文件类型" prop="type" width="80">
<el-input
v-model="queryParams.type"
placeholder="请输入文件类型"
clearable
placeholder="请输入文件类型"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
end-placeholder="结束日期"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" />
搜索
</el-button>
<el-button @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" />
重置
</el-button>
<el-button type="primary" @click="openForm">
<Icon icon="ep:upload" class="mr-5px" /> 上传文件
<Icon class="mr-5px" icon="ep:upload" />
上传文件
</el-button>
</el-form-item>
</el-form>
@ -43,31 +50,31 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list">
<el-table-column label="文件名" align="center" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="文件路径" align="center" prop="path" :show-overflow-tooltip="true" />
<el-table-column label="URL" align="center" prop="url" :show-overflow-tooltip="true" />
<el-table-column :show-overflow-tooltip="true" align="center" label="文件名" prop="name" />
<el-table-column :show-overflow-tooltip="true" align="center" label="文件路径" prop="path" />
<el-table-column :show-overflow-tooltip="true" align="center" label="URL" prop="url" />
<el-table-column
label="文件大小"
:formatter="fileSizeFormatter"
align="center"
label="文件大小"
prop="size"
width="120"
:formatter="fileSizeFormatter"
/>
<el-table-column label="文件类型" align="center" prop="type" width="180px" />
<el-table-column align="center" label="文件类型" prop="type" width="180px" />
<el-table-column
label="上传时间"
:formatter="dateFormatter"
align="center"
label="上传时间"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center">
<el-table-column align="center" label="操作">
<template #default="scope">
<el-button
v-hasPermi="['infra:config:delete']"
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['infra:config:delete']"
>
删除
</el-button>
@ -76,9 +83,9 @@
</el-table>
<!-- 分页 -->
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNo"
:total="total"
@pagination="getList"
/>
</ContentWrap>
@ -86,11 +93,11 @@
<!-- 表单弹窗添加/修改 -->
<FileForm ref="formRef" @success="getList" />
</template>
<script setup lang="ts" name="Config">
<script lang="ts" name="Config" setup>
import { fileSizeFormatter } from '@/utils'
import { dateFormatter } from '@/utils/formatTime'
import * as FileApi from '@/api/infra/file'
import FileUploadForm from './FileForm.vue'
const message = useMessage() //
const { t } = useI18n() //

View File

@ -8,7 +8,7 @@
支持发送视频消息时支持新建视频
-->
<template>
<el-tabs type="border-card" v-model="objDataRef.type" @tab-click="handleClick">
<el-tabs v-model="objDataRef.type" type="border-card" @tab-click="handleClick">
<!-- 类型 1文本 -->
<el-tab-pane name="text">
<template #label>
@ -18,10 +18,10 @@
</el-row>
</template>
<el-input
type="textarea"
v-model="objDataRef.content"
:rows="5"
placeholder="请输入内容"
v-model="objDataRef.content"
type="textarea"
@input="inputContent"
/>
</el-tab-pane>
@ -29,29 +29,29 @@
<el-tab-pane name="image">
<template #label>
<el-row align="middle">
<icon icon="ep:picture" class="mr-5px" />
<icon class="mr-5px" icon="ep:picture" />
图片
</el-row>
</template>
<!-- 情况一已经选择好素材或者上传好图片 -->
<div class="select-item" v-if="objDataRef.url">
<img class="material-img" :src="objDataRef.url" />
<p class="item-name" v-if="objDataRef.name">{{ objDataRef.name }}</p>
<div v-if="objDataRef.url" class="select-item">
<img :src="objDataRef.url" class="material-img" />
<p v-if="objDataRef.name" class="item-name">{{ objDataRef.name }}</p>
<el-row class="ope-row">
<el-button type="danger" circle @click="deleteObj">
<el-button circle type="danger" @click="deleteObj">
<icon icon="ep:delete" />
</el-button>
</el-row>
</div>
<!-- 情况二未做完上述操作 -->
<el-row v-else style="text-align: center" align="middle">
<el-row v-else align="middle" style="text-align: center">
<!-- 选择素材 -->
<el-col :span="12" class="col-select">
<el-button type="success" @click="openMaterial">
素材库选择
<icon icon="ep:circle-check" />
</el-button>
<el-dialog title="选择图片" v-model="dialogImageVisible" width="90%" append-to-body>
<el-dialog v-model="dialogImageVisible" append-to-body title="选择图片" width="90%">
<wx-material-select :obj-data="objDataRef" @selectMaterial="selectMaterial" />
</el-dialog>
</el-col>
@ -59,13 +59,13 @@
<el-col :span="12" class="col-add">
<el-upload
:action="actionUrl"
:headers="headers"
multiple
:limit="1"
:file-list="fileList"
:data="uploadData"
:before-upload="beforeImageUpload"
:data="uploadData"
:file-list="fileList"
:headers="headers"
:limit="1"
:on-success="handleUploadSuccess"
multiple
>
<el-button type="primary">上传图片</el-button>
<template #tip>
@ -88,13 +88,13 @@
</el-row>
</template>
<div class="select-item2" v-if="objDataRef.url">
<div v-if="objDataRef.url" class="select-item2">
<p class="item-name">{{ objDataRef.name }}</p>
<div class="item-infos">
<wx-voice-player :url="objDataRef.url" />
</div>
<el-row class="ope-row">
<el-button type="danger" icon="el-icon-delete" circle @click="deleteObj" />
<el-button circle icon="el-icon-delete" type="danger" @click="deleteObj" />
</el-row>
</div>
<el-row v-else style="text-align: center">
@ -103,7 +103,7 @@
<el-button type="success" @click="openMaterial">
素材库选择<i class="el-icon-circle-check el-icon--right"></i>
</el-button>
<el-dialog title="选择语音" v-model="dialogVoiceVisible" width="90%" append-to-body>
<el-dialog v-model="dialogVoiceVisible" append-to-body title="选择语音" width="90%">
<WxMaterialSelect :objData="objData" @selectMaterial="selectMaterial" />
</el-dialog>
</el-col>
@ -111,13 +111,13 @@
<el-col :span="12" class="col-add">
<el-upload
:action="actionUrl"
:headers="headers"
multiple
:limit="1"
:file-list="fileList"
:data="uploadData"
:before-upload="beforeVoiceUpload"
:data="uploadData"
:file-list="fileList"
:headers="headers"
:limit="1"
:on-success="handleUploadSuccess"
multiple
>
<el-button type="primary">点击上传</el-button>
<template #tip>
@ -145,8 +145,8 @@
@input="inputContent"
/>
<el-input
class="input-margin-bottom"
v-model="objDataRef.description"
class="input-margin-bottom"
placeholder="请输入描述"
@input="inputContent"
/>
@ -154,14 +154,14 @@
<wx-video-player v-if="objDataRef.url" :url="objDataRef.url" />
</div>
<el-col>
<el-row style="text-align: center" align="middle">
<el-row align="middle" style="text-align: center">
<!-- 选择素材 -->
<el-col :span="12">
<el-button type="success" @click="openMaterial">
素材库选择
<icon icon="ep:circle-check" />
</el-button>
<el-dialog title="选择视频" v-model="dialogVideoVisible" width="90%" append-to-body>
<el-dialog v-model="dialogVideoVisible" append-to-body title="选择视频" width="90%">
<wx-material-select :objData="objDataRef" @selectMaterial="selectMaterial" />
</el-dialog>
</el-col>
@ -169,13 +169,13 @@
<el-col :span="12">
<el-upload
:action="actionUrl"
:headers="headers"
multiple
:limit="1"
:file-list="fileList"
:data="uploadData"
:before-upload="beforeVideoUpload"
:data="uploadData"
:file-list="fileList"
:headers="headers"
:limit="1"
:on-success="handleUploadSuccess"
multiple
>
<el-button type="primary"
>新建视频
@ -196,17 +196,17 @@
</el-row>
</template>
<el-row>
<div class="select-item" v-if="objDataRef.articles.size > 0">
<div v-if="objDataRef.articles.size > 0" class="select-item">
<wx-news :articles="objDataRef.articles" />
<el-col class="ope-row">
<el-button type="danger" circle @click="deleteObj">
<el-button circle type="danger" @click="deleteObj">
<icon icon="ep:delete" />
</el-button>
</el-col>
</div>
<!-- 选择素材 -->
<el-col :span="24" v-if="!objDataRef.content">
<el-row style="text-align: center" align="middle">
<el-col v-if="!objDataRef.content" :span="24">
<el-row align="middle" style="text-align: center">
<el-col :span="24">
<el-button type="success" @click="openMaterial"
>{{ newsType === '1' ? '选择已发布图文' : '选择草稿箱图文' }}
@ -215,11 +215,11 @@
</el-col>
</el-row>
</el-col>
<el-dialog title="选择图文" v-model="dialogNewsVisible" width="90%" append-to-body>
<el-dialog v-model="dialogNewsVisible" append-to-body title="选择图文" width="90%">
<wx-material-select
:newsType="newsType"
:objData="objDataRef"
@selectMaterial="selectMaterial"
:newsType="newsType"
/>
</el-dialog>
</el-row>
@ -234,13 +234,13 @@
</template>
<el-row align="middle" justify="center">
<el-col :span="6">
<el-row align="middle" justify="center" class="thumb-div">
<el-row align="middle" class="thumb-div" justify="center">
<el-col :span="24">
<el-row align="middle" justify="center">
<img
style="width: 100px"
v-if="objDataRef.thumbMediaUrl"
:src="objDataRef.thumbMediaUrl"
style="width: 100px"
/>
<icon v-else icon="ep:plus" />
</el-row>
@ -248,18 +248,18 @@
<div class="thumb-but">
<el-upload
:action="actionUrl"
:headers="headers"
multiple
:limit="1"
:file-list="fileList"
:data="uploadData"
:before-upload="beforeThumbImageUpload"
:data="uploadData"
:file-list="fileList"
:headers="headers"
:limit="1"
:on-success="handleUploadSuccess"
multiple
>
<template #trigger>
<el-button type="text">本地上传</el-button>
</template>
<el-button type="text" @click="openMaterial" style="margin-left: 5px"
<el-button style="margin-left: 5px" type="text" @click="openMaterial"
>素材库选择
</el-button>
</el-upload>
@ -267,7 +267,7 @@
</el-row>
</el-col>
</el-row>
<el-dialog title="选择图片" v-model="dialogThumbVisible" width="80%" append-to-body>
<el-dialog v-model="dialogThumbVisible" append-to-body title="选择图片" width="80%">
<wx-material-select
:objData="{ type: 'image', accountId: objDataRef.accountId }"
@selectMaterial="selectMaterial"