uniapp简单UI界面设计《登录界面 粉丝列表 我的好友 设置页面等》(附源码)

涉及Uniapp框架结构、UI图到界面标签元素的转换过程、标签Uniapp框架配置和Uniapp常见组件使用,熟练使用Uniapp常用API和Flex布局,熟练掌握页面跳转数据传参方法以及uniapp innerAudioContext接口调用和控制等Uniapp相关技术。

需要下载完整版源码文件可点下面链接自行下载

Uniapp简单UI界面设计全部源码下载

目录

界面一:登录界面

界面二:我的

界面三:   粉丝列表界面

界面四:设置界面

界面五:热搜界面

界面六:我的好友


先放结果图,界面太多了就放6个吧:

 

接下来放源码

界面一:登录界面

<template>
	<view class="content">
		
		<view class="userback">
			<img src="../../static/tx.png">
			<view class="userName">机器人</view>
		</view>
		<view class="cu-list menu-avatar">			
			<view class="cu-item">								
				<view class="content">软件版本 </view>												
				<view class="action">2.0.0</view>															
			</view>
				
		</view>		
		<view class="btn-row">
			<button type="primary" class="primary" @tap="bindLogin">登录</button>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
						bindLogin() {
							uni.navigateTo({
								url: '../login/login',
							});
						},
				}
						
		}

</script>
<style>
	.userback {
		height: 216px;
		background-image: url('../../static/love.png');
		background-repeat: no-repeat;
		background-size: 100%;
		text-align: center
	}

	.userback img {
		
		margin: auto;
		border-radius: 51px;
		margin-top: 21%;
		width: 97px;
		height: 97px;
	}
	.userName{
		color: #111111;
		font-size: 48rpx;
		font-weight:bolder
	}
	.userOrgan{		
	}	
	uni-button[type=primary] {
	    margin: 0 4%;
	    background-image: linear-gradient(to top, #66b7f9,#1c82d4);
	}
	.cu-list.menu-avatar>.cu-item {	   
	    height: 37px;
	    background:#fff;
	}
	.cu-list.menu-avatar>.cu-item .content {	
	   
	   background-color: #e0e0e0;
	   padding: 24rpx;
	   margin: 40rpx;
	   border:1 px solid #666;
	   text-align: center;
	 
	}
	.cu-list.menu-avatar>.cu-item .action {
	
		text-align: center; 
	}
	.cu-list.menu-avatar {	   
	    height: 195px;
	}
</style>

界面二:我的

<template>
	<view>
		<view class="userback">
			<img src="../../static/tx.png">
			<view class="userName">机器人</view>
		</view>
		<view class="btn" @click="goguanzhu">我的博客</view>
		<view class="btn" @click="gofans">粉丝列表</view>
		<view class="btn"@click="goshoucang">实时热点</view>
		<view class="btn"@click="gomyfriends">我的好友</view>
		<view class="btn"@click="gomynews" >休闲娱乐</view>
		<view class="btn"@click="gosnow" >视频推荐</view>
		<view class="btn"@click="goset" >设置</view>
		

	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
			gofans(){
				uni.navigateTo({
					 url:"../fans/fans"
				})
			},
			goshoucang(){
				uni.navigateTo({
					 url:"../shoucang/shoucang"
				})
			},
			goguanzhu(){
				uni.navigateTo({
					 url:"../guanzhu/guanzhu"
				})
			},
			gomyfriends(){
				uni.navigateTo({
					 url:"../myfriends/myfriends"
				})
			},
			gomynews(){
				uni.switchTab({
					 url:"../news/news"
				})
			},
			goset(){
				uni.navigateTo({
					 url:"../set/set"
				})
			},
			gosnow(){
				uni.navigateTo({
					 url:"../snow/snow"
				})
			}
			
		
		}
	}
</script>

<style>
	.userback {
		height: 216px;
		background-image: url('../../static/love.png');
		background-repeat: no-repeat;
		background-size: 100%;
		text-align: center
	}
	
	.userback img {
		
		margin: auto;
		border-radius: 51px;
		margin-top: 21%;
		width: 97px;
		height: 97px;
	}
	.userName{
		color: #111111;
		font-size: 48rpx;
		font-weight:bolder
	}
	.btn{
		background-color: #e0e0e0;
		padding: 24rpx;
		margin: 48rpx;
		border: 1 px solid #666;
		text-align: center;
		
	}

</style>

界面三:粉丝列表界面

