fix. 알수없는 오류 얼럿에 스토브 고객센터 url 적용

This commit is contained in:
clkim
2025-11-07 13:09:22 +09:00
parent aafc3ae9b9
commit b5f723397b
11 changed files with 50 additions and 19 deletions

View File

@@ -20,6 +20,10 @@ STOVE_LAUNCHER_SCRIPT=https://js-cdn.gate8.com/libs/stove-js-service/latest/laun
STOVE_CLIENT_DOWNLOAD_URL=https://sgs-gate8-dl.game.playstove.com/game/lcs/STOVESetup.exe
STOVE_LOGIN_URL=https://accounts-dev.onstove.com/login
# STOVE
STOVE_CS=https://cs.onstove.com/service
# Log Tracking ######################################################################
# 81plug
STOVE_81PLUG=https://dvudc0gwzz5wc.cloudfront.net/v3.1/dev/svc_81plug.min.js

View File

@@ -20,6 +20,9 @@ STOVE_LAUNCHER_SCRIPT=https://js-cdn.onstove.com/libs/stove-js-service/latest/la
STOVE_CLIENT_DOWNLOAD_URL=https://sgs-live-dl.game.playstove.com/game/lcs/STOVESetup.exe
STOVE_LOGIN_URL=https://accounts.onstove.com/login
# STOVE
STOVE_CS=https://cs.onstove.com/service
# Log Tracking ######################################################################
# 81plug
STOVE_81PLUG=https://dvudc0gwzz5wc.cloudfront.net/v3.1/live/svc_81plug.min.js

View File

@@ -20,6 +20,9 @@ STOVE_LAUNCHER_SCRIPT=https://js-cdn.gate8.com/libs/stove-js-service/latest/laun
STOVE_CLIENT_DOWNLOAD_URL=https://sgs-gate8-dl.game.playstove.com/game/lcs/STOVESetup.exe
STOVE_LOGIN_URL=https://accounts-qa.onstove.com/login
# STOVE
STOVE_CS=https://cs.onstove.com/service
# Log Tracking ######################################################################
# 81plug
STOVE_81PLUG=https://dvudc0gwzz5wc.cloudfront.net/v3.1/qa/svc_81plug.min.js

View File

@@ -20,6 +20,9 @@ STOVE_LAUNCHER_SCRIPT=https://js-cdn.gate8.com/libs/stove-js-service/latest/laun
STOVE_CLIENT_DOWNLOAD_URL=https://sgs-gate8-dl.game.playstove.com/game/lcs/STOVESetup.exe
STOVE_LOGIN_URL=https://accounts.gate8.com/login
# STOVE
STOVE_CS=https://cs.onstove.com/service
# Log Tracking ######################################################################
# 81plug
STOVE_81PLUG=https://dvudc0gwzz5wc.cloudfront.net/v3.1/sandbox/svc_81plug.min.js

View File

@@ -22,9 +22,11 @@ const props = withDefaults(defineProps<Props>(), {
})
const runtimeConfig = useRuntimeConfig()
const { gameData } = useGameDataStore()
const gameDataStore = useGameDataStore()
const { isProcessing, validateLauncher } = useCheckGameStart()
const { gameData } = storeToRefs(gameDataStore)
const PLATFORM_ICON_MAP: Record<Platform, string> = {
google_play: 'AtomsIconsLogoGoogle',
app_store: 'AtomsIconsLogoApple',
@@ -75,7 +77,7 @@ const handleClick = () => {
return
}
const url = gameData?.market_json[props.platform]?.url
const url = gameData.value?.market_json[props.platform]?.url
if (url) window.open(url, '_blank')
}
</script>

View File

