Quellcode durchsuchen

chore: update package-lock.json and improve type safety in project services

0235711 vor 15 Stunden
Ursprung
Commit
51327289b8

+ 14 - 4
package-lock.json

@@ -45,6 +45,7 @@
         "@codemirror/theme-one-dark": "^6.1.3",
         "@codemirror/view": "^6.38.6",
         "@ctrl/tinycolor": "^4.2.0",
+        "@fortawesome/fontawesome-free": "^7.1.0",
         "@ionic/angular": "^8.7.7",
         "@langchain/core": "^0.3.78",
         "@types/spark-md5": "^3.0.5",
@@ -54,7 +55,7 @@
         "echarts": "^6.0.0",
         "esdk-obs-browserjs": "^3.25.6",
         "eventemitter3": "^5.0.1",
-        "fmode-ng": "^0.0.212",
+        "fmode-ng": "^0.0.219",
         "highlight.js": "^11.11.1",
         "jquery": "^3.7.1",
         "markdown-it": "^14.1.0",
@@ -2310,6 +2311,15 @@
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
+    "node_modules/@fortawesome/fontawesome-free": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.1.0.tgz",
+      "integrity": "sha512-+WxNld5ZCJHvPQCr/GnzCTVREyStrAJjisUPtUxG5ngDA8TMlPnKp6dddlTpai4+1GNmltAeuk1hJEkBohwZYA==",
+      "license": "(CC-BY-4.0 AND OFL-1.1 AND MIT)",
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/@humanfs/core": {
       "version": "0.19.1",
       "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
@@ -8119,9 +8129,9 @@
       "license": "ISC"
     },
     "node_modules/fmode-ng": {
-      "version": "0.0.212",
-      "resolved": "https://registry.npmmirror.com/fmode-ng/-/fmode-ng-0.0.212.tgz",
-      "integrity": "sha512-R+4XTtXxIkZs8AmfdA0b8gjFLQVYfZnOfOPLQ9icn7YgTBjup+kJYzOSsFHPKIhvYWxLr+w3TxXKxELEY2qmYw==",
+      "version": "0.0.219",
+      "resolved": "https://registry.npmjs.org/fmode-ng/-/fmode-ng-0.0.219.tgz",
+      "integrity": "sha512-ymPuDM7lRH9W60Pt9dpnDizxOFY922hZiRi6dcn+s+aEygZIrLbgdBZHvs2an9ygvhSij8rV2pa4xl/o3UUy5w==",
       "license": "COPYRIGHT © 未来飞马 未来全栈 www.fmode.cn All RIGHTS RESERVED",
       "dependencies": {
         "tslib": "^2.3.0"

+ 1 - 1
src/app/pages/admin/services/project.service.ts

@@ -190,7 +190,7 @@ export class ProjectService {
       objectIds.map(id => this.getProject(id))
     );
 
-    const validProjects = projects.filter(p => p !== null) as FmodeObject[];
+    const validProjects = projects.filter((p): p is FmodeObject => p !== null);
     if (validProjects.length === 0) {
       return 0;
     }

+ 3 - 3
src/modules/project/pages/contact/contact.component.ts

@@ -274,7 +274,7 @@ export class CustomerProfileComponent implements OnInit {
 
       // 过滤包含该客户的群聊
       const externalUserId = this.contactInfo!.get('external_userid');
-      const filteredGroups = groups.filter(g => {
+      const filteredGroups = groups.filter((g: any) => {
         const memberList = g.get('member_list') || [];
         return memberList.some((m: any) =>
           m.type === 2 && m.userid === externalUserId
@@ -283,7 +283,7 @@ export class CustomerProfileComponent implements OnInit {
 
       // 加载群聊关联的项目
       this.profile.groups = await Promise.all(
-        filteredGroups.map(async (groupChat) => {
+        filteredGroups.map(async (groupChat: any) => {
           const projectPointer = groupChat.get('project');
           let project = null;
 
@@ -334,7 +334,7 @@ export class CustomerProfileComponent implements OnInit {
 
       const communications = await query.find();
 
-      this.profile.followUpRecords = communications.map(comm => ({
+      this.profile.followUpRecords = communications.map((comm: any) => ({
         time: comm.get('createdAt'),
         type: comm.get('communicationType') || 'message',
         content: comm.get('content') || '',

+ 2 - 2
src/modules/project/pages/project-detail/stages/stage-aftercare.component.ts

@@ -85,7 +85,7 @@ export class StageAftercareComponent implements OnInit {
   saving: boolean = false;
 
   // 注入上传服务
-  private uploadService = inject(NovaUploadService);
+  private uploadService: NovaUploadService = inject(NovaUploadService);
 
   constructor(
     private route: ActivatedRoute
@@ -185,7 +185,7 @@ export class StageAftercareComponent implements OnInit {
       this.uploading = true;
 
       // 使用 NovaUploadService 上传文件
-      const fileResult = await this.uploadService.upload(file);
+      const fileResult: any = await this.uploadService.upload(file);
       const url = fileResult.url;
 
       // 暂时不使用OCR,需要手动输入金额和支付方式

+ 2 - 2
src/modules/project/pages/project-detail/stages/stage-delivery.component.ts

@@ -116,7 +116,7 @@ export class StageDeliveryComponent implements OnInit {
   saving: boolean = false;
 
   // 注入上传服务
-  private uploadService = inject(NovaUploadService);
+  private uploadService: NovaUploadService = inject(NovaUploadService);
 
   constructor(
     private route: ActivatedRoute
@@ -238,7 +238,7 @@ export class StageDeliveryComponent implements OnInit {
       this.uploading = true;
 
       // 使用 NovaUploadService 上传文件
-      const fileResult = await this.uploadService.upload(file);
+      const fileResult: any = await this.uploadService.upload(file);
       const url = fileResult.url;
 
       const deliverable = this.getDeliverable(spaceName, processType);

+ 2 - 2
src/modules/project/pages/project-loader/project-loader.component.ts

@@ -246,8 +246,8 @@ export class ProjectLoaderComponent implements OnInit {
       const projectGroups = await pgQuery.find();
 
       this.historyProjects = projectGroups
-        .map(pg => pg.get('project'))
-        .filter(p => p && !p.get('isDeleted'));
+        .map((pg: any) => pg.get('project'))
+        .filter((p: any) => p && !p.get('isDeleted'));
 
       wxdebug('找到历史项目', { count: this.historyProjects.length });
     } catch (err) {

+ 3 - 3
src/modules/project/services/wxwork-sdk.service.ts

@@ -409,10 +409,10 @@ export class WxworkSDKService {
         groupName: options.groupName,
         userIds: options.userIds,
         externalUserIds: options.externalUserIds,
-        success: (data) => {
+        success: (data: any) => {
           resolve(data);
         },
-        fail: (err) => {
+        fail: (err: any) => {
           reject(err);
         }
       });
@@ -460,7 +460,7 @@ export class WxworkSDKService {
         success: () => {
           resolve();
         },
-        fail: (err) => {
+        fail: (err: any) => {
           reject(err);
         }
       });