Browse Source

Merge branch 'master' into iterationApp

lex-xin 3 years ago
parent
commit
57fbd490f6
49 changed files with 83 additions and 3 deletions
  1. 0 0
      dist/app.e946acf860b0f158fd50.js
  2. 0 0
      dist/css/trainDetail.0c283116.css
  3. 0 0
      dist/css/trainDetail.2af1ef6b.css
  4. 0 0
      dist/index.html
  5. 0 0
      dist/js/Account.23072756.js
  6. 0 0
      dist/js/Account~AppLogin~AppRegister~AppSetInfo~AppealDetail~AppealRecord~AppealResult~Approval~ArrangeWork~~d3ab455b.74d1b84c.js
  7. 0 0
      dist/js/Account~AppLogin~AppRegister~AppSetInfo~ClassDetail~CourseApply~CourseDetail~ExchangeRecord~HelpCent~99ca2482.7d027cf0.js
  8. 0 0
      dist/js/AppSetInfo.281389a0.js
  9. 0 0
      dist/js/AppealDetail.a389e558.js
  10. 0 0
      dist/js/AppealRecord.1166c6f2.js
  11. 0 0
      dist/js/AppealResult.1b0bb49a.js
  12. 0 0
      dist/js/Approval.ed369026.js
  13. 0 0
      dist/js/ArrangeWork.31163c6c.js
  14. 0 0
      dist/js/Attendance.05b0f15f.js
  15. 0 0
      dist/js/CallNames.2428a806.js
  16. 0 0
      dist/js/ClassDetail.5a2ca167.js
  17. 0 0
      dist/js/CourseApply.0a0937a1.js
  18. 0 0
      dist/js/CourseDetail.f4cbd896.js
  19. 0 0
      dist/js/CourseEvaluation.93968944.js
  20. 0 0
      dist/js/ExchangeRecord.b0d08c6d.js
  21. 0 0
      dist/js/HelpCenter.36c9c27d.js
  22. 0 0
      dist/js/IStarted.a6b8af54.js
  23. 0 0
      dist/js/Leave.b5ea8b77.js
  24. 0 0
      dist/js/ManageEvaluation.c150c441.js
  25. 0 0
      dist/js/MonthAppeal.cd5822e1.js
  26. 0 0
      dist/js/PaymentResult.77cccf9e.js
  27. 0 0
      dist/js/PeriodAdjust.cfd2b156.js
  28. 0 0
      dist/js/PeriodAdjust~PeriodChange.1fe84295.js
  29. 0 0
      dist/js/PeriodChange.00315415.js
  30. 0 0
      dist/js/PeriodExchange.8444dbde.js
  31. 0 0
      dist/js/PeriodRecord.f04f81f1.js
  32. 0 0
      dist/js/Remuneration.0b773fd7.js
  33. 0 0
      dist/js/TeachingSchool.589b87be.js
  34. 0 0
      dist/js/TeachingSet.1a633c5c.js
  35. 0 0
      dist/js/UserProtocol.a37231f2.js
  36. 0 0
      dist/js/VIPApply.8c9f9a3c.js
  37. 0 0
      dist/js/VIPApply~applyActive.c8035566.js
  38. 0 0
      dist/js/addVisit.221d5d81.js
  39. 0 0
      dist/js/order.b33832ad.js
  40. 0 0
      dist/js/privacy.7dbd8b2d.js
  41. 0 0
      dist/js/special.b72a52c0.js
  42. 0 0
      dist/js/specialDetail.7880463d.js
  43. 0 0
      dist/js/trainDetail.09962f54.js
  44. 0 0
      dist/js/trainDetail.41823e8c.js
  45. 0 0
      dist/js/trainStatistics.26a1905f.js
  46. 0 0
      dist/js/visitList.565b0ef9.js
  47. 7 1
      src/common/common.js
  48. 57 0
      src/helpers/native-message.js
  49. 19 2
      src/views/trainStatistics/trainDetail.vue

File diff suppressed because it is too large
+ 0 - 0
dist/app.e946acf860b0f158fd50.js


File diff suppressed because it is too large
+ 0 - 0
dist/css/trainDetail.0c283116.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/trainDetail.2af1ef6b.css


File diff suppressed because it is too large
+ 0 - 0
dist/index.html


+ 0 - 0
dist/js/Account.c4dd0528.js → dist/js/Account.23072756.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/Account~AppLogin~AppRegister~AppSetInfo~AppealDetail~AppealRecord~AppealResult~Approval~ArrangeWork~~d3ab455b.74d1b84c.js


