直播平台发现组件、艺人动态展示、点击切换艺人
<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> </p>
<h2 data-id="heading-0"><strong>直播平台发现组件使用步骤:</strong></h2>
<h3 data-id="heading-1">1. 查找插件</h3>
<p>进入插件市场:打开 HBuilderX 编辑器,点击菜单栏中的 “插件” -> “插件市场”,或者直接访问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"> </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)"><</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)">/></span></pre>
</div>
<p> </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 = () =><span style="color: rgba(0, 0, 0, 1)"> {
setInterval(() </span>=><span style="color: rgba(0, 0, 0, 1)"> {
circleItems.value.forEach((item, index) </span>=><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> </p>
</div>
</div>
</div>
<pre></pre>
</div>
<br>
</div><br><br>
来源:https://www.cnblogs.com/happy2010/p/19064461
頁:
[1]