show import file type by categories

This commit is contained in:
MaysWind
2025-08-23 02:25:24 +08:00
parent 06a0501633
commit 81727d3b1e
17 changed files with 506 additions and 351 deletions
+219 -189
View File
@@ -1,4 +1,4 @@
import type { ImportFileType } from '@/core/file.ts';
import type { ImportFileCategoryAndTypes } from '@/core/file.ts';
export const SUPPORTED_IMAGE_EXTENSIONS: string = '.jpg,.jpeg,.png,.gif,.webp';
@@ -62,203 +62,233 @@ export const SUPPORTED_FILE_ENCODINGS: string[] = [
'shift_jis', // Japanese (Shift_JIS)
];
export const SUPPORTED_IMPORT_FILE_TYPES: ImportFileType[] = [
export const SUPPORTED_IMPORT_FILE_CATEGORY_AND_TYPES: ImportFileCategoryAndTypes[] = [
{
type: 'ezbookkeeping',
name: 'ezbookkeeping Data Export File',
extensions: '.csv,.tsv',
subTypes: [
categoryName: 'ezBookkeeping File Format',
fileTypes: [
{
type: 'ezbookkeeping_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
},
{
type: 'ezbookkeeping_tsv',
name: 'TSV (Tab-separated values) File',
extensions: '.tsv',
}
],
document: {
supportMultiLanguages: true,
anchor: 'export-transactions'
}
},
{
type: 'dsv',
name: 'Delimiter-separated Values (DSV) File',
extensions: '.csv,.tsv',
subTypes: [
{
type: 'custom_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
},
{
type: 'custom_tsv',
name: 'TSV (Tab-separated values) File',
extensions: '.tsv,.txt',
}
],
supportedEncodings: SUPPORTED_FILE_ENCODINGS,
document: {
supportMultiLanguages: true,
anchor: 'how-to-import-delimiter-separated-values-dsv-file-or-data'
}
},
{
type: 'dsv_data',
name: 'Delimiter-separated Values (DSV) Data',
extensions: '.csv,.tsv',
subTypes: [
{
type: 'custom_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
},
{
type: 'custom_tsv',
name: 'TSV (Tab-separated values) File',
extensions: '.tsv,.txt',
}
],
dataFromTextbox: true,
document: {
supportMultiLanguages: true,
anchor: 'how-to-import-delimiter-separated-values-dsv-file-or-data'
}
},
{
type: 'ofx',
name: 'Open Financial Exchange (OFX) File',
extensions: '.ofx'
},
{
type: 'qfx',
name: 'Quicken Financial Exchange (QFX) File',
extensions: '.qfx'
},
{
type: 'qif',
name: 'Quicken Interchange Format (QIF) File',
extensions: '.qif',
subTypes: [
{
type: 'qif_ymd',
name: 'Year-month-day format',
},
{
type: 'qif_mdy',
name: 'Month-day-year format',
},
{
type: 'qif_dmy',
name: 'Day-month-year format',
type: 'ezbookkeeping',
name: 'ezbookkeeping Data Export File',
extensions: '.csv,.tsv',
subTypes: [
{
type: 'ezbookkeeping_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
},
{
type: 'ezbookkeeping_tsv',
name: 'TSV (Tab-separated values) File',
extensions: '.tsv',
}
],
document: {
supportMultiLanguages: true,
anchor: 'export-transactions'
}
}
]
},
{
type: 'iif',
name: 'Intuit Interchange Format (IIF) File',
extensions: '.iif'
},
{
type: 'camt053',
name: 'Camt.053 Bank to Customer Statement File',
extensions: '.xml'
},
{
type: 'mt940',
name: 'MT940 Consumer Statement Message File',
extensions: '.txt'
},
{
type: 'gnucash',
name: 'GnuCash XML Database File',
extensions: '.gnucash',
document: {
supportMultiLanguages: true,
anchor: 'how-to-get-gnucash-xml-database-file'
}
},
{
type: 'firefly_iii_csv',
name: 'Firefly III Data Export File',
extensions: '.csv',
document: {
supportMultiLanguages: true,
anchor: 'how-to-get-firefly-iii-data-export-file'
}
},
{
type: 'beancount',
name: 'Beancount Data File',
extensions: '.beancount'
},
{
type: 'feidee_mymoney_csv',
name: 'Feidee MyMoney (App) Data Export File',
extensions: '.csv',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取随手记app数据导出文件'
}
},
{
type: 'feidee_mymoney_xls',
name: 'Feidee MyMoney (Web) Data Export File',
extensions: '.xls',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取随手记web版数据导出文件'
}
},
{
type: 'feidee_mymoney_elecloud_xlsx',
name: 'Feidee MyMoney (Elecloud) Data Export File',
extensions: '.xlsx',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取随手记神象云账本数据导出文件'
}
},
{
type: 'alipay_app_csv',
name: 'Alipay (App) Transaction Flow File',
extensions: '.csv',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取支付宝app交易流水文件'
}
},
{
type: 'alipay_web_csv',
name: 'Alipay (Web) Transaction Flow File',
extensions: '.csv',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取支付宝网页版交易流水文件'
}
},
{
type: 'wechat_pay_app',
name: 'WeChat Pay Billing File',
extensions: '.xlsx,.csv',
subTypes: [
categoryName: 'Custom File Format',
fileTypes: [
{
type: 'wechat_pay_app_xlsx',
name: 'Excel Workbook File',
extensions: '.xlsx',
type: 'dsv',
name: 'Delimiter-separated Values (DSV) File',
extensions: '.csv,.tsv',
subTypes: [
{
type: 'custom_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
},
{
type: 'custom_tsv',
name: 'TSV (Tab-separated values) File',
extensions: '.tsv,.txt',
}
],
supportedEncodings: SUPPORTED_FILE_ENCODINGS,
document: {
supportMultiLanguages: true,
anchor: 'how-to-import-delimiter-separated-values-dsv-file-or-data'
}
},
{
type: 'wechat_pay_app_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
type: 'dsv_data',
name: 'Delimiter-separated Values (DSV) Data',
extensions: '.csv,.tsv',
subTypes: [
{
type: 'custom_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
},
{
type: 'custom_tsv',
name: 'TSV (Tab-separated values) File',
extensions: '.tsv,.txt',
}
],
dataFromTextbox: true,
document: {
supportMultiLanguages: true,
anchor: 'how-to-import-delimiter-separated-values-dsv-file-or-data'
}
}
],
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取微信支付账单文件'
}
]
},
{
categoryName: 'General Data Exchange Format',
fileTypes: [
{
type: 'ofx',
name: 'Open Financial Exchange (OFX) File',
extensions: '.ofx'
},
{
type: 'qfx',
name: 'Quicken Financial Exchange (QFX) File',
extensions: '.qfx'
},
{
type: 'qif',
name: 'Quicken Interchange Format (QIF) File',
extensions: '.qif',
subTypes: [
{
type: 'qif_ymd',
name: 'Year-month-day format',
},
{
type: 'qif_mdy',
name: 'Month-day-year format',
},
{
type: 'qif_dmy',
name: 'Day-month-year format',
}
]
},
{
type: 'iif',
name: 'Intuit Interchange Format (IIF) File',
extensions: '.iif'
}
]
},
{
categoryName: 'General Bank Statement Format',
fileTypes: [
{
type: 'camt053',
name: 'Camt.053 Bank to Customer Statement File',
extensions: '.xml'
},
{
type: 'mt940',
name: 'MT940 Consumer Statement Message File',
extensions: '.txt'
}
]
},
{
categoryName: 'Other Bank/Payment App Statement File',
fileTypes: [
{
type: 'alipay_app_csv',
name: 'Alipay (App) Transaction Flow File',
extensions: '.csv',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取支付宝app交易流水文件'
}
},
{
type: 'alipay_web_csv',
name: 'Alipay (Web) Transaction Flow File',
extensions: '.csv',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取支付宝网页版交易流水文件'
}
},
{
type: 'wechat_pay_app',
name: 'WeChat Pay Billing File',
extensions: '.xlsx,.csv',
subTypes: [
{
type: 'wechat_pay_app_xlsx',
name: 'Excel Workbook File',
extensions: '.xlsx',
},
{
type: 'wechat_pay_app_csv',
name: 'CSV (Comma-separated values) File',
extensions: '.csv',
}
],
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取微信支付账单文件'
}
}
]
},
{
categoryName: 'Other Finance App File Format',
fileTypes: [
{
type: 'gnucash',
name: 'GnuCash XML Database File',
extensions: '.gnucash',
document: {
supportMultiLanguages: true,
anchor: 'how-to-get-gnucash-xml-database-file'
}
},
{
type: 'firefly_iii_csv',
name: 'Firefly III Data Export File',
extensions: '.csv',
document: {
supportMultiLanguages: true,
anchor: 'how-to-get-firefly-iii-data-export-file'
}
},
{
type: 'beancount',
name: 'Beancount Data File',
extensions: '.beancount'
},
{
type: 'feidee_mymoney_csv',
name: 'Feidee MyMoney (App) Data Export File',
extensions: '.csv',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取随手记app数据导出文件'
}
},
{
type: 'feidee_mymoney_xls',
name: 'Feidee MyMoney (Web) Data Export File',
extensions: '.xls',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取随手记web版数据导出文件'
}
},
{
type: 'feidee_mymoney_elecloud_xlsx',
name: 'Feidee MyMoney (Elecloud) Data Export File',
extensions: '.xlsx',
document: {
supportMultiLanguages: 'zh-Hans',
anchor: '如何获取随手记神象云账本数据导出文件'
}
}
]
}
];