lex 2 vuotta sitten
vanhempi
commit
cb6f96abd6

+ 0 - 3
src/components/col-sticky/index.tsx

@@ -54,6 +54,3 @@ export default defineComponent({
     )
   }
 })
-function nextTick(arg0: () => void) {
-  throw new Error('Function not implemented.')
-}

+ 2 - 0
src/helpers/utils.ts

@@ -24,6 +24,8 @@ export const browser = () => {
     isTeacher: u.indexOf('COLEXIUTEACHER') > -1,
     isStudent: u.indexOf('COLEXIUSTUDENT') > -1,
     isOrchestraStudent: u.indexOf('ORCHESTRASTUDENT') > -1, // 判断是否是管乐团学生端
+    orchestraAndroid: u.indexOf('ORCHESTRAAPPA') > -1 || u.indexOf('Adr') > -1, //android终端
+    orchestraIPhone: u.indexOf('ORCHESTRAAPPI') > -1, //是否为iPhone或者QQHD浏览器
     iPad: u.indexOf('iPad') > -1, //是否iPad
     webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
     weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)

+ 1 - 1
src/student/home/components/the-title/index.module.less

@@ -1,6 +1,6 @@
 .title {
   padding: 20px 14px 12px;
-  background: transparent;
+  background: transparent !important;
   :global(.van-cell__value) {
     font-size: 12px;
   }

BIN
src/student/home/images/popup-close.png


BIN
src/student/home/images/popup-download_bg.png


+ 40 - 2
src/student/home/index.tsx

@@ -1,7 +1,7 @@
 import request from '@/student/home-layout-orchestra/request-home'
 import { verifyUrl } from '@/helpers/toolsValidate'
 import { openDefaultWebView } from '@/student/home-layout-orchestra/state-orchestra'
-import { PullRefresh, Swipe, SwipeItem, Image, Tabs, Tab } from 'vant'
+import { PullRefresh, Swipe, SwipeItem, Image, Tabs, Tab, Popup } from 'vant'
 import { defineComponent } from 'vue'
 import HotAlbum from './components/hot-album'
 import InfoList from './components/info-list'
@@ -12,6 +12,11 @@ import TalentStyle from './components/talent-style'
 import TheHomeHeader from './components/TheHomeHeader'
 import VideoClass from './components/video-class'
 import styles from './index.module.less'
+import Download from './model/download'
+import popupClose from './images/popup-close.png'
+import { postMessage } from '@/helpers/native-message'
+import { browser } from '@/helpers/utils'
+import { state } from '@/state'
 
 export default defineComponent({
   name: 'home-index',
@@ -37,7 +42,8 @@ export default defineComponent({
       },
       sageList: [], // 推荐达人
       videoList: [], // 视频课
-      headerHeight: 0
+      headerHeight: 0,
+      downloadStatus: false
     }
   },
   mounted() {
@@ -188,6 +194,38 @@ export default defineComponent({
             </Tab>
           </Tabs>
         </PullRefresh>
+
+        <Popup
+          v-model:show={this.downloadStatus}
+          round
+          style={{ width: '86%', background: 'transparent' }}
+          closeable
+          closeIcon={popupClose}
+        >
+          <Download
+            buttonText={
+              state.orchestraInfo.installStatus ? '唤起酷乐秀' : '下载酷乐秀'
+            }
+            onConfirm={() => {
+              const type = browser().orchestraAndroid
+                ? 'com.cooleshow.student'
+                : 'ColexiuStudent'
+              if (state.orchestraInfo.installStatus) {
+                postMessage({ api: 'openApp', content: { type: type } })
+              } else {
+                postMessage({
+                  api: 'downloadApp',
+                  content: { type: type, url: '' }
+                })
+              }
+            }}
+          />
+        </Popup>
+        {/* 
+          ColexiuStudent IOS 学生端
+          com.cooleshow.student ADNROID 学生端
+          com.cooleshow.teacher ADNROID 老师端
+         */}
       </div>
     )
   }

+ 30 - 0
src/student/home/model/download.tsx

@@ -0,0 +1,30 @@
+import { defineComponent } from 'vue'
+import { Image, Button } from 'vant'
+import downloadBg from '../images/popup-download_bg.png'
+import styles from './index.module.less'
+
+export default defineComponent({
+  name: 'download-popup',
+  props: {
+    buttonText: {
+      type: String,
+      default: '下载酷乐秀'
+    }
+  },
+  emits: ['confirm'],
+  setup(props, { emit }) {
+    return () => (
+      <div class={styles.download}>
+        <Image src={downloadBg} class={styles.img} />
+
+        <Button
+          round
+          class={styles.downloadBtn}
+          onClick={() => emit('confirm')}
+        >
+          {props.buttonText}
+        </Button>
+      </div>
+    )
+  }
+})

+ 19 - 0
src/student/home/model/index.module.less

@@ -0,0 +1,19 @@
+.download {
+  background-color: #fff;
+  border-radius: 26px;
+  overflow: hidden;
+  text-align: center;
+  .img {
+  }
+
+  .downloadBtn {
+    background: linear-gradient(180deg, #59e5d5 0%, #2dc7aa 100%);
+    border-radius: 39px;
+    color: #fff;
+    font-size: 18px;
+    line-height: 25px;
+    width: 194px;
+    margin-top: 28px;
+    margin-bottom: 34px;
+  }
+}

+ 8 - 3
yarn.lock

@@ -2193,9 +2193,9 @@
   "resolved" "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz"
   "version" "0.9.3"
 
-"esbuild-windows-64@0.14.54":
-  "integrity" "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ=="
-  "resolved" "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz"
+"esbuild-darwin-64@0.14.54":
+  "integrity" "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug=="
+  "resolved" "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz"
   "version" "0.14.54"
 
 "esbuild@^0.14.27":
@@ -2588,6 +2588,11 @@
   "resolved" "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
   "version" "1.0.0"
 
+"fsevents@~2.3.2":
+  "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="
+  "resolved" "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz"
+  "version" "2.3.2"
+
 "function-bind@^1.1.1":
   "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
   "resolved" "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz"