refactor(data): consolidate data layer under services namespace
- Move src/data/{api,dto,schemas} directories to src/data/services/*
- Update all relative imports across the codebase to reference new paths
- Use CSS color tokens for splash button gradient in splash-button.module.css
- Add responsive sizes attribute to splash background image
- Add JSDoc documentation to splash-background component referencing original Dart implementation
This commit is contained in:
@@ -1,4 +1,17 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
/**
|
||||||
|
* Splash 背景图片
|
||||||
|
*
|
||||||
|
* 原始 Dart: lib/ui/splash/widgets/splash_background.dart
|
||||||
|
* `SizedBox.expand(child: Assets.images.picBgHome.image(fit: BoxFit.cover))`
|
||||||
|
* 资源: /public/images/splash/pic-bg-home.png (kebab-case 重命名后)
|
||||||
|
* 原名: pic_bg_home.png (snake_case)
|
||||||
|
*
|
||||||
|
* sizes 属性说明:
|
||||||
|
* 图片在 MobileShell 内(max-width: 500px)。
|
||||||
|
* - 视口 ≤ 500px:MobileShell = 100vw,图片 = 100vw
|
||||||
|
* - 视口 > 500px:MobileShell = 500px,图片 = 500px
|
||||||
|
*/
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
import styles from "./splash-background.module.css";
|
import styles from "./splash-background.module.css";
|
||||||
|
|
||||||
@@ -10,7 +23,7 @@ export function SplashBackground() {
|
|||||||
alt=""
|
alt=""
|
||||||
fill
|
fill
|
||||||
priority
|
priority
|
||||||
sizes="100vw"
|
sizes="(max-width: 500px) 100vw, 500px"
|
||||||
className={styles.image}
|
className={styles.image}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -34,10 +34,11 @@
|
|||||||
padding: 0 30px;
|
padding: 0 30px;
|
||||||
border: 0;
|
border: 0;
|
||||||
border-radius: 24px;
|
border-radius: 24px;
|
||||||
|
/* 渐变色引用 tokens/colors.css 中定义的 token */
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
to right,
|
to right,
|
||||||
#fff96ade,
|
var(--color-button-gradient-start),
|
||||||
#fff657a0
|
var(--color-button-gradient-end)
|
||||||
);
|
);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import { RefreshTokenResponse } from "@/data/dto/auth/refresh_token_response";
|
|||||||
import { RegisterRequest } from "@/data/dto/auth/register_request";
|
import { RegisterRequest } from "@/data/dto/auth/register_request";
|
||||||
import { SendCodeRequest } from "@/data/dto/auth/send_code_request";
|
import { SendCodeRequest } from "@/data/dto/auth/send_code_request";
|
||||||
import { User } from "@/data/dto/user/user";
|
import { User } from "@/data/dto/user/user";
|
||||||
import type { UserData } from "@/data/schemas/user/user";
|
import type { UserData } from "@/data/services/schemas/user/user";
|
||||||
|
|
||||||
export class AuthApi {
|
export class AuthApi {
|
||||||
/**
|
/**
|
||||||
@@ -12,7 +12,7 @@ import { CreditsHistoryData } from "@/data/dto/user/credits_history_data";
|
|||||||
import { UpdateProfileRequest } from "@/data/dto/user/update_profile_request";
|
import { UpdateProfileRequest } from "@/data/dto/user/update_profile_request";
|
||||||
import { User } from "@/data/dto/user/user";
|
import { User } from "@/data/dto/user/user";
|
||||||
import { UserStatsResponse } from "@/data/dto/user/user_stats_response";
|
import { UserStatsResponse } from "@/data/dto/user/user_stats_response";
|
||||||
import type { UserData } from "@/data/schemas/user/user";
|
import type { UserData } from "@/data/services/schemas/user/user";
|
||||||
|
|
||||||
export class UserApi {
|
export class UserApi {
|
||||||
/**
|
/**
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
AppleLoginRequestSchema,
|
AppleLoginRequestSchema,
|
||||||
type AppleLoginRequestInput,
|
type AppleLoginRequestInput,
|
||||||
type AppleLoginRequestData,
|
type AppleLoginRequestData,
|
||||||
} from "@/data/schemas/auth/apple_login_request";
|
} from "@/data/services/schemas/auth/apple_login_request";
|
||||||
|
|
||||||
export class AppleLoginRequest {
|
export class AppleLoginRequest {
|
||||||
declare readonly identityToken: string;
|
declare readonly identityToken: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
FacebookLoginRequestSchema,
|
FacebookLoginRequestSchema,
|
||||||
type FacebookLoginRequestInput,
|
type FacebookLoginRequestInput,
|
||||||
type FacebookLoginRequestData,
|
type FacebookLoginRequestData,
|
||||||
} from "@/data/schemas/auth/facebook_login_request";
|
} from "@/data/services/schemas/auth/facebook_login_request";
|
||||||
|
|
||||||
export class FacebookLoginRequest {
|
export class FacebookLoginRequest {
|
||||||
declare readonly accessToken: string;
|
declare readonly accessToken: string;
|
||||||
+1
-1
@@ -7,7 +7,7 @@ import {
|
|||||||
FacebookUserDataSchema,
|
FacebookUserDataSchema,
|
||||||
type FacebookUserDataInput,
|
type FacebookUserDataInput,
|
||||||
type FacebookUserDataData,
|
type FacebookUserDataData,
|
||||||
} from "@/data/schemas/auth/facebook_user_data";
|
} from "@/data/services/schemas/auth/facebook_user_data";
|
||||||
|
|
||||||
export class FacebookUserData {
|
export class FacebookUserData {
|
||||||
declare readonly id: string | null;
|
declare readonly id: string | null;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
FbIdLoginRequestSchema,
|
FbIdLoginRequestSchema,
|
||||||
type FbIdLoginRequestInput,
|
type FbIdLoginRequestInput,
|
||||||
type FbIdLoginRequestData,
|
type FbIdLoginRequestData,
|
||||||
} from "@/data/schemas/auth/fb_id_login_request";
|
} from "@/data/services/schemas/auth/fb_id_login_request";
|
||||||
|
|
||||||
export class FbIdLoginRequest {
|
export class FbIdLoginRequest {
|
||||||
declare readonly fbId: string;
|
declare readonly fbId: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
GoogleLoginRequestSchema,
|
GoogleLoginRequestSchema,
|
||||||
type GoogleLoginRequestInput,
|
type GoogleLoginRequestInput,
|
||||||
type GoogleLoginRequestData,
|
type GoogleLoginRequestData,
|
||||||
} from "@/data/schemas/auth/google_login_request";
|
} from "@/data/services/schemas/auth/google_login_request";
|
||||||
|
|
||||||
export class GoogleLoginRequest {
|
export class GoogleLoginRequest {
|
||||||
declare readonly idToken: string;
|
declare readonly idToken: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
GuestLoginRequestSchema,
|
GuestLoginRequestSchema,
|
||||||
type GuestLoginRequestInput,
|
type GuestLoginRequestInput,
|
||||||
type GuestLoginRequestData,
|
type GuestLoginRequestData,
|
||||||
} from "@/data/schemas/auth/guest_login_request";
|
} from "@/data/services/schemas/auth/guest_login_request";
|
||||||
|
|
||||||
export class GuestLoginRequest {
|
export class GuestLoginRequest {
|
||||||
declare readonly deviceId: string;
|
declare readonly deviceId: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
GuestLoginResponseSchema,
|
GuestLoginResponseSchema,
|
||||||
type GuestLoginResponseInput,
|
type GuestLoginResponseInput,
|
||||||
type GuestLoginResponseData,
|
type GuestLoginResponseData,
|
||||||
} from "@/data/schemas/auth/guest_login_response";
|
} from "@/data/services/schemas/auth/guest_login_response";
|
||||||
import { User } from "@/data/dto/user/user";
|
import { User } from "@/data/dto/user/user";
|
||||||
|
|
||||||
export class GuestLoginResponse {
|
export class GuestLoginResponse {
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
LoginRequestSchema,
|
LoginRequestSchema,
|
||||||
type LoginRequestInput,
|
type LoginRequestInput,
|
||||||
type LoginRequestData,
|
type LoginRequestData,
|
||||||
} from "@/data/schemas/auth/login_request";
|
} from "@/data/services/schemas/auth/login_request";
|
||||||
|
|
||||||
export class LoginRequest {
|
export class LoginRequest {
|
||||||
declare readonly email: string;
|
declare readonly email: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
LoginResponseSchema,
|
LoginResponseSchema,
|
||||||
type LoginResponseInput,
|
type LoginResponseInput,
|
||||||
type LoginResponseData,
|
type LoginResponseData,
|
||||||
} from "@/data/schemas/auth/login_response";
|
} from "@/data/services/schemas/auth/login_response";
|
||||||
import { User } from "@/data/dto/user/user";
|
import { User } from "@/data/dto/user/user";
|
||||||
|
|
||||||
export class LoginResponse {
|
export class LoginResponse {
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
LogoutResponseSchema,
|
LogoutResponseSchema,
|
||||||
type LogoutResponseInput,
|
type LogoutResponseInput,
|
||||||
type LogoutResponseData,
|
type LogoutResponseData,
|
||||||
} from "@/data/schemas/auth/logout_response";
|
} from "@/data/services/schemas/auth/logout_response";
|
||||||
|
|
||||||
export class LogoutResponse {
|
export class LogoutResponse {
|
||||||
declare readonly success: boolean;
|
declare readonly success: boolean;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
RefreshTokenRequestSchema,
|
RefreshTokenRequestSchema,
|
||||||
type RefreshTokenRequestInput,
|
type RefreshTokenRequestInput,
|
||||||
type RefreshTokenRequestData,
|
type RefreshTokenRequestData,
|
||||||
} from "@/data/schemas/auth/refresh_token_request";
|
} from "@/data/services/schemas/auth/refresh_token_request";
|
||||||
|
|
||||||
export class RefreshTokenRequest {
|
export class RefreshTokenRequest {
|
||||||
declare readonly refreshToken: string;
|
declare readonly refreshToken: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
RefreshTokenResponseSchema,
|
RefreshTokenResponseSchema,
|
||||||
type RefreshTokenResponseInput,
|
type RefreshTokenResponseInput,
|
||||||
type RefreshTokenResponseData,
|
type RefreshTokenResponseData,
|
||||||
} from "@/data/schemas/auth/refresh_token_response";
|
} from "@/data/services/schemas/auth/refresh_token_response";
|
||||||
|
|
||||||
export class RefreshTokenResponse {
|
export class RefreshTokenResponse {
|
||||||
declare readonly token: string;
|
declare readonly token: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
RegisterRequestSchema,
|
RegisterRequestSchema,
|
||||||
type RegisterRequestInput,
|
type RegisterRequestInput,
|
||||||
type RegisterRequestData,
|
type RegisterRequestData,
|
||||||
} from "@/data/schemas/auth/register_request";
|
} from "@/data/services/schemas/auth/register_request";
|
||||||
|
|
||||||
export class RegisterRequest {
|
export class RegisterRequest {
|
||||||
declare readonly username: string;
|
declare readonly username: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
SendCodeRequestSchema,
|
SendCodeRequestSchema,
|
||||||
type SendCodeRequestInput,
|
type SendCodeRequestInput,
|
||||||
type SendCodeRequestData,
|
type SendCodeRequestData,
|
||||||
} from "@/data/schemas/auth/send_code_request";
|
} from "@/data/services/schemas/auth/send_code_request";
|
||||||
|
|
||||||
export class SendCodeRequest {
|
export class SendCodeRequest {
|
||||||
declare readonly email: string;
|
declare readonly email: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
ChatHistoryResponseSchema,
|
ChatHistoryResponseSchema,
|
||||||
type ChatHistoryResponseInput,
|
type ChatHistoryResponseInput,
|
||||||
type ChatHistoryResponseData,
|
type ChatHistoryResponseData,
|
||||||
} from "@/data/schemas/chat/chat_history_response";
|
} from "@/data/services/schemas/chat/chat_history_response";
|
||||||
import { ChatMessage } from "./chat_message";
|
import { ChatMessage } from "./chat_message";
|
||||||
|
|
||||||
export class ChatHistoryResponse {
|
export class ChatHistoryResponse {
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
ChatMessageSchema,
|
ChatMessageSchema,
|
||||||
type ChatMessageInput,
|
type ChatMessageInput,
|
||||||
type ChatMessageData,
|
type ChatMessageData,
|
||||||
} from "@/data/schemas/chat/chat_message";
|
} from "@/data/services/schemas/chat/chat_message";
|
||||||
|
|
||||||
export class ChatMessage {
|
export class ChatMessage {
|
||||||
declare readonly role: string;
|
declare readonly role: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
ChatSendResponseSchema,
|
ChatSendResponseSchema,
|
||||||
type ChatSendResponseInput,
|
type ChatSendResponseInput,
|
||||||
type ChatSendResponseData,
|
type ChatSendResponseData,
|
||||||
} from "@/data/schemas/chat/chat_send_response";
|
} from "@/data/services/schemas/chat/chat_send_response";
|
||||||
|
|
||||||
export class ChatSendResponse {
|
export class ChatSendResponse {
|
||||||
declare readonly mode: string;
|
declare readonly mode: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
ChatSyncDataSchema,
|
ChatSyncDataSchema,
|
||||||
type ChatSyncDataInput,
|
type ChatSyncDataInput,
|
||||||
type ChatSyncDataData,
|
type ChatSyncDataData,
|
||||||
} from "@/data/schemas/chat/chat_sync_data";
|
} from "@/data/services/schemas/chat/chat_sync_data";
|
||||||
|
|
||||||
export class ChatSyncData {
|
export class ChatSyncData {
|
||||||
declare readonly syncedCount: number;
|
declare readonly syncedCount: number;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
ChatSyncRequestSchema,
|
ChatSyncRequestSchema,
|
||||||
type ChatSyncRequestInput,
|
type ChatSyncRequestInput,
|
||||||
type ChatSyncRequestData,
|
type ChatSyncRequestData,
|
||||||
} from "@/data/schemas/chat/chat_sync_request";
|
} from "@/data/services/schemas/chat/chat_sync_request";
|
||||||
import { SyncMessage } from "./sync_message";
|
import { SyncMessage } from "./sync_message";
|
||||||
|
|
||||||
export class ChatSyncRequest {
|
export class ChatSyncRequest {
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
GuestChatQuotaSchema,
|
GuestChatQuotaSchema,
|
||||||
type GuestChatQuotaInput,
|
type GuestChatQuotaInput,
|
||||||
type GuestChatQuotaData,
|
type GuestChatQuotaData,
|
||||||
} from "@/data/schemas/chat/guest_chat_quota";
|
} from "@/data/services/schemas/chat/guest_chat_quota";
|
||||||
|
|
||||||
export class GuestChatQuota {
|
export class GuestChatQuota {
|
||||||
// 静态常量
|
// 静态常量
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
ImageUploadResponseSchema,
|
ImageUploadResponseSchema,
|
||||||
type ImageUploadResponseInput,
|
type ImageUploadResponseInput,
|
||||||
type ImageUploadResponseData,
|
type ImageUploadResponseData,
|
||||||
} from "@/data/schemas/chat/image_upload_response";
|
} from "@/data/services/schemas/chat/image_upload_response";
|
||||||
|
|
||||||
export class ImageUploadResponse {
|
export class ImageUploadResponse {
|
||||||
declare readonly success: boolean;
|
declare readonly success: boolean;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
SendMessageRequestSchema,
|
SendMessageRequestSchema,
|
||||||
type SendMessageRequestInput,
|
type SendMessageRequestInput,
|
||||||
type SendMessageRequestData,
|
type SendMessageRequestData,
|
||||||
} from "@/data/schemas/chat/send_message_request";
|
} from "@/data/services/schemas/chat/send_message_request";
|
||||||
|
|
||||||
export class SendMessageRequest {
|
export class SendMessageRequest {
|
||||||
declare readonly message: string;
|
declare readonly message: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
SttDataSchema,
|
SttDataSchema,
|
||||||
type SttDataInput,
|
type SttDataInput,
|
||||||
type SttDataData,
|
type SttDataData,
|
||||||
} from "@/data/schemas/chat/stt_data";
|
} from "@/data/services/schemas/chat/stt_data";
|
||||||
|
|
||||||
export class SttData {
|
export class SttData {
|
||||||
declare readonly text: string;
|
declare readonly text: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
SyncMessageSchema,
|
SyncMessageSchema,
|
||||||
type SyncMessageInput,
|
type SyncMessageInput,
|
||||||
type SyncMessageData,
|
type SyncMessageData,
|
||||||
} from "@/data/schemas/chat/sync_message";
|
} from "@/data/services/schemas/chat/sync_message";
|
||||||
|
|
||||||
export class SyncMessage {
|
export class SyncMessage {
|
||||||
declare readonly role: string;
|
declare readonly role: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
AppEventSchema,
|
AppEventSchema,
|
||||||
type AppEventInput,
|
type AppEventInput,
|
||||||
type AppEventData,
|
type AppEventData,
|
||||||
} from "@/data/schemas/metrics/app_event";
|
} from "@/data/services/schemas/metrics/app_event";
|
||||||
|
|
||||||
export class AppEvent {
|
export class AppEvent {
|
||||||
declare readonly userId: string;
|
declare readonly userId: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
PwaEventSchema,
|
PwaEventSchema,
|
||||||
type PwaEventInput,
|
type PwaEventInput,
|
||||||
type PwaEventData,
|
type PwaEventData,
|
||||||
} from "@/data/schemas/metrics/pwa_event";
|
} from "@/data/services/schemas/metrics/pwa_event";
|
||||||
|
|
||||||
export class PwaEvent {
|
export class PwaEvent {
|
||||||
declare readonly deviceId: string;
|
declare readonly deviceId: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
AvatarDataSchema,
|
AvatarDataSchema,
|
||||||
type AvatarDataInput,
|
type AvatarDataInput,
|
||||||
type AvatarDataData,
|
type AvatarDataData,
|
||||||
} from "@/data/schemas/user/avatar_data";
|
} from "@/data/services/schemas/user/avatar_data";
|
||||||
|
|
||||||
export class AvatarData {
|
export class AvatarData {
|
||||||
declare readonly avatarUrl: string;
|
declare readonly avatarUrl: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
CreditsDataSchema,
|
CreditsDataSchema,
|
||||||
type CreditsDataInput,
|
type CreditsDataInput,
|
||||||
type CreditsDataData,
|
type CreditsDataData,
|
||||||
} from "@/data/schemas/user/credits_data";
|
} from "@/data/services/schemas/user/credits_data";
|
||||||
|
|
||||||
export class CreditsData {
|
export class CreditsData {
|
||||||
declare readonly userId: string;
|
declare readonly userId: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
CreditsHistoryDataSchema,
|
CreditsHistoryDataSchema,
|
||||||
type CreditsHistoryDataInput,
|
type CreditsHistoryDataInput,
|
||||||
type CreditsHistoryDataData,
|
type CreditsHistoryDataData,
|
||||||
} from "@/data/schemas/user/credits_history_data";
|
} from "@/data/services/schemas/user/credits_history_data";
|
||||||
|
|
||||||
export class CreditsHistoryData {
|
export class CreditsHistoryData {
|
||||||
declare readonly records: Record<string, unknown>[];
|
declare readonly records: Record<string, unknown>[];
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
PersonalityTraitsSchema,
|
PersonalityTraitsSchema,
|
||||||
type PersonalityTraitsInput,
|
type PersonalityTraitsInput,
|
||||||
type PersonalityTraitsData,
|
type PersonalityTraitsData,
|
||||||
} from "@/data/schemas/user/personality_traits";
|
} from "@/data/services/schemas/user/personality_traits";
|
||||||
|
|
||||||
export class PersonalityTraits {
|
export class PersonalityTraits {
|
||||||
declare readonly cheerful: number;
|
declare readonly cheerful: number;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
RecentMemorySchema,
|
RecentMemorySchema,
|
||||||
type RecentMemoryInput,
|
type RecentMemoryInput,
|
||||||
type RecentMemoryData,
|
type RecentMemoryData,
|
||||||
} from "@/data/schemas/user/recent_memory";
|
} from "@/data/services/schemas/user/recent_memory";
|
||||||
|
|
||||||
export class RecentMemory {
|
export class RecentMemory {
|
||||||
declare readonly type: string;
|
declare readonly type: string;
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
UpdateProfileRequestSchema,
|
UpdateProfileRequestSchema,
|
||||||
type UpdateProfileRequestInput,
|
type UpdateProfileRequestInput,
|
||||||
type UpdateProfileRequestData,
|
type UpdateProfileRequestData,
|
||||||
} from "@/data/schemas/user/update_profile_request";
|
} from "@/data/services/schemas/user/update_profile_request";
|
||||||
|
|
||||||
export class UpdateProfileRequest {
|
export class UpdateProfileRequest {
|
||||||
declare readonly username: string;
|
declare readonly username: string;
|
||||||
@@ -5,7 +5,7 @@ import {
|
|||||||
UserSchema,
|
UserSchema,
|
||||||
type UserInput,
|
type UserInput,
|
||||||
type UserData,
|
type UserData,
|
||||||
} from "@/data/schemas/user/user";
|
} from "@/data/services/schemas/user/user";
|
||||||
import { PersonalityTraits } from "./personality_traits";
|
import { PersonalityTraits } from "./personality_traits";
|
||||||
|
|
||||||
export class User {
|
export class User {
|
||||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
|||||||
UserStatsResponseSchema,
|
UserStatsResponseSchema,
|
||||||
type UserStatsResponseInput,
|
type UserStatsResponseInput,
|
||||||
type UserStatsResponseData,
|
type UserStatsResponseData,
|
||||||
} from "@/data/schemas/user/user_stats_response";
|
} from "@/data/services/schemas/user/user_stats_response";
|
||||||
import { PersonalityTraits } from "./personality_traits";
|
import { PersonalityTraits } from "./personality_traits";
|
||||||
import { RecentMemory } from "./recent_memory";
|
import { RecentMemory } from "./recent_memory";
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
import {
|
import {
|
||||||
GuestChatQuotaSchema,
|
GuestChatQuotaSchema,
|
||||||
type GuestChatQuotaData,
|
type GuestChatQuotaData,
|
||||||
} from "@/data/schemas/chat/guest_chat_quota";
|
} from "@/data/services/schemas/chat/guest_chat_quota";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
import { LocalStorage } from "../local_storage";
|
import { LocalStorage } from "../local_storage";
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import type { Result } from "@/utils/result";
|
import type { Result } from "@/utils/result";
|
||||||
import type { GuestChatQuotaData } from "@/data/schemas/chat/guest_chat_quota";
|
import type { GuestChatQuotaData } from "@/data/services/schemas/chat/guest_chat_quota";
|
||||||
|
|
||||||
export interface IChatStorage {
|
export interface IChatStorage {
|
||||||
getGuestDailyChatQuota(): Promise<Result<GuestChatQuotaData | null>>;
|
getGuestDailyChatQuota(): Promise<Result<GuestChatQuotaData | null>>;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import type { Result } from "@/utils/result";
|
import type { Result } from "@/utils/result";
|
||||||
import type { UserData } from "@/data/schemas/user/user";
|
import type { UserData } from "@/data/services/schemas/user/user";
|
||||||
|
|
||||||
export interface IUserStorage {
|
export interface IUserStorage {
|
||||||
getUser(): Promise<Result<UserData | null>>;
|
getUser(): Promise<Result<UserData | null>>;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
* - 单例挂在 class 静态字段,HMR 复用安全
|
* - 单例挂在 class 静态字段,HMR 复用安全
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { UserSchema, type UserData } from "@/data/schemas/user/user";
|
import { UserSchema, type UserData } from "@/data/services/schemas/user/user";
|
||||||
import { LocalStorage } from "../local_storage";
|
import { LocalStorage } from "../local_storage";
|
||||||
import { type Result as ResultT } from "@/utils/result";
|
import { type Result as ResultT } from "@/utils/result";
|
||||||
import { StorageKeys } from "../storage_keys";
|
import { StorageKeys } from "../storage_keys";
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
--color-error: #ff4d4f;
|
--color-error: #ff4d4f;
|
||||||
--color-warning: #ffa940;
|
--color-warning: #ffa940;
|
||||||
|
|
||||||
/* ==================== Splash 页面 Facebook 按钮 ==================== */
|
|
||||||
--color-button-gradient-start: #ff67e0;
|
--color-button-gradient-start: #ff67e0;
|
||||||
--color-button-gradient-end: #ff52a2;
|
--color-button-gradient-end: #ff52a2;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user