Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cust-app
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李伟
cust-app
Commits
2d5732e0
Commit
2d5732e0
authored
Feb 10, 2025
by
罗林杰
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
89f498fb
85bc2767
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
539 additions
and
677 deletions
+539
-677
pages.json
pages.json
+9
-0
activity.vue
pages/tab/activity.vue
+54
-376
my.vue
pages/tab/my.vue
+7
-5
userList.vue
pagesUser/userList.vue
+128
-166
consumeRecord.vue
pagesme/goldCoin/consumeRecord.vue
+204
-0
recharge.vue
pagesme/goldCoin/recharge.vue
+3
-1
likeList.vue
pagesme/me/likeList.vue
+124
-119
blackList.vue
pagesme/set/blackList.vue
+10
-10
No files found.
pages.json
View file @
2d5732e0
...
...
@@ -183,6 +183,15 @@
{
"root"
:
"pagesme"
,
"pages"
:
[
{
"path"
:
"goldCoin/consumeRecord"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"backgroundColor"
:
"#F4F5F9"
,
"backgroundColorTop"
:
"#F4F5F9"
,
"navigationBarBackgroundColor"
:
"#F4F5F9"
}
},
{
"path"
:
"goldCoin/recharge"
,
"style"
:
{
...
...
pages/tab/activity.vue
View file @
2d5732e0
<
template
>
<view
style=
"background: #F4F5F9;min-height: 100vh"
>
<!-- 轮播图 后面放banner里的图-->
<view
class=
"box"
>
<!-- 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=
"swiper"
>
<ls-swiper
:list=
"bannerList"
imgKey=
""
:loop=
"true"
:dots=
"true"
:autoplay=
"true"
:height=
"200"
/>
</view>
</view>
<!-- 活动列表-->
<view
class=
"card"
v-for=
"(item,index) in activityList"
:key=
"index"
@
click=
"gotopage(item)"
>
<view
class=
"contentBody"
>
<view
class=
"leftlist"
>
<image
:src=
"item.url"
class=
"leftlistimage"
/>
</view>
<view
class=
"rightlist"
>
<view
class=
"rightlist-title"
>
{{
item
.
title
}}
</view>
<view
class=
"rightlist-time"
>
<view
class=
"timeicon"
>
<u-icon
name=
"clock"
color=
"#666666;"
size=
"15"
></u-icon>
</view>
<view
class=
"timetext"
>
{{
item
.
publishDate
}}
</view>
<view
class=
"card"
v-for=
"(item,index) in dataList"
:key=
"index"
@
click=
"gotopage(item)"
>
<view
class=
"contentBody"
>
<view
class=
"leftlist"
>
<image
:src=
"item.url"
class=
"leftlistimage"
/>
</view>
<view
class=
"rightlist-address"
>
<view
class=
"addressicon"
>
<u-icon
name=
"tags"
color=
"#D84848;"
size=
"15"
></u-icon>
<view
class=
"rightlist"
>
<view
class=
"rightlist-title"
>
{{
item
.
title
}}
</view>
<view
class=
"rightlist-time"
>
<view
class=
"timeicon"
>
<u-icon
name=
"clock"
color=
"#666666;"
size=
"15"
></u-icon>
</view>
<view
class=
"timetext"
>
{{
item
.
publishDate
}}
</view>
</view>
<view
class=
"rightlist-address"
>
<view
class=
"addressicon"
>
<u-icon
name=
"tags"
color=
"#D84848;"
size=
"15"
></u-icon>
</view>
<view
class=
"addresstext"
v-if=
"item.summary"
>
{{
item
.
summary
}}
</view>
<view
class=
"addresstext"
v-else
>
-
</view>
</view>
<view
class=
"addresstext"
v-if=
"item.summary"
>
{{
item
.
summary
}}
</view>
<view
class=
"addresstext"
v-else
>
-
</view>
</view>
</view>
</view>
</view>
<view
style=
"background: #F4F5F9;"
class=
"bussiness-nomore"
>
~ 没有更多啦 ~
</view>
</z-paging>
</view>
</
template
>
...
...
@@ -45,6 +56,8 @@ export default {
},
data
()
{
return
{
//分页插件存储数据的变量
dataList
:[],
//图片路径
baseUrl
:
this
.
$IMG_URL
,
//分页查询参数
...
...
@@ -55,101 +68,51 @@ export default {
//banner轮播图
bannerList
:[],
//活动列表
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
,
activityList
:
[],
};
},
onShow
()
{
this
.
getBannerList
()
this
.
getActivityList
()
},
methods
:
{
//获取Banner列表
getBannerList
()
{
queryList
(
pageNo
,
pageSize
)
{
const
query
=
{
page
:
this
.
queryParam
.
page
,
rows
:
this
.
queryParam
.
rows
page
:
pageNo
,
rows
:
pageSize
,
publishStatus
:
'1'
}
banner
List
(
query
).
then
(
res
=>
{
let
imgList
=
[]
res
.
data
.
data
.
forEach
(
item
=>
{
activity
List
(
query
).
then
(
res
=>
{
this
.
activityList
=
res
.
data
.
data
this
.
activityList
.
forEach
(
item
=>
{
getOssUrl
(
item
.
pictureId
).
then
(
imgRes
=>
{
if
(
imgRes
.
data
.
data
!=
null
)
{
imgRes
.
data
.
data
=
imgRes
.
data
.
data
.
replace
(
/
\\
/g
,
"/"
);
i
mgList
.
push
(
imgRes
.
data
.
data
)
i
tem
.
url
=
imgRes
.
data
.
data
}
})
})
this
.
bannerList
=
imgList
this
.
$refs
.
paging
.
completeByTotal
(
this
.
activityList
,
res
.
data
.
total
);
}).
catch
(
e
=>
{
console
.
log
(
e
)
})
},
//获取
活动
列表
get
Activity
List
()
{
//获取
Banner
列表
get
Banner
List
()
{
const
query
=
{
page
:
this
.
queryParam
.
page
,
rows
:
this
.
queryParam
.
rows
,
publishStatus
:
'1'
page
:
this
.
queryParam
.
page
,
rows
:
this
.
queryParam
.
rows
}
activity
List
(
query
).
then
(
res
=>
{
this
.
activityList
=
res
.
data
.
data
this
.
activityList
.
forEach
(
item
=>
{
banner
List
(
query
).
then
(
res
=>
{
let
imgList
=
[]
res
.
data
.
data
.
forEach
(
item
=>
{
getOssUrl
(
item
.
pictureId
).
then
(
imgRes
=>
{
if
(
imgRes
.
data
.
data
!=
null
)
{
imgRes
.
data
.
data
=
imgRes
.
data
.
data
.
replace
(
/
\\
/g
,
"/"
);
i
tem
.
url
=
imgRes
.
data
.
data
i
mgList
.
push
(
imgRes
.
data
.
data
)
}
})
})
this
.
bannerList
=
imgList
}).
catch
(
e
=>
{
console
.
log
(
e
)
})
...
...
@@ -165,74 +128,6 @@ export default {
</
script
>
<
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
{
background-color
:
white
;
width
:
680rpx
;
...
...
@@ -351,82 +246,7 @@ page {
.box
{
.swiper
{
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
;
margin
:
0
auto
;
border-radius
:
42rpx
42rpx
24rpx
24rpx
;
...
...
@@ -434,137 +254,8 @@ page {
z-index
:
10
;
position
:
relative
;
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
{
animation-name
:
pagePop
;
// 动画名称
...
...
@@ -573,17 +264,4 @@ page {
animation-duration
:
0
.5s
;
// 动画完成时间
}
@keyframes
pagePop
{
0
%
{
top
:
100rpx
;
opacity
:
0
.5
;
}
100
%
{
top
:
0
;
opacity
:
1
;
}
}
</
style
>
pages/tab/my.vue
View file @
2d5732e0
...
...
@@ -44,7 +44,7 @@
<text
v-else
>
0
</text>
</view>
<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"
>
<text
v-if=
"info.meFollowCount"
>
{{
info
.
meFollowCount
}}
</text><text
v-else
>
0
</text>
</view>
...
...
@@ -52,7 +52,7 @@
我喜欢的
</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"
>
<text
v-if=
"info.followMeCount"
>
{{
info
.
followMeCount
}}
</text><text
v-else
>
0
</text>
</view>
...
...
@@ -60,7 +60,7 @@
喜欢我的
</view>
</view>
<view
class=
"tab-3"
@
click=
"gotolike(3
,info.eachFollowCount
)"
>
<view
class=
"tab-3"
@
click=
"gotolike(3)"
>
<view
class=
"tab-3-num"
>
<text
v-if=
"info.eachFollowCount"
>
{{
info
.
eachFollowCount
}}
</text><text
v-else
>
0
</text>
</view>
...
...
@@ -385,11 +385,13 @@ import {articleList, getOssUrl} from "../../api/article";
url
:
"/pagesme/me/doubleauth"
})
},
gotolike
(
type
,
num
)
{
//喜欢三个列表页面
//跳转我喜欢的 喜欢我的 互相喜欢的三个列表页面
gotolike
(
type
,
num
)
{
uni
.
navigateTo
({
url
:
"/pagesme/me/likeList?type="
+
type
+
'&num='
+
num
url
:
"/pagesme/me/likeList?type="
+
type
})
},
//操作项跳转
whether
(
i
)
{
if
(
i
==
0
)
{
uni
.
navigateTo
({
...
...
pagesUser/userList.vue
View file @
2d5732e0
<
template
>
<view
style=
"background-color: #F4F5F9;min-height: 100vh;"
>
<!-- 页头-->
<u-navbar
bgColor=
"white"
:placeholder=
"true"
title=
"会员信息"
>
<view
class=
"u-nav-slot"
slot=
"left"
>
<u-icon
name=
"arrow-left"
color=
"black"
size=
"20"
@
click=
"backbar"
/>
<view
@
click=
"search"
style=
"display: flex;align-items: center;justify-content: center"
>
<image
:src=
"baseUrl+'/index/screen.png'"
class=
"img"
mode=
"aspectFill"
></image>
<view
class=
"text"
>
筛选
</view>
</view>
</view>
</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 userList"
@
click=
"gotoDetail(item)"
>
<view
class=
"card-image"
>
<image
class=
"img"
:src=
"item.avatarUrl"
/>
<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=
"会员信息"
>
<view
class=
"u-nav-slot"
slot=
"left"
>
<u-icon
name=
"arrow-left"
color=
"black"
size=
"20"
@
click=
"backbar"
/>
<view
@
click=
"search"
style=
"display: flex;align-items: center;justify-content: center"
>
<image
:src=
"baseUrl+'/index/screen.png'"
class=
"img"
mode=
"aspectFill"
></image>
<view
class=
"text"
>
筛选
</view>
</view>
<view
class=
"card-bottom"
>
<view
class=
"bottom-left"
>
<view
class=
"bottom-info"
>
{{
item
.
memNickName
}}
<image
v-if=
"item.memSex == '男'"
class=
"gender"
:src=
"baseUrl+'/user/male.png'"
mode=
""
/>
<image
v-else
class=
"gender"
:src=
"baseUrl+'/user/famale.png'"
mode=
""
/>
</view>
<view
class=
"bottom-info"
>
{{
item
.
memAge
}}
岁
<text
style=
"margin-left: 10rpx;margin-right: 10rpx;color: #BBB9B9FF;"
>
|
</text>
{{
item
.
memHeight
}}
cm
</view>
</u-navbar>
<view
class=
"recommendation"
>
<view
class=
"card"
>
<view
class=
"recommendation-card"
v-for=
"item in dataList"
@
click=
"gotoDetail(item)"
>
<view
class=
"card-image"
>
<image
class=
"img"
:src=
"item.avatarUrl"
/>
</view>
<view
class=
"card-bottom"
>
<view
class=
"bottom-left"
>
<view
class=
"bottom-info"
>
{{
item
.
memNickName
}}
<image
v-if=
"item.memSex == '男'"
class=
"gender"
:src=
"baseUrl+'/user/male.png'"
mode=
""
/>
<image
v-else
class=
"gender"
:src=
"baseUrl+'/user/famale.png'"
mode=
""
/>
</view>
<view
class=
"bottom-info"
>
{{
item
.
memAge
}}
岁
<text
style=
"margin-left: 10rpx;margin-right: 10rpx;color: #BBB9B9FF;"
>
|
</text>
{{
item
.
memHeight
}}
cm
</view>
<view
class=
"bottom-address"
>
{{
item
.
city
}}
</view>
</view>
<view
class=
"bottom-address"
>
{{
item
.
city
}}
</view>
</view>
</view>
</view>
</view>
</
view
>
</
z-paging
>
</view>
</
template
>
...
...
@@ -48,89 +58,27 @@ import {getOssUrl} from "../api/article";
export
default
{
data
()
{
return
{
//分页插件存储数据的变量
dataList
:[],
//图片路径
baseUrl
:
this
.
$IMG_URL
,
//分页查询参数
queryParam
:{
page
:
1
,
rows
:
10
},
//用户列表
userList
:[],
//是否有数据
isdata
:
false
,
//页面数据的数量
num
:
''
,
//距离表头高度
navHeight
:
''
,
menuButtonInfo
:
''
,
};
},
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
:
{
filterSearch
(
value
)
{
let
minHeight
=
''
let
maxHeight
=
''
let
minWeight
=
''
let
maxWeight
=
''
if
(
value
.
memHeight
!=
''
&&
value
.
memHeight
!=
'不限'
){
minHeight
=
value
.
memHeight
.
split
(
'-'
)[
0
]
maxHeight
=
value
.
memHeight
.
split
(
'-'
)[
1
]
}
if
(
value
.
memWeight
!=
''
&&
value
.
memWeight
!=
'不限'
){
minWeight
=
value
.
memWeight
.
split
(
'-'
)[
0
]
maxWeight
=
value
.
memWeight
.
split
(
'-'
)[
1
]
//获取用户信息列表
queryList
(
pageNo
,
pageSize
)
{
const
params
=
{
page
:
pageNo
,
rows
:
pageSize
}
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
=>
{
userList
(
params
).
then
(
res
=>
{
this
.
userList
=
res
.
data
.
data
//遍历this.userList
this
.
userList
.
forEach
(
item
=>
{
...
...
@@ -157,10 +105,24 @@ export default {
item
.
city
=
getCity
(
item
.
memResidenceProvince
,
item
.
memResidenceCity
)
}
});
this
.
$refs
.
paging
.
completeByTotal
(
this
.
userList
,
res
.
data
.
total
);
}).
catch
(
e
=>
{
console
.
log
(
e
)
})
},
//左上角的搜索
search
()
{
//判断当前是否已登录
uni
.
navigateTo
({
url
:
'/pagesUser/userFilterPage'
});
},
//跳转用户详情
gotoDetail
(
item
){
uni
.
navigateTo
({
url
:
'/pagesUser/userInfo?memberId='
+
item
.
businessId
})
},
//返回按钮
backbar
()
{
uni
.
navigateBack
({
...
...
@@ -172,87 +134,88 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.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
;
}
}
.recommendation
{
.content
{
min-height
:
100vh
;
background-color
:
#F4F5F9
;
position
:
absolute
;
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
{
.recommendation
{
background-color
:
#F4F5F9
;
padding
:
0
34rpx
;
.nodatacard
{
height
:
100vh
;
display
:
flex
;
.more-title
{
font-size
:
17px
;
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
:
#848484
;
margin-right
:
14rpx
;
color
:
#B9B9B9
;
}
}
.recommendation-top
{
display
:
flex
;
justify-content
:
space-between
;
margin
:
56rpx
0
;
.more-image
{
.top-title
{
font-size
:
19px
;
font-family
:
Source
Han
Sans
CN-Bold
,
Source
Han
Sans
CN
;
font-weight
:
bold
;
color
:
#222222
;
}
.more
{
display
:
flex
;
align-items
:
center
;
.rightimage
{
width
:
7px
;
height
:
12px
;
.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
;
}
}
}
}
}
.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
{
display
:
grid
;
grid-template-columns
:
330rpx
330rpx
;
grid-column-gap
:
22rpx
;
.recommendation-card
{
width
:
330rpx
;
margin-bottom
:
25rpx
;
...
...
@@ -307,6 +270,5 @@ export default {
}
}
}
}
</
style
>
pagesme/goldCoin/consumeRecord.vue
0 → 100644
View file @
2d5732e0
<
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
>
pagesme/goldCoin/recharge.vue
View file @
2d5732e0
...
...
@@ -185,7 +185,9 @@ export default {
},
//消费记录
consumeRecord
(){
uni
.
navigateTo
({
url
:
'/pagesme/goldCoin/consumeRecord'
});
}
}
}
...
...
pagesme/me/likeList.vue
View file @
2d5732e0
<
template
>
<view
style=
"background-color: #F4F5F9;min-height: 100vh;"
>
<!-- 页头-->
<u-navbar
@
leftClick=
"backbar"
bgColor=
"#F4F5F9"
:title=
"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 userList"
>
<view
class=
"card-image"
>
<image
@
click=
"gotoDetail(item)"
class=
"img"
:src=
"item.avatarUrl"
/>
</view>
<view
class=
"card-bottom"
>
<view
class=
"bottom-left"
>
<view
class=
"bottom-info"
>
{{
item
.
memNickName
}}
<image
v-if=
"item.memSex === '0'"
class=
"gender"
:src=
"baseUrl+'/user/male.png'"
mode=
""
/>
<image
v-else
class=
"gender"
:src=
"baseUrl+'/user/famale.png'"
mode=
""
/>
</view>
<view
class=
"bottom-info"
>
{{
item
.
memAge
}}
岁
<text
style=
"margin-left: 10rpx;margin-right: 10rpx;color: #BBB9B9FF;"
>
|
</text>
{{
item
.
memHeight
}}
cm
<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
bgColor=
"white"
:placeholder=
"true"
:title=
"title"
>
<view
class=
"u-nav-slot"
slot=
"left"
>
<u-icon
name=
"arrow-left"
color=
"black"
size=
"20"
@
click=
"backbar"
/>
<!--
<view
@
click=
"search"
style=
"display: flex;align-items: center;justify-content: center"
></view>
-->
</view>
</u-navbar>
<view
class=
"recommendation"
>
<view
class=
"card"
>
<view
class=
"recommendation-card"
v-for=
"item in userList"
>
<view
class=
"card-image"
>
<image
@
click=
"gotoDetail(item)"
class=
"img"
:src=
"item.avatarUrl"
/>
</view>
<view
class=
"card-bottom"
>
<view
class=
"bottom-left"
>
<view
class=
"bottom-info"
>
{{
item
.
memNickName
}}
<image
v-if=
"item.memSex === '0'"
class=
"gender"
:src=
"baseUrl+'/user/male.png'"
mode=
""
/>
<image
v-else
class=
"gender"
:src=
"baseUrl+'/user/famale.png'"
mode=
""
/>
</view>
<view
class=
"bottom-info"
>
{{
item
.
memAge
}}
岁
<text
style=
"margin-left: 10rpx;margin-right: 10rpx;color: #BBB9B9FF;"
>
|
</text>
{{
item
.
memHeight
}}
cm
</view>
<view
class=
"bottom-address"
>
{{
item
.
city
}}
</view>
</view>
<
view
class=
"bottom-address"
>
{{
item
.
city
}}
</view
>
<
image
v-if=
"type == '1' || type == '3'"
class=
"cnacleLike"
:src=
"baseUrl+'/user/cancelLike.png'"
@
click=
"deleteLike(item.userId)"
/
>
</view>
<image
v-if=
"type == '1' || type == '3'"
class=
"cnacleLike"
:src=
"baseUrl+'/user/cancelLike.png'"
@
click=
"deleteLike(item.userId)"
/>
</view>
</view>
</view>
</
view
>
</
z-paging
>
</view>
</
template
>
...
...
@@ -42,6 +57,8 @@ import {calculateAge, parseDate} from "../../common";
export
default
{
data
()
{
return
{
//分页插件存储数据的变量
dataList
:[],
//图片路径
baseUrl
:
this
.
$IMG_URL
,
//用户列表
...
...
@@ -54,43 +71,23 @@ export default {
type
:
''
,
//页面数据的数量
num
:
''
,
//距离表头
navHeight
:
''
,
share
:
false
,
menuButtonInfo
:
''
,
//分页查询参数
queryParam
:{
page
:
1
,
rows
:
10
}
//查询类型 1:我喜欢的 2:喜欢我的 3:互相喜欢的
queryType
:
''
,
};
},
onLoad
(
options
)
{
//设置页头
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
()
},
methods
:
{
getList
(
params
){
//我喜欢的
//分页查询
queryList
(
pageNo
,
pageSize
)
{
const
params
=
{
page
:
pageNo
,
rows
:
pageSize
,
queryType
:
this
.
queryType
}
likeList
(
params
).
then
(
res
=>
{
this
.
userList
=
res
.
data
.
data
this
.
num
=
this
.
userList
.
length
...
...
@@ -120,6 +117,7 @@ export default {
item
.
city
=
getCity
(
item
.
memResidenceProvince
,
item
.
memResidenceCity
)
}
});
this
.
$refs
.
paging
.
completeByTotal
(
this
.
userList
,
res
.
data
.
total
);
}).
catch
(
e
=>
{
console
.
log
(
e
)
})
...
...
@@ -128,43 +126,29 @@ export default {
getTitle
(){
if
(
this
.
type
==
'1'
){
//我喜欢的
this
.
title
=
'我喜欢的'
+
'('
+
this
.
num
+
')'
;
this
.
title
=
'我喜欢的'
+
'('
+
this
.
num
+
')'
;
}
else
if
(
this
.
type
==
'2'
){
//喜欢我的
this
.
title
=
'喜欢我的'
+
'('
+
this
.
num
+
')'
;
this
.
title
=
'喜欢我的'
+
'('
+
this
.
num
+
')'
;
}
else
if
(
this
.
type
==
'3'
){
//互相喜欢
this
.
title
=
'互相喜欢'
+
'('
+
this
.
num
+
')'
;
this
.
title
=
'互相喜欢'
+
'('
+
this
.
num
+
')'
;
}
},
//获取用户列表数据
getUserList
(){
if
(
this
.
type
==
'1'
){
//我喜欢的
const
params
=
{
page
:
this
.
queryParam
.
page
,
rows
:
this
.
queryParam
.
rows
,
queryType
:
'1'
}
this
.
getList
(
params
)
this
.
queryType
=
'1'
}
else
if
(
this
.
type
==
'2'
)
{
//喜欢我的
const
params
=
{
page
:
this
.
queryParam
.
page
,
rows
:
this
.
queryParam
.
rows
,
queryType
:
'2'
}
this
.
getList
(
params
)
this
.
queryType
=
'2'
}
else
if
(
this
.
type
==
'3'
)
{
//互相喜欢的
const
params
=
{
page
:
this
.
queryParam
.
page
,
rows
:
this
.
queryParam
.
rows
,
queryType
:
'3'
}
this
.
getList
(
params
)
this
.
queryType
=
'3'
}
},
//取消关注
deleteLike
(
id
){
//是否确认
uni
.
showModal
({
...
...
@@ -193,6 +177,7 @@ export default {
url
:
'/pagesUser/userInfo?memberId='
+
item
.
businessId
})
},
//返回按钮
backbar
()
{
uni
.
navigateBack
({
delta
:
1
,
//返回层数,2则上上页
...
...
@@ -203,67 +188,88 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.recommendation
{
.content
{
min-height
:
100vh
;
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
{
.recommendation
{
background-color
:
#F4F5F9
;
padding
:
0
34rpx
;
.nodatacard
{
height
:
100vh
;
display
:
flex
;
.more-title
{
font-size
:
17px
;
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
:
#848484
;
margin-right
:
14rpx
;
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
-image
{
.more
{
display
:
flex
;
align-items
:
center
;
.rightimage
{
width
:
7px
;
height
:
12px
;
.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
;
}
}
}
}
}
.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
{
display
:
grid
;
grid-template-columns
:
330rpx
330rpx
;
grid-column-gap
:
22rpx
;
.recommendation-card
{
width
:
330rpx
;
margin-bottom
:
25rpx
;
...
...
@@ -318,7 +324,6 @@ export default {
}
}
}
}
.cnacleLike
{
height
:
40rpx
;
...
...
pagesme/set/blackList.vue
View file @
2d5732e0
...
...
@@ -42,70 +42,70 @@ export default {
],
options4
:
[
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'杨涛'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'雨中漫步'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'糖果梦境'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'海上日落'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'男朋友'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'女朋友'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'静谧之夜'
,
read
:
1
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'风吹麦浪'
,
read
:
0
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'路过岁月'
,
read
:
0
,
time
:
'23:59'
,
msg
:
'没有消息就是最好的消息'
},
{
avatar
:
'http://192.168.
69.154/upload/opmArticle/20250205/D55F11DEB8C2410CB899978572F82981
.jpg'
,
avatar
:
'http://192.168.
1.23/upload/CmsNotice/20250210/00429923A8CE495ABA38CC2F527EADF5
.jpg'
,
name
:
'繁星点点'
,
read
:
0
,
time
:
'23:59'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment