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
04df1766
Commit
04df1766
authored
Dec 18, 2024
by
liwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了活动页面
parent
fe1bf400
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
728 additions
and
612 deletions
+728
-612
pages.json
pages.json
+4
-6
activity.vue
pages/tab/activity.vue
+723
-605
list.vue
pagesAnnouncement/announcement/list.vue
+1
-1
No files found.
pages.json
View file @
04df1766
...
@@ -58,13 +58,10 @@
...
@@ -58,13 +58,10 @@
"path"
:
"pages/tab/activity"
,
"path"
:
"pages/tab/activity"
,
"style"
:
"style"
:
{
{
"navigation
Style"
:
"custom
"
,
"navigation
BarTitleText"
:
"活动
"
,
"backgroundColor"
:
"#F4F5F9"
,
"backgroundColor"
:
"#F4F5F9"
,
"backgroundColorTop"
:
"#F4F5F9"
,
"backgroundColorTop"
:
"#F4F5F9"
,
"backgroundColorBottom"
:
"#F4F5F9"
,
"backgroundColorBottom"
:
"#F4F5F9"
"enablePullDownRefresh"
:
false
,
"onReachBottomDistance"
:
50
,
"disableScroll"
:
true
}
}
}
}
],
],
...
@@ -343,7 +340,8 @@
...
@@ -343,7 +340,8 @@
"selectedColor"
:
"#333333"
,
"selectedColor"
:
"#333333"
,
"borderStyle"
:
"black"
,
"borderStyle"
:
"black"
,
"backgroundColor"
:
"#ffffff"
,
"backgroundColor"
:
"#ffffff"
,
"list"
:
[{
"list"
:
[
{
"pagePath"
:
"pages/tab/index"
,
"pagePath"
:
"pages/tab/index"
,
"iconPath"
:
"static/tab/ld.png"
,
"iconPath"
:
"static/tab/ld.png"
,
"selectedIconPath"
:
"static/tab/lds.png"
,
"selectedIconPath"
:
"static/tab/lds.png"
,
...
...
pages/tab/activity.vue
View file @
04df1766
<
template
>
<
template
>
<view
class=
""
>
<view>
<view
class=
"home-page-container"
style=
"height: 100vh;"
v-if=
"nologin==true"
@
touchmove
.
stop
.
prevent=
"() =>
{}">
<view
class=
"pageanima"
>
<image
class=
"nologi-bgc-imga"
src=
"../../static/images/bg-c.png"
mode=
"aspectFill"
></image>
<view
class=
"div"
style=
"height: 100%;background: #F4F5F9;"
>
<u-navbar
class=
"myNav"
:placeholder=
"true"
>
<!-- 轮播图 后面放banner里的图-->
<view
class=
"u-nav-slot"
slot=
"left"
>
<view
class=
"box"
>
<view
class=
"text"
>
活动
</view>
<view
class=
"swiper"
>
</view>
<ls-swiper
:list=
"userData.imgList"
imgKey=
""
:loop=
"true"
:dots=
"true"
:autoplay=
"true"
</u-navbar>
:height=
"200"
/>
</view>
<view
class=
"nologi-noimg"
>
</view>
<image
src=
"../../static/images/nologin.png"
style=
"width: 100%;height: 100%;"
mode=
"aspectFill"
></image>
<!-- 活动列表-->
</view>
<view
class=
"card"
v-for=
"(item,index) in businessList"
:key=
"index"
@
click=
"gotodetail(item)"
>
<view
class=
"nologi-text"
>
登录后才能查看消息哦
</view>
<view
class=
"contentBody"
>
<view
class=
"nologi-nobutton"
@
click=
"getUserInfo"
>
点此登录
</view>
<view
class=
"leftlist"
>
</view>
<image
src=
"/static/images/home/gonggao.png"
class=
"leftlistimage"
/>
<view
v-if=
"nologin==false"
>
</view>
<view
class=
"box"
v-if=
"!isShow"
>
<view
class=
"rightlist"
>
<u-navbar
:bgColor=
"bgColor"
:placeholder=
"true"
>
<view
class=
"rightlist-title"
>
{{
item
.
name
}}
</view>
<view
class=
"u-nav-slot"
slot=
"left"
>
<view
class=
"rightlist-time"
>
<view
class=
"text"
>
消息
</view>
<view
class=
"timeicon"
>
</view>
<u-icon
name=
"clock"
color=
"#666666;"
size=
"15"
></u-icon>
</u-navbar>
</view>
<view
class=
"msgs"
>
<view
class=
"timetext"
>
{{
item
.
createTime
}}
</view>
<u-swipe-action
:autoClose=
"true"
:key=
"key"
>
</view>
<u-swipe-action-item
:show=
"isOpened"
:auto-close=
"false"
:options=
"option"
v-for=
"(i,index) in list"
:key=
"i.sendUserId"
<view
class=
"rightlist-address"
>
@
click=
"delClick"
>
<view
class=
"addressicon"
>
<view
class=
"item"
@
click=
"actionClick(i)"
>
<u-icon
name=
"map"
color=
"#D84848;"
size=
"15"
></u-icon>
<image
class=
"ava"
:src=
"i.headPortrait"
mode=
"aspectFill"
></image>
</view>
<u-badge
customStyle=
"margin-left:11%;margin-bottom: 10%;"
style=
"margin-bottom: ;"
v-if=
"i.unreadCount!==null"
max=
"99"
:value=
"i.unreadCount"
:absolute=
"true"
>
<view
class=
"addresstext"
v-if=
"item.address"
>
{{
item
.
address
}}
</view>
</u-badge>
<view
class=
"addresstext"
v-else
>
-
</view>
<!--
<view
class=
"ava"
:style=
"
{backgroundImage: 'url(' + i.headPortrait + ')'}">
</view>
<u-badge
v-if=
"i.unreadCount!==null"
max=
"99"
:value=
"i.unreadCount"
:absolute=
"true"
>
</view>
</u-badge>
</view>
</view>
-->
</view>
<view
class=
"r"
>
<view
class=
"bussiness-nomore"
>
~ 没有更多啦 ~
</view>
<view
class=
"title"
>
</view>
<text
class=
"name"
>
{{
i
.
nickName
}}
</text>
<!--
<login
@
change=
"getUserInfo"
:isLoginPop=
"isLoginPop"
class=
"my-select"
></login>
-->
<text
class=
"time"
>
{{
i
.
latelyTime
.
slice
(
10
,
16
)
}}
</text>
</view>
</view>
</view>
<view
class=
"msg"
>
<view
v-if=
"i.messageDescribeFormat=='text'"
>
<rich-text
:nodes=
"i.messageDescribe"
></rich-text>
</view>
<view
v-if=
"i.messageDescribeFormat=='emoji'"
>
[动画表情]
</view>
<!-- 图片消息 -->
<view
v-if=
"i.messageDescribeFormat=='image'"
>
[图片]
</view>
</view>
</view>
</view>
</u-swipe-action-item>
</u-swipe-action>
</view>
</view>
<template
v-if=
"isShow"
>
<u-navbar
bgColor=
"#fff"
:placeholder=
"true"
>
<view
class=
"u-nav-slot"
slot=
"left"
>
<view
class=
"text"
>
消息
</view>
</view>
</u-navbar>
<empty
height=
"calc(100vh - 100px)"
/>
</
template
>
</view>
<ELM
ref=
"elm"
:msg=
"tipMsg"
:isConfirm=
"isConfirm"
@
confirm=
"confirm"
></ELM>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
import
ELM
from
'@/components/elm-toast/index.vue'
;
let
util
=
require
(
'@/util/means.js'
);
import
empty
from
'@/components/empty.vue'
import
LsSwiper
from
'../../components/ls-swiper/index.vue'
;
import
{
export
default
{
WS
components
:
{
}
from
'@/util/wsConfig.js'
LsSwiper
export
default
{
},
components
:
{
data
()
{
empty
,
return
{
ELM
businessList
:
[
},
{
data
()
{
name
:
'测试1'
,
return
{
createTime
:
'2024-10-12'
,
key
:
1
,
address
:
'天津'
bgColor
:
'#F4F5F9'
,
},
option
:
[{
{
text
:
'删除'
,
name
:
'测试2'
,
style
:
{
createTime
:
'2024-10-12'
,
backgroundColor
:
'#FF8080'
address
:
'天津'
}
},
}],
{
list
:[],
name
:
'测试3'
,
total
:
0
,
createTime
:
'2024-10-12'
,
params
:
{
address
:
'天津'
pageIndex
:
1
,
},
pageSize
:
10
{
},
name
:
'测试4'
,
count
:
0
,
createTime
:
'2024-10-12'
,
isShow
:
false
,
address
:
'天津'
ownerId
:
null
,
},
timeoutObj
:
null
,
{
reConnect
:
true
,
name
:
'测试5'
,
socketTask
:
null
,
createTime
:
'2024-10-12'
,
nologin
:
''
,
address
:
'天津'
tipMsg
:
''
,
},
isConfirm
:
false
{
}
name
:
'测试6'
,
},
createTime
:
'2024-10-12'
,
onShow
()
{
address
:
'天津'
if
(
uni
.
getStorageSync
(
'info'
))
{
},
this
.
nologin
=
false
{
this
.
ownerId
=
uni
.
getStorageSync
(
'info'
)
!=
null
?
uni
.
getStorageSync
(
'info'
).
id
:
null
;
name
:
'测试6'
,
this
.
getMsgList
(
true
);
createTime
:
'2024-10-12'
,
this
.
connectSocketInit
();
address
:
'天津'
}
else
{
},
this
.
nologin
=
true
{
}
name
:
'测试6'
,
createTime
:
'2024-10-12'
,
},
address
:
'天津'
// 关闭websocket【必须在实例销毁之前关闭,否则会是underfined错误】
},
onHide
()
{
{
this
.
reConnect
=
true
;
name
:
'测试6'
,
this
.
closeSocket
();
createTime
:
'2024-10-12'
,
clearInterval
(
this
.
timeoutObj
);
//销毁定时器
address
:
'天津'
},
}
onReachBottom
()
{
]
,
// 商家列表
let
{
notice
:
'这里是公告这里是公告这里是公告这里是公告这里是公告这里是公告这里是公告这里是公告'
,
pageIndex
,
showBtn
:
true
,
pageSize
showArrowDown
:
true
,
}
=
this
.
params
showTabbar
:
true
,
if
(
pageIndex
*
pageSize
<
this
.
total
)
{
scrollTop
:
0
,
this
.
params
.
pageIndex
+=
1
;
isLoginPop
:
false
,
this
.
getMsgList
()
userData
:
{
}
userArticleViewResponse
:
{
},
articleContent
:
null
,
methods
:
{
articleImg
:
[]
async
getUnRead
()
{
}
const
res
=
await
this
.
$myRequest
({
},
url
:
`/message/un/read`
,
data
:
[],
withToken
:
true
,
count
:
0
,
method
:
'GET'
};
});
},
this
.
count
=
res
.
data
.
data
onHide
()
{
uni
.
setTabBarBadge
({
//显示数字
index
:
1
,
//tabbar下标
},
text
:
`
${
res
.
data
.
data
}
`
//数字
onShow
()
{
})
this
.
getRecUserInfo
();
},
},
delClick
({
onPageScroll
(
e
)
{
index
,
if
(
!
this
.
isInit
)
{
name
return
;
})
{
}
console
.
log
(
1111
);
const
_this
=
this
;
console
.
log
(
index
);
if
(
e
.
scrollTop
<=
0
)
{
this
.
$myRequest
({
this
.
showArrowDown
=
true
;
url
:
`/message/list/delete/
${
this
.
list
[
index
].
sendUserId
}
`
,
return
;
withToken
:
true
,
}
method
:
'DELETE'
this
.
showArrowDown
=
false
;
}).
then
(
res
=>
{
if
(
this
.
scrollTop
-
e
.
scrollTop
>
50
)
{
this
.
referesh
()
this
.
bottom_offset
=
false
;
this
.
status
=
'close'
;
}
})
if
(
this
.
bottom_offset
)
{
return
;
},
}
actionClick
(
i
)
{
if
(
!
_this
.
flag
)
{
this
.
tipMsg
=
"开源版暂未开放,敬请期待!如需旗舰版,可联系作者微信(MMRWXM)咨询"
;
setTimeout
(()
=>
{
this
.
$refs
.
elm
.
showDialog
();
if
(
e
.
scrollTop
>
_this
.
scrollTop
&&
_this
.
showTabbar
)
{
},
uni
.
hideTabBar
({
async
getMsgList
(
isReload
)
{
animation
:
true
,
let
page
=
this
.
params
;
success
()
{
if
(
isReload
){
_this
.
showTabbar
=
false
;
page
.
pageIndex
=
1
;
}
if
(
this
.
list
!=
null
&&
this
.
list
.
length
>
page
.
pageSize
)
});
{
}
else
if
(
e
.
scrollTop
<
_this
.
scrollTop
&&!
_this
.
showTabbar
)
{
page
.
pageSize
=
this
.
list
.
length
;
uni
.
showTabBar
({
}
animation
:
true
,
success
()
{
}
_this
.
showTabbar
=
true
;
const
res
=
await
this
.
$myRequest
({
}
url
:
`/message/list`
,
});
withToken
:
true
,
}
data
:
page
,
_this
.
scrollTop
=
e
.
scrollTop
;
method
:
'GET'
_this
.
flag
=
false
;
});
},
200
);
if
(
isReload
)
{
}
this
.
list
=
res
.
data
.
data
.
rows
;
_this
.
flag
=
true
;
}
else
{
},
this
.
list
=
this
.
list
.
concat
(
methods
:
{
res
.
data
.
data
.
rows
// 页面跳转
);
gotopage
(
url
)
{
}
uni
.
reLaunch
({
this
.
total
=
res
.
data
.
data
.
totalCount
url
:
url
if
(
this
.
total
<=
0
)
{
});
this
.
isShow
=
true
},
}
else
{
//热门推荐 跳转
this
.
isShow
=
false
gotodetail
(
item
){
}
uni
.
navigateTo
({
this
.
key
+=
1
url
:
'/pages2/business/business/id='
+
item
.
businessId
this
.
$nextTick
(()
=>
{
})
this
.
$forceUpdate
()
},
})
async
getUnRead
()
{
this
.
getUnRead
();
const
res
=
await
this
.
$myRequest
({
},
url
:
`/message/un/read`
,
connectSocketInit
:
function
()
{
withToken
:
true
,
let
self
=
this
;
method
:
'GET'
if
(
self
.
reConnect
)
{
});
console
.
log
(
"连接socket"
);
this
.
count
=
res
.
data
.
data
self
.
socketTask
=
uni
.
connectSocket
({
uni
.
setTabBarBadge
({
//显示数字
url
:
WS
,
index
:
1
,
//tabbar下标
success
(
data
)
{
text
:
`
${
res
.
data
.
data
}
`
//数字
console
.
log
(
"连接socket成功"
);
})
},
},
fail
(
data
)
{
getUserInfo
(
e
)
{
console
.
log
(
"连接socket失败"
);
if
(
e
==
0
)
{
}
this
.
isLoginPop
=
false
;
});
return
;
uni
.
onSocketOpen
(
function
(
res
)
{
}
//监听WebSocket连接打开事件
let
msgData
=
{
// #ifdef MP-WEIXIN
messageType
:
"CONNECT"
,
try
{
info
:
self
.
ownerId
wx
.
getUserProfile
({
};
desc
:
'用于完善会员资料'
,
console
.
log
(
"发送连接请求"
);
success
:
resinfo
=>
{
self
.
websocketSendMessage
(
msgData
);
wx
.
login
({
});
success
:
res
=>
{
}
if
(
res
.
code
)
{
console
.
log
(
res
.
code
,
resinfo
);
},
this
.
setCode
(
res
.
code
,
resinfo
);
// 关闭websocket【离开这个页面的时候执行关闭】
}
else
{}
closeSocket
()
{
},
let
self
=
this
;
fail
:
err
=>
{
uni
.
closeSocket
({
success
(
res
)
{
}
console
.
log
(
"关闭成功"
,
res
);
});
},
},
fail
(
err
)
{
fail
:
errinfo
=>
{
console
.
log
(
"关闭失败"
,
err
);
this
.
setCode
(
this
.
generateRandomString
(
10
),
'null'
);
},
}
});
});
}
catch
{
},
websocketSendMessage
(
msgData
)
{
wx
.
getUserInfo
({
let
self
=
this
;
success
:
resinfo
=>
{
uni
.
sendSocketMessage
({
wx
.
login
({
data
:
JSON
.
stringify
(
msgData
),
success
:
res
=>
{
success
()
{
if
(
res
.
code
)
{
if
(
msgData
.
messageType
==
'CONNECT'
)
{
console
.
log
(
res
.
code
,
resinfo
);
console
.
log
(
"建立连接成功 启动监听"
+
JSON
.
stringify
(
msgData
));
this
.
setCode
(
res
.
code
,
resinfo
);
self
.
websocketOnMessage
();
}
else
{}
}
else
{
},
console
.
log
(
"消息发送成功"
+
JSON
.
stringify
(
msgData
));
fail
:
err
=>
{}
}
});
},
},
fail
:
errinfo
=>
{}
fail
()
{
});
console
.
log
(
"发送失败,重新建立连接"
+
JSON
.
stringify
(
msgData
));
}
setTimeout
(()
=>
{
// #endif
self
.
websocketSendMessage
(
msgData
);
// #ifndef MP-WEIXIN
},
1000
)
this
.
setCode
(
"ip"
,
'null'
);
// #endif
}
},
});
getRecUserInfo
()
{
},
console
.
log
(
"开始获取用户信息"
)
websocketOnMessage
()
{
// 获取推荐用户信息
let
self
=
this
;
let
age
=
20
;
uni
.
onSocketMessage
((
res
)
=>
{
if
(
this
.
age
)
{
console
.
log
(
"监听到socket信息:"
,
res
);
age
=
util
.
mymethod
(
uni
.
getStorageSync
(
'itemobj'
).
birthday
);
if
(
"CONNECT_SUCCESS"
==
res
.
data
)
{
}
//建立连接成功后开始心跳
let
loginType
;
this
.
reset
();
// 检测心跳reset,防止长时间连接导致连接关闭
uni
.
getStorageSync
(
'token'
)
?
(
loginType
=
true
)
:
(
loginType
=
false
);
}
else
{
this
.
$myRequest
({
//收到消息
url
:
'nostalgia/fruser/recommendUserInfo'
,
let
msgData
=
JSON
.
parse
(
res
.
data
);
withToken
:
loginType
,
console
.
log
(
"收到消息:"
,
JSON
.
stringify
(
msgData
));
data
:
{
//消息应答
age
,
this
.
answerMessage
(
msgData
.
msgNo
);
gender
:
this
.
gender
==
undefined
?
"FEMALE"
:
this
.
gender
this
.
referesh
();
},
}
method
:
'GET'
});
}).
then
(
res
=>
{
},
console
.
log
(
"获取用户信息完成"
)
// 启动心跳 start
if
(
res
.
data
.
code
==
200
)
{
start
()
{
if
(
res
.
data
.
data
==
null
)
{
let
self
=
this
;
this
.
showArrowDown
=
false
;
self
.
timeoutObj
=
setInterval
(
function
()
{
this
.
isInit
=
false
;
uni
.
sendSocketMessage
({
// this.data = [];
data
:
'{"messageType":"ALIVE"}'
,
this
.
userData
=
{};
success
()
{
this
.
nextData
=
{};
console
.
log
(
"消息列表心跳"
);
uni
.
setTabBarBadge
({
self
.
reConnect
=
false
;
index
:
0
,
},
text
:
'0'
fail
()
{
});
console
.
log
(
"心跳失败重新连接"
);
}
else
{
setTimeout
(()
=>
{
this
.
showArrowDown
=
true
;
self
.
reConnect
=
true
;
this
.
isInit
=
true
;
self
.
connectSocketInit
();
this
.
userData
=
res
.
data
.
data
;
},
1000
)
if
(
this
.
userData
.
userArticleViewResponse
.
articleImg
.
length
>
3
){
}
this
.
userData
.
userArticleViewResponse
.
articleImg
=
this
.
userData
.
userArticleViewResponse
.
articleImg
.
splice
(
0
,
3
)
});
}
},
1000
);
uni
.
setTabBarBadge
({
},
index
:
0
,
// 检测心跳reset
text
:
`
${
res
.
data
.
data
.
surplusNum
}
`
reset
()
{
});
clearInterval
(
this
.
timeoutObj
);
this
.
start
();
// 启动心跳
this
.
showBtn
=
true
;
},
console
.
log
(
referesh
()
{
`console.log("获取用户信息完成") 用户id
${
res
.
data
.
data
.
id
}
****剩余次数
${
res
.
data
.
data
.
surplusNum
}
`
// 刷新消息列表
);
}
this
.
getMsgList
(
true
);
}
else
{
},
this
.
$refs
.
elm
.
showDialog
();
answerMessage
(
MsgNo
)
{
}
let
self
=
this
;
})
uni
.
sendSocketMessage
({
},
data
:
'{"messageType":"ANSWER","info":"'
+
MsgNo
+
'"}'
,
generateRandomString
(
length
)
{
success
()
{
let
result
=
uni
.
getStorageSync
(
'touristopenid'
);
console
.
log
(
"消息应答:"
+
MsgNo
);
if
(
result
!=
null
&&
result
!=
""
)
{
},
return
result
;
fail
()
{
}
else
{
console
.
log
(
"消息应答失败"
);
result
=
''
;
}
}
});
const
characters
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
;
// 包含大小写字母和数字的所有字符集合
},
//登录
for
(
let
i
=
0
;
i
<
length
;
i
++
)
{
getUserInfo
()
{
const
randomIndex
=
Math
.
floor
(
Math
.
random
()
*
characters
.
length
);
// #ifdef MP-WEIXIN
result
+=
characters
[
randomIndex
];
try
{
}
wx
.
getUserProfile
({
var
now
=
new
Date
();
desc
:
'用于完善会员资料'
,
var
year
=
now
.
getFullYear
();
// 年份
success
:
(
resinfo
)
=>
{
var
month
=
(
now
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
'0'
);
// 月份(注意要加上1)
wx
.
login
({
var
day
=
now
.
getDate
().
toString
().
padStart
(
2
,
'0'
);
// 天数
success
:
(
res
)
=>
{
var
hours
=
now
.
getHours
().
toString
().
padStart
(
2
,
'0'
);
// 小时
if
(
res
.
code
)
{
var
minutes
=
now
.
getMinutes
().
toString
().
padStart
(
2
,
'0'
);
// 分钟
console
.
log
(
res
.
code
,
resinfo
);
var
seconds
=
now
.
getSeconds
().
toString
().
padStart
(
2
,
'0'
);
// 秒数
this
.
setCode
(
res
.
code
,
resinfo
);
result
=
"touristopenid"
+
result
+
(
+
year
+
month
+
day
+
hours
+
minutes
+
seconds
);
}
else
{}
uni
.
setStorageSync
(
'touristopenid'
,
result
);
},
return
result
;
fail
:
(
err
)
=>
{}
}
})
},
},
};
fail
:
(
errinfo
)
=>
{
this
.
setCode
(
this
.
generateRandomString
(
10
),
'null'
);
}
})
}
catch
{
wx
.
getUserInfo
({
success
:
(
resinfo
)
=>
{
wx
.
login
({
success
:
(
res
)
=>
{
if
(
res
.
code
)
{
console
.
log
(
res
.
code
,
resinfo
);
this
.
setCode
(
res
.
code
,
resinfo
);
}
else
{}
},
fail
:
(
err
)
=>
{}
})
},
fail
:
(
errinfo
)
=>
{}
})
}
// #endif
// #ifndef MP-WEIXIN
this
.
setCode
(
"ip"
,
'null'
);
// #endif
},
async
setCode
(
code
,
resinfo
)
{
console
.
log
(
code
)
const
res
=
await
this
.
$myRequest
({
url
:
'token/wxAppletLogin'
,
data
:
{
code
:
code
},
method
:
'POST'
,
});
console
.
log
(
res
,
'delshoucang'
);
var
obj
=
{
code
:
code
,
state
:
res
.
data
.
code
,
nickName
:
resinfo
!=
'null'
?
resinfo
.
userInfo
.
nickName
:
"匿名用户"
}
uni
.
setStorageSync
(
'verification'
,
obj
);
if
(
res
.
data
.
code
==
200
)
{
this
.
tipMsg
=
"登录成功"
;
this
.
$refs
.
elm
.
showDialog
();
var
info
=
{
birthday
:
res
.
data
.
data
.
info
.
birthday
,
city
:
res
.
data
.
data
.
info
.
city
,
gender
:
res
.
data
.
data
.
info
.
gender
,
headPortrait
:
res
.
data
.
data
.
info
.
headPortrait
,
id
:
res
.
data
.
data
.
info
.
id
,
nickName
:
res
.
data
.
data
.
info
.
nickName
,
}
uni
.
setStorageSync
(
'info'
,
info
);
uni
.
setStorageSync
(
'token'
,
res
.
data
.
data
.
token
);
this
.
ownerId
=
res
.
data
.
data
.
info
.
id
;
this
.
getMsgList
(
true
);
this
.
connectSocketInit
();
}
else
if
(
res
.
data
.
code
==
11002
)
{
uni
.
reLaunch
({
url
:
"/pagesintroduction/selfIntroduction?code="
+
code
})
}
else
{
this
.
tipMsg
=
res
.
data
.
msg
;
this
.
$refs
.
elm
.
showDialog
();
}
},
generateRandomString
(
length
)
{
let
result
=
uni
.
getStorageSync
(
'touristopenid'
);
if
(
result
!=
null
&&
result
!=
""
)
{
return
result
;
}
else
{
result
=
''
;
}
const
characters
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
;
// 包含大小写字母和数字的所有字符集合
for
(
let
i
=
0
;
i
<
length
;
i
++
)
{
const
randomIndex
=
Math
.
floor
(
Math
.
random
()
*
characters
.
length
);
result
+=
characters
[
randomIndex
];
}
var
now
=
new
Date
();
var
year
=
now
.
getFullYear
();
// 年份
var
month
=
(
now
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
'0'
);
// 月份(注意要加上1)
var
day
=
now
.
getDate
().
toString
().
padStart
(
2
,
'0'
);
// 天数
var
hours
=
now
.
getHours
().
toString
().
padStart
(
2
,
'0'
);
// 小时
var
minutes
=
now
.
getMinutes
().
toString
().
padStart
(
2
,
'0'
);
// 分钟
var
seconds
=
now
.
getSeconds
().
toString
().
padStart
(
2
,
'0'
);
// 秒数
result
=
"touristopenid"
+
result
+
(
+
year
+
month
+
day
+
hours
+
minutes
+
seconds
);
uni
.
setStorageSync
(
'touristopenid'
,
result
);
return
result
;
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
view
{
.bussiness-nomore
{
box-sizing
:
border-box
;
text-align
:
center
;
}
padding
:
42rpx
0
;
font-size
:
13px
;
.u-nav-slot
{
font-family
:
Source
Han
Sans
CN-Regular
,
Source
Han
Sans
CN
;
display
:
flex
;
font-weight
:
400
;
align-items
:
center
;
color
:
#B9B9B9
;
}
.text
{
height
:
44rpx
;
@keyframes
leftMove
{
text-align
:
center
;
0
%
{
font-size
:
32rpx
;
left
:
-130rpx
;
font-family
:
PingFang
SC-Bold
,
PingFang
SC
;
}
font-weight
:
bold
;
color
:
#000000
;
100
%
{
margin-left
:
315rpx
;
left
:
0
;
line-height
:
44rpx
;
}
}
}
}
@keyframes
rightMove
{
.box
{
0
%
{
padding
:
0
32rpx
;
right
:
-130rpx
;
min-height
:
100vh
;
}
background-color
:
#F4F5F9
;
100
%
{
.u-nav-slot
{
right
:
0
;
display
:
flex
;
}
align-items
:
center
;
}
.text
{
height
:
44rpx
;
@keyframes
topHide
{
text-align
:
center
;
0
%
{
font-size
:
32rpx
;
top
:
50%
;
font-family
:
PingFang
SC-Bold
,
PingFang
SC
;
width
:
0
;
font-weight
:
bold
;
height
:
0
;
color
:
#000000
;
}
margin-left
:
315rpx
;
line-height
:
44rpx
;
70
%
{
}
top
:
18%
;
}
width
:
100rpx
;
height
:
100rpx
;
.msgs
{
}
/
deep
/
.u-swipe-action-item
{
border-radius
:
24rpx
;
80
%
{
margin
:
20rpx
0
;
top
:
18%
;
width
:
100rpx
;
.item
{
height
:
100rpx
;
height
:
160rpx
;
}
background
:
#FFFFFF
;
padding
:
30rpx
;
90
%
{
display
:
flex
;
top
:
20%
;
justify-content
:
space-between
;
width
:
80rpx
;
align-items
:
center
;
height
:
80rpx
;
border-radius
:
24rpx
;
}
overflow
:
hidden
;
.ava
{
100
%
{
width
:
102rpx
;
top
:
20%
;
height
:
102rpx
;
wixdth
:
0
;
border-radius
:
50%
;
height
:
0
;
//background-image: url('../../static/logo.png');
}
background-size
:
100%
100%
;
}
.u-badge
{
left
:
95rpx
;
page
{
}
width
:
100%
;
}
height
:
100vh
;
}
.r
{
width
:
498rpx
;
.card
{
background-color
:
white
;
.title
{
width
:
680rpx
;
display
:
flex
;
height
:
250rpx
;
justify-content
:
space-between
;
margin
:
34rpx
34rpx
0
34rpx
;
align-items
:
flex-end
;
border-radius
:
12rpx
12rpx
12rpx
12rpx
;
.contentBody
{
.name
{
margin-left
:
40rpx
;
width
:
460rpx
;
padding-top
:
30rpx
;
overflow
:
hidden
;
//超出隐藏
display
:
flex
;
white-space
:
nowrap
;
//不折行
.leftlist
{
text-overflow
:
ellipsis
;
//溢出显示省略号
margin-right
:
26rpx
;
font-size
:
32rpx
;
.leftlistimage
{
font-family
:
PingFang
SC-Bold
,
PingFang
SC
;
width
:
220rpx
;
font-weight
:
bold
;
height
:
166rpx
;
color
:
#333333
;
border-radius
:
12px
12px
12px
12px
;
}
}
}
.time
{
.rightlist
{
font-size
:
24rpx
;
.rightlist-title
{
font-family
:
PingFang
SC-Regular
,
PingFang
SC
;
margin-top
:
12rpx
;
font-weight
:
400
;
margin-left
:
17rpx
;
color
:
#C9C9D0
;
font-size
:
16px
;
}
font-family
:
Source
Han
Sans
CN-Medium
,
Source
Han
Sans
CN
;
font-weight
:
500
;
}
color
:
#222222
;
margin-bottom
:
12rpx
;
.msg
{
}
width
:
100%
;
margin-top
:
20rpx
;
.rightlist-message
{
font-size
:
28rpx
;
font-size
:
14px
;
font-family
:
PingFang
SC-Regular
,
PingFang
SC
;
font-family
:
Source
Han
Sans
CN-Regular
,
Source
Han
Sans
CN
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#434343
;
color
:
#666666
;
overflow
:
hidden
;
//超出隐藏
margin-bottom
:
26rpx
;
white-space
:
nowrap
;
//不折行
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
//溢出显示省略号
overflow
:
hidden
;
}
text-overflow
:
ellipsis
;
}
width
:
calc
(
100vw
-
220rpx
-
26rpx
-
42rpx
-
34rpx
);
}
}
}
.rightlist-time
{
}
margin-top
:
12rpx
;
}
display
:
flex
;
margin-bottom
:
24rpx
;
.nologi-bgc-imga
{
align-items
:
center
;
position
:
absolute
;
top
:
-120rpx
;
.timeicon
{
left
:
0rpx
;
margin-right
:
14rpx
;
width
:
100%
;
}
height
:
100%
;
pointer-events
:
none
;
.timetext
{
}
font-size
:
14px
;
.nologi-noimg
{
font-family
:
Source
Han
Sans
CN-Regular
,
Source
Han
Sans
CN
;
width
:
338rpx
;
font-weight
:
400
;
height
:
338rpx
;
color
:
#666666
;
margin
:
0
auto
;
}
padding-top
:
200rpx
;
}
box-sizing
:
content-box
;
}
.rightlist-address
{
.nologi-text
{
display
:
flex
;
width
:
100%
;
margin-bottom
:
30rpx
;
height
:
44rpx
;
align-items
:
center
;
font-size
:
32rpx
;
font-family
:
'PingFang SC-Regular, PingFang SC'
;
.addressicon
{
font-weight
:
400
;
margin-right
:
14rpx
;
color
:
#C9C9D0
;
margin-top
:
2rpx
;
line-height
:
44rpx
;
}
text-align
:
center
;
margin-top
:
104rpx
;
.addresstext
{
}
font-size
:
14px
;
font-family
:
Source
Han
Sans
CN-Regular
,
Source
Han
Sans
CN
;
.nologi-nobutton
{
font-weight
:
400
;
width
:
392rpx
;
color
:
#DF6969
;
height
:
84rpx
;
}
background
:
linear-gradient
(
86deg
,
#C2D2F9
0%
,
#C5C2F3
100%
);
}
border-radius
:
42rpx
;
}
display
:
flex
;
}
align-items
:
center
;
justify-content
:
center
;
.content
{
font-size
:
28rpx
;
margin-left
:
40rpx
;
margin
:
0
auto
;
padding-top
:
32rpx
;
font-family
:
'PingFang SC-Regular, PingFang SC'
;
display
:
flex
;
font-weight
:
400
;
flex-direction
:
column
;
color
:
#415C9E
;
margin-top
:
40rpx
;
.have_image
{
display
:
flex
;
}
align-items
:
center
;
.home-page-container
{
font-size
:
28rpx
;
::v-deep
.u-navbar__content
{
font-weight
:
bold
;
background
:
none
!
important
;
background-color
:
none
!
important
;
image
{
}
width
:
28rpx
;
::v-deep
.u-status-bar
{
height
:
28rpx
;
background
:
none
!
important
;
}
background-color
:
none
!
important
;
}
.title
{
}
padding-left
:
12rpx
;
.msgbadge
{
}
margin-left
:
50rpx
;
}
}
.one
{
font-size
:
28rpx
;
margin-top
:
26rpx
;
}
}
}
.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
;
overflow
:
hidden
;
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
;
// 动画名称
animation-timing-function
:
linear
;
// 动画执行方式,linear:匀速;ease:先慢再快后慢;ease-in:由慢速开始;ease-out:由慢速结束;ease-in-out:由慢速开始和结束;
// animation-delay: 1s; // 动画延迟时间
animation-duration
:
0
.5s
;
// 动画完成时间
}
@keyframes
pagePop
{
0
%
{
top
:
100rpx
;
opacity
:
0
.5
;
}
100
%
{
top
:
0
;
opacity
:
1
;
}
}
</
style
>
</
style
>
pagesAnnouncement/announcement/list.vue
View file @
04df1766
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
},
},
gotopage
(
item
){
gotopage
(
item
){
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
'/pages/announcement/detail'
+
'?id='
+
item
.
businessId
url
:
'/pages
Announcement
/announcement/detail'
+
'?id='
+
item
.
businessId
})
})
}
}
}
}
...
...
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