diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.js" index 6321fae..261c9ee 100644 --- "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.js" +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.js" @@ -1,18 +1,21 @@ -import { BillType, formatDate, RuleObject, splitSms, toFloat } from 'common/index.js'; +import { BillType, formatDate, RuleObject, splitShop, splitSms, toFloat } from 'common/index.js'; let rules = [ { // 尾号1234卡9月27日18:55支出(消费支付宝-北京三快在线科技有限公司)45元,余额1,333.22元。【工商银行】 // 尾号1234卡10月9日19:12收入(微信零钱提现财付通)6.70元,余额0.64元。【工商银行】 // 尾号1234卡10月14日23:41网上银行支出(无卡支付)4.78元,余额3.46元。 - 'regex': /尾号(\d{4})卡(.*?)(网上银行支出|支出|收入)\((.*?)\)([\d,]+(.\d{2})?)元,余额([\d,]+.\d{2})元。/, + // 尾号5537卡11月11日12:39支出(消费支付宝-严)28.1元,余额6.66元。 + 'regex': /尾号(\d{4})卡(.*?)(网上银行支出|支出|收入)\((.*?)\)(.*?)元,余额(.*?)元。/, 'match': (match) => { - let [, number, date,type, shopName, money, ] = match; + let [, number, date,type, shopItem_, money, ] = match; let obj = new RuleObject(); obj.money = toFloat(money); obj.channel = `工商银行[${type}]`; + let {shopName,shopItem} = splitShop(shopItem_); obj.shopName = shopName; + obj.shopItem = shopItem; obj.time = formatDate(date, 'M月D日h:i'); if (type.indexOf('支出') !==-1) { diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.test.js" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.test.js" index 0ec6934..229fddd 100644 --- "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.test.js" +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/main.test.js" @@ -8,8 +8,8 @@ test('工商银行支出', () => "type": "Expend", "money": 45, "fee": 0, - "shopName": '消费支付宝-北京三快在线科技有限公司', - "shopItem": '', + "shopName": '消费支付宝', + "shopItem": '北京三快在线科技有限公司', "accountNameFrom": '工商银行(1234)', "accountNameTo": '', "currency": 'CNY', @@ -20,14 +20,26 @@ test('工商银行支出', () => "type": "Expend", "money": 4.78, "fee": 0, - "shopName": '无卡支付', - "shopItem": '', + "shopName": '', + "shopItem": '无卡支付', "accountNameFrom": '工商银行(1234)', "accountNameTo": '', "currency": 'CNY', "time": formatDate("10月14日23:41","M月D日h:i"), "channel": '工商银行[网上银行支出]', }, + { + "type": "Expend", + "money": 28.1, + "fee": 0, + "shopName": '消费支付宝', + "shopItem": '严', + "accountNameFrom": '工商银行(5537)', + "accountNameTo": '', + "currency": 'CNY', + "time": formatDate("11月11日12:39","M月D日h:i"), + "channel": '工商银行[支出]', + }, ])); test('工商银行收入', () => testAnkio('工商银行收入', [ @@ -35,8 +47,8 @@ test('工商银行收入', () => "type": "Income", "money": 6.7, "fee": 0, - "shopName": '微信零钱提现财付通', - "shopItem": '', + "shopName": '', + "shopItem": '微信零钱提现财付通', "accountNameFrom": '工商银行(1234)', "accountNameTo": '', "currency": 'CNY', diff --git "a/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/tests/\345\267\245\345\225\206\351\223\266\350\241\214\346\224\257\345\207\2723.txt" "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/tests/\345\267\245\345\225\206\351\223\266\350\241\214\346\224\257\345\207\2723.txt" new file mode 100644 index 0000000..8593619 --- /dev/null +++ "b/src/rule/com.android.phone/app/\347\237\255\344\277\241\345\267\245\345\225\206\351\223\266\350\241\214/tests/\345\267\245\345\225\206\351\223\266\350\241\214\346\224\257\345\207\2723.txt" @@ -0,0 +1,5 @@ +{ +"sender": "95588", +"body": "尾号5537卡11月11日12:39支出(消费支付宝-严)28.1元,余额6.66元。【工商银行】", +"t": 1731299979528 +} diff --git a/src/utils/Html.js b/src/utils/Html.js index 6bc5d5f..f3eb11f 100644 --- a/src/utils/Html.js +++ b/src/utils/Html.js @@ -30,7 +30,7 @@ export function splitShop(shopItem, shopName, split) { shopName = parts.slice(0, -1).join(split); // 前部分作为 shopName shopItem = parts[parts.length - 1]; // 最后部分作为 shopItem } else { - shopName = null; // 无分隔符时,默认 shopName 为 null + shopName = ''; // 无分隔符时,默认 shopName 为 null } return { shopName, shopItem };