|  | @@ -15,6 +15,7 @@ import {
 | 
	
		
			
				|  |  |    List,
 | 
	
		
			
				|  |  |    Loading,
 | 
	
		
			
				|  |  |    NoticeBar,
 | 
	
		
			
				|  |  | +  Popup,
 | 
	
		
			
				|  |  |    showLoadingToast,
 | 
	
		
			
				|  |  |    showToast
 | 
	
		
			
				|  |  |  } from 'vant';
 | 
	
	
		
			
				|  | @@ -34,6 +35,7 @@ import { api_musicSheetCategoriesPage, api_musicSheetPage } from './api';
 | 
	
		
			
				|  |  |  import { state } from '@/state';
 | 
	
		
			
				|  |  |  import MEmpty from '@/components/m-empty';
 | 
	
		
			
				|  |  |  import { usePageVisibility } from '@vant/use';
 | 
	
		
			
				|  |  | +import TheVip from '@/components/the-vip';
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'co-ai',
 | 
	
		
			
				|  |  |    setup() {
 | 
	
	
		
			
				|  | @@ -70,7 +72,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          top: '',
 | 
	
		
			
				|  |  |          width: '',
 | 
	
		
			
				|  |  |          height: ''
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      showVip: false
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      const downRef = ref();
 | 
	
		
			
				|  |  |      // 返回
 | 
	
	
		
			
				|  | @@ -79,6 +82,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |      /** 去云教练 */
 | 
	
		
			
				|  |  |      const handleGoto = () => {
 | 
	
		
			
				|  |  | +      if (!state.user.data?.vipMember) {
 | 
	
		
			
				|  |  | +        data.showVip = true;
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |        let src = `${location.origin}/instrument?id=${
 | 
	
		
			
				|  |  |          data.musics[data.musicIndex]?.id
 | 
	
		
			
				|  |  |        }`;
 | 
	
	
		
			
				|  | @@ -240,13 +247,16 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class={styles.center}>
 | 
	
		
			
				|  |  |                <MSearch
 | 
	
		
			
				|  |  | -                class={["searchNotice", data.searchNoticeShow ? styles.searchNoticeShow : '']}
 | 
	
		
			
				|  |  | +                class={[
 | 
	
		
			
				|  |  | +                  'searchNotice',
 | 
	
		
			
				|  |  | +                  data.searchNoticeShow ? styles.searchNoticeShow : ''
 | 
	
		
			
				|  |  | +                ]}
 | 
	
		
			
				|  |  |                  shape="round"
 | 
	
		
			
				|  |  |                  background="transparent"
 | 
	
		
			
				|  |  |                  clearable={false}
 | 
	
		
			
				|  |  |                  placeholder="请输入关键字"
 | 
	
		
			
				|  |  |                  onFocus={() => (data.searchNoticeShow = false)}
 | 
	
		
			
				|  |  | -                onBlur={(val) => {
 | 
	
		
			
				|  |  | +                onBlur={val => {
 | 
	
		
			
				|  |  |                    musicForms.keyword = val;
 | 
	
		
			
				|  |  |                    requestAnimationFrame(() => {
 | 
	
		
			
				|  |  |                      requestAnimationFrame(() => {
 | 
	
	
		
			
				|  | @@ -318,7 +328,8 @@ export default defineComponent({
 | 
	
		
			
				|  |  |                {data.isShowJianpu ? (
 | 
	
		
			
				|  |  |                  <>
 | 
	
		
			
				|  |  |                    <TransitionGroup name="van-fade">
 | 
	
		
			
				|  |  | -                    {data.musics[data.musicIndex]?.musicSvg?.split(',')
 | 
	
		
			
				|  |  | +                    {data.musics[data.musicIndex]?.musicSvg
 | 
	
		
			
				|  |  | +                      ?.split(',')
 | 
	
		
			
				|  |  |                        .map((item: any, index: number) => {
 | 
	
		
			
				|  |  |                          return (
 | 
	
		
			
				|  |  |                            <img
 | 
	
	
		
			
				|  | @@ -370,6 +381,27 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              />
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          )}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <Popup
 | 
	
		
			
				|  |  | +          class="popup-custom van-scale"
 | 
	
		
			
				|  |  | +          transition="van-scale"
 | 
	
		
			
				|  |  | +          closeOnClickOverlay={false}
 | 
	
		
			
				|  |  | +          v-model:show={data.showVip}>
 | 
	
		
			
				|  |  | +          <TheVip
 | 
	
		
			
				|  |  | +            onClose={val => {
 | 
	
		
			
				|  |  | +              if (val) {
 | 
	
		
			
				|  |  | +                postMessage({
 | 
	
		
			
				|  |  | +                  api: 'openWebView',
 | 
	
		
			
				|  |  | +                  content: {
 | 
	
		
			
				|  |  | +                    url: `${location.origin}${location.pathname}#/member-center`,
 | 
	
		
			
				|  |  | +                    orientation: 1,
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              data.showVip = false;
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </Popup>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |    }
 |