1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
version.ts 2.9 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
zengqiao Отправлено 4 лет назад 447a575
import { observable, action } from 'mobx';
import { IUploadFile, IConfigInfo } from 'types/base-type';
import { getFileList, addFile, deleteFile, modfiyFile, getFileType, getConfigFiles } from 'lib/api';
interface IEnum {
code: number;
message: string;
suffix?: string;
}
interface IUploadFileType {
fileEnum: IEnum[];
storageEnum: IEnum[];
}
export class Version {
@observable
public loading: boolean = false;
@observable
public fileSuffix: string = '';
@observable
public acceptFileType: string = '';
@observable
public configFiles: string = '';
@observable
public fileList: IUploadFile[] = [];
@observable
public storageTypes: IConfigInfo[] = [];
@observable
public currentFileType: number = 0;
@observable
public fileTypeList: IEnum[] = [];
@observable
public acceptFileMap = {} as {
[key: number]: string,
};
@action.bound
public setFileList(data: IUploadFile[]) {
this.fileList = (data || []).map((item, index) => {
return {
...item,
configType: this.acceptFileMap[item.fileType] || '',
key: index,
};
});
this.setLoading(false);
}
@action.bound
public setConfigFiles(data: string) {
this.configFiles = data;
}
@action.bound
public setFileTypeList(data: IUploadFileType) {
const fileTypeList = data && data.fileEnum || [];
const storageEnum = data && data.storageEnum || [];
this.fileTypeList = fileTypeList.map((item, index) => {
if (item.suffix) {
this.acceptFileMap[item.code] = item.message;
}
if (index === 0) { // 初始化文件上传类型
this.acceptFileType = item.suffix;
}
return {
...item,
label: item.message,
value: item.code,
};
});
this.storageTypes = storageEnum.map(item => {
return {
...item,
label: item.message,
value: item.message,
};
});
this.setLoading(false);
}
@action.bound
public setLoading(value: boolean) {
this.loading = value;
}
@action.bound
public setAcceptFileType(type: number) {
this.fileSuffix = this.fileTypeList[type].suffix;
this.currentFileType = type;
this.acceptFileType = this.acceptFileMap[type] || '';
}
public async getFileTypeList() {
this.setLoading(true);
getFileType().then(this.setFileTypeList);
}
public getFileList() {
this.setLoading(true);
getFileList().then(this.setFileList);
}
public deleteFile(id: number) {
deleteFile(id).then(() => this.getFileList());
}
public modfiyFile(params: IUploadFile) {
modfiyFile(params).then(() => this.getFileList());
}
public addFile(params: IUploadFile) {
params.clusterId = params.clusterId || -1;
addFile(params).then(() => this.getFileList());
}
public getConfigFiles(fileId: number) {
getConfigFiles(fileId).then(this.setConfigFiles);
}
}
export const version = new Version();

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.1.0