App.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. <template>
  2. <div class="app download">
  3. <div class="download-header">
  4. <div class="download-header-body">
  5. <img class="download-logo" :src="info.logo" :alt="info.name" />
  6. </div>
  7. </div>
  8. <div class="download-info">
  9. <div class="download-info-body">
  10. <h1 class="download-title">在线考试客户端下载</h1>
  11. <p class="download-desc">让考试更诚信,让监考更轻松</p>
  12. <div v-if="info.packagePath" class="download-action">
  13. <div class="download-btn" @click="toDownload">客户端下载</div>
  14. <div class="download-qrcode">
  15. <img src="./assets/docImgs/app-qr.png" alt="监考APP下载" />
  16. <p>监考APP下载</p>
  17. </div>
  18. </div>
  19. </div>
  20. </div>
  21. <div class="download-qa">
  22. <div class="download-qa-body">
  23. <div class="download-qa-menu">
  24. <el-menu
  25. active-text-color="rgba(1, 115, 255, 1)"
  26. text-color="rgba(32, 43, 75, 1)"
  27. :default-active="curMenu.id"
  28. unique-opened
  29. @select="handleSelect"
  30. >
  31. <el-submenu v-for="menu in menus" :key="menu.id" :index="menu.id">
  32. <template slot="title">
  33. <i :class="['icon', menu.icon]"></i>
  34. <span>{{ menu.title }}</span>
  35. </template>
  36. <el-menu-item
  37. v-for="(nav, nindex) in menu.children"
  38. :key="nav.id"
  39. :index="nav.id"
  40. >
  41. {{ nindex + 1 }}.{{ nav.title }}
  42. </el-menu-item>
  43. </el-submenu>
  44. </el-menu>
  45. </div>
  46. <div class="download-qa-texts">
  47. <div class="download-qa-title">{{ curMenu.title }}</div>
  48. <div
  49. v-if="curMenu.desc && curMenu.desc.length"
  50. class="download-qa-content"
  51. >
  52. <p v-for="(cont, index) in curMenu.desc" :key="index">{{ cont }}</p>
  53. </div>
  54. <!-- 1 -->
  55. <div v-if="curMenu.id === '1-2'" class="download-qa-content">
  56. <p><img src="./assets/docImgs/1-2-1.png" alt="1-2-1" /></p>
  57. <p>
  58. 这是因为系统默认安装在d盘,但考生电脑没有D盘导致,可以让他选择安装在其他盘符。具体操作如下:
  59. </p>
  60. <p><img src="./assets/docImgs/1-2-2.png" alt="1-2-2" /></p>
  61. </div>
  62. <div v-if="curMenu.id === '1-3'" class="download-qa-content">
  63. <p><img src="./assets/docImgs/1-3-1.png" alt="1-3-1" /></p>
  64. <p>
  65. 网上下载VC合集,安装完成后,再打开程序,一般都能解决。如果还是不行请按照<a
  66. href="https://www.jb51.net/dll/72355.html"
  67. target="_block"
  68. >https://www.jb51.net/dll/72355.html</a
  69. >
  70. 网页的说明处理
  71. </p>
  72. </div>
  73. <div v-if="curMenu.id === '1-4'" class="download-qa-content">
  74. <p><img src="./assets/docImgs/1-4-1.png" alt="1-4-1" /></p>
  75. <p>
  76. 检查电脑时区是否是中国时区utc+8,若时区正确,则电脑操作系统的字库有问题,需要重新安装操作系统或更换电脑。
  77. </p>
  78. <p>
  79. 检查电脑时区方法可以百度,若win10操作系统也可以按下图所示操作:
  80. </p>
  81. <p><img src="./assets/docImgs/1-4-2.png" alt="1-4-2" /></p>
  82. <p>
  83. 若更改时区后还是显示乱码,则是电脑操作系统字库缺失文件导致。需要重装电脑操作系统或更换电脑。
  84. </p>
  85. </div>
  86. <!-- 2 -->
  87. <div v-if="curMenu.id === '2-1'" class="download-qa-content">
  88. <p><img src="./assets/docImgs/2-1-1.png" alt="2-1-1" /></p>
  89. <p>
  90. 考试系统不允许通过无线或有线的方式连接第二块屏幕或投屏,若有连接,需要断开后再打开考试系统;
  91. </p>
  92. <p>
  93. 若没有以上操作,可以将电脑屏幕分辨率调整为1920*1080后,再打开考试系统。
  94. </p>
  95. </div>
  96. <div v-if="curMenu.id === '2-2'" class="download-qa-content">
  97. <p>
  98. 右键“我的电脑”,点击属性:
  99. </p>
  100. <p><img src="./assets/docImgs/2-2-1.png" alt="2-2-1" /></p>
  101. <p>
  102. 打开属性界面,点击“关于”界面的高级系统设置:
  103. </p>
  104. <p><img src="./assets/docImgs/2-2-2.png" alt="2-2-2" /></p>
  105. <p>
  106. 选择远程栏,取消勾选。
  107. </p>
  108. <p><img src="./assets/docImgs/2-2-3.png" alt="2-2-3" /></p>
  109. </div>
  110. <div v-if="curMenu.id === '2-3'" class="download-qa-content">
  111. <p>
  112. 协通是个远程软件,可以退出或卸载该软件,也可以在进程里(任务管理器-进程)关闭XT或协通开头的进程。
  113. </p>
  114. <p>
  115. 如何打开任务管理-进程可以百度,也可以参照下图所示:
  116. </p>
  117. <p><img src="./assets/docImgs/2-3-1.png" alt="2-3-1" /></p>
  118. <p>打开任务管理-进程,列表为空,需要点击详细信息。如下图所示:</p>
  119. <p><img src="./assets/docImgs/2-3-2.png" alt="2-3-2" /></p>
  120. </div>
  121. <div v-if="curMenu.id === '2-5'" class="download-qa-content">
  122. <p>
  123. 该问题是考生电脑与服务器网络不畅通导致(注:可以上网不代表网络稳定畅通),可以重启路由器和光猫设备再登录,或者试试以下方法:
  124. </p>
  125. <ul>
  126. <li>Cmd中运行下列命令刷新DNS:ipconfig/flushdns</li>
  127. <li>修改首选DNS为阿里公共DNS:223.5.5.5</li>
  128. </ul>
  129. <p>若设置后还是不行,则需要考生自行解决网络问题后再考试</p>
  130. </div>
  131. <!-- 3 -->
  132. <div v-if="curMenu.id === '3-5'" class="download-qa-content">
  133. <p><img src="./assets/docImgs/3-5-1.png" alt="3-5-1" /></p>
  134. <p>
  135. 这是考生电脑时间和时区的问题,有可能考生电脑和北京时间不一致,或者时区不是中国时区,是美国时区阿富汗时区之类的,调整后再登录。
  136. </p>
  137. </div>
  138. <!-- 4 -->
  139. <div v-if="curMenu.id === '4-1'" class="download-qa-content">
  140. <p><img src="./assets/docImgs/4-1-1.png" alt="4-1-1" /></p>
  141. <p>
  142. 电脑摄像头未开启,需要找到键盘上摄像头的开关,或者看看有没有其他物理开关。联想的电脑可以按下f8键试试。
  143. </p>
  144. </div>
  145. <div v-if="curMenu.id === '4-2'" class="download-qa-content">
  146. <p><img src="./assets/docImgs/4-2-1.png" alt="4-2-1" /></p>
  147. <p>
  148. 将电脑上的360杀毒软件和360安全卫士退出后,再登录考试客户端。
  149. </p>
  150. </div>
  151. <div v-if="curMenu.id === '4-3'" class="download-qa-content">
  152. <p><img src="./assets/docImgs/4-3-1.png" alt="4-3-1" /></p>
  153. <p><img src="./assets/docImgs/4-3-2.png" alt="4-3-2" /></p>
  154. <p>
  155. 大多数杀毒软件会禁止摄像头运行,将电脑上杀毒软件、360安全卫士、电脑管家等退出,再登录试试
  156. </p>
  157. <p>若还是显示黑色或灰色,可以按下图方法处理下:</p>
  158. <p><img src="./assets/docImgs/4-3-3.png" alt="4-3-3" /></p>
  159. <p>
  160. 处理后还是不行,则可能是电脑和摄像头兼容性的问题,建议更换电脑。
  161. </p>
  162. </div>
  163. <div v-if="curMenu.id === '4-5'" class="download-qa-content">
  164. <p><img src="./assets/docImgs/4-5-1.png" alt="4-5-1" /></p>
  165. <p>
  166. 首先此提示不会影响成绩;出现提示时可以适当进行坐姿调整,保持人脸正对摄像头,完整清晰的出现在摄像头的范围内,面部光线充足,背后无强光源,右下角监控中人脸清晰完整。如果有带眼镜也可能导致误报,误报不影响成绩。
  167. </p>
  168. </div>
  169. <div v-if="curMenu.id === '4-7'" class="download-qa-content">
  170. <p><img src="./assets/docImgs/4-7-1.png" alt="4-7-1" /></p>
  171. <p>
  172. 修改电脑显示设置中“缩放与布局”,将更改文本、应用等项目的大小修改100%。
  173. </p>
  174. <p>WIN10操作系统为如下方式:</p>
  175. <p><img src="./assets/docImgs/4-7-2.png" alt="4-7-2" /></p>
  176. <p>WIN7操作系统为如下方式:</p>
  177. <p><img src="./assets/docImgs/4-7-3.png" alt="4-7-3" /></p>
  178. </div>
  179. <div v-if="curMenu.id === '4-8'" class="download-qa-content">
  180. <p><img src="./assets/docImgs/4-8-1.png" alt="4-8-1" /></p>
  181. </div>
  182. <!-- 5 -->
  183. <div v-if="curMenu.id === '5-1'" class="download-qa-content">
  184. <p>
  185. 整场考试答题过程中,需要将整个人脸保持在摄像头范围内(不要带口罩或遮挡人脸)。考生需要时刻关注并确认电脑摄像头画面中的自己的人脸完整,摄像头工作正常(电脑右下角)。错误示例见下图:
  186. </p>
  187. <p>
  188. <img src="./assets/docImgs/5-1-1.png" alt="5-1-1" />
  189. <img src="./assets/docImgs/5-1-2.png" alt="5-1-2" />
  190. <img src="./assets/docImgs/5-1-3.png" alt="5-1-3" />
  191. <img src="./assets/docImgs/5-1-4.png" alt="5-1-4" />
  192. </p>
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. </div>
  198. </template>
  199. <script>
  200. import { getSchoolInfo } from "./api";
  201. import { menus } from "./constant/menu";
  202. function getParam(paramName) {
  203. const hs = window.location.href.split(/\?|&/);
  204. const validh = hs.find((item) => item.startsWith(paramName));
  205. if (!validh) return;
  206. return validh.split("=")[1];
  207. }
  208. export default {
  209. name: "app",
  210. data() {
  211. return {
  212. info: {
  213. name: "",
  214. logo: "",
  215. packagePath: "",
  216. version: {
  217. name: "",
  218. },
  219. },
  220. curMenu: {
  221. id: "",
  222. title: "",
  223. },
  224. menus,
  225. };
  226. },
  227. created() {
  228. this.getData();
  229. this.handleSelect("1-1", ["1"]);
  230. },
  231. methods: {
  232. async getData() {
  233. const code = getParam("code");
  234. if (!code) {
  235. window.alert("学校code丢失!");
  236. return;
  237. }
  238. const res = await getSchoolInfo(code);
  239. this.info = res.data.data;
  240. if (!this.info.version) {
  241. this.$message.error("数据错误!");
  242. }
  243. },
  244. handleSelect(key, keyPath) {
  245. console.log(key, keyPath);
  246. const parentId = keyPath[0];
  247. const pmenu = this.menus.find((item) => item.id === parentId);
  248. if (!pmenu) return;
  249. this.curMenu = pmenu.children.find((item) => item.id === key);
  250. },
  251. toDownload() {
  252. if (!this.info.packagePath) return;
  253. window.open(this.info.packagePath);
  254. },
  255. },
  256. };
  257. </script>