Commit 2d5732e0 authored by 罗林杰's avatar 罗林杰

Merge remote-tracking branch 'origin/master'

parents 89f498fb 85bc2767
...@@ -183,6 +183,15 @@ ...@@ -183,6 +183,15 @@
{ {
"root": "pagesme", "root": "pagesme",
"pages": [ "pages": [
{
"path": "goldCoin/consumeRecord",
"style": {
"navigationStyle": "custom",
"backgroundColor": "#F4F5F9",
"backgroundColorTop": "#F4F5F9",
"navigationBarBackgroundColor": "#F4F5F9"
}
},
{ {
"path": "goldCoin/recharge", "path": "goldCoin/recharge",
"style": { "style": {
......
<template> <template>
<view style="background: #F4F5F9;min-height: 100vh"> <view style="background: #F4F5F9;min-height: 100vh">
<!-- 轮播图 后面放banner里的图--> <!-- z-paging是一个分页组件-->
<z-paging ref="paging" empty-view-text="迈出第一步才有更多故事发生哦"
:empty-view-title-style="{
'font-size': '32rpx',
'color': '#C9C9D0',
'position': 'absolute',
'width': '100vw',
}" :empty-view-img="baseUrl+'/common/empty.png'" :empty-view-img-style="{
'position': 'absolute',
'top': '210rpx',
'width': '447rpx',
'height': '375rpx'
}" v-model="dataList" @query="queryList" :fixed="true" :auto-show-back-to-top="true" :back-to-top-with-animate="false">
<view class="box"> <view class="box">
<view class="swiper"> <view class="swiper">
<ls-swiper :list="bannerList" imgKey="" :loop="true" :dots="true" :autoplay="true" :height="200" /> <ls-swiper :list="bannerList" imgKey="" :loop="true" :dots="true" :autoplay="true" :height="200" />
</view> </view>
</view> </view>
<!-- 活动列表--> <view class="card" v-for="(item,index) in dataList" :key="index" @click="gotopage(item)">
<view class="card" v-for="(item,index) in activityList" :key="index" @click="gotopage(item)">
<view class="contentBody"> <view class="contentBody">
<view class="leftlist"> <view class="leftlist">
<image :src="item.url" class="leftlistimage"/> <image :src="item.url" class="leftlistimage"/>
...@@ -30,7 +41,7 @@ ...@@ -30,7 +41,7 @@
</view> </view>
</view> </view>
</view> </view>
<view style="background: #F4F5F9;" class="bussiness-nomore">~ 没有更多啦 ~</view> </z-paging>
</view> </view>
</template> </template>
...@@ -45,6 +56,8 @@ export default { ...@@ -45,6 +56,8 @@ export default {
}, },
data() { data() {
return { return {
//分页插件存储数据的变量
dataList:[],
//图片路径 //图片路径
baseUrl: this.$IMG_URL, baseUrl: this.$IMG_URL,
//分页查询参数 //分页查询参数
...@@ -55,101 +68,51 @@ export default { ...@@ -55,101 +68,51 @@ export default {
//banner轮播图 //banner轮播图
bannerList:[], bannerList:[],
//活动列表 //活动列表
activityList: [ activityList: [],
{
name:'测试1',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试2',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试3',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试4',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试5',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试6',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试6',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试6',
createTime:'2024-10-12',
address:'天津'
},
{
name:'测试6',
createTime:'2024-10-12',
address:'天津'
}
],
showArrowDown: true,
showTabbar: true,
scrollTop: 0,
}; };
}, },
onShow() { onShow() {
this.getBannerList() this.getBannerList()
this.getActivityList()
}, },
methods: { methods: {
//获取Banner列表 queryList(pageNo, pageSize) {
getBannerList() {
const query = { const query = {
page: this.queryParam.page, page:pageNo,
rows: this.queryParam.rows rows:pageSize,
publishStatus:'1'
} }
bannerList(query).then(res =>{ activityList(query).then(res =>{
let imgList = [] this.activityList = res.data.data
res.data.data.forEach(item => { this.activityList.forEach(item => {
getOssUrl(item.pictureId).then(imgRes => { getOssUrl(item.pictureId).then(imgRes => {
if (imgRes.data.data != null) { if (imgRes.data.data != null) {
imgRes.data.data = imgRes.data.data.replace(/\\/g, "/"); imgRes.data.data = imgRes.data.data.replace(/\\/g, "/");
imgList.push(imgRes.data.data) item.url = imgRes.data.data
} }
}) })
}) })
this.bannerList = imgList this.$refs.paging.completeByTotal(this.activityList,res.data.total);
}).catch(e => { }).catch(e => {
console.log(e) console.log(e)
}) })
}, },
//获取活动列表 //获取Banner列表
getActivityList() { getBannerList() {
const query = { const query = {
page:this.queryParam.page, page: this.queryParam.page,
rows:this.queryParam.rows, rows: this.queryParam.rows
publishStatus:'1'
} }
activityList(query).then(res =>{ bannerList(query).then(res =>{
this.activityList = res.data.data let imgList = []
this.activityList.forEach(item => { res.data.data.forEach(item => {
getOssUrl(item.pictureId).then(imgRes => { getOssUrl(item.pictureId).then(imgRes => {
if (imgRes.data.data != null) { if (imgRes.data.data != null) {
imgRes.data.data = imgRes.data.data.replace(/\\/g, "/"); imgRes.data.data = imgRes.data.data.replace(/\\/g, "/");
item.url = imgRes.data.data imgList.push(imgRes.data.data)
} }
}) })
}) })
this.bannerList = imgList
}).catch(e => { }).catch(e => {
console.log(e) console.log(e)
}) })
...@@ -165,74 +128,6 @@ export default { ...@@ -165,74 +128,6 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.bussiness-nomore{
text-align: center;
padding: 42rpx 0;
font-size: 13px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #B9B9B9;
}
@keyframes leftMove {
0% {
left: -130rpx;
}
100% {
left: 0;
}
}
@keyframes rightMove {
0% {
right: -130rpx;
}
100% {
right: 0;
}
}
@keyframes topHide {
0% {
top: 50%;
width: 0;
height: 0;
}
70% {
top: 18%;
width: 100rpx;
height: 100rpx;
}
80% {
top: 18%;
width: 100rpx;
height: 100rpx;
}
90% {
top: 20%;
width: 80rpx;
height: 80rpx;
}
100% {
top: 20%;
wixdth: 0;
height: 0;
}
}
page {
width: 100%;
height: 100vh;
}
.card { .card {
background-color: white; background-color: white;
width: 680rpx; width: 680rpx;
...@@ -351,82 +246,7 @@ page { ...@@ -351,82 +246,7 @@ page {
.box { .box {
.swiper { .swiper {
position: relative; position: relative;
.hint {
position: absolute;
top: 46rpx;
right: 34rpx;
width: 202rpx;
height: 62rpx;
background: rgba(255, 255, 255, 0.2);
border-radius: 34rpx;
display: flex;
justify-content: center;
align-items: center;
image {
width: 24rpx;
height: 28rpx;
}
.t {
font-size: 28rpx;
font-weight: 400;
color: #333333;
margin-left: 14rpx;
} }
}
}
.lable {
display: flex;
align-items: center;
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #434343;
margin-left: 50rpx;
margin-top: 48rpx;
.lable-div {
height: 54rpx;
background: #e5f4ff;
border-radius: 28rpx;
line-height: 54rpx;
padding: 0 38rpx;
}
}
.line {
width: 636rpx;
// height: 2rpx;
// background-color: #c8d3e2;
// border-bottom: 2rpx dashed #c8d3e2;
margin: 0 auto;
margin-top: 44rpx;
}
.circles {
background: #f5f6fa;
width: 44rpx;
height: 44rpx;
border-radius: 50%;
position: absolute;
right: -22rpx;
top: 1002rpx;
}
.circle {
background: #f5f6fa;
width: 44rpx;
height: 44rpx;
border-radius: 50%;
position: absolute;
left: -22rpx;
top: 1002rpx;
}
width: 686rpx; width: 686rpx;
margin: 0 auto; margin: 0 auto;
border-radius: 42rpx 42rpx 24rpx 24rpx; border-radius: 42rpx 42rpx 24rpx 24rpx;
...@@ -434,137 +254,8 @@ page { ...@@ -434,137 +254,8 @@ page {
z-index: 10; z-index: 10;
position: relative; position: relative;
background: #fff; background: #fff;
.ling {
height: 42rpx;
display: flex;
align-items: center;
margin-left: 58rpx;
margin-top: 24rpx;
.img {
height: 42rpx;
width: 42rpx;
margin-right: 8rpx;
}
.text {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 34rpx;
}
}
.box-bq {
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #333333;
margin-left: 58rpx;
margin-top: 24rpx;
line-height: 40rpx;
display: flex;
align-items: center;
.xian {
width: 2rpx;
height: 20rpx;
background: #e0e2e8;
margin: 0 32rpx;
}
}
.box-name {
.simg {
width: 48rpx;
height: 48rpx;
margin-left: 20rpx;
}
height: 56rpx;
font-size: 40rpx;
font-family: PingFang SC-Heavy,
PingFang SC;
font-weight: 800;
color: #4a4a4a;
line-height: 56rpx;
margin-left: 58rpx;
margin-top: 24rpx;
display: flex;
align-items: center;
image {
width: 48rpx;
height: 48rpx;
margin-left: 20rpx;
margin-top: 5rpx;
}
}
.box-jj {
.box-jj-ta {
width: 618rpx;
height: 58rpx;
background: #f5f6fa;
border-radius: 30rpx 30rpx 30rpx 30rpx;
margin: 0 auto;
margin-top: 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
.text2 {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 34rpx;
margin-right: 28rpx;
}
.box-jj-ta-left {
display: flex;
align-items: center;
.xian {
width: 2rpx;
height: 20rpx;
background: #e0e2e8;
margin: 0 18rpx;
}
.te {
height: 34rpx;
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 34rpx;
}
.img {
width: 24rpx;
height: 24rpx;
margin: 0 18rpx 0 26rpx;
}
}
}
width: 100%;
height: auto;
background-color: #fff;
position: relative;
}
} }
.pageanima {
position: relative;
}
.pagePop { .pagePop {
animation-name: pagePop; // 动画名称 animation-name: pagePop; // 动画名称
...@@ -573,17 +264,4 @@ page { ...@@ -573,17 +264,4 @@ page {
animation-duration: 0.5s; // 动画完成时间 animation-duration: 0.5s; // 动画完成时间
} }
@keyframes pagePop {
0% {
top: 100rpx;
opacity: 0.5;
}
100% {
top: 0;
opacity: 1;
}
}
</style> </style>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<text v-else>0</text> <text v-else>0</text>
</view> </view>
<view class="top-tabs"> <view class="top-tabs">
<view class="tab-1" @click="gotolike(1,info.meFollowCount)"> <view class="tab-1" @click="gotolike(1)">
<view class="tab-1-num"> <view class="tab-1-num">
<text v-if="info.meFollowCount">{{info.meFollowCount}}</text><text v-else>0</text> <text v-if="info.meFollowCount">{{info.meFollowCount}}</text><text v-else>0</text>
</view> </view>
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
我喜欢的 我喜欢的
</view> </view>
</view> </view>
<view class="tab-2" style="margin: 0 136rpx;" @click="gotolike(2,info.followMeCount)"> <view class="tab-2" style="margin: 0 136rpx;" @click="gotolike(2)">
<view class="tab-2-num"> <view class="tab-2-num">
<text v-if="info.followMeCount">{{info.followMeCount}}</text><text v-else>0</text> <text v-if="info.followMeCount">{{info.followMeCount}}</text><text v-else>0</text>
</view> </view>
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
喜欢我的 喜欢我的
</view> </view>
</view> </view>
<view class="tab-3" @click="gotolike(3,info.eachFollowCount)"> <view class="tab-3" @click="gotolike(3)">
<view class="tab-3-num"> <view class="tab-3-num">
<text v-if="info.eachFollowCount">{{info.eachFollowCount}}</text><text v-else>0</text> <text v-if="info.eachFollowCount">{{info.eachFollowCount}}</text><text v-else>0</text>
</view> </view>
...@@ -385,11 +385,13 @@ import {articleList, getOssUrl} from "../../api/article"; ...@@ -385,11 +385,13 @@ import {articleList, getOssUrl} from "../../api/article";
url: "/pagesme/me/doubleauth" url: "/pagesme/me/doubleauth"
}) })
}, },
gotolike(type,num) { //喜欢三个列表页面 //跳转我喜欢的 喜欢我的 互相喜欢的三个列表页面
gotolike(type,num) {
uni.navigateTo({ uni.navigateTo({
url: "/pagesme/me/likeList?type="+type+'&num='+num url: "/pagesme/me/likeList?type="+type
}) })
}, },
//操作项跳转
whether(i) { whether(i) {
if (i == 0) { if (i == 0) {
uni.navigateTo({ uni.navigateTo({
......
<template> <template>
<view style="background-color: #F4F5F9;min-height: 100vh;"> <view class="content">
<!-- 页头--> <!-- z-paging是一个分页组件-->
<z-paging ref="paging" empty-view-text="迈出第一步才有更多故事发生哦"
:empty-view-title-style="{
'font-size': '32rpx',
'color': '#C9C9D0',
'position': 'absolute',
'width': '100vw',
}" :empty-view-img="baseUrl+'/common/empty.png'" :empty-view-img-style="{
'position': 'absolute',
'top': '210rpx',
'width': '447rpx',
'height': '375rpx'
}" v-model="dataList" @query="queryList" :fixed="true" :auto-show-back-to-top="true" :back-to-top-with-animate="false">
<u-navbar bgColor="white" :placeholder="true" title="会员信息"> <u-navbar bgColor="white" :placeholder="true" title="会员信息">
<view class="u-nav-slot" slot="left"> <view class="u-nav-slot" slot="left">
<u-icon name="arrow-left" color="black" size="20" @click="backbar"/> <u-icon name="arrow-left" color="black" size="20" @click="backbar"/>
...@@ -10,12 +22,9 @@ ...@@ -10,12 +22,9 @@
</view> </view>
</view> </view>
</u-navbar> </u-navbar>
<view class="recommendation" :style="{'top':navHeight+'px'}"> <view class="recommendation">
<view v-if="isdata" class="nodatacard">
<view class="text">暂无数据</view>
</view>
<view class="card"> <view class="card">
<view class="recommendation-card" v-for="item in userList" @click="gotoDetail(item)"> <view class="recommendation-card" v-for="item in dataList" @click="gotoDetail(item)">
<view class="card-image"> <view class="card-image">
<image class="img" :src="item.avatarUrl"/> <image class="img" :src="item.avatarUrl"/>
</view> </view>
...@@ -37,6 +46,7 @@ ...@@ -37,6 +46,7 @@
</view> </view>
</view> </view>
</view> </view>
</z-paging>
</view> </view>
</template> </template>
...@@ -48,89 +58,27 @@ import {getOssUrl} from "../api/article"; ...@@ -48,89 +58,27 @@ import {getOssUrl} from "../api/article";
export default { export default {
data() { data() {
return { return {
//分页插件存储数据的变量
dataList:[],
//图片路径 //图片路径
baseUrl: this.$IMG_URL, baseUrl: this.$IMG_URL,
//分页查询参数
queryParam:{
page:1,
rows:10
},
//用户列表 //用户列表
userList:[], userList:[],
//是否有数据 //是否有数据
isdata: false, isdata: false,
//页面数据的数量
num:'',
//距离表头高度
navHeight:'',
menuButtonInfo: '',
}; };
}, },
onLoad(options) { onLoad(options) {
//获取当前页面的页头高度
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
const {
top,
width,
height,
right
} = this.menuButtonInfo
uni.getSystemInfo({
success: (res) => {
const {
statusBarHeight
} = res;
const margin = top - statusBarHeight
this.navHeight = (height + statusBarHeight + (margin * 5)) //导航栏总高
}
})
//获取用户信息
this.getUserList()
}, },
methods: { methods: {
filterSearch(value) { //获取用户信息列表
let minHeight = '' queryList(pageNo, pageSize) {
let maxHeight = '' const params = {
let minWeight = '' page: pageNo,
let maxWeight = '' rows: pageSize
if (value.memHeight != '' && value.memHeight != '不限'){
minHeight = value.memHeight.split('-')[0]
maxHeight = value.memHeight.split('-')[1]
} }
if (value.memWeight != '' && value.memWeight != '不限'){ userList(params).then(res =>{
minWeight = value.memWeight.split('-')[0]
maxWeight = value.memWeight.split('-')[1]
}
console.log('======params======', value)
this.queryParam = {
page: 1,
rows: 10,
memSex: value.memSex,
minHeight: minHeight,
maxHeight: maxHeight,
minWeight: minWeight,
maxWeight: maxWeight,
memResidenceProvince: value.memResidenceProvince,
memResidenceCity: value.memResidenceCity
}
this.getUserList()
},
//左上角的搜索
search() {
//判断当前是否已登录
uni.navigateTo({
url: '/pagesUser/userFilterPage'
});
},
//跳转用户详情
gotoDetail(item){
uni.navigateTo({
url: '/pagesUser/userInfo?memberId='+item.businessId
})
},
//获取用户列表数据
getUserList() {
userList(this.queryParam).then(res =>{
this.userList = res.data.data this.userList = res.data.data
//遍历this.userList //遍历this.userList
this.userList.forEach(item => { this.userList.forEach(item => {
...@@ -157,10 +105,24 @@ export default { ...@@ -157,10 +105,24 @@ export default {
item.city = getCity(item.memResidenceProvince,item.memResidenceCity) item.city = getCity(item.memResidenceProvince,item.memResidenceCity)
} }
}); });
this.$refs.paging.completeByTotal(this.userList,res.data.total);
}).catch(e => { }).catch(e => {
console.log(e) console.log(e)
}) })
}, },
//左上角的搜索
search() {
//判断当前是否已登录
uni.navigateTo({
url: '/pagesUser/userFilterPage'
});
},
//跳转用户详情
gotoDetail(item){
uni.navigateTo({
url: '/pagesUser/userInfo?memberId='+item.businessId
})
},
//返回按钮 //返回按钮
backbar() { backbar() {
uni.navigateBack({ uni.navigateBack({
...@@ -172,29 +134,11 @@ export default { ...@@ -172,29 +134,11 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.u-nav-slot { .content {
display: flex; min-height: 100vh;
align-items: center; background-color: #F4F5F9;
.recommendation {
.text {
height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #000000;
margin-left: 14rpx;
line-height: 44rpx;
}
.img {
width: 22rpx;
height: 28rpx;
margin-left: 32rpx;
}
}
.recommendation {
background-color: #F4F5F9; background-color: #F4F5F9;
position: absolute;
padding: 0 34rpx; padding: 0 34rpx;
.nodatacard{ .nodatacard{
height: 100vh; height: 100vh;
...@@ -247,12 +191,31 @@ export default { ...@@ -247,12 +191,31 @@ export default {
} }
}
.u-nav-slot {
display: flex;
align-items: center;
.text {
height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #000000;
margin-left: 14rpx;
line-height: 44rpx;
}
.img {
width: 22rpx;
height: 28rpx;
margin-left: 32rpx;
}
}
.card { .card {
display: grid; display: grid;
grid-template-columns: 330rpx 330rpx; grid-template-columns: 330rpx 330rpx;
grid-column-gap: 22rpx; grid-column-gap: 22rpx;
.recommendation-card { .recommendation-card {
width: 330rpx; width: 330rpx;
margin-bottom: 25rpx; margin-bottom: 25rpx;
...@@ -307,6 +270,5 @@ export default { ...@@ -307,6 +270,5 @@ export default {
} }
} }
} }
} }
</style> </style>
<template>
<view style="background-color: #F4F5F9;min-height: 100vh;">
<!-- 页头-->
<u-navbar @leftClick="backbar" bgColor="#F4F5F9" title="消费记录"></u-navbar>
<view class="recommendation" :style="{'top':navHeight+'px'}">
<view v-if="isdata" class="nodatacard">
<view class="text">暂无数据</view>
</view>
<view class="card">
<view class="recommendation-card" v-for="item in record" @click="gotoBusinessDetail(item)">
<view class="card-image"style="justify-content: left;display: flex">
<view style="margin-left: 20rpx;margin-top: 20rpx;">
<view style="font-weight: 400;font-size: 25rpx">
{{ item.title }}
</view>
<view class="message">
{{item.createDate}}
</view>
</view>
</view>
<view style="margin: 20rpx 20rpx 0 0;font-size: 26rpx;color: #8a8888;display: flex;align-items: center">
<text v-if="item.amount.includes('+')" style="color: rgb(55,156,72)">{{ item.amount }}</text>
<text v-else style="color: rgba(219,59,59,1)">{{ item.amount }}</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {messageList} from "../../api/user";
import {getOssUrl} from "../../api/article";
export default {
data() {
return {
record:[
{
title:'余额充值',
createDate:'2025-02-05 09:19:13',
amount:'+10'
},
{
title:'余额消费',
createDate:'2025-02-05 09:19:13',
amount:'-10'
},
{
title:'余额充值',
createDate:'2025-02-05 09:19:13',
amount:'+20'
},
{
title:'余额消费',
createDate:'2025-02-05 09:19:13',
amount:'-30'
},
{
title:'余额充值',
createDate:'2025-02-05 09:19:13',
amount:'+40'
},
{
title:'余额消费',
createDate:'2025-02-05 09:19:13',
amount:'-50'
},
{
title:'余额充值',
createDate:'2025-02-05 09:19:13',
amount:'+60'
},
{
title:'余额消费',
createDate:'2025-02-05 09:19:13',
amount:'-70'
}
],
//是否有数据
isdata: false,
//距离表头
navHeight:'',
};
},
onShow() {
//获取当前页面的页头高度
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
const {
top,
width,
height,
right
} = this.menuButtonInfo
uni.getSystemInfo({
success: (res) => {
const {
statusBarHeight
} = res;
const margin = top - statusBarHeight
this.navHeight = (height + statusBarHeight + (margin * 3)) //导航栏总高
}
})
},
methods: {
backbar() {
uni.navigateBack({
delta: 1, //返回层数,2则上上页
})
}
}
};
</script>
<style lang="scss" scoped>
.recommendation {
background-color: #F4F5F9;
position: relative;
padding: 0 34rpx;
.nodatacard{
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
.text{
text-align: center;
padding: 42rpx 0;
font-size: 13px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #B9B9B9;
}
}
.recommendation-top {
display: flex;
justify-content: space-between;
margin: 56rpx 0;
.top-title {
font-size: 19px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #222222;
}
.more {
display: flex;
.more-title {
font-size: 17px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #848484;
margin-right: 14rpx;
}
.more-image {
display: flex;
align-items: center;
.rightimage {
width: 7px;
height: 12px;
}
}
}
}
.card {
display: grid;
grid-template-columns: 680rpx;
grid-column-gap: 22rpx;
.recommendation-card {
max-height: 180rpx;
justify-content: space-between;
display: flex;
width: 680rpx;
padding-bottom: 25rpx;
background-color: white;
.card-image {
.img {
margin: 15rpx 0 15rpx 15rpx;
width: 100rpx;
height: 100rpx;
}
}
}
}
}
.message{
max-width: 300rpx;
margin-top: 15rpx;
font-size: 24rpx;
color: #8a8888;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
}
</style>
...@@ -185,7 +185,9 @@ export default { ...@@ -185,7 +185,9 @@ export default {
}, },
//消费记录 //消费记录
consumeRecord(){ consumeRecord(){
uni.navigateTo({
url: '/pagesme/goldCoin/consumeRecord'
});
} }
} }
} }
......
<template> <template>
<view style="background-color: #F4F5F9;min-height: 100vh;"> <view class="content">
<z-paging ref="paging" empty-view-text="迈出第一步才有更多故事发生哦"
:empty-view-title-style="{
'font-size': '32rpx',
'color': '#C9C9D0',
'position': 'absolute',
'width': '100vw',
}" :empty-view-img="baseUrl+'/common/empty.png'" :empty-view-img-style="{
'position': 'absolute',
'top': '210rpx',
'width': '447rpx',
'height': '375rpx'
}" v-model="dataList" @query="queryList" :fixed="true" :auto-show-back-to-top="true" :back-to-top-with-animate="false">
<!-- 页头--> <!-- 页头-->
<u-navbar @leftClick="backbar" bgColor="#F4F5F9" :title="title"></u-navbar> <u-navbar bgColor="white" :placeholder="true" :title="title">
<view class="recommendation" :style="{'top':navHeight+'px'}"> <view class="u-nav-slot" slot="left">
<view v-if="isdata" class="nodatacard"> <u-icon name="arrow-left" color="black" size="20" @click="backbar"/>
<view class="text">暂无数据</view> <!-- <view @click="search" style="display: flex;align-items: center;justify-content: center"></view>-->
</view> </view>
</u-navbar>
<view class="recommendation">
<view class="card"> <view class="card">
<view class="recommendation-card" v-for="item in userList"> <view class="recommendation-card" v-for="item in userList">
<view class="card-image"> <view class="card-image">
...@@ -30,6 +44,7 @@ ...@@ -30,6 +44,7 @@
</view> </view>
</view> </view>
</view> </view>
</z-paging>
</view> </view>
</template> </template>
...@@ -42,6 +57,8 @@ import {calculateAge, parseDate} from "../../common"; ...@@ -42,6 +57,8 @@ import {calculateAge, parseDate} from "../../common";
export default { export default {
data() { data() {
return { return {
//分页插件存储数据的变量
dataList:[],
//图片路径 //图片路径
baseUrl: this.$IMG_URL, baseUrl: this.$IMG_URL,
//用户列表 //用户列表
...@@ -54,43 +71,23 @@ export default { ...@@ -54,43 +71,23 @@ export default {
type:'', type:'',
//页面数据的数量 //页面数据的数量
num:'', num:'',
//距离表头 //查询类型 1:我喜欢的 2:喜欢我的 3:互相喜欢的
navHeight:'', queryType:'',
share: false,
menuButtonInfo: '',
//分页查询参数
queryParam:{
page:1,
rows:10
}
}; };
}, },
onLoad(options) { onLoad(options) {
//设置页头 //设置页头
this.type = options.type; this.type = options.type;
this.num = options.num;
//获取当前页面的页头高度
this.menuButtonInfo = uni.getMenuButtonBoundingClientRect()
const {
top,
width,
height,
right
} = this.menuButtonInfo
uni.getSystemInfo({
success: (res) => {
const {
statusBarHeight
} = res;
const margin = top - statusBarHeight
this.navHeight = (height + statusBarHeight + (margin * 3)) //导航栏总高
}
})
this.getUserList() this.getUserList()
}, },
methods: { methods: {
getList(params){ //分页查询
//我喜欢的 queryList(pageNo, pageSize) {
const params = {
page: pageNo,
rows: pageSize,
queryType:this.queryType
}
likeList(params).then(res =>{ likeList(params).then(res =>{
this.userList = res.data.data this.userList = res.data.data
this.num = this.userList.length this.num = this.userList.length
...@@ -120,6 +117,7 @@ export default { ...@@ -120,6 +117,7 @@ export default {
item.city = getCity(item.memResidenceProvince,item.memResidenceCity) item.city = getCity(item.memResidenceProvince,item.memResidenceCity)
} }
}); });
this.$refs.paging.completeByTotal(this.userList,res.data.total);
}).catch(e => { }).catch(e => {
console.log(e) console.log(e)
}) })
...@@ -128,43 +126,29 @@ export default { ...@@ -128,43 +126,29 @@ export default {
getTitle(){ getTitle(){
if (this.type == '1'){ if (this.type == '1'){
//我喜欢的 //我喜欢的
this.title = '我喜欢的' + '('+ this.num +')'; this.title = '我喜欢的' + '('+this.num+')';
} else if (this.type == '2'){ } else if (this.type == '2'){
//喜欢我的 //喜欢我的
this.title = '喜欢我的' + '('+ this.num +')'; this.title = '喜欢我的'+ '('+this.num+')';
} else if (this.type == '3'){ } else if (this.type == '3'){
//互相喜欢 //互相喜欢
this.title = '互相喜欢' + '('+ this.num +')'; this.title = '互相喜欢'+ '('+this.num+')';
} }
}, },
//获取用户列表数据 //获取用户列表数据
getUserList(){ getUserList(){
if (this.type == '1'){ if (this.type == '1'){
//我喜欢的 //我喜欢的
const params = { this.queryType = '1'
page:this.queryParam.page,
rows:this.queryParam.rows,
queryType: '1'
}
this.getList(params)
} else if(this.type == '2') { } else if(this.type == '2') {
//喜欢我的 //喜欢我的
const params = { this.queryType = '2'
page:this.queryParam.page,
rows:this.queryParam.rows,
queryType: '2'
}
this.getList(params)
} else if(this.type == '3') { } else if(this.type == '3') {
//互相喜欢的 //互相喜欢的
const params = { this.queryType = '3'
page:this.queryParam.page,
rows:this.queryParam.rows,
queryType: '3'
}
this.getList(params)
} }
}, },
//取消关注
deleteLike(id){ deleteLike(id){
//是否确认 //是否确认
uni.showModal({ uni.showModal({
...@@ -193,6 +177,7 @@ export default { ...@@ -193,6 +177,7 @@ export default {
url: '/pagesUser/userInfo?memberId='+item.businessId url: '/pagesUser/userInfo?memberId='+item.businessId
}) })
}, },
//返回按钮
backbar() { backbar() {
uni.navigateBack({ uni.navigateBack({
delta: 1, //返回层数,2则上上页 delta: 1, //返回层数,2则上上页
...@@ -203,9 +188,11 @@ export default { ...@@ -203,9 +188,11 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.recommendation { .content {
min-height: 100vh;
background-color: #F4F5F9;
.recommendation {
background-color: #F4F5F9; background-color: #F4F5F9;
position: relative;
padding: 0 34rpx; padding: 0 34rpx;
.nodatacard{ .nodatacard{
height: 100vh; height: 100vh;
...@@ -258,12 +245,31 @@ export default { ...@@ -258,12 +245,31 @@ export default {
} }
}
.u-nav-slot {
display: flex;
align-items: center;
.text {
height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
color: #000000;
margin-left: 14rpx;
line-height: 44rpx;
}
.img {
width: 22rpx;
height: 28rpx;
margin-left: 32rpx;
}
}
.card { .card {
display: grid; display: grid;
grid-template-columns: 330rpx 330rpx; grid-template-columns: 330rpx 330rpx;
grid-column-gap: 22rpx; grid-column-gap: 22rpx;
.recommendation-card { .recommendation-card {
width: 330rpx; width: 330rpx;
margin-bottom: 25rpx; margin-bottom: 25rpx;
...@@ -318,7 +324,6 @@ export default { ...@@ -318,7 +324,6 @@ export default {
} }
} }
} }
} }
.cnacleLike{ .cnacleLike{
height: 40rpx; height: 40rpx;
......
...@@ -42,70 +42,70 @@ export default { ...@@ -42,70 +42,70 @@ export default {
], ],
options4: [ options4: [
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '杨涛', name: '杨涛',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '雨中漫步', name: '雨中漫步',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '糖果梦境', name: '糖果梦境',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '海上日落', name: '海上日落',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '男朋友', name: '男朋友',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '女朋友', name: '女朋友',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '静谧之夜', name: '静谧之夜',
read: 1, read: 1,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '风吹麦浪', name: '风吹麦浪',
read: 0, read: 0,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '路过岁月', name: '路过岁月',
read: 0, read: 0,
time: '23:59', time: '23:59',
msg: '没有消息就是最好的消息' msg: '没有消息就是最好的消息'
}, },
{ {
avatar: 'http://192.168.69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981.jpg', avatar: 'http://192.168.1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5.jpg',
name: '繁星点点', name: '繁星点点',
read: 0, read: 0,
time: '23:59', time: '23:59',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment