瀏覽代碼

new question preview page

hare8999@163.com 2 年之前
父節點
當前提交
999da7f01f

+ 1 - 1
public/collectImg/index.html

@@ -4,7 +4,7 @@
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta http-equiv="X-UA-Compatible" content="ie=edge">
-  <script src="https://unpkg.com/vue/dist/vue.js"></script>
+  <script src="https://unpkg.com/vue@2.6.14/dist/vue.js"></script>
   <script type="text/javascript" async src="https://mingxuejingbang.oss-cn-beijing.aliyuncs.com/MathJaxFiles/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
   <script type="text/javascript" async src="js/globalVariable.js"></script>
   <script type="text/javascript" async src="js/html2canvas.min.js"></script>

+ 4 - 2
src/api/login.js

@@ -46,7 +46,8 @@ export function sendSms (params) {
   return request({
     url: '/common/shortMessage/sendSms',
     method: 'post',
-    params: params
+    params: params,
+    withoutToken: true
   })
 }
 
@@ -56,7 +57,8 @@ export function validateSms (params) {
   return request({
     url: '/common/shortMessage/validateSms',
     method: 'post',
-    params: params
+    params: params,
+    withoutToken: true
   })
 }
 

+ 9 - 1
src/api/webApi/webQue.js

@@ -746,4 +746,12 @@ export function downloadRealPaper(paperId, period) {
   window.location.href = downloadUrl
 }
 
-
+// /front/questionCollection/getNextQuestionForImageGenerate
+export function getNextQuestionForImageGenerate(questionId) {
+  return request({
+    url: '/front/questionCollection/getNextQuestionForImageGenerate',
+    method: 'get',
+    params: { questionId },
+    withoutToken: true
+  })
+}

+ 8 - 1
src/router/index.js

@@ -55,7 +55,14 @@ export const constantRoutes = [{
     component: (resolve) => require(['@/views/error/401'], resolve),
     hidden: true
   },
-
+  {
+    path: '/question/preview/:id',
+    hidden: true,
+    component: (resolve) => require(['@/views/questioncenter/question-preview'], resolve),
+    meta: {
+      title: '试题预览'
+    }
+  },
   {
     path: '',
     component: Layout,

+ 5 - 10
src/utils/request.js

@@ -15,17 +15,12 @@ const service = axios.create({
 })
 // request拦截器
 service.interceptors.request.use(config => {
-  // 是否需要设置 token // TODO: 22.2.22 hht 这里需要更改,不带TOKEN应该是参数控制而不URL判定,请参照APP
-  const isToken = (config.headers || {}).isToken === false
-  let urlData = [
-    '/common/shortMessage/sendSms',
-    '/common/shortMessage/validateSms'
-  ]
-  if (urlData.indexOf(config.url) == -1) {
-    if (auth.getToken() && !isToken) {
-      config.headers['Authorization'] = 'Bearer ' + auth.getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
-    }
+  // 附加授权header
+  delete config.headers['Authorization']
+  if (auth.getToken() && config['withoutToken'] !== true) {
+    config.headers['Authorization'] = 'Bearer ' + auth.getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
   }
+
   // get请求映射params参数
   if (config.method === 'get' && config.params) {
     let url = config.url + '?'

+ 53 - 0
src/views/questioncenter/question-preview.vue

@@ -0,0 +1,53 @@
+<template>
+  <div class="app-container">
+    <mx-question-content v-if="question" :options="questionOptions"></mx-question-content>
+    <div v-else-if="questionId">
+      loading question id: {{ questionId }}
+    </div>
+    <div v-else>请输入questionId</div>
+  </div>
+</template>
+
+<script>
+import { getNextQuestionForImageGenerate } from '@/api/webApi/webQue'
+import MxQuestionContent from '@/components/MxPaper/mx-question-content'
+
+export default {
+  name: 'QuestionPreview',
+  components: { MxQuestionContent },
+  data() {
+    return {
+      question: null
+    }
+  },
+  computed: {
+    questionId() {
+      return this.$route.params.id || 0
+    },
+    questionOptions() {
+      return {
+        question: this.question,
+        allowAnswer: false,
+        allowScore: false,
+        examineeType: '',
+        paperOptions: null
+      }
+    }
+  },
+  mounted() {
+    this.loadQuestion()
+  },
+  methods: {
+    loadQuestion() {
+      if (this.questionId) {
+        getNextQuestionForImageGenerate(this.questionId)
+          .then(res => this.question = res.data)
+      }
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>