赞
踩
先给大家上一个实战的效果图
这个是我们小组在开发的一个消息界面,用于实现简单的交流通信功能,只实现了简单的前端框架,下面献上代码供大家参考学习,若有不足,请多多指教。
wxml部分
- <!--头部消息中心-->
- <view class='title' style='height:{{navH}}px' catchtouchmove='true'>
- <view class='title-text'>消息中心</view>
- <!-- 私信、通知切换栏 -->
- <view class="selectTab" style='margin-top:{{navH}}px' catchtouchmove='true'>
- <view class="flex-row">
- <view class="message {{currentTab==0?'active':''}}" data-current="0" bindtap="clickTab">
- 私信
- <!--气泡提示-->
- <view class='bubble'>
- <view class='num'>3</view>
- </view>
- </view>
- <view class="notify {{currentTab==1?'active':''}}" data-current="1" bindtap="clickTab">
- 通知
- <!--气泡提示-->
- <view class='bubble2'>
- <view class='num'>21</view>
- </view>
- </view>
- </view>
- <view class='onTabLine' style="margin-left:{{175+currentTab*273}}rpx" catchtouchmove="ture"></view>
- <view class='line'></view>
- </view>
- </view>
-
- <!--私信消息列表-->
- <scroll-view scroll-y="true" class="message-list" style="margin-top:{{navH+47}}px;height:1200rpx" wx:if="{{currentTab==0}}" >
- <!--示例用户1-->
- <view class='user' bindtap='goTocontactPage'>
- <image class='header-icon' src='/images/icon1.jpeg'></image>
- <view class='user-content'>
- <view class='firstline'>
- <view class='apart'>
- <view class='username'>
- <text>测试1</text>
- </view>
- <view class='cooperation'>
- <image src='./images/6.png'></image>
- </view>
- </view>
- <view class='time'>
- <view class='time-num'>9:36</view>
- </view>
- </view>
- <view class='secondline'>
- <view class='dialog'>
- <text>你想要怎么拍呢?</text>
- </view>
- <view class='dialog-nums'>
- <view class='bubble3'>
- <view class='num'>2</view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <!--分割线-->
- <view class='linecut'></view>
- <!--示例用户2-->
- <view class='user' bindtap='goTocontactPage'>
- <image class='header-icon' src='https://b267.photo.store.qq.com/psb?/V13v0ZyH3zvYu7/9Ne*obpt0tAkfi3fZZij7.1VF4qT363gGq021zfYWQ0!/b/dAsBAAAAAAAA&bo=bgFuAQAAAAAFByQ!&rf=viewer_4'></image>
- <view class='user-content'>
- <view class='firstline'>
- <view class='apart'>
- <view class='username'>
- <text>测试2</text>
- </view>
- <view class='cooperation'>
- <!-- <image src='./images/6.png'></image> -->
- </view>
- </view>
- <view class='time'>
- <view class='time-num'>8:16</view>
- </view>
- </view>
- <view class='secondline'>
- <view class='dialog'>
- <text>约拍时间是这周六下午的两点钟</text>
- </view>
- <view class='dialog-nums'>
- <view class='bubble3'>
- <view class='num'>1</view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <!--分割线-->
- <view class='linecut'></view>
- </scroll-view>
- <!--关注消息列表框-->
- <scroll-view scroll-y class="notify-list" style="margin-top:{{navH+47}}px;height:1800rpx;" wx:if="{{currentTab==1}}">
- <!--系统通知-->
- <view class='notify-type' bindtap='goToSystemPage'>
- <view class='notify-icon'>
- <image src='./images/tongzhi.png'></image>
- </view>
- <view class='notify-name'>
- 系统通知
- <view class='notify-num'>
- <view class='nums'>11</view>
- </view>
- </view>
- <view class='right'>
- <!-- <image src=''></image> -->
- </view>
- </view>
- <view class='liner'></view>
- <!--点赞-->
- <view class='thumbs-up-type' bindtap='goToDianzanPage'>
- <view class='notify-icon'>
- <image src='./images/dianzan.png'></image>
- </view>
- <view class='thumbs-up-name'>
- 点赞
- <view class='thumbs-up-num'>
- <view class='nums'>6</view>
- </view>
- </view>
- <view class='right'>
- <!-- <image src=''></image> -->
- </view>
- </view>
- <view class='liner'></view>
- <!--评论-->
- <view class='dialog-type' bindtap='goToCommentPage'>
- <view class='dialog-icon'>
- <image src='./images/dialog.png'></image>
- </view>
- <view class='dialog-name'>
- 评论
- <view class='dialog-num'>
- <view class='nums'>2</view>
- </view>
- </view>
- <view class='right'>
- <!-- <image src=''></image> -->
- </view>
- </view>
- <view class='liner'></view>
- <!--我关注的-->
- <view class='follow-type' bindtap='goToConcernPage'>
- <view class='follow-icon'>
- <image src='./images/guanzhu.png'></image>
- </view>
- <view class='follow-name'>
- 我关注的
- <view class='follow-num'>
- <view class='nums'>1</view>
- </view>
- </view>
- <view class='right'>
- <!-- <image src=''></image> -->
- </view>
- </view>
- <view class='liner'></view>
- <!--底部消息提示框-->
- <view class="unread">
- <text>您有21条未读通知</text>
- </view>
- </scroll-view>
-
- <!--底部导航-->
- <tabbar tabbar="{{tabbar}}"></tabbar>
wxss部分
- /*头部标题*/
- .title{
- width: 100%;
- /* overflow: hidden; */
- position: fixed;
- top: 0;
- left: 0;
- background: #fff;
- z-index: 999;
- }
- .title-text{
- width: 100%;
- height: 45px;
- line-height: 45px;
- text-align: center;
- position: absolute;
- bottom: 0;
- left: 0;
-
- font-size: 40rpx;
- font-weight: 500;
- }
- /*私信、通知*/
- .flex-row{
- flex-direction: row;
- display: flex;
- }
- .onTabLine{
- width: 120rpx;
- height: 5rpx;
- background-color:#4074DD;
- margin-top:15rpx;
- }
- .line{
- width: 750rpx;
- height: 2rpx;
- background-color: #F2F2F2;
- margin: 0rpx auto 0 auto;
- }
- .message,.notify{
- display: flex;
- flex-direction: row;
- font-size:36rpx;
- margin-top: 20rpx;
- width: 120rpx;
- color:#CDCDCD;
-
- }
- .message{
- margin-left: 200rpx;
- }
- .notify{
- margin-left: 150rpx;
- }
- .active{
- color:#4074DD;
- }
- .selectTab{
- position: fixed;
- background-color: #fff;
- z-index: 100;
- }
- /*气泡框样式*/
- .bubble{
- background-color: #4074DD;
- border-radius: 50rpx;
- width: 30rpx;
- height: 30rpx;
- position: relative;
- left: 10rpx;
- bottom: 10rpx;
- }
- .bubble .num{
- font-size: 24rpx;
- color:#ffffff;
- margin-left: 8rpx;
- margin-top: -2rpx;
- }
- .bubble2{
- background-color: #4074DD;
- border-radius: 20rpx;
- width: 40rpx;
- height: 30rpx;
- position: relative;
- left: 10rpx;
- bottom: 10rpx;
- }
- .bubble2 .num{
- font-size: 24rpx;
- color:#ffffff;
- margin-left: 8rpx;
- margin-top: -2rpx;
- }
- /*私信消息*/
- .message-list{
- /* background-color:#f2f2f2; */
- display: flex;
- flex-direction: column;
- }
- .user{
- display: flex;
- flex-direction: row;
- }
- .user-content{
- display: flex;
- flex-direction: column;
- }
- .header-icon{
- width: 104rpx;
- height: 104rpx;
- border-radius: 80rpx;
- margin-left: 20rpx;
- margin-top: 26rpx;
- }
- .firstline{
- display: flex;
- flex-direction: row;
- }
- .apart{
- margin-left: 20rpx;
- display: flex;
- flex-direction: row;
- width: 400rpx;
- }
- .username{
- font-size: 36rpx;
- margin-top: 26rpx;
- font-weight: 400;
- }
- .cooperation{
- width: 40rpx;
- }
- .cooperation image{
- width: 40rpx;
- height: 34rpx;
- margin-top: 34rpx;
- margin-left: 10rpx;
- }
- .time{
-
- display: flex;
- width: 60rpx;
- font-size: 24rpx;
- margin-top: 36rpx;
- color: #aeaeae;
- margin-left: 140rpx;
- }
- .time-num{
- /* margin-right: 200rpx; */
- }
- /*内容第二行*/
- .secondline{
- display: flex;
- flex-direction: row;
- }
- /*对话框消息内容*/
- .dialog{
- width: 545rpx;
- font-size: 28rpx;
- color: #aeaeae;
- margin-left: 20rpx;
- margin-top: 15rpx;
- }
- /*对话框提示数目*/
- .dialog-nums{
- /* width: 100rpx; */
- }
- /*气泡样式*/
- .bubble3{
- background-color: #4074DD;
- border-radius: 80rpx;
- width: 40rpx;
- height: 40rpx;
- /* margin-left: 200rpx; */
- margin-top: 20rpx;
- }
- .bubble3 .num{
- font-size: 28rpx;
- color: #ffffff;
- font-weight: 500;
- margin-left: 12rpx;
- }
- /*分割线*/
- .linecut{
- width: 100%;
- height: 2rpx;
- background-color: #F2F2F2;
- margin-top: 26rpx;
- }
-
- /*通知界面*/
- /*系统通知*/
- .notify-type{
- display: flex;
- flex-direction: row;
- }
- .notify-icon{
- margin-left: 20rpx;
- margin-top: 20rpx;
- }
- .notify-icon image{
- width: 80rpx;
- height: 80rpx;
- }
- .notify-name{
- font-size: 36rpx;
- font-weight: 500;
- margin-top: 35rpx;
- margin-left: 36rpx;
- }
- .notify-num{
- width: 40rpx;
- height: 30rpx;
- background-color: red;
- border-radius: 40rpx;
- display: flex;
- flex-direction: row;
- position: relative;
- bottom: 60rpx;
- left: 150rpx;
- }
- .notify-num .nums{
- font-size: 24rpx;
- color: #fff;
- margin-left: 8rpx;
- margin-bottom: 6rpx;
- }
- /*最帅的分割线*/
- .liner{
- width: 100%;
- height: 2rpx;
- background-color: #F2F2F2;
- margin-top: 20rpx;
- }
- /*点赞*/
- .thumbs-up-type{
- display: flex;
- flex-direction: row;
- }
- .thumbs-up-icon{
- margin-left: 20rpx;
- margin-top: 20rpx;
- }
- .thumbs-up-icon image{
- width: 80rpx;
- height: 80rpx;
- }
- .thumbs-up-name{
- font-size: 36rpx;
- font-weight: 500;
- margin-top: 35rpx;
- margin-left: 36rpx;
- }
- .thumbs-up-num{
- width: 30rpx;
- height: 30rpx;
- background-color: #4074DD;
- border-radius: 40rpx;
- display: flex;
- flex-direction: row;
- position: relative;
- bottom: 60rpx;
- left: 80rpx;
- }
- .thumbs-up-num .nums{
- font-size: 24rpx;
- color: #fff;
- margin-left: 8rpx;
- margin-bottom: 6rpx;
- }
- /*评论*/
- .dialog-type{
- display: flex;
- flex-direction: row;
- }
- .dialog-icon{
- margin-left: 30rpx;
- margin-top: 35rpx;
- }
- .dialog-icon image{
- width: 65rpx;
- height: 65rpx;
- }
- .dialog-name{
- font-size: 36rpx;
- font-weight: 500;
- margin-top: 35rpx;
- margin-left: 41rpx;
- }
- .dialog-num{
- width: 30rpx;
- height: 30rpx;
- background-color: #4074DD;
- border-radius: 40rpx;
- display: flex;
- flex-direction: row;
- position: relative;
- bottom: 60rpx;
- left: 80rpx;
- }
- .dialog-num .nums{
- font-size: 24rpx;
- color: #fff;
- margin-left: 8rpx;
- margin-bottom: 6rpx;
- }
- /*我关注的*/
- .follow-type{
- display: flex;
- flex-direction: row;
- }
- .follow-icon{
- margin-left: 20rpx;
- margin-top: 20rpx;
- }
- .follow-icon image{
- width: 80rpx;
- height: 80rpx;
- }
- .follow-name{
- font-size: 36rpx;
- font-weight: 500;
- margin-top: 35rpx;
- margin-left: 36rpx;
- }
- .follow-num{
- width: 30rpx;
- height: 30rpx;
- background-color: #4074DD;
- border-radius: 40rpx;
- display: flex;
- flex-direction: row;
- position: relative;
- bottom: 60rpx;
- left: 150rpx;
- }
- .follow-num .nums{
- font-size: 24rpx;
- color: #fff;
- margin-left: 8rpx;
- margin-bottom: 6rpx;
- }
- /*未读消息框*/
- .unread{
- margin-top: 16rpx;
- font-size: 26rpx;
- color: #aeaeae;
- text-align: center;
- }
其中部分bindtap有跳转函数,较为简单,此处就不一一列出,我们使用的是自定义头部标题,所以在使用前,须将app.js中的"navigationStyle"设置为"custom",
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。