diff --git a/src/router/index.ts b/src/router/index.ts index 8f3579d..5f80785 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -47,6 +47,11 @@ const routes: Array = [ { path: '', name: 'installer.index', + component: () => import('@/views/Installer/HYP.vue'), + }, + { + path: '', + name: 'installer.legacy', component: () => import('@/views/Installer/Index.vue'), }, ], diff --git a/src/typings/hyp.ts b/src/typings/hyp.ts new file mode 100644 index 0000000..b60e412 --- /dev/null +++ b/src/typings/hyp.ts @@ -0,0 +1,138 @@ +export interface HYPGame { + biz: string + biz_extra: string + display: { + background: { + link: string + url: string + } + icon: { + hover_url: string + link: string + url: string + } + language: string + logo: { + link: string + url: string + } + name: string + subtitle: string + thumbnail: { + link: string + url: string + } + title: string + } + display_status: string + id: string + reservation?: { + link: string + } +} + +export interface HYPType { + game_channel_sdks: Array<{ + channel_sdk_pkg: { + decompressed_size: string + md5: string + size: string + url: string + } + game: { + biz: string + biz_extra: string + id: string + } + pkg_version_file_name: string + version: string + }> + game_packages: Array<{ + game: { + biz: string + biz_extra: string + id: string + } + main: { + major: { + audio_pkgs: Array<{ + decompressed_size: string + language: string + md5: string + size: string + url: string + }> + game_pkgs: Array<{ + decompressed_size: string + md5: string + size: string + url: string + }> + res_list_url: string + version: string + } + patches: Array<{ + audio_pkgs: Array<{ + decompressed_size: string + language: string + md5: string + size: string + url: string + }> + game_pkgs: Array<{ + decompressed_size: string + md5: string + size: string + url: string + }> + res_list_url: string + version: string + }> + } + pre_download: { + major?: { + audio_pkgs: Array<{ + decompressed_size: string + language: string + md5: string + size: string + url: string + }> + game_pkgs: Array<{ + decompressed_size: string + md5: string + size: string + url: string + }> + res_list_url: string + version: string + } + patches: Array<{ + audio_pkgs: Array<{ + decompressed_size: string + language: string + md5: string + size: string + url: string + }> + game_pkgs: Array<{ + decompressed_size: string + md5: string + size: string + url: string + }> + res_list_url: string + version: string + }> + } + }> + games: HYPGame[] + last_modified: string +} + +export interface HYPGameItem extends HYPGame { + game_channel_sdks: HYPType['game_channel_sdks'] + game_packages: HYPType['game_packages'] + biz_short: string + biz_region: string +} diff --git a/src/views/Installer/HYP.vue b/src/views/Installer/HYP.vue new file mode 100644 index 0000000..33a4431 --- /dev/null +++ b/src/views/Installer/HYP.vue @@ -0,0 +1,189 @@ +el-message + + + + diff --git a/src/views/Installer/HYPCard.vue b/src/views/Installer/HYPCard.vue new file mode 100644 index 0000000..3fda889 --- /dev/null +++ b/src/views/Installer/HYPCard.vue @@ -0,0 +1,352 @@ + + + + diff --git a/src/views/Installer/Index.vue b/src/views/Installer/Index.vue index 659d6e4..36f3383 100644 --- a/src/views/Installer/Index.vue +++ b/src/views/Installer/Index.vue @@ -3,7 +3,11 @@ - +