|
@@ -1,17 +1,19 @@
|
|
import ColResult from '@/components/col-result'
|
|
import ColResult from '@/components/col-result'
|
|
import request from '@/helpers/request'
|
|
import request from '@/helpers/request'
|
|
-import { dateFormat } from '@/helpers/utils'
|
|
|
|
-import { Cell, CellGroup, Image, List } from 'vant'
|
|
|
|
|
|
+import { Image, List } from 'vant'
|
|
import { defineComponent, reactive } from 'vue'
|
|
import { defineComponent, reactive } from 'vue'
|
|
import styles from './index.module.less'
|
|
import styles from './index.module.less'
|
|
|
|
+import bars from '../../images/bars2.svg'
|
|
|
|
+import iconVideoPlay from '../../images/icon_video_play.png'
|
|
|
|
+import { openDefaultWebView } from '@/state'
|
|
|
|
+import { useRouter } from 'vue-router'
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
name: 'talent-list',
|
|
name: 'talent-list',
|
|
setup() {
|
|
setup() {
|
|
|
|
+ const router = useRouter()
|
|
const params = reactive({
|
|
const params = reactive({
|
|
platformType: 'STUDENT',
|
|
platformType: 'STUDENT',
|
|
- // type: '1',
|
|
|
|
- // clientType: 'STUDENT',
|
|
|
|
page: 1,
|
|
page: 1,
|
|
rows: 20
|
|
rows: 20
|
|
})
|
|
})
|
|
@@ -56,57 +58,123 @@ export default defineComponent({
|
|
class={styles.style}
|
|
class={styles.style}
|
|
onLoad={getList}
|
|
onLoad={getList}
|
|
>
|
|
>
|
|
- {state.list.map((item: any, index: number) => (
|
|
|
|
- <>
|
|
|
|
- {index % 2 === 0 ? (
|
|
|
|
- <div class={styles.line}>
|
|
|
|
- <div class={styles.styleItem}>
|
|
|
|
- <div class={styles.styleImg}>
|
|
|
|
- <Image
|
|
|
|
- src={item.cover}
|
|
|
|
- fit="cover"
|
|
|
|
- class={[styles.img, index === 0 && styles.first]}
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- <div class={styles.userInfo}>
|
|
|
|
- <p class={styles.user}>
|
|
|
|
|
|
+ <div class={styles.lineContainer}>
|
|
|
|
+ <div class={styles.line}>
|
|
|
|
+ {state.list.map(
|
|
|
|
+ (item: any, index: number) =>
|
|
|
|
+ index % 2 === 0 && (
|
|
|
|
+ <div
|
|
|
|
+ class={styles.styleItem}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ const url =
|
|
|
|
+ location.origin +
|
|
|
|
+ location.pathname +
|
|
|
|
+ '#/teacherHome?teacherId=' +
|
|
|
|
+ item.userId
|
|
|
|
+ openDefaultWebView(url, () => {
|
|
|
|
+ router.push({
|
|
|
|
+ path: '/teacherHome',
|
|
|
|
+ query: {
|
|
|
|
+ teacherId: item.userId
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ <div class={styles.styleImg}>
|
|
<Image
|
|
<Image
|
|
- src-={item.avatar}
|
|
|
|
|
|
+ src={item.cover}
|
|
fit="cover"
|
|
fit="cover"
|
|
- class={styles.userImg}
|
|
|
|
|
|
+ class={[styles.img, index === 0 && styles.first]}
|
|
/>
|
|
/>
|
|
- <span>{item.username}</span>
|
|
|
|
- </p>
|
|
|
|
- <p class={styles.lookNum}>{item.browse}人观看</p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- ) : (
|
|
|
|
- <div class={styles.line}>
|
|
|
|
- <div class={styles.styleItem}>
|
|
|
|
- <div class={styles.styleImg}>
|
|
|
|
- <Image
|
|
|
|
- src={item.cover}
|
|
|
|
- fit="cover"
|
|
|
|
- class={[styles.img, index === 0 && styles.first]}
|
|
|
|
- />
|
|
|
|
|
|
+
|
|
|
|
+ {item.living === 1 ? (
|
|
|
|
+ <div class={styles.living}>
|
|
|
|
+ <div class={styles.animationContainer}>
|
|
|
|
+ <Image src={bars} class={styles.animation} />
|
|
|
|
+ </div>
|
|
|
|
+ <span>直播中</span>
|
|
|
|
+ </div>
|
|
|
|
+ ) : (
|
|
|
|
+ <Image
|
|
|
|
+ src={iconVideoPlay}
|
|
|
|
+ class={styles.iconVideoPlay}
|
|
|
|
+ />
|
|
|
|
+ )}
|
|
|
|
+ </div>
|
|
|
|
+ <div class={styles.userInfo}>
|
|
|
|
+ <p class={styles.user}>
|
|
|
|
+ <Image
|
|
|
|
+ src-={item.avatar}
|
|
|
|
+ fit="cover"
|
|
|
|
+ class={styles.userImg}
|
|
|
|
+ />
|
|
|
|
+ <span>{item.username}</span>
|
|
|
|
+ </p>
|
|
|
|
+ <p class={styles.lookNum}>{item.browse}人观看</p>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div class={styles.userInfo}>
|
|
|
|
- <p class={styles.user}>
|
|
|
|
|
|
+ )
|
|
|
|
+ )}
|
|
|
|
+ </div>
|
|
|
|
+ <div class={styles.line}>
|
|
|
|
+ {state.list.map(
|
|
|
|
+ (item: any, index: number) =>
|
|
|
|
+ index % 2 === 1 && (
|
|
|
|
+ <div
|
|
|
|
+ class={styles.styleItem}
|
|
|
|
+ onClick={() => {
|
|
|
|
+ const url =
|
|
|
|
+ location.origin +
|
|
|
|
+ location.pathname +
|
|
|
|
+ '#/teacherHome?teacherId=' +
|
|
|
|
+ item.userId
|
|
|
|
+ openDefaultWebView(url, () => {
|
|
|
|
+ router.push({
|
|
|
|
+ path: '/teacherHome',
|
|
|
|
+ query: {
|
|
|
|
+ teacherId: item.userId
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ }}
|
|
|
|
+ >
|
|
|
|
+ <div class={styles.styleImg}>
|
|
<Image
|
|
<Image
|
|
- src-={item.avatar}
|
|
|
|
|
|
+ src={item.cover}
|
|
fit="cover"
|
|
fit="cover"
|
|
- class={styles.userImg}
|
|
|
|
|
|
+ class={[styles.img, index === 0 && styles.first]}
|
|
/>
|
|
/>
|
|
- <span>{item.username}</span>
|
|
|
|
- </p>
|
|
|
|
- <p class={styles.lookNum}>{item.browse}人观看</p>
|
|
|
|
|
|
+ {item.living === 1 ? (
|
|
|
|
+ <div class={styles.living}>
|
|
|
|
+ <div class={styles.animationContainer}>
|
|
|
|
+ <Image src={bars} class={styles.animation} />
|
|
|
|
+ </div>
|
|
|
|
+ <span>直播中</span>
|
|
|
|
+ </div>
|
|
|
|
+ ) : (
|
|
|
|
+ <Image
|
|
|
|
+ src={iconVideoPlay}
|
|
|
|
+ class={styles.iconVideoPlay}
|
|
|
|
+ />
|
|
|
|
+ )}
|
|
|
|
+ </div>
|
|
|
|
+ <div class={styles.userInfo}>
|
|
|
|
+ <p class={styles.user}>
|
|
|
|
+ <Image
|
|
|
|
+ src-={item.avatar}
|
|
|
|
+ fit="cover"
|
|
|
|
+ class={styles.userImg}
|
|
|
|
+ />
|
|
|
|
+ <span>{item.username}</span>
|
|
|
|
+ </p>
|
|
|
|
+ <p class={styles.lookNum}>{item.browse}人观看</p>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ )
|
|
)}
|
|
)}
|
|
- </>
|
|
|
|
- ))}
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</List>
|
|
</List>
|
|
) : (
|
|
) : (
|
|
<ColResult
|
|
<ColResult
|