@@ -1,14 +1,14 @@
<script setup lang="ts">
const showSnsList = ref(false)
const isForceClosed = ref(false)
const { gameData } = useGameDataStore()
const gameDataStore = useGameDataStore()
const modalStore = useModalStore()
const { gameData } = storeToRefs(gameDataStore)
const { handleOpenToast } = modalStore
const snsBackgroundColor = computed(() => {
const colorData = gameData?.comm_sns_bg_color_json?.display
const colorData = gameData.value?.comm_sns_bg_color_json?.display
const colorCode = getColorCode({
colorName: colorData?.color_name,
colorCode: colorData?.color_code,
@@ -16,7 +16,7 @@ const snsBackgroundColor = computed(() => {
return colorCode
})
const snsList = computed(() => {
return gameData?.sns_json
return gameData.value?.sns_json
})
const handleMouseEnter = () => {

View File

@@ -5,11 +5,13 @@ let cpHeader: any = null
const runtimeConfig = useRuntimeConfig()
const { locale, availableLocales } = useI18n()
const { gameData } = useGameDataStore()
const gameDataStore = useGameDataStore()
const { gameData } = storeToRefs(gameDataStore)
const stoveInflowPath = runtimeConfig.public.stoveInflowPath
const stoveGameNo = runtimeConfig.public.stoveGameNo
const stoveGnbData = gameData?.stove_gnb_json
const stoveGnbData = gameData.value?.stove_gnb_json
const languageCodes = computed(() => {
if (Array.isArray(availableLocales)) {

View File

@@ -6,14 +6,18 @@ interface Props {
const props = defineProps<Props>()
const { locale } = useI18n()
const runtimeConfig = useRuntimeConfig()
const gameDataStore = useGameDataStore()
const modalStore = useModalStore()
const { gameData } = useGameDataStore()
const { handleTokenValidation } = useTokenValidation()
const { getPreregist, setPreregist } = usePreregist()
const { isNorthAmerica, countryCode } = useGds()
// Multilingual
const { locale } = useI18n()
const { gameData } = storeToRefs(gameDataStore)
const stoveCs = runtimeConfig.public.stoveCs
const customerServiceUrl = `${stoveCs}/${gameData.value?.game_id}`
// Props로 전달받은 tm 또는 전역 i18n의 tm 사용
const t = (key: string) => {
@@ -27,7 +31,7 @@ const t = (key: string) => {
const tWithGameName = (key: string) => {
const text = t(key)
if (typeof text === 'string' && text.includes('%게임명%')) {
const gameName = gameData?.game_name ?? ''
const gameName = gameData.value?.game_name ?? ''
return text.replace(/%게임명%/g, gameName)
}
return text
@@ -128,7 +132,7 @@ const showErrorModal = (code: number) => {
contentText: t('Alert_Error'),
confirmButtonText: t('Text_Customer'),
confirmButtonEvent: () => {
window.open('aa', '_blank')
window.open(customerServiceUrl, '_blank')
},
})
}

View File

@@ -4,14 +4,18 @@ import { csrGoStoveLogin } from '#layers/utils/stoveUtil'
export const useCheckGameStart = () => {
const { tm } = useI18n()
const modalStore = useModalStore()
const runtimeConfig = useRuntimeConfig()
const gameDataStore = useGameDataStore()
const modalStore = useModalStore()
const { handleTokenValidation } = useTokenValidation()
const { gameData } = storeToRefs(gameDataStore)
const stoveCs = runtimeConfig.public.stoveCs
const isProcessing = ref(false) // 연속 클릭 방지
const isShowCheckLauncher = ref(false) // 런처 실행 로딩 표시
const isShowDownloadLauncher = ref(false) // 런처 다운로드 표시
const customerService = 'https://www.google.com' //[TODO] 고객센터 링크
const customerServiceUrl = `${stoveCs}/${gameData.value?.game_id}`
// 에러 처리
const errorHandler = (errorCode: number) => {
@@ -50,7 +54,7 @@ export const useCheckGameStart = () => {
contentText: tm('Alert_Error'),
confirmButtonText: tm('Text_Customer'),
confirmButtonEvent: () => {
window.open(customerService, '_blank')
window.open(customerServiceUrl, '_blank')
},
})
break

View File

@@ -14,12 +14,16 @@ interface TokenValidationResponse {
}
export const useTokenValidation = () => {
const config = useRuntimeConfig()
const runtimeConfig = useRuntimeConfig()
const modalStore = useModalStore()
const gameDataStore = useGameDataStore()
const { tm } = useI18n()
const apiBaseUrl = config.public.stoveApiUrl
const customerServiceUrl = 'https://www.google.com' // TODO: 고객센터 링크로 변경
const { gameData } = storeToRefs(gameDataStore)
const apiBaseUrl = runtimeConfig.public.stoveApiUrl
const stoveCs = runtimeConfig.public.stoveCs
const customerServiceUrl = `${stoveCs}/${gameData.value?.game_id}`
const isTokenValid = ref(false)
// 로그인 모달 표시

View File

@@ -88,6 +88,8 @@ export default defineNuxtConfig({
stoveGnb: process.env.STOVE_GNB,
stoveCs: process.env.STOVE_CS,
stoveLauncherScript: process.env.STOVE_LAUNCHER_SCRIPT,
stoveClientDownloadUrl: process.env.STOVE_CLIENT_DOWNLOAD_URL,
stoveLoginUrl: process.env.STOVE_LOGIN_URL,