HomeContent.vue 11 KB

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