+ 0 - 0
dist/js/Account~AppLogin~AppRegister~AppSetInfo~ClassDetail~CourseApply~CourseDetail~ExchangeRecord~HelpCent~99ca2482.03f25dbf.js → dist/js/Account~AppLogin~AppRegister~AppSetInfo~ClassDetail~CourseApply~CourseDetail~ExchangeRecord~HelpCent~99ca2482.7d027cf0.js


+ 0 - 0
dist/js/AppSetInfo.489f864e.js → dist/js/AppSetInfo.281389a0.js


+ 0 - 0
dist/js/AppealDetail.1197bce9.js → dist/js/AppealDetail.a389e558.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealRecord.1166c6f2.js


+ 0 - 0
dist/js/AppealResult.7a888f3f.js → dist/js/AppealResult.1b0bb49a.js


+ 0 - 0
dist/js/Approval.84754b6f.js → dist/js/Approval.ed369026.js


+ 0 - 0
dist/js/ArrangeWork.64cf194b.js → dist/js/ArrangeWork.31163c6c.js


+ 0 - 0
dist/js/Attendance.63dce1f0.js → dist/js/Attendance.05b0f15f.js


+ 0 - 0
dist/js/CallNames.d762dc08.js → dist/js/CallNames.2428a806.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/ClassDetail.5a2ca167.js


+ 0 - 0
dist/js/CourseApply.eef6f6a0.js → dist/js/CourseApply.0a0937a1.js


+ 0 - 0
dist/js/CourseDetail.ef3adb07.js → dist/js/CourseDetail.f4cbd896.js


+ 0 - 0
dist/js/CourseEvaluation.a5cc4a50.js → dist/js/CourseEvaluation.93968944.js


+ 0 - 0
dist/js/ExchangeRecord.8eae4e75.js → dist/js/ExchangeRecord.b0d08c6d.js


+ 0 - 0
dist/js/HelpCenter.d3f912ea.js → dist/js/HelpCenter.36c9c27d.js


+ 0 - 0
dist/js/IStarted.6536f766.js → dist/js/IStarted.a6b8af54.js


+ 0 - 0
dist/js/Leave.fafaf096.js → dist/js/Leave.b5ea8b77.js


+ 0 - 0
dist/js/ManageEvaluation.6d1c7837.js → dist/js/ManageEvaluation.c150c441.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/MonthAppeal.cd5822e1.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PaymentResult.77cccf9e.js


+ 0 - 0
dist/js/PeriodAdjust.03e6e729.js → dist/js/PeriodAdjust.cfd2b156.js


+ 0 - 0
dist/js/PeriodAdjust~PeriodChange.5c3a7294.js → dist/js/PeriodAdjust~PeriodChange.1fe84295.js


+ 0 - 0
dist/js/PeriodChange.447b617a.js → dist/js/PeriodChange.00315415.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/PeriodExchange.8444dbde.js


+ 0 - 0
dist/js/PeriodRecord.2c24e569.js → dist/js/PeriodRecord.f04f81f1.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/Remuneration.0b773fd7.js


+ 0 - 0
dist/js/TeachingSchool.11461c41.js → dist/js/TeachingSchool.589b87be.js


+ 0 - 0
dist/js/TeachingSet.680559fb.js → dist/js/TeachingSet.1a633c5c.js


+ 0 - 0
dist/js/UserProtocol.ea8b7d33.js → dist/js/UserProtocol.a37231f2.js


+ 0 - 0
dist/js/VIPApply.d1c6e551.js → dist/js/VIPApply.8c9f9a3c.js


+ 0 - 0
dist/js/VIPApply~applyActive.9ce97dfb.js → dist/js/VIPApply~applyActive.c8035566.js


+ 0 - 0
dist/js/addVisit.94b76422.js → dist/js/addVisit.221d5d81.js


+ 0 - 0
dist/js/order.ac8c7121.js → dist/js/order.b33832ad.js


+ 0 - 0
dist/js/privacy.cc3f9ee4.js → dist/js/privacy.7dbd8b2d.js


+ 0 - 0
dist/js/special.a1a3bd2b.js → dist/js/special.b72a52c0.js


+ 0 - 0
dist/js/specialDetail.e39aecc2.js → dist/js/specialDetail.7880463d.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/trainDetail.09962f54.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/trainDetail.41823e8c.js


+ 0 - 0
dist/js/trainStatistics.15ba683c.js → dist/js/trainStatistics.26a1905f.js


+ 0 - 0
dist/js/visitList.cc232f41.js → dist/js/visitList.565b0ef9.js


+ 7 - 1
src/common/common.js

