import { defineComponent } from 'vue' import styles from './index.module.less' import iconTeacher from '@/common/images/icon_teacher.png' import { ElButton, ElImage, ElMessage, ElMessageBox, ElRate, ElTag } from 'element-plus' // import iconVip from '../images/icon_vip.png' import iconVip from '../../user-info/images/icon_vip.png' import iconVipDefault from '../../user-info/images/icon_vip_default.png' import request from '@/helpers/request' export const getAssetsHomeFile = (fileName: string) => { const path = `../../user-info/images/${fileName}` const modules = import.meta.globEager('../../user-info/images/*') return modules[path].default } export default defineComponent({ name: 'item', props: { item: { type: Object, default: {} }, getList: { type: Function, default: () => {} } }, computed: { subjects() { const { subjectName } = this.item return subjectName.split(',') || [] } }, methods: { async onUnLike() { // console.log(this.item) ElMessageBox.confirm('确定取消关注吗?', '提示').then(async () => { try { await request.get('/api-website/student/starOrUnStar', { params: { userId: this.item.userId, starStatus: 0 } }) ElMessage.success('取消关注成功') this.getList() } catch { // } }) }, checkBadge(type: string) { // tag : 老师点亮图标 // STYLE:个人风采 // VIDEO:视频课 // LIVE:直播课, // MUSIC:曲目 逗号隔开 let status = false const { teacher } = this.item switch (type) { case 'STYLE': case 'VIDEO': case 'LIVE': case 'MUSIC': if (teacher && teacher.tag) { status = teacher.tag.indexOf(type) > -1 } break case 'VIP': if (teacher) { status = teacher.isVip > 0 } break default: status = false break } return status } }, render() { const item = this.item return (
{item.userName}
{this.subjects.map(subject => (