Commit 04df1766 authored by liwei's avatar liwei

修改了活动页面

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