Skip to content

Commit 053485b

Browse files
docs: ✏️ 优秀案例改为取线上资源
1 parent 207dfb8 commit 053485b

2 files changed

Lines changed: 60 additions & 61 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import { ref, onMounted } from 'vue'
2+
import axios from 'axios'
3+
4+
export type CaseData = {
5+
name: string
6+
image: string
7+
description?: string
8+
}
9+
10+
const data = ref<CaseData[]>([])
11+
12+
export function useCaseData() {
13+
onMounted(async () => {
14+
// 定义数据源URL列表,按优先级排序
15+
const urls = [
16+
'https://sponsor.wot-design-uni.cn',
17+
'https://wot-sponsors.pages.dev'
18+
]
19+
20+
// 尝试从多个数据源获取数据
21+
const fetchData = async () => {
22+
for (const url of urls) {
23+
try {
24+
const path = '/cases.json'
25+
const response = await axios.get(url + path, {
26+
timeout: 5000 // 设置5秒超时
27+
})
28+
const data = response.data && response.data.data ? response.data.data : []
29+
return data.map(item => {
30+
return {
31+
name: item.name,
32+
image: item.image ? url + item.image : '',
33+
description: item.description
34+
}
35+
}) // 成功获取数据后直接返回
36+
} catch (error) {
37+
console.warn(`Failed to fetch from ${url}`)
38+
// 继续尝试下一个URL
39+
}
40+
}
41+
return [] // 所有数据源都失败时返回空数组
42+
}
43+
44+
data.value = await fetchData()
45+
})
46+
47+
return {
48+
data
49+
}
50+
}
51+
52+
53+

docs/guide/cases.md

Lines changed: 7 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -5,70 +5,13 @@
55
Wot UI 已被很多公司和团队在生产环境使用,下面是一些优秀的案例:
66

77
<div class="cases-container">
8-
<el-card shadow="hover">
8+
<el-card v-for="(item, index) in cases" :key="index" shadow="hover">
99
<template #header>
10-
<span class="case-title">调剂宝</span>
10+
<span class="case-title">{{ item.name }}</span>
11+
<span class="case-description">{{ item.description }}</span>
1112
</template>
12-
<el-image src="/cases/tiaojibao.jpg" />
13+
<el-image :src="item.image" />
1314
</el-card>
14-
<el-card shadow="hover">
15-
<template #header>
16-
<span class="case-title">BodyLang体态评估</span>
17-
</template>
18-
<el-image src="/cases/BodyLang.png" />
19-
</el-card>
20-
<el-card shadow="hover">
21-
<template #header>
22-
<span class="case-title">尘才咨询</span>
23-
</template>
24-
<el-image src="/cases/chencaizixun.png" />
25-
</el-card>
26-
<el-card shadow="hover">
27-
<template #header>
28-
<span class="case-title">日常计数器</span>
29-
</template>
30-
<el-image src="/cases/richangjishuqi.jpg" />
31-
</el-card>
32-
<el-card shadow="hover">
33-
<template #header>
34-
<span class="case-title">蜗趣记账</span>
35-
</template>
36-
<el-image src="/cases/woqujizhang.jpg" />
37-
</el-card>
38-
<el-card shadow="hover">
39-
<template #header>
40-
<span class="case-title">薪资速算器</span>
41-
</template>
42-
<el-image src="/cases/salary-calculator.jpg" />
43-
</el-card>
44-
<el-card shadow="hover">
45-
<template #header>
46-
<span class="case-title">随享小栈</span>
47-
<span class="case-description">一个温暖、匿名、安全的树洞社交小程序。</span>
48-
</template>
49-
<el-image src="/cases/suixiangxiaozhan.png" />
50-
</el-card>
51-
<el-card shadow="hover">
52-
<template #header>
53-
<span class="case-title">安维到家师傅版</span>
54-
<span class="case-description">一个家具安装, 维修上门服务, 师傅接单平台。</span>
55-
</template>
56-
<el-image src="/cases/anxiudaojia.png" />
57-
</el-card>
58-
<el-card shadow="hover">
59-
<template #header>
60-
<span class="case-title">轻便万物迹</span>
61-
<span class="case-description">记录饮食,日记等。</span>
62-
</template>
63-
<el-image src="/cases/qingbianwanwuji.png" />
64-
</el-card>
65-
<el-card shadow="hover">
66-
<template #header>
67-
<span class="case-title">人情礼记</span>
68-
<span class="case-description">你贴心的人情往来数字记账伙伴。</span>
69-
</template>
70-
<el-image src="/cases/renqingliji.jpeg" />
71-
</el-card>
7215
</div>
7316

7417
<style scoped>
@@ -97,4 +40,7 @@ Wot UI 已被很多公司和团队在生产环境使用,下面是一些优秀
9740
</style>
9841

9942
<script setup>
43+
import { useCaseData } from '../.vitepress/theme/composables/cases'
44+
const { data:cases } = useCaseData()
10045
</script>
46+

0 commit comments

Comments
 (0)