|  | @@ -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}
 |