<template>
	<view class="index">
		<view class="new_box" style="margin-top: 20upx;">
			<view class="bbox">
				<view class="list-box" v-for="(item,index) in list" :key="index">
					<view class="list-ed">
						<image class="list-img" :src="item.src" mode="aspectFill"></image>
						<view class="list-right">
							<view class="list-head" @click="choice(index)">
								<view :class="[item.selected?'selde':'noselde']">{{item.selected?"已关注":"未关注"}}<text :class="[item.selected?'selde-q':'noselde-q']"></text></view>
							</view>
							<view class="list-name">{{item.title}}</view>
							<view class="list-da">
								<view>简介:<text>{{item.course}}</text></view>

							</view>
						</view>
					</view>
				</view>
				<view class="sure" @click="sure">确认</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				list: [{
						course_id: "001",
						title: "刘某人",
						course: "明天会更好",
						selected: true,
						src : "../../static/6.webp"
					},
					{
						course_id: "002",
						title: "命运的红粉",
						course: "一分钟前通过你的关注",
						selected: true,
						src:"../../static/13.png"
					},
					{
						course_id: "003",
						title: "古城",
						course: "此人很懒,什么都没写",
						selected: false,
						src:"../../static/4.png"
					},

					{
						course_id: "004",
						title: "美女子",
						course: "此人很懒,什么都没写",
						selected: false,
						src:"../../static/8.png"
					},
					{
						course_id: "005",
						title: "负磁场",
						course: "数据科学与大数据技术",
						selected: false,
						src:"../../static/12.png"
					},
				],
				selectId:[],
			};
		},
		methods: {
			//选择课程
			choice(index){
				if(this.list[index].selected == true){
					this.list[index].selected = false;
					//取消选中时删除数组中的值
					for(var i = 0; i < this.selectId.length; i++){
					    if(this.selectId[i] === this.list[index].course_id){
					        this.selectId.splice(i,1);
					    }
					}
					console.log("选中的值",this.selectId)
				}else{
					this.list[index].selected = true;
					this.selectId.push(this.list[index].course_id)
					console.log("选中的值",this.selectId)
				}
			},
			//提交
			sure(){
				//提交选中的值
				if(this.selectId.length==0){
					alert("请选择消息");
					return false;
				}
				var listIds = this.selectId.join(",")
				console.log("提交的数据",listIds)
			}
		
		}
	};
</script>

<style>
	page{
		background-color: #eee;
	}
	/* 已选择 */
	.selde {
		
		border: 1px solid black;
		background: black;
		color: #f0f0f0;
		border-radius: 20upx;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		font-size: 20upx;
		padding: 0 10upx;
	}

	.selde-q {
		
		width: 18upx;
		height: 18upx;
		border-radius: 50%;
		background: #ffffff;
		margin-left: 6upx;
	}

	/* 未选择 */
	.noselde {
		
		border: 1px solid #959595;
		background: #FFFFFF;
		color: #959595;
		border-radius: 20upx;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		font-size: 20upx;
		padding: 0 10upx;
	}

	.noselde-q {
		
		border: 1px solid #959595;
		width: 16upx;
		height: 16upx;
		border-radius: 50%;
		background: #FFFFFF;
		margin-left: 6upx;
	}
	.list-box {
		
		display: flex;
		flex-direction: column;
		background-color: #fff;
		margin: 0upx 16upx 16upx 16upx;
		padding: 16upx;
		border-radius: 10upx;
	}

	.list-ed {
		font-size: 40rpx;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
	}

	.list-left {
		margin-right: 16upx;
	}

	.list-img {
		
		width: 160upx;
		height: 160upx;
		margin: 0upx 16upx 0upx 0upx;
	}

	.list-right {
		
		display: flex;
		flex-direction: column;
		width: 510upx;
		height: 180upx;
	}

	.list-right-img {
		width: 140upx;
		height: 38upx;
	}

	.noadsop {
		width: 120upx;
		height: 32upx;
	}

	.list-head {
		
		display: flex;
		justify-content: flex-end;
		margin-bottom: 10upx;
	}

	.list-name {
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		margin-bottom: 10upx;
	}

	.list-da {
		
		display: flex;
		flex-direction: row;
		font-size: 26upx;
	}

	.list-da view {
		
		width: 50%;
	}

	.list-da view text {
		
		color: f0f0f0;
	}

	.sure {
		
		background: #FF6000;
		color: #FFFFFF;
		width: 600upx;
		height: 70upx;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 40upx;
		margin: 60upx auto;
	}
</style>

界面四:设置界面

<template>
	<view>
		<view class="zh">播放和下载</view>
		<view class="play0">
			<view class="play" v-for="(user,i) in listObj" :key="i">
				<view class="play1">
					{{user}}
				</view>
				<switch checked />
			</view>
			<view class="zh">账号和隐私</view>
			<view class="play2">账号和绑定设置</view>
			<view class="play2">会员登录设备管理</view>
			<view class="play2">消息和隐私设置</view>
			<view class="play2">登录保护</view>
			<view class="play2">系统权限设置</view>

		</view>

	</view>
