From 381c97332e567a1b95a9a5220275461d0ae3f74e Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 28 三月 2025 17:30:37 +0800
Subject: [PATCH] fix: 四期需求

---
 packages/core/src/lifeRechargeAccountModel.ts |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/packages/core/src/lifeRechargeAccountModel.ts b/packages/core/src/lifeRechargeAccountModel.ts
index b949add..45a7dfd 100644
--- a/packages/core/src/lifeRechargeAccountModel.ts
+++ b/packages/core/src/lifeRechargeAccountModel.ts
@@ -1,12 +1,24 @@
 import { BlLifeRechargeAccountModelOptions } from './types';
+import { ChannelOutput } from './lifeRechargeServices';
+import { BlLifeRecharge } from './lifeRecharge';
 
-export class BlLifeRechargeAccountModel {
+export class BlLifeRechargeAccountModel<TResponse = any, TRequestOptions = any> {
+  ctx: BlLifeRecharge<TResponse, TRequestOptions>;
+
   userId = '';
   phoneNumber = '';
   channlesNum = '';
 
-  constructor(options: BlLifeRechargeAccountModelOptions = {}) {
+  /**鐢ㄦ埛鎵�鏈夌殑娓犻亾 */
+  userChannles = [] as ChannelOutput[];
+  isBackClientUser: boolean;
+
+  constructor(
+    ctx: BlLifeRecharge<TResponse, TRequestOptions>,
+    options: BlLifeRechargeAccountModelOptions = {}
+  ) {
     const { userId = '', phoneNumber = '', channlesNum } = options;
+    this.ctx = ctx;
     this.setUserId(userId);
     this.setPhoneNumber(phoneNumber);
     this.setChannlesNum(channlesNum);
@@ -14,12 +26,42 @@
 
   setUserId(userId: string) {
     this.userId = userId;
+    this.ctx.listener.fireEvent('update', this.ctx);
+    // if (userId) {
+    //   this.getUserInfo(userId);
+    // }
+  }
+
+  async getUserInfo(userId?: string) {
+    try {
+      let res = await this.ctx.services.lifePayUserMesssageByIduser(
+        {
+          id: userId || this.userId,
+        },
+        {
+          showLoading: false,
+        }
+      );
+      this.isBackClientUser = res.isBackClientUser;
+      if (res && res.isBackClientUser) {
+        this.setUserChannles(res.channlesNum ?? []);
+      }
+      return res;
+    } catch (error) {
+      console.log('error: ', error);
+    }
   }
 
   setPhoneNumber(phoneNumber: string) {
     this.phoneNumber = phoneNumber;
+    this.ctx.listener.fireEvent('update', this.ctx);
   }
   setChannlesNum(channlesNum: string) {
     this.channlesNum = channlesNum;
+    this.ctx.listener.fireEvent('update', this.ctx);
+  }
+  setUserChannles(userChannles: ChannelOutput[]) {
+    this.userChannles = userChannles;
+    this.ctx.listener.fireEvent('update', this.ctx);
   }
 }

--
Gitblit v1.9.1