mirror of
https://github.com/vbenjs/vben-admin-thin-next.git
synced 2025-01-24 02:00:22 +08:00
feat: add file download demo
This commit is contained in:
parent
1d45617e4a
commit
db3092db2e
@ -12,6 +12,7 @@
|
|||||||
- 菜单新增 tag 显示,支持 4 中类型颜色及 dot 圆点显示
|
- 菜单新增 tag 显示,支持 4 中类型颜色及 dot 圆点显示
|
||||||
- 新增菜单及顶栏颜色选择配色
|
- 新增菜单及顶栏颜色选择配色
|
||||||
- 增加示例结果页
|
- 增加示例结果页
|
||||||
|
- 新增文件下载示例
|
||||||
|
|
||||||
### ⚡ Wip
|
### ⚡ Wip
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ import {
|
|||||||
|
|
||||||
// Optional
|
// Optional
|
||||||
Select,
|
Select,
|
||||||
|
Alert,
|
||||||
Checkbox,
|
Checkbox,
|
||||||
DatePicker,
|
DatePicker,
|
||||||
Radio,
|
Radio,
|
||||||
@ -48,6 +49,7 @@ export function registerGlobComp() {
|
|||||||
// If you don’t need it, you can delete it
|
// If you don’t need it, you can delete it
|
||||||
getApp()
|
getApp()
|
||||||
.use(Select)
|
.use(Select)
|
||||||
|
.use(Alert)
|
||||||
.use(Checkbox)
|
.use(Checkbox)
|
||||||
.use(DatePicker)
|
.use(DatePicker)
|
||||||
.use(Radio)
|
.use(Radio)
|
||||||
|
@ -4,6 +4,9 @@ const menu: MenuModule = {
|
|||||||
menu: {
|
menu: {
|
||||||
name: '功能',
|
name: '功能',
|
||||||
path: '/feat',
|
path: '/feat',
|
||||||
|
tag: {
|
||||||
|
dot: true,
|
||||||
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'icon',
|
path: 'icon',
|
||||||
@ -17,6 +20,13 @@ const menu: MenuModule = {
|
|||||||
path: 'context-menu',
|
path: 'context-menu',
|
||||||
name: '右键菜单',
|
name: '右键菜单',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'download',
|
||||||
|
name: '文件下载',
|
||||||
|
tag: {
|
||||||
|
content: 'new',
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'click-out-side',
|
path: 'click-out-side',
|
||||||
name: 'ClickOutSide',
|
name: 'ClickOutSide',
|
||||||
|
@ -40,6 +40,14 @@ const feat: AppRouteModule = {
|
|||||||
title: '右键菜单',
|
title: '右键菜单',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/download',
|
||||||
|
name: 'DownLoadDemo',
|
||||||
|
component: () => import('/@/views/demo/feat/download/index.vue'),
|
||||||
|
meta: {
|
||||||
|
title: '文件下载',
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/click-out-side',
|
path: '/click-out-side',
|
||||||
name: 'ClickOutSideDemo',
|
name: 'ClickOutSideDemo',
|
||||||
|
@ -25,6 +25,7 @@ export function downloadByData(data: BlobPart, filename: string, mime?: string,
|
|||||||
window.URL.revokeObjectURL(blobURL);
|
window.URL.revokeObjectURL(blobURL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据文件地址下载文件
|
* 根据文件地址下载文件
|
||||||
* @param {*} sUrl
|
* @param {*} sUrl
|
||||||
|
32
src/views/demo/feat/download/index.vue
Normal file
32
src/views/demo/feat/download/index.vue
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<template>
|
||||||
|
<div class="m-5 demo-box">
|
||||||
|
<a-alert message="根据后台接口文件流下载" />
|
||||||
|
<a-button type="primary" class="my-4" @click="handleDownByData"> 文件流下载 </a-button>
|
||||||
|
|
||||||
|
<a-alert message="根据文件地址下载文件" />
|
||||||
|
|
||||||
|
<a-button type="primary" class="my-4" @click="handleDownloadByUrl"> 文件地址下载 </a-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
import { downloadByUrl, downloadByData } from '/@/utils/file/FileDownload';
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
setup() {
|
||||||
|
function handleDownByData() {
|
||||||
|
downloadByData('text content', 'testName.txt');
|
||||||
|
}
|
||||||
|
function handleDownloadByUrl() {
|
||||||
|
downloadByUrl({
|
||||||
|
url: 'https://codeload.github.com/anncwb/vue-vben-admin-doc/zip/master',
|
||||||
|
target: '_self',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
handleDownloadByUrl,
|
||||||
|
handleDownByData,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user