修改 首页

This commit is contained in:
kingc2022 2024-10-13 22:07:56 +08:00
parent d5da27a7b3
commit fb922e24ae
4 changed files with 21 additions and 13 deletions

View File

@ -68,6 +68,9 @@
"onWatcherCleanup": true, "onWatcherCleanup": true,
"useId": true, "useId": true,
"useModel": true, "useModel": true,
"useTemplateRef": true "useTemplateRef": true,
"DirectiveBinding": true,
"MaybeRef": true,
"MaybeRefOrGetter": true
} }
} }

View File

@ -3,6 +3,7 @@
// @ts-nocheck // @ts-nocheck
// noinspection JSUnusedGlobalSymbols // noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import // Generated by unplugin-auto-import
// biome-ignore lint: disable
export {} export {}
declare global { declare global {
const EffectScope: typeof import('vue')['EffectScope'] const EffectScope: typeof import('vue')['EffectScope']
@ -67,7 +68,7 @@ declare global {
// for type re-export // for type re-export
declare global { declare global {
// @ts-ignore // @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue' export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue') import('vue')
} }
// for vue template auto import // for vue template auto import
@ -105,6 +106,7 @@ declare module 'vue' {
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']> readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']> readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']> readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
readonly provide: UnwrapRef<typeof import('vue')['provide']> readonly provide: UnwrapRef<typeof import('vue')['provide']>
readonly reactive: UnwrapRef<typeof import('vue')['reactive']> readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
readonly readonly: UnwrapRef<typeof import('vue')['readonly']> readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
@ -122,9 +124,12 @@ declare module 'vue' {
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']> readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']> readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']> readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
readonly useId: UnwrapRef<typeof import('vue')['useId']>
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
readonly useRoute: UnwrapRef<typeof import('vue-router/auto')['useRoute']> readonly useRoute: UnwrapRef<typeof import('vue-router/auto')['useRoute']>
readonly useRouter: UnwrapRef<typeof import('vue-router/auto')['useRouter']> readonly useRouter: UnwrapRef<typeof import('vue-router/auto')['useRouter']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']> readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
readonly watch: UnwrapRef<typeof import('vue')['watch']> readonly watch: UnwrapRef<typeof import('vue')['watch']>
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']> readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']> readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>

1
src/components.d.ts vendored
View File

@ -9,7 +9,6 @@ declare module 'vue' {
export interface GlobalComponents { export interface GlobalComponents {
AccountSettings: typeof import('./components/settings/AccountSettings.vue')['default'] AccountSettings: typeof import('./components/settings/AccountSettings.vue')['default']
AssistantMenu: typeof import('./components/AssistantMenu.vue')['default'] AssistantMenu: typeof import('./components/AssistantMenu.vue')['default']
AssistantPublistSettings: typeof import('./components/settings/AssistantPublistSettings.vue')['default']
AssistantSettings: typeof import('./components/settings/AssistantSettings.vue')['default'] AssistantSettings: typeof import('./components/settings/AssistantSettings.vue')['default']
Chat: typeof import('./components/chat/Chat.vue')['default'] Chat: typeof import('./components/chat/Chat.vue')['default']
ChatMenu: typeof import('./components/ChatMenu.vue')['default'] ChatMenu: typeof import('./components/ChatMenu.vue')['default']

View File

@ -4,16 +4,14 @@
<div class="container"> <div class="container">
<!-- Spotlight 区域 --> <!-- Spotlight 区域 -->
<n-card class="spotlight" :bordered="false"> <n-card class="spotlight" :bordered="false">
<div class="background-pattern"></div>
<div class="background-text">Leaflow <span class="background-amber">Amber</span></div>
<div class="spotlight-content"> <div class="spotlight-content">
<h1 class="title"> <h1 class="title break-normal">
Leaflow <span class="amber-text">Amber</span> Leaflow <span class="amber-text">Amber</span>
</h1> </h1>
<p class="subtitle"> <p class="subtitle">
下一代智能体平台为您的数字生活带来革命性变化 下一代智能体平台为您的数字生活带来革命性变化
<br class="mobile-break"> <br class="mobile-break">
<a href="#" class="cta-link">立即体验 🚀</a> <a @click="gotoLogin" class="cta-link cursor-pointer">立即体验 🚀</a>
</p> </p>
<div class="stats" v-if="siteUsage.month_tokens && siteUsage.month_tool_calls"> <div class="stats" v-if="siteUsage.month_tokens && siteUsage.month_tool_calls">
<div class="stat-item"> <div class="stat-item">
@ -56,10 +54,10 @@
<!-- 功能特点展示 --> <!-- 功能特点展示 -->
<div class="features-section"> <div class="features-section">
<h2 class="section-title">Amber 核心特性</h2> <h2 class="section-title">Amber 核心特性</h2>
<n-grid :cols="3" :x-gap="24" :y-gap="24" responsive="screen"> <n-grid cols="1 m:2 l:3 xl:3 2xl:3" :x-gap="24" :y-gap="24" responsive="screen">
<n-gi span="3 m:1" v-for="(feature, index) in features" :key="index"> <n-gi v-for="(feature, index) in features" :key="index">
<div class="feature-card" @click="toggleFeatureDescription(feature)"> <div class="feature-card" @click="toggleFeatureDescription(feature)">
<div class="feature-content"> <div>
<div class="feature-icon">{{ feature.icon }}</div> <div class="feature-icon">{{ feature.icon }}</div>
<div class="feature-title">{{ feature.title }}</div> <div class="feature-title">{{ feature.title }}</div>
<transition name="fade-height" mode="out-in"> <transition name="fade-height" mode="out-in">
@ -97,13 +95,17 @@ import { ref, computed, onMounted } from 'vue';
import { useOsTheme, darkTheme, NConfigProvider, NLayout, NButton, NCard, NStatistic, NNumberAnimation } from 'naive-ui'; import { useOsTheme, darkTheme, NConfigProvider, NLayout, NButton, NCard, NStatistic, NNumberAnimation } from 'naive-ui';
import { SchemaSiteUsageResponse } from "@/api"; import { SchemaSiteUsageResponse } from "@/api";
import getApi from "@/plugins/api"; import getApi from "@/plugins/api";
import grouppng from "@/assets/images/group.png"; import router from '@/router';
const osTheme = useOsTheme(); const osTheme = useOsTheme();
const theme = computed(() => (osTheme.value === 'dark' ? darkTheme : null)); const theme = computed(() => (osTheme.value === 'dark' ? darkTheme : null));
const siteUsage = ref<SchemaSiteUsageResponse>({}); const siteUsage = ref<SchemaSiteUsageResponse>({});
const gotoLogin = () => {
router.push("/auth/login");
};
const features = ref([ const features = ref([
{ {
icon: '💬', icon: '💬',
@ -154,7 +156,7 @@ const partners = ref([
name: 'HiMCBBS 我的世界中文论坛', name: 'HiMCBBS 我的世界中文论坛',
logo: 'https://www.himcbbs.com/data/assets/logo/wxmc_logo_text_blue.svg', logo: 'https://www.himcbbs.com/data/assets/logo/wxmc_logo_text_blue.svg',
link: 'https://www.himcbbs.com/', link: 'https://www.himcbbs.com/',
description: '中国最大的我的世界玩家社区,提供游戏资讯、模组下载和创意分享。' description: '中国我的世界玩家社区,提供游戏资讯、模组下载和创意分享。'
} }
// //
]); ]);
@ -196,7 +198,6 @@ body {
.spotlight { .spotlight {
background-color: v-bind('theme ? "rgba(0, 0, 0, 0.5)" : "rgba(78, 187, 192, 0.1)"'); background-color: v-bind('theme ? "rgba(0, 0, 0, 0.5)" : "rgba(78, 187, 192, 0.1)"');
backdrop-filter: blur(10px); backdrop-filter: blur(10px);
height: 70vh;
min-height: 500px; min-height: 500px;
display: flex; display: flex;
align-items: center; align-items: center;