xiongzhu 2 anni fa
parent
commit
c4ad38d5ff
1 ha cambiato i file con 24 aggiunte e 16 eliminazioni
  1. 24 16
      src/danmu/danmu.service.ts

+ 24 - 16
src/danmu/danmu.service.ts

@@ -384,27 +384,35 @@ export class DanmuService implements OnModuleInit {
         if (!updateAvatar) {
             return danmuUser
         }
-        const {
-            data: {
-                data: [user]
-            }
-        } = await axios.get('https://api.twitch.tv/helix/users', {
-            headers: {
-                Authorization: `Bearer ${await this.getTwitchAppAccessToken()}`,
-                'Client-ID': process.env.TWITCH_CLIENT_ID
-            },
-            params: {
-                id: danmuUser.platformUserId
-            }
-        })
-        const { data } = await axios.get(user.profile_image_url, { responseType: 'arraybuffer' })
+        switch (danmuUser.platform) {
+            case StreamPlatform.Twitch:
+                const {
+                    data: {
+                        data: [user]
+                    }
+                } = await axios.get('https://api.twitch.tv/helix/users', {
+                    headers: {
+                        Authorization: `Bearer ${await this.getTwitchAppAccessToken()}`,
+                        'Client-ID': process.env.TWITCH_CLIENT_ID
+                    },
+                    params: {
+                        id: danmuUser.platformUserId
+                    }
+                })
+                danmuUser.avatar = user.profile_image_url
+                danmuUser.name = user.display_name
+            case StreamPlatform.Bilibili:
+                break
+            case StreamPlatform.Douyu:
+                break
+        }
+        const { data } = await axios.get(danmuUser.avatar, { responseType: 'arraybuffer' })
         danmuUser.avatar = (
             await this.fileService.uploadBuffer(
                 data,
-                `avatar/${danmuUser.platform}/${danmuUser.platformUserId}${path.extname(user.profile_image_url)}`
+                `avatar/${danmuUser.platform}/${danmuUser.platformUserId}${path.extname(danmuUser.avatar)}`
             )
         ).url
-        danmuUser.name = user.display_name
         return await this.danmuUserRepository.save(danmuUser)
     }