diff --git a/env.d.ts b/env.d.ts index 11f02fe..1b51202 100644 --- a/env.d.ts +++ b/env.d.ts @@ -1 +1,35 @@ /// + +// Google Identity Services 类型声明 +interface GoogleAccounts { + accounts: { + id: { + initialize: (config: { + client_id: string + auto_select?: boolean + callback: (response: { credential: string }) => void + ux_mode?: 'popup' | 'redirect' + itp_support?: boolean + }) => void + renderButton: (element: Element | null, config: { + type?: 'standard' | 'icon' + shape?: 'rectangular' | 'pill' | 'circle' | 'square' + theme?: 'outline' | 'filled_blue' | 'filled_black' + size?: 'large' | 'medium' | 'small' + logo_alignment?: 'left' | 'center' + }) => void + } + oauth2: { + initTokenClient: (config: { + client_id: string + callback: (response: { access_token: string }) => void + scope?: string + }) => void + } + } +} + +interface Window { + google?: GoogleAccounts + isAddGmail?: boolean +} \ No newline at end of file diff --git a/src/api/login.ts b/src/api/login.ts index efa60dc..83a33f2 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -50,11 +50,11 @@ export const LogOut = (): Promise => { // Google登录/注册参数类型 interface GoogleAuthParamsType { - credential?: string // Google ID Token (用于One Tap登录) + accessToken?: string // Google ID Token (用于One Tap登录) } export const googleAuth = (data: GoogleAuthParamsType): Promise => { return request({ - url: '/api/auth/parseGoogleCredential', + url: '/api/auth/parseGoogleAccessToken', method: 'get', params: data }) diff --git a/src/components/FooterNavigation.vue b/src/components/FooterNavigation.vue index 2ce5395..56fc7c4 100644 --- a/src/components/FooterNavigation.vue +++ b/src/components/FooterNavigation.vue @@ -31,7 +31,7 @@ .catch(() => {}) } const navs = [ - { label: 'Home', icon: 'home', size: 73, path: '/stylist/customer', on: onHome }, + { label: 'Home', icon: 'home', size: 73, path: '/homeNav' }, { label: 'Library', icon: 'library', size: 53, path: '/workshop/library' }, { label: 'Profile', icon: 'profile', size: 55, path: '/workshop/profile' } ] diff --git a/src/components/HeaderTitle.vue b/src/components/HeaderTitle.vue index 6d44400..7170e9c 100644 --- a/src/components/HeaderTitle.vue +++ b/src/components/HeaderTitle.vue @@ -5,7 +5,7 @@ defineProps({ title: { type: String, default: 'AI STYLING ASSISTANT' }, hasSetting: { type: Boolean, default: false }, - styleType: { type: String, default: '1' },//1低 2高 + styleType: { type: String, default: '1' },//1低 2高 3-12rem isPlaceholder: { type: Boolean, default: true }, }) @@ -36,6 +36,10 @@ --header-title-border-bottom-width: 0.2rem; --header-title-return-left: 7.8rem; } + &[style-type="3"] { + --header-title-height: 12rem; + --header-title-border-bottom-width: 0.2rem; + } > div { width: 100%; height: var(--header-title-height, 9.9rem); diff --git a/src/components/MyList.vue b/src/components/MyList.vue index 8a48138..425bee6 100644 --- a/src/components/MyList.vue +++ b/src/components/MyList.vue @@ -28,7 +28,7 @@ diff --git a/src/components/selectStyle/selectItem.vue b/src/components/selectStyle/selectItem.vue index 1b44ac1..e8dccd0 100644 --- a/src/components/selectStyle/selectItem.vue +++ b/src/components/selectStyle/selectItem.vue @@ -88,11 +88,11 @@ const {} = toRefs(data); > .item{ width: calc(50% - 3.1rem / 2); position: relative; - margin-bottom: 3.3rem; + // margin-bottom: 3.3rem; display: flex; flex-direction: column; > .title{ - font-size: 3.6rem; + font-size: 3.44rem; font-weight: 700; color: #000; font-family: 'satoshiMedium'; @@ -102,7 +102,7 @@ const {} = toRefs(data); justify-content: space-between; align-items: center; flex-wrap: wrap; - height: 47.2rem; + height: 45rem; margin: 2.4rem 0; background-color: #fff; justify-content: center; @@ -148,8 +148,8 @@ const {} = toRefs(data); color: #000; margin-right: 1.2rem; border-radius: 50%; - width: 6.6rem; - height: 6.6rem; + width: 5.2rem; + height: 5.2rem; padding: 1rem; background-color: #fff; &:last-child{ diff --git a/src/views/Workshop/customize.vue b/src/views/Workshop/customize.vue index 0cf10aa..b893be7 100644 --- a/src/views/Workshop/customize.vue +++ b/src/views/Workshop/customize.vue @@ -26,12 +26,12 @@ } const onReload = () => { customizeInfo.inputText = customizeInfo.oldInputText - generate("reload") + generate('reload') customizeInfo.inputText = '' } // 生成结果 - const generate = (type?: "reload") => { + const generate = (type?: 'reload') => { customizeInfo.oldInputText = customizeInfo.inputText customizeInfo.oldTryOnId = customizeInfo.tryOnId const data = { @@ -39,14 +39,15 @@ visitRecordId: generateStore.visitRecordId, styleId: generateStore.styleId, // modelPhotoId: generateStore.modelPhotoId, - originalTryOnId: type === "reload" ? customizeInfo.oldTryOnId : generateStore.originalTryOnId, + originalTryOnId: type === 'reload' ? customizeInfo.oldTryOnId : generateStore.originalTryOnId, isRegenerated: 1, prompt: customizeInfo.inputText } - if (generateStore.customerPhotoId && customizeInfo.count === 0) data["customerPhotoId"] = generateStore.customerPhotoId + if (generateStore.customerPhotoId && customizeInfo.count === 0) + data['customerPhotoId'] = generateStore.customerPhotoId loading.value = true generateTryOnEffect(data) - .then((res:any) => { + .then((res: any) => { customizeInfo.count++ customizeInfo.tryOnId = res.tryOnId customizeInfo.tryOnUrl = res.tryOnUrl @@ -92,41 +93,41 @@