feat: 🎸 update portal

This commit is contained in:
zhangqingwu
2024-06-25 11:16:52 +08:00
committed by Lyric Wai
parent 8c4cf1415d
commit 25544d288b
39 changed files with 73 additions and 42 deletions

View File

@@ -1,2 +1,24 @@
.output/
dist/
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist
# Node dependencies
node_modules
# Logs
logs
*.log
# Misc
.DS_Store
.fleet
.idea
# Local env files
.env
.env.*
!.env.example

View File

@@ -12,7 +12,7 @@
<div class="items-container">
<div class="items">
<div v-for="(item, index) in items" :key="index" class="item">
<img class="quote" src="/icon/double-quote.svg" />
<img class="quote" src="/portal-static/icon/double-quote.svg" />
<div class="top">
<span>
@@ -40,43 +40,43 @@ export default {
<script lang="ts" setup>
const items = ref([
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",
},
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",
},
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",
},
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",
},
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",
},
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",
},
{
avatar: "/images/avatar.png",
avatar: "/portal-static/images/avatar.png",
name: "花开富贵",
hint: "连续打卡 1,000 天",
text: "这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App这是一个非常好的App",

View File

@@ -42,37 +42,37 @@ export default {
<script lang="ts" setup>
const features = ref([
{
icon: "/images/head-phone.png",
icon: "/portal-static/images/head-phone.png",
title: "音频跟读",
subtitle: "支持下载/导入各类外语音频,进行解析跟读",
},
{
icon: "/images/camera.png",
icon: "/portal-static/images/camera.png",
title: "视频跟读",
subtitle: "支持下载/导入各类外语视频,进行解析跟读",
},
{
icon: "/images/lang.png",
icon: "/portal-static/images/lang.png",
title: "外语阅读",
subtitle: "支持下载/导入各类外语文章,进行解析跟读",
},
{
icon: "/images/robot.png",
icon: "/portal-static/images/robot.png",
title: "AI自然对话",
subtitle: "说你想说的跟AI一起复读学习",
},
{
icon: "/images/note.png",
icon: "/portal-static/images/note.png",
title: "重温笔记",
subtitle: "学习遇到难点?先添加笔记,再巩固复习",
},
{
icon: "/images/book.png",
icon: "/portal-static/images/book.png",
title: "词典助记",
subtitle: "学习遇到生词?添加到生词本,再巩固复习",
},
{
icon: "/images/cham.png",
icon: "/portal-static/images/cham.png",
title: "社区竞赛",
subtitle: "每日、每周、每月都有人跟你一起学习进步",
},
@@ -132,7 +132,7 @@ const features = ref([
.compitition {
color: #fff;
background-image: url("/images/bg-features.png");
background-image: url("/portal-static/images/bg-features.png");
background-repeat: no-repeat;
background-size: cover;
position: relative;
@@ -145,7 +145,7 @@ const features = ref([
right: -20px;
width: 824px;
height: 448px;
background-image: url("/images/rank.png");
background-image: url("/portal-static/images/rank.png");
}
}
}

View File

@@ -33,7 +33,7 @@
</div>
<div class="arrow">
<img src="/icon/arrow-upright.svg" />
<img src="/portal-static/icon/arrow-upright.svg" />
</div>
</div>
</div>
@@ -53,28 +53,28 @@ const cards = ref([
label: "Self Taught.",
title: "帮助自主学习",
subtitle: "我们提倡直接上手学习,不用理会方法论",
bg: "/images/bg-intro-1.png",
bg: "/portal-static/images/bg-intro-1.png",
colors: ["#384C6B", "#7B93AF"],
},
{
label: "Pronunciation Correction.",
title: "纠正口语发音",
subtitle: "我们提倡直接上手学习,不用理会方法论",
bg: "/images/bg-intro-2.png",
bg: "/portal-static/images/bg-intro-2.png",
colors: ["#4A6760", "#7C978F"],
},
{
label: "AI Companion.",
title: "AI辅助学习",
subtitle: "我们提倡直接上手学习,不用理会方法论",
bg: "/images/bg-intro-3.png",
bg: "/portal-static/images/bg-intro-3.png",
colors: ["#384C6B", "#7B93AF"],
},
{
label: "Memory Enhancement.",
title: "拓展记忆力",
subtitle: "我们提倡直接上手学习,不用理会方法论",
bg: "/images/bg-intro-4.png",
bg: "/portal-static/images/bg-intro-4.png",
colors: ["#70584A", "#A4978D"],
},
]);

View File

@@ -12,7 +12,7 @@
<div class="items">
<div v-for="(item, index) in items" :key="index" class="item">
<span>
<img src="/icon/check.svg" />
<img src="/portal-static/icon/check.svg" />
</span>
<span class="text-[14px] md:text-[16px]">{{ item }}</span>
</div>
@@ -22,10 +22,13 @@
<div class="self-center">
<img
class="h-[100%] md:h-[356px] lg:hidden"
src="/images/payment.png"
src="/portal-static/images/payment.png"
/>
<img class="hidden lg:block" src="/images/payment-2.png" />
<img
class="hidden lg:block"
src="/portal-static/images/payment-2.png"
/>
</div>
</div>
</div>

View File

@@ -17,7 +17,12 @@
>
<span class="flex text-greyscale_1 mr-1">
<img src="/icon/enjoy-app.svg" width="24" height="24" class="mx-1" />
<img
src="/portal-static/icon/enjoy-app.svg"
width="24"
height="24"
class="mx-1"
/>
Enjoy App
</span>
一起享受这1000小时
@@ -29,7 +34,7 @@
>
<span class="mr-1">体验 Enjoy App</span>
<img src="/icon/arrow-right.svg" width="24" />
<img src="/portal-static/icon/arrow-right.svg" width="24" />
</button>
</div>
</div>
@@ -40,7 +45,7 @@
<div class="container m-auto text-center">
<img
class="demo-screen inline w-[312px] md:w-[682px] lg:w-[924px] xl:w-[1024px] mt-[-40px] md:mt-[-60px]"
src="/images/demo.png"
src="/portal-static/images/demo.png"
/>
</div>
</div>
@@ -77,7 +82,7 @@ export default {
top: 0;
left: 0;
width: 100%;
background-image: url("/images/bg-demo.png");
background-image: url("/portal-static/images/bg-demo.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;

View File

@@ -3,13 +3,15 @@ export default defineNuxtConfig({
devtools: { enabled: true },
css: ["~/styles/main.css"],
site: {
url: "https://1000h.org",
name: "Enjoying App",
description: "Welcome to Enjoying App!",
url: "https://example.com",
name: "Enjoy App",
description: "Welcome to Enjoy App!",
tagline: "",
defaultLocale: "zh", // not needed if you have @nuxtjs/i18n installed
},
app: {
buildAssetsDir: "portal-assets",
head: {
viewport:
"width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no, viewport-fit=cover",
@@ -17,20 +19,19 @@ export default defineNuxtConfig({
{
rel: "apple-touch-icon",
sizes: "180x180",
href: "/apple-touch-icon.png",
href: "/portal-static/images/apple-touch-icon.png",
},
{ rel: "mask-icon", href: "/mask-icon.svg" },
{
rel: "icon",
type: "image/png",
sizes: "24x24",
href: "/favicon-24x24.png",
href: "/portal-static/images/favicon-24x24.png",
},
{
rel: "icon",
type: "image/png",
sizes: "12x12",
href: "favicon-12x12.png",
href: "/portal-static/images/favicon-12x12.png",
},
],
script: [],
@@ -44,5 +45,5 @@ export default defineNuxtConfig({
},
},
modules: ["nuxt-og-image", "@nuxtjs/seo"],
modules: ["@nuxtjs/seo"],
});

View File

@@ -19,7 +19,7 @@ export default {
</script>
<script lang="ts" setup>
defineOgImage({ url: "/images/og-image.png" });
// defineOgImage({ url: "/images/og-image.png" });
</script>
<style lang="scss" scoped></style>

View File

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 276 B

View File

Before

Width:  |  Height:  |  Size: 315 B

After

Width:  |  Height:  |  Size: 315 B

View File

Before

Width:  |  Height:  |  Size: 752 B

After

Width:  |  Height:  |  Size: 752 B

View File

Before

Width:  |  Height:  |  Size: 611 B

After

Width:  |  Height:  |  Size: 611 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 182 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

Before

Width:  |  Height:  |  Size: 744 KiB

After

Width:  |  Height:  |  Size: 744 KiB

View File

Before

Width:  |  Height:  |  Size: 327 B

After

Width:  |  Height:  |  Size: 327 B

View File

Before

Width:  |  Height:  |  Size: 639 B

After

Width:  |  Height:  |  Size: 639 B

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 744 KiB

After

Width:  |  Height:  |  Size: 744 KiB

View File

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 306 KiB

View File

Before

Width:  |  Height:  |  Size: 169 KiB

After

Width:  |  Height:  |  Size: 169 KiB

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -1,13 +1,13 @@
@font-face {
font-family: "Noto Serif SC";
font-display: swap;
src: url("/fonts/NotoSerifSC-Bold.ttf") format("truetype");
src: url("/portal-static/fonts/NotoSerifSC-Bold.ttf") format("truetype");
}
@font-face {
font-family: "New York";
font-display: swap;
src: url("/fonts/NewYorkItalic.ttf") format("truetype");
src: url("/portal-static/fonts/NewYorkItalic.ttf") format("truetype");
}