幸福青鸟 發表於 2025-8-29 14:15:00

直播平台发现组件、艺人动态展示、点击切换艺人

<h1 class="article-title" data-v-61fb5e44="">直播平台发现组件、艺人动态展示、点击切换艺人</h1>
<div>
<div>
<h2 data-id="heading-0"><strong><img src="https://img2024.cnblogs.com/blog/1690727/202508/1690727-20250829141306515-420953665.gif"></strong></h2>
<p>&nbsp;</p>
<h2 data-id="heading-0"><strong>直播平台发现组件使用步骤:</strong></h2>
<h3 data-id="heading-1">1. 查找插件</h3>
<p>进入插件市场:打开 HBuilderX 编辑器,点击菜单栏中的 “插件” -&gt; “插件市场”,或者直接访问uni-app 插件市场官网 。 搜索插件:在插件市场的搜索框中输入关键词,查找本插件,比如搜索 “小程序对接视频号” 。 筛选插件:筛选出小程序对接视频号插件。</p>
<h3 data-id="heading-2">2. 安装插件</h3>
<p>方式一:在 HBuilderX 中安装 在插件市场找到目标插件后,点击进入插件详情页。 点击 “使用 HBuilderX 导入插件” 按钮(如果是免费插件,直接导入;如果是付费插件,需要先购买 )本插件是免费免费的喽。 选择要导入插件的 uni-app 项目,确认导入。导入成功后,插件会被放置在项目的 uni_modules 目录下。 方式二:通过命令行安装(适用于发布到 npm 的插件) 打开命令行工具,进入你的 uni-app 项目根目录。 执行 npm install 插件名称 命令,例如 npm install my-uniapp-plugin 。安装完成后,同样可以在项目的 uni_modules 目录下找到该插件。</p>
<h3 data-id="heading-3">3. 引入插件</h3>
<div class="code-block-extension-header">
<div class="code-block-extension-headerLeft">
<div class="code-block-extension-foldBtn">&nbsp;</div>
<span class="code-block-extension-lang">ini</span></div>
<div class="code-block-extension-headerRight">
<div class="code-tips" data-v-4fdcfe21=""><span data-v-4fdcfe21="">体验AI代码助手</span></div>
<div class="render" data-v-159ebe90=""><span class="txt" data-v-159ebe90="">代码解读</span></div>
<div class="code-block-extension-copyCodeBtn">复制代码</div>
</div>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">liveStreamDiscoverVue
</span><span style="color: rgba(255, 0, 0, 1)">:centerAvatar</span><span style="color: rgba(0, 0, 255, 1)">="centerAvatar"</span><span style="color: rgba(255, 0, 0, 1)">
:centerName</span><span style="color: rgba(0, 0, 255, 1)">="centerName"</span><span style="color: rgba(255, 0, 0, 1)">
:circleItems</span><span style="color: rgba(0, 0, 255, 1)">="circleItems"</span><span style="color: rgba(255, 0, 0, 1)">
:bottomNavs</span><span style="color: rgba(0, 0, 255, 1)">="bottomNavs"</span> <span style="color: rgba(0, 0, 255, 1)">/&gt;</span></pre>
</div>
<p>&nbsp;</p>
<h3 data-id="heading-4">4 在测试项目中加入数据,可以根据需要从后台获取,增加动画处理函数。</h3>
<div class="code-block-extension-header">
<div class="code-block-extension-headerLeft">
<div class="code-block-extension-foldBtn">
<div class="cnblogs_code">
<pre>const centerAvatar = ref('/static/discover/1.png'<span style="color: rgba(0, 0, 0, 1)">);
const centerName </span>= ref('柳欢欢'<span style="color: rgba(0, 0, 0, 1)">);

