erupt.vue 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <template>
  2. <div class="client-exam-page client-platform-page">
  3. <!-- 广告图位置 -->
  4. <div class="client-banner-box">
  5. <div
  6. :style="{backgroundImage: `url(${bannerList[0].pic || require(`~/static/images/client/train/train-banner-background.png`)})`}"
  7. class="client-platform-banner">
  8. <div class="client-container mta-hidden-xs">
  9. <div class="banner-btn-groups left">
  10. <onlineInformationBtn class="online-information-btn btn-item" />
  11. </div>
  12. </div>
  13. </div>
  14. </div>
  15. <!-- 随机组卷算法 -->
  16. <div class="client-suijizujuan-box client-container">
  17. <h4>随机组卷算法</h4>
  18. <imgCardLv4 :option="productList[0]">
  19. <onlineInformationBtn myType="2" />
  20. </imgCardLv4>
  21. </div>
  22. <!-- 同时请求次数 -->
  23. <div class="client-suijizujuan-box client-container">
  24. <h4>同时请求次数</h4>
  25. <imgCardLv4 :option="productList[1]">
  26. <onlineInformationBtn myType="2" />
  27. </imgCardLv4>
  28. </div>
  29. <!-- 读写数据量大 -->
  30. <div class="client-suijizujuan-box client-container">
  31. <h4>读写数据量大</h4>
  32. <imgCardLv4 :option="productList[2]">
  33. <onlineInformationBtn myType="2" />
  34. </imgCardLv4>
  35. </div>
  36. <!-- 描述区域 -->
  37. <div class="client-description-box">
  38. <p>青谷将持续提升“服务器性能”,使之能满足高并发大数据的多人考试解决方案,
  39. 致力于让各企业、学校的大型考试更易于组织,真正有效!
  40. </p>
  41. <onlineInformationBtn />
  42. </div>
  43. <!-- 客户案例 -->
  44. <div class="client-kehuanli-box">
  45. <!-- PC -->
  46. <el-carousel class="mta-hidden-xs" :interval="5000" type="card" height="200px">
  47. <el-carousel-item v-for="item in anliList" :key="item.iild">
  48. <div>
  49. <img :src="item.pic">
  50. <div>
  51. <h3>{{item.title}}</h3>
  52. <p>{{item.intro}}</p>
  53. </div>
  54. </div>
  55. </el-carousel-item>
  56. </el-carousel>
  57. <!-- H5 -->
  58. <div v-swiper:mySwiper="swiperOption" class="swiper-container mta-hidden-sm">
  59. <div class="swiper-wrapper">
  60. <div class="swiper-slide" v-for="item in anliList" :key="item.iild">
  61. <div>
  62. <img :src="item.pic">
  63. <div>
  64. <h3>{{item.title}}</h3>
  65. <p>{{item.intro}}</p>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. <div class="swiper-pagination swiper-pagination-style"></div>
  71. <p class="experience-swiper-tip">←左右滑动查看更多→</p>
  72. </div>
  73. </div>
  74. <!-- 立即咨询 -->
  75. <desWithCode source="erupt"></desWithCode>
  76. </div>
  77. </template>
  78. <script>
  79. import chanPinTiYan from "~/components/common/chanPinTiYan";
  80. import freeTrialBtn from "~/components/common/freeTrialBtn";
  81. import onlineInformationBtn from "~/components/common/onlineInformationBtn";
  82. import newsComp2 from "~/components/common/newsComp2";
  83. import {BannerImgs} from "~/defaultConfig";
  84. import desWithCode from "~/components/common/layout/desComp/desWithCode";
  85. import imgCardLv4 from "~/components/common/layout/imgDes/imgCardLv4";
  86. /**
  87. * @ 解决方案 -> 万人高并发
  88. */
  89. export default {
  90. name: "erupt",
  91. layout: 'templateB',
  92. components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, desWithCode, imgCardLv4},
  93. async asyncData({$axios, store}) {
  94. const opt = {
  95. page: 1,
  96. size: 5,
  97. newsClassifyId: 2,
  98. };
  99. const arr = [
  100. $axios.$post(`/home/banner/list`, {'code': BannerImgs.wanrengaobingfa}),
  101. $axios.post('/home/news/list', opt)
  102. ];
  103. const [res2, res3] = await Promise.all(arr);
  104. return {
  105. bannerList: res2.data.data || [],
  106. anliList: res3.data.data.data || [],
  107. }
  108. },
  109. head(){
  110. return {
  111. title: '在线考试平台_在线考试软件_试卷软件系统',
  112. meta: [
  113. {
  114. name: 'keywords',
  115. content: '考试平台,试卷系统,试卷软件'
  116. },
  117. {
  118. name:'description',
  119. content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
  120. }
  121. ],
  122. }
  123. },
  124. data() {
  125. return {
  126. productList: [
  127. {
  128. content: {
  129. des1: '随机组卷算法是考试系统中最耗费性能的一项工作,因为在随机出卷的基础上,系统还要均衡试题被随机抽中的概率,避免试题被边缘化。',
  130. des: '青谷拥有一套全面、高效的随机组卷算法技术、通过优化数据算法结构和试题概率重组分配技术,能够快速计算抽中试题的随机率和分配率,极大地减轻了随机算法带来的压力。',
  131. order: 2,
  132. },
  133. img: {
  134. url: require('~/static/codeImage/code-jingli.png'),
  135. order: 1,
  136. },
  137. mianfei: true,
  138. zixun: true,
  139. shenqing: false,
  140. myType: 'kaoshi'
  141. },
  142. {
  143. content: {
  144. des1: '无论是企业还是学校在组织线上考试时,学员几乎都是同一时间进入考试的,这对于在线考试并发压力是一个很大的考验,这也是请求次数频繁导致的服务器压力过大,甚至崩溃的主要的原因',
  145. des: '青谷分布式微服务架构能很好地解决这一问题,配备具有多个节点的服务器,每个节点会根据用户请求地域就近分配来提高访问速率,如果当前节点的请求压力过大,系统还会自动将用户分配到节点相对较少的服务器上,从而实现网络的请求负载平衡。',
  146. order: 2,
  147. },
  148. img: {
  149. url: require('~/static/codeImage/code-jingli.png'),
  150. order: 1,
  151. },
  152. mianfei: true,
  153. zixun: true,
  154. shenqing: false,
  155. myType: 'kaoshi'
  156. },
  157. {
  158. content: {
  159. des1: '读写数据量大也是影响在线并发考试压力的主要因素之一,尤其是在短时间内频繁地向数据库读取',
  160. des: '青谷分布式微服务架构能很好地解决这一问题,配备具有多个节点的服务器,每个节点会根据用户请求地域就近分配来提高访问速率,如果当前节点的请求压力过大,系统还会自动将用户分配到节点相对较少的服务器上,从而实现网络的请求负载平衡。',
  161. order: 2,
  162. },
  163. img: {
  164. url: require('~/static/codeImage/code-jingli.png'),
  165. order: 1,
  166. },
  167. mianfei: true,
  168. zixun: true,
  169. shenqing: false,
  170. myType: 'kaoshi'
  171. },
  172. ],
  173. swiperOption: {
  174. pagination: {
  175. el: '.swiper-pagination',
  176. bulletClass: 'my-bullet-swiper', // 自定义设置默认类名
  177. bulletActiveClass: 'my-bullet-active-swiper', // 自定义滑块活跃类名
  178. clickable: true, // 点击当前滑块切换到对应的轮播图片
  179. },
  180. autoplay: {
  181. delay: 5000,
  182. },
  183. paginationClickable: true,
  184. speed: 800,
  185. loop: true,
  186. observer: true,
  187. observeParents: true,
  188. },
  189. }
  190. },
  191. }
  192. </script>
  193. <style lang="scss" scoped>
  194. .client-banner-box div.client-platform-banner {
  195. .banner-btn-groups.left {
  196. left: 255px;
  197. top: 500px;
  198. }
  199. }
  200. .client-suijizujuan-box {
  201. h4 {
  202. font-size: 30px;
  203. font-weight: 800;
  204. color: #333;
  205. margin-top: 130px;
  206. margin-bottom: 100px;
  207. text-align: center;
  208. }
  209. }
  210. .client-description-box {
  211. width: 100%;
  212. height: 360px;
  213. background-image: url("~static/codeImage/code-bj01.png");
  214. background-repeat: no-repeat;
  215. background-size: contain;
  216. padding: 80px 0 0 0;
  217. margin: 0 auto;
  218. text-align: center;
  219. p {
  220. color: #fff;
  221. font-size: 26px;
  222. font-weight: 800;
  223. text-align: center;
  224. width: 1000px;
  225. line-height: 1.5;
  226. text-align: center;
  227. margin: 0 auto 30px;
  228. }
  229. }
  230. </style>