HomeContent.vue 12 KB

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