const circleItems </span>=<span style="color: rgba(0, 0, 0, 1)"> ref([{
            type: </span>'avatar'<span style="color: rgba(0, 0, 0, 1)">,
            src: </span>'/static/discover/2.png'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'Jimly'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>0<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>-210<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'avatar'<span style="color: rgba(0, 0, 0, 1)">,
            src: </span>'/static/discover/3.png'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'李妮娜'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>-130<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>-80<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'avatar'<span style="color: rgba(0, 0, 0, 1)">,
            src: </span>'/static/discover/4.png'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'王朵朵'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>130<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>-120<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'tag'<span style="color: rgba(0, 0, 0, 1)">,
            text: </span>'年轻'<span style="color: rgba(0, 0, 0, 1)">,
            count: </span>'12345人'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>-160<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>50<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'tag'<span style="color: rgba(0, 0, 0, 1)">,
            text: </span>'天然萌'<span style="color: rgba(0, 0, 0, 1)">,
            count: </span>'12345人'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>160<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>60<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'tag'<span style="color: rgba(0, 0, 0, 1)">,
            text: </span>'可爱'<span style="color: rgba(0, 0, 0, 1)">,
            count: </span>'12345人'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>-80<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>90<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'tag'<span style="color: rgba(0, 0, 0, 1)">,
            text: </span>'大胸'<span style="color: rgba(0, 0, 0, 1)">,
            count: </span>'12345人'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>80<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>80<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'avatar'<span style="color: rgba(0, 0, 0, 1)">,
            src: </span>'/static/discover/5.png'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'肖媚媚'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>-130<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>200<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            type: </span>'avatar'<span style="color: rgba(0, 0, 0, 1)">,
            src: </span>'/static/discover/6.png'<span style="color: rgba(0, 0, 0, 1)">,
            name: </span>'KaiTi'<span style="color: rgba(0, 0, 0, 1)">,
            active: </span><span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">,
            x: </span>120<span style="color: rgba(0, 0, 0, 1)">,
            y: </span>200<span style="color: rgba(0, 0, 0, 1)">,
            yOffset: </span>0<span style="color: rgba(0, 0, 0, 1)">
      },
    ]);

    const bottomNavs </span>=<span style="color: rgba(0, 0, 0, 1)"> ref([{
            text: </span>'现场'<span style="color: rgba(0, 0, 0, 1)">,
            icon: </span>'/static/discover/live.png'<span style="color: rgba(0, 0, 0, 1)">,
            activeIcon: </span>'/static/discover/live_.png'<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            text: </span>'艺人'<span style="color: rgba(0, 0, 0, 1)">,
            icon: </span>'/static/discover/artist.png'<span style="color: rgba(0, 0, 0, 1)">,
            activeIcon: </span>'/static/discover/artist_.png'<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            text: </span>'发现'<span style="color: rgba(0, 0, 0, 1)">,
            icon: </span>'/static/discover/discover.png'<span style="color: rgba(0, 0, 0, 1)">,
            activeIcon: </span>'/static/discover/discover_.png'<span style="color: rgba(0, 0, 0, 1)">
      },
      {
            text: </span>'我的'<span style="color: rgba(0, 0, 0, 1)">,
            icon: </span>'/static/discover/my.png'<span style="color: rgba(0, 0, 0, 1)">,
            activeIcon: </span>'/static/discover/my_.png'<span style="color: rgba(0, 0, 0, 1)">
      },
    ]);

    </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 动画相关</span>
    const animateCircleItems = () =&gt;<span style="color: rgba(0, 0, 0, 1)"> {
      setInterval(() </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
         circleItems.value.forEach((item, index) </span>=&gt;<span style="color: rgba(0, 0, 0, 1)"> {
            const yOffset </span>= Math.sin((Date.now() / 1000 + index) * 2) * 10; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 计算上下移动的偏移量,可调整参数改变动画效果</span>
            item.yOffset =<span style="color: rgba(0, 0, 0, 1)"> yOffset;
         });
          }, </span>16<span style="color: rgba(0, 0, 0, 1)">);
    };
    animateCircleItems();</span></pre>
</div>
<p>&nbsp;</p>
</div>
</div>
</div>
<pre></pre>
</div>
<br>
</div><br><br>
来源:https://www.cnblogs.com/happy2010/p/19064461
頁: [1]
查看完整版本: 直播平台发现组件、艺人动态展示、点击切换艺人