Commit 04df1766 authored by liwei's avatar liwei

修改了活动页面

parent fe1bf400
...@@ -58,13 +58,10 @@ ...@@ -58,13 +58,10 @@
"path" : "pages/tab/activity", "path" : "pages/tab/activity",
"style" : "style" :
{ {
"navigationStyle": "custom", "navigationBarTitleText": "活动",
"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",
......
<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>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
}, },
gotopage(item){ gotopage(item){
uni.navigateTo({ uni.navigateTo({
url: '/pages/announcement/detail'+'?id='+item.businessId url: '/pagesAnnouncement/announcement/detail'+'?id='+item.businessId
}) })
} }
} }
......
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