From 07d73df3d817d01ce47f6c7b7a8d8514cd389295 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 13 三月 2025 10:19:44 +0800 Subject: [PATCH] release: @life-payment/core v0.0.3 --- packages/core/src/lifeRecharge.ts | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/packages/core/src/lifeRecharge.ts b/packages/core/src/lifeRecharge.ts index 0842aba..c529319 100644 --- a/packages/core/src/lifeRecharge.ts +++ b/packages/core/src/lifeRecharge.ts @@ -52,4 +52,70 @@ filterParValueList(parValueList: string[]) { return parValueList.filter((x) => Number(x) <= this.MaxParValue); } + + getCarrierByPhoneNumber(phoneNumber: string): LifeRechargeConstants.IspCode { + // 瀹氫箟鍙锋鍜屽搴旂殑杩愯惀鍟� + const carrierSegments = { + [LifeRechargeConstants.IspCode.yidong]: [ + '134', + '135', + '136', + '137', + '138', + '139', + '150', + '151', + '152', + '157', + '158', + '159', + '182', + '183', + '184', + '187', + '188', + '198', + '147', + '178', + '165', + ], + [LifeRechargeConstants.IspCode.liantong]: [ + '130', + '131', + '132', + '155', + '156', + '185', + '186', + '145', + '176', + '166', + ], + [LifeRechargeConstants.IspCode.dianxin]: [ + '133', + '153', + '180', + '181', + '189', + '177', + '199', + '191', + ], + }; + + // 妫�鏌ユ墜鏈哄彿鏄惁鏈夋晥锛堣繖閲屽彧绠�鍗曟鏌ラ暱搴︼級 + if (!/^\d{11}$/.test(phoneNumber)) { + return '' as any; + } + + let prefix = phoneNumber.substr(0, 3); + for (let carrier in carrierSegments) { + if (carrierSegments[carrier].includes(prefix)) { + return carrier as LifeRechargeConstants.IspCode; + } + } + + // 濡傛灉娌℃湁鎵惧埌鍖归厤鐨勫彿娈碉紝鍒欒繑鍥炴湭鐭� + return '' as any; + } } -- Gitblit v1.9.1