|
@@ -196,7 +196,14 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
const setAccompanyUrl = () => {
|
|
|
- const url = 'http://dev.colexiu.com'
|
|
|
+ let url = location.host
|
|
|
+ if (
|
|
|
+ location.host.includes('dev.colexiu') ||
|
|
|
+ location.host.includes('192.168') ||
|
|
|
+ location.host.includes('localhost')
|
|
|
+ ) {
|
|
|
+ url = 'http://dev.colexiu.com'
|
|
|
+ }
|
|
|
const music = musicDetail.value
|
|
|
let subjectId = ''
|
|
|
if (music.background && music.background.length > 0) {
|
|
@@ -236,14 +243,10 @@ export default defineComponent({
|
|
|
// 允许播放时间
|
|
|
const players = player.value
|
|
|
const playTime = (players.duration * freeRate.value) / 100 || 0
|
|
|
- // 时间,是否购买,是否免费
|
|
|
- if (
|
|
|
- players.currentTime >= playTime &&
|
|
|
- musicDetail.value?.orderStatus !== 'PAID' &&
|
|
|
- !paymentType.value.includes('FREE')
|
|
|
- ) {
|
|
|
- // players.stop()
|
|
|
- players.pause()
|
|
|
+ // 时间,不能播放
|
|
|
+ if (players.currentTime >= playTime && !buyState.value.play) {
|
|
|
+ players.stop()
|
|
|
+ // players.pause()
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -401,6 +404,17 @@ export default defineComponent({
|
|
|
return []
|
|
|
})
|
|
|
|
|
|
+ const buyState = computed(() => {
|
|
|
+ const music = musicDetail.value
|
|
|
+ return {
|
|
|
+ play: music.play ? true : false, // 是否可以播放
|
|
|
+ free: music?.paymentType.includes('FREE'),
|
|
|
+ charge: music?.paymentType.includes('CHARGE'),
|
|
|
+ vip: music?.paymentType.includes('VIP'),
|
|
|
+ buy: music?.orderStatus === 'PAID' // 是否已买
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
const shareStatus = ref(false)
|
|
|
const shareUrl = ref('')
|
|
|
const shareDiscount = ref(0)
|
|
@@ -549,14 +563,12 @@ export default defineComponent({
|
|
|
<div class={styles.videoOperation}>
|
|
|
{musicDetail.value?.audioFileUrl && (
|
|
|
<>
|
|
|
- {(paymentType.value.includes('CHARGE') ||
|
|
|
- paymentType.value.includes('VIP')) &&
|
|
|
- musicDetail.value?.orderStatus !== 'PAID' && (
|
|
|
- <div class={[styles.audition]}>
|
|
|
- <img src={iconListen} />
|
|
|
- <span>每首曲目可试听{freeRate.value}%</span>
|
|
|
- </div>
|
|
|
- )}
|
|
|
+ {!buyState.value.play && (
|
|
|
+ <div class={[styles.audition]}>
|
|
|
+ <img src={iconListen} />
|
|
|
+ <span>每首曲目可试听{freeRate.value}%</span>
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
|
|
|
<div class={[styles.audio, styles.collectCell]}>
|
|
|
<audio id="player" controls ref={audio}>
|
|
@@ -615,8 +627,7 @@ export default defineComponent({
|
|
|
<ColSticky position="bottom" background="white">
|
|
|
<div ref={footers}>
|
|
|
{/* 判断是否是免费的,或者已经购买过 */}
|
|
|
- {paymentType.value.includes('FREE') ||
|
|
|
- musicDetail.value?.orderStatus === 'PAID' ? (
|
|
|
+ {buyState.value.play ? (
|
|
|
<Button
|
|
|
round
|
|
|
block
|
|
@@ -628,16 +639,19 @@ export default defineComponent({
|
|
|
</Button>
|
|
|
) : (
|
|
|
<div class={styles.colSticky}>
|
|
|
- <div class={styles.priceSection}>
|
|
|
- <span>点播价:</span>
|
|
|
- <span class={styles.price}>
|
|
|
- <i>¥</i>
|
|
|
- {moneyFormat(musicDetail.value?.musicPrice)}
|
|
|
- </span>
|
|
|
- </div>
|
|
|
+ {/* 只有,有点播类型的才显示价格 */}
|
|
|
+ {buyState.value.charge && (
|
|
|
+ <div class={styles.priceSection}>
|
|
|
+ <span>点播价:</span>
|
|
|
+ <span class={styles.price}>
|
|
|
+ <i>¥</i>
|
|
|
+ {moneyFormat(musicDetail.value?.musicPrice)}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
<div class={[styles.buyBtn]}>
|
|
|
{/* 判断是否是需要收费的 */}
|
|
|
- {paymentType.value.includes('CHARGE') && (
|
|
|
+ {buyState.value.charge && (
|
|
|
<Button
|
|
|
round
|
|
|
type="primary"
|
|
@@ -650,9 +664,10 @@ export default defineComponent({
|
|
|
)}
|
|
|
|
|
|
{/* 判断是否有会员的 */}
|
|
|
- {paymentType.value.includes('VIP') && (
|
|
|
+ {buyState.value.vip && (
|
|
|
<Button
|
|
|
round
|
|
|
+ block={!buyState.value.charge ? true : false}
|
|
|
type="primary"
|
|
|
color="linear-gradient(180deg, #F7BD8D 0%, #CD8806 100%)"
|
|
|
class={styles.memeber}
|