@@ -1,3 +1,8 @@
+export const getRandomKey = () => {
+	let key = '' + new Date().getTime() + Math.floor(Math.random() * 1000000)
+	return key
+}
+
 const browser = () => {
   var u = navigator.userAgent
   //   app = navigator.appVersion;
@@ -7,10 +12,11 @@ const browser = () => {
     webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
     gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
     mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
-    ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
+    ios: !!u.match(/Mac OS X/), //ios终端
     // ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
     android: u.indexOf('DAYAAPPA') > -1 || u.indexOf('Adr') > -1, //android终端
     iPhone: u.indexOf('DAYAAPPI') > -1, //是否为iPhone或者QQHD浏览器
+    isApp: u.indexOf('DAYAAPPI') > -1 || u.indexOf('DAYAAPPA') > -1 || u.indexOf('Adr') > -1,
     iPad: u.indexOf('iPad') > -1, //是否iPad
     webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
     weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)

+ 57 - 0
src/helpers/native-message.js

@@ -0,0 +1,57 @@
+import { browser, getRandomKey } from '../common/common'
+/**
+ *
+ * 目前已支持API
+ *
+ * openWebView
+ *
+ */
+
+const loop = () => {}
+
+const calls = {}
+
+const browserInfo = browser()
+if (browserInfo.isApp) {
+  window.addEventListener('message', evt => {
+    try {
+      const data = evt.data ? typeof evt.data === 'object' ? evt.data : JSON.parse(evt.data) : {}
+      const uuid = data.content.uuid || data.uuid
+      try {
+        if (data.content) {
+          data.content = JSON.parse(data.content)
+        }
+      } catch (error) {}
+      if (!uuid) {
+        const keys = Object.keys(calls).filter(key => key.indexOf(data.api) === 0)
+        for (const key of keys) {
+          const callback = calls[key] || loop
+          callback(data)
+        }
+        return
+      }
+      const callback = calls[data.content.uuid || data.uuid || (data.api + data.uuid)] || loop
+      callback(data)
+    } catch (error) {
+      console.error('通信消息解析错误', error)
+    }
+  })
+}
+
+const instance = window.DAYA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.DAYA)
+
+export const postMessage = (data, callback) => {
+  if (browserInfo.isApp) {
+    const uuid = getRandomKey()
+    calls[uuid] = callback || loop
+    data.content = data.content ? {...data.content, uuid} : {uuid}
+    instance.postMessage(JSON.stringify(data))
+  }
+}
+
+export const listenerMessage = (api, callback) => {
+  if (browserInfo.isApp) {
+    const uuid = api + getRandomKey()
+    calls[uuid] = callback || loop
+  }
+}

+ 19 - 2
src/views/trainStatistics/trainDetail.vue

@@ -61,7 +61,7 @@
             finished-text="- 没有更多内容 -"
             :immediate-check="false"
             @load="getList()">
-            <van-cell-group class="data-content" v-for="(item, index) in dataList" :key="index">
+            <van-cell-group class="data-content" v-for="(item, index) in dataList" :key="index" @click="showDetail(item)">
                 <van-cell style="padding: 16px 12px; 12px" :center="true">
                     <template #title>
                         <span style="font-size: .17rem; color:#333333; font-weight: 500; padding-right: .05rem;padding-bottom: .05rem;">{{ item.sysMusicScoreName }}</span>
@@ -73,7 +73,7 @@
                         <img v-if="getLevelByScore(item.score) == 3" class="scoreImg" src="./images/3.png" alt="">
                     </p>
                 </van-cell>
-                <van-cell :clickable="false" center style="padding: 12px 12px 16px">
+                <van-cell is-link :clickable="false" center style="padding: 12px 12px 16px">
                     <template #title>
                         <van-grid :border="false" column-num="4" :clickable="true">
                             <van-grid-item text="综合得分" class="van-hairline--right">
@@ -105,6 +105,7 @@
 <script>
 import MHeader from "@/components/MHeader";
 import MEmpty from '@/components/MEmpty';
+import { postMessage } from "@/helpers/native-message";
 import dayjs from "dayjs";
 import { browser } from "@/common/common";
 import { queryMusicCompareRecord } from './api.js'
@@ -157,6 +158,22 @@ export default {
                 }
             })
         },
+        showDetail(item) {
+            if(item.notesDataIndex > 0){
+                postMessage({
+                    api: "openAccompanyWebView",
+                    content: {
+                        url: location.origin + `/accompany/#/report/${item.id}`,
+                        orientation: 0,
+                        isHideTitle: true,
+                        statusBarTextColor: false,
+                        isOpenLight: true,
+                    },
+                });
+            }else{
+                this.$toast('本次评测未生成报告')
+            }
+        },
         async getList() {
             try {
                 let res = await queryMusicCompareRecord(this.searchList)

Some files were not shown because too many files changed in this diff