Skip to content

Commit ea14e9e

Browse files
committed
✨ 加载更多功能
1 parent 40feb24 commit ea14e9e

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

src/stores/file-data.ts

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { defineStore } from 'pinia'
22

33
// @ts-ignore
44
import common from "~/common";
5+
import useStorageConfigStore from "./storage-config";
56

67
// 当前存储源的配置信息,数据来源为服务端配置。请求存储源后会获取其配置信息。
78
const useFileDataStore = defineStore('fileDataStore', {
@@ -21,6 +22,7 @@ const useFileDataStore = defineStore('fileDataStore', {
2122
oldStorageKey: null,
2223
searchParam: '',
2324
fileListSource: [],
25+
loadFileSize: -1,
2426
audioArray: [],
2527
audioIndex: 0,
2628
}
@@ -39,15 +41,19 @@ const useFileDataStore = defineStore('fileDataStore', {
3941
};
4042
},
4143
fileList: state => {
42-
let tableData = state.fileListSource;
44+
if (state.loadFileSize === -1) return [];
45+
let firstIsBack = state.fileListSource[0]?.type === 'BACK';
46+
let toSize = firstIsBack ? state.loadFileSize + 1 : state.loadFileSize;
47+
toSize = toSize > state.fileListSource.length ? state.fileListSource.length : toSize;
48+
let tableData = state.fileListSource.slice(0, toSize);
4349
tableData.forEach((item:any) => {
4450
// 生成图标
4551
if (!item.icon) {
4652
item['icon'] = common.getFileIconName(item);
4753
}
4854
if (item.preview !== null) {
4955
// 获取文件类型
50-
var fileType = common.getFileType(item.name);
56+
let fileType = common.getFileType(item.name);
5157
if (fileType) {
5258
// 获取文件是否可预览
5359
item['fileType'] = fileType;
@@ -59,6 +65,15 @@ const useFileDataStore = defineStore('fileDataStore', {
5965
});
6066
return tableData;
6167
},
68+
getFileUrlByName: state => {
69+
return (name: string) => {
70+
let item = state.fileListSource.find((item:any) => item.name === name);
71+
if (item) {
72+
return item.url;
73+
}
74+
return '';
75+
};
76+
}
6277
},
6378
actions: {
6479
updateCurrentStorageSource(val: any) {
@@ -78,10 +93,14 @@ const useFileDataStore = defineStore('fileDataStore', {
7893
},
7994
updateFileList(val: any) {
8095
this.fileListSource = val;
96+
this.loadFileSize = useStorageConfigStore().globalConfig.maxShowSize;
8197
},
8298
updateOldStorageKey(val: any) {
8399
this.oldStorageKey = val;
84100
},
101+
updateLoadFileSize(val: number) {
102+
this.loadFileSize = val;
103+
}
85104
},
86105
})
87106

0 commit comments

Comments
 (0)