修改 首页
This commit is contained in:
parent
d5da27a7b3
commit
fb922e24ae
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
7
src/auto-imports.d.ts
vendored
7
src/auto-imports.d.ts
vendored
@ -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
1
src/components.d.ts
vendored
@ -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']
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user