</template>


<script>
	export default {
		data() {
			return {
				listObj: [
					"边听边存 ",
					"自动进入播放页",
					"播放页自动播放影片",
					"直播内容推荐"
				
				],
				
			}

		},
		methods: {
				
			}
		}

	
</script>

<style>
	.zh{
			 margin-top: 16rpx;
			text-indent: 16rpx;
		}
		
		
	.play {
		display: flex;
		background-color: #ffffff;
		justify-content: space-between;
		align-items: center;
		padding: 0 32rpx;
		border-bottom: 1rpx solid #e0e0e0;
	}

	.play1 {
		margin: 1upx 10rpx;
		line-height: 140rpx;
		text-align: left;
		color: #777;
		font-size: 32rpx;

	}
	
	.play2 {
		margin: 1upx 10rpx;
		line-height: 140rpx;
		text-align: left;
		color: #777;
		font-size: 32rpx;
		text-indent: 24rpx;
		background-color: #ffffff;
		border-bottom: 1rpx solid #e0e0e0;
	
	}

	.background {
		display: flex;
	}

	.uni-list-cell-db {
		width: 500px;
	}

	.ll1 {
		align-items: flex-end;
	}
</style>

界面五:热搜界面

 需要下载完整版源码文件可点下面链接自行下载

Uniapp简单UI界面设计全部源码下载

界面六:我的好友

点击相应的好友可以进入个人资料界面等

 需要下载完整版源码文件可点下面链接自行下载

Uniapp简单UI界面设计全部源码下载

⭐⭐⭐创作不易.....

⭐⭐⭐如果对您有帮助留下的每一个点赞、收藏、关注是对菜鸡创作的最大鼓励❀

⭐⭐⭐有相关问题可以写在评论区,一起学习,一起进步。

 

为了开发出美观的小程序页面,使用uniapp框架是一个不错的选择。以下是一些建议来开发团队页面: 1. 使用rpx作为单位,这样可以保证在不同设备上显示的效果基本一致。 2. 使用iconfont图标库,这是一个官方矢量图标库,提供了一系列高品质的、可定制的矢量图标资源,可以以非常简单易用的方式嵌入到网站或应用程序中,并且支持SVG、PNG、PDF等文件格式的下载方式。 3. 代码复用,可以将一些通用的组件或页面进行封装,以便在不同的页面中进行复用,这样可以减少代码量,提高开发效率。 以下是一个简单的团队页面的示例代码: ```html <template> <view class="team-page"> <view class="team-info"> <image class="team-avatar" :src="team.avatar"></image> <view class="team-name">{{ team.name }}</view> <view class="team-description">{{ team.description }}</view> </view> <view class="team-members"> <view class="member" v-for="(member, index) in team.members" :key="index"> <image class="member-avatar" :src="member.avatar"></image> <view class="member-name">{{ member.name }}</view> <view class="member-role">{{ member.role }}</view> </view> </view> </view> </template> <script> export default { data() { return { team: { name: 'Uniapp团队', avatar: 'https://xxx.com/team-avatar.png', description: '我们是一支专业的uniapp开发团队,致力于为用户提供最好的小程序开发服务。', members: [ { name: '张三', avatar: 'https://xxx.com/member-avatar-1.png', role: '前端工程师' }, { name: '李四', avatar: 'https://xxx.com/member-avatar-2.png', role: '后端工程师' }, { name: '王五', avatar: 'https://xxx.com/member-avatar-3.png', role: 'UI设计师' } ] } } } } </script> <style> .team-page { padding: 20rpx; } .team-info { display: flex; flex-direction: column; align-items: center; margin-bottom: 20rpx; } .team-avatar { width: 200rpx; height: 200rpx; border-radius: 50%; margin-bottom: 20rpx; } .team-name { font-size: 36rpx; font-weight: bold; margin-bottom: 10rpx; } .team-description { font-size: 28rpx; color: #666; text-align: center; } .team-members { display: flex; flex-wrap: wrap; justify-content: space-between; } .member { width: 300rpx; margin-bottom: 20rpx; display: flex; flex-direction: column; align-items: center; } .member-avatar { width: 120rpx; height: 120rpx; border-radius: 50%; margin-bottom: 10rpx; } .member-name { font-size: 28rpx; font-weight: bold; margin-bottom: 10rpx; } .member-role { font-size: 24rpx; color: #666; } </style> ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人spider

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值