HomeContent.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. <script setup lang="ts">
  2. import Search from "./Search/index.vue";
  3. import HomeCard, { HomeCardContent } from "./HomeCard";
  4. import HomeSection, { HomeSectionContent } from "./HomeSection";
  5. import { ArrowRightBold } from "@element-plus/icons-vue";
  6. import IconNotebook from "~icons/ccrbi-plain/notebook";
  7. import IconBook from "~icons/ccrbi-plain/book";
  8. import IconDirectory from "~icons/ccrbi-plain/directory";
  9. import IconXieTongJianGou from "~icons/ccrbi-colored/xie-tong-jian-gou";
  10. import IconAiZhuShou from "~icons/ccrbi-colored/ai-zhu-shou";
  11. import IconAiChuangJian from "~icons/ccrbi-colored/ai-chuang-jian";
  12. import { useData, withBase, useRouter } from "vitepress";
  13. import path from "path-browserify";
  14. const { localeIndex } = useData();
  15. const router = useRouter();
  16. const withLink = (href: string) => {
  17. return withBase(
  18. path.join(localeIndex.value === "root" ? "" : localeIndex.value, "docs", href)
  19. );
  20. };
  21. </script>
  22. <template>
  23. <div class="home-content">
  24. <HomeSection title="您好,需要提供什么帮助?">
  25. <HomeSectionContent>
  26. <ClientOnly>
  27. <Search />
  28. </ClientOnly>
  29. </HomeSectionContent>
  30. </HomeSection>
  31. <HomeSection title="新手入门">
  32. <HomeSectionContent :span="12">
  33. <HomeCard
  34. color="skyblue"
  35. :backgroundStyle="{
  36. right: '16px',
  37. bottom: '24px',
  38. width: '268px',
  39. height: '148px',
  40. }"
  41. :link="withLink('TODO1')"
  42. >
  43. <template #background>
  44. <img src="@/assets/images/card1.png" />
  45. </template>
  46. <template #title>
  47. <HomeCard.Title showArrow> 平台概览 </HomeCard.Title>
  48. </template>
  49. <HomeCardContent>
  50. <ul>
  51. <li>什么是可可智慧教育平台?</li>
  52. <li>功能概览</li>
  53. </ul>
  54. </HomeCardContent>
  55. </HomeCard>
  56. </HomeSectionContent>
  57. <HomeSectionContent :span="12">
  58. <HomeCard
  59. :backgroundStyle="{
  60. right: '40px',
  61. bottom: '24px',
  62. width: '128px',
  63. height: '128px',
  64. }"
  65. :link="withLink('TODO1')"
  66. >
  67. <template #background>
  68. <img src="@/assets/images/card2.png" />
  69. </template>
  70. <template #title>
  71. <HomeCard.Title showArrow> 用户登录 </HomeCard.Title>
  72. </template>
  73. <HomeCardContent>
  74. <ul>
  75. <li>如何获取账户?</li>
  76. <li>如何登录?</li>
  77. </ul>
  78. </HomeCardContent>
  79. </HomeCard>
  80. </HomeSectionContent>
  81. </HomeSection>
  82. <HomeSection title="平台使用">
  83. <HomeSectionContent :span="24">
  84. <HomeCard title="基础使用">
  85. <HomeCardContent :span="8">
  86. <HomeCard color="white" :link="withLink('TODO1')">
  87. <template #title>
  88. <HomeCard.Title>
  89. <IconNotebook color="#3681FC" />
  90. 创建课程
  91. </HomeCard.Title>
  92. </template>
  93. <HomeCardContent>
  94. 教师通过个人、协同的方式创建多种模式下的平台数字化课程。
  95. </HomeCardContent>
  96. </HomeCard>
  97. </HomeCardContent>
  98. <HomeCardContent :span="8">
  99. <HomeCard color="white" :link="withLink('TODO1')">
  100. <template #title>
  101. <HomeCard.Title>
  102. <IconBook color="#FF822B" />
  103. 实施课程
  104. </HomeCard.Title>
  105. </template>
  106. <HomeCardContent>
  107. 开展数字化课程教学与学习,在实施中进行学习证据采集。
  108. </HomeCardContent>
  109. </HomeCard>
  110. </HomeCardContent>
  111. <HomeCardContent :span="8">
  112. <HomeCard color="white" :link="withLink('TODO1')">
  113. <template #title>
  114. <HomeCard.Title>
  115. <IconDirectory color="#34CEAE" />
  116. 创建项目
  117. </HomeCard.Title>
  118. </template>
  119. <HomeCardContent>
  120. 以项目式学习探究创建项目、记录项目、管理项目。
  121. </HomeCardContent>
  122. </HomeCard>
  123. </HomeCardContent>
  124. </HomeCard>
  125. </HomeSectionContent>
  126. <HomeSectionContent :span="24">
  127. <HomeCard title="进阶使用">
  128. <HomeCardContent :span="8">
  129. <HomeCard color="white" :link="withLink('TODO1')">
  130. <template #title>
  131. <HomeCard.Title>
  132. <IconXieTongJianGou />
  133. 协同建构
  134. </HomeCard.Title>
  135. </template>
  136. <HomeCardContent>
  137. 师生以协同建构(CocoNote)开展计算机支持下的协作问题解决。
  138. </HomeCardContent>
  139. </HomeCard>
  140. </HomeCardContent>
  141. <HomeCardContent :span="8">
  142. <HomeCard color="white" :link="withLink('TODO1')">
  143. <template #title>
  144. <HomeCard.Title>
  145. <IconAiZhuShou />
  146. AI助手
  147. </HomeCard.Title>
  148. </template>
  149. <HomeCardContent> 使用生成式人工智能技术提供对话式工具。 </HomeCardContent>
  150. </HomeCard>
  151. </HomeCardContent>
  152. <HomeCardContent :span="8">
  153. <HomeCard color="white" :link="withLink('TODO1')">
  154. <template #title>
  155. <HomeCard.Title>
  156. <IconAiChuangJian />
  157. 教师管理
  158. </HomeCard.Title>
  159. </template>
  160. <HomeCardContent>
  161. 创建可重复使用的表单,组织团队资料收集与汇总。
  162. </HomeCardContent>
  163. </HomeCard>
  164. </HomeCardContent>
  165. </HomeCard>
  166. </HomeSectionContent>
  167. </HomeSection>
  168. <HomeSection title="更多资源">
  169. <HomeSectionContent :span="12">
  170. <HomeCard title="课程案例">
  171. <HomeCardContent :span="24">
  172. <ul class="fancy-list">
  173. <li @click="router.go(withLink('TODO'))">
  174. <el-text class="flex-1" size="large" truncated>
  175. Self element set wadslfkjsa;ldkjf;lsdkjf;lsdajf;lasdkjf;ladskjfidth
  176. 100px
  177. </el-text>
  178. <el-icon class="el-icon--right"><ArrowRightBold /></el-icon>
  179. </li>
  180. <li @click="router.go(withLink('TODO'))">
  181. <el-text class="flex-1" size="large" truncated>
  182. Self element set wadslfkjsa;ldkjf;lsdkjf;lsdajf;lasdkjf;ladskjfidth
  183. 100px
  184. </el-text>
  185. <el-icon class="el-icon--right"><ArrowRightBold /></el-icon>
  186. </li>
  187. <li @click="router.go(withLink('TODO'))">
  188. <el-text class="flex-1" size="large" truncated>
  189. Self element set wadslfkjsa;ldkjf;lsdkjf;lsdajf;lasdkjf;ladskjfidth
  190. 100px
  191. </el-text>
  192. <el-icon class="el-icon--right"><ArrowRightBold /></el-icon>
  193. </li>
  194. </ul>
  195. </HomeCardContent>
  196. <HomeCardContent :span="24">
  197. <el-button round size="large"
  198. >查看更多<el-icon class="el-icon--right"><ArrowRightBold /></el-icon
  199. ></el-button>
  200. </HomeCardContent>
  201. </HomeCard>
  202. </HomeSectionContent>
  203. <HomeSectionContent :span="12">
  204. <HomeCard title="项目案例" :span="12">
  205. <HomeCardContent :span="24">
  206. <ul class="fancy-list">
  207. <li>
  208. <el-text class="flex-1" size="large" truncated>
  209. Self element set wadslfkjsa;ldkjf;lsdkjf;lsdajf;lasdkjf;ladskjfidth
  210. 100px
  211. </el-text>
  212. <el-icon class="el-icon--right"><ArrowRightBold /></el-icon>
  213. </li>
  214. <li>
  215. <el-text class="flex-1" size="large" truncated>
  216. Self element set wadslfkjsa;ldkjf;lsdkjf;lsdajf;lasdkjf;ladskjfidth
  217. 100px
  218. </el-text>
  219. <el-icon class="el-icon--right"><ArrowRightBold /></el-icon>
  220. </li>
  221. <li>
  222. <el-text class="flex-1" size="large" truncated>
  223. Self element set wadslfkjsa;ldkjf;lsdkjf;lsdajf;lasdkjf;ladskjfidth
  224. 100px
  225. </el-text>
  226. <el-icon class="el-icon--right"><ArrowRightBold /></el-icon>
  227. </li>
  228. </ul>
  229. </HomeCardContent>
  230. <HomeCardContent :span="24">
  231. <el-button round size="large"
  232. >查看更多<el-icon class="el-icon--right"><ArrowRightBold /></el-icon
  233. ></el-button>
  234. </HomeCardContent>
  235. </HomeCard>
  236. </HomeSectionContent>
  237. <HomeSectionContent>
  238. <HomeCard>
  239. <HomeCardContent :span="8">
  240. <HomeCard
  241. title="常见问题"
  242. color="white"
  243. :backgroundStyle="{
  244. right: '10px',
  245. bottom: '0',
  246. width: '122px',
  247. height: '128px',
  248. }"
  249. :link="withLink('TODO1')"
  250. >
  251. <template #background>
  252. <img src="@/assets/images/card3.png" />
  253. </template>
  254. <HomeCardContent>
  255. <!-- TODO -->
  256. </HomeCardContent>
  257. </HomeCard>
  258. </HomeCardContent>
  259. <HomeCardContent :span="8">
  260. <HomeCard
  261. title="更新日志"
  262. color="white"
  263. :backgroundStyle="{
  264. right: '0',
  265. bottom: '0',
  266. width: '160px',
  267. height: '128px',
  268. }"
  269. :link="withLink('TODO1')"
  270. >
  271. <template #background>
  272. <img src="@/assets/images/card4.png" />
  273. </template>
  274. <HomeCardContent>
  275. <!-- TODO -->
  276. </HomeCardContent>
  277. </HomeCard>
  278. </HomeCardContent>
  279. <HomeCardContent :span="8">
  280. <HomeCard
  281. title="如何与AI对话"
  282. color="white"
  283. :backgroundStyle="{
  284. right: '17px',
  285. bottom: '0',
  286. width: '167px',
  287. height: '92px',
  288. }"
  289. :link="withLink('TODO1')"
  290. >
  291. <template #background>
  292. <img src="@/assets/images/card5.png" />
  293. </template>
  294. <HomeCardContent>
  295. <!-- TODO -->
  296. </HomeCardContent>
  297. </HomeCard>
  298. </HomeCardContent>
  299. </HomeCard>
  300. </HomeSectionContent>
  301. </HomeSection>
  302. </div>
  303. </template>
  304. <style lang="scss" scoped>
  305. .home-content {
  306. display: flex;
  307. flex-direction: column;
  308. align-items: center;
  309. gap: 80px;
  310. padding-top: 80px;
  311. }
  312. .fancy-list {
  313. list-style-type: none;
  314. margin: 0;
  315. padding: 0;
  316. display: flex;
  317. flex-direction: column;
  318. align-items: stretch;
  319. gap: 10px;
  320. li {
  321. display: flex;
  322. height: 38px;
  323. align-items: center;
  324. transition: all 0.2s;
  325. border: 1px solid transparent;
  326. border-radius: 8px;
  327. padding: 8px 4px;
  328. margin: 0;
  329. cursor: pointer;
  330. &::before {
  331. content: "•";
  332. margin: 0 8px;
  333. }
  334. &:hover {
  335. // border: 1px solid #3681fc;
  336. border-color: #3681fc;
  337. background: #ffffff;
  338. }
  339. span {
  340. flex: 1;
  341. }
  342. }
  343. }
  344. .el-button:not(:hover) {
  345. background-color: transparent;
  346. border: 1px solid #aeccfe;
  347. }
  348. </style>