feat(新闻详情): 添加用户参数传递和微信小程序消息发送功能

- 在RankListMini组件中添加userParams参数传递
- 修改新闻详情页导航栏为注释状态
- 添加微信小程序环境判断及消息发送功能
- 优化搜索页面布局和样式
This commit is contained in:
34701892@qq.com 2025-12-25 11:13:44 +08:00
parent 1d1bbae0c5
commit b63bd3703a
4 changed files with 31 additions and 19 deletions

View File

@ -144,6 +144,11 @@ const props = defineProps({
required: true,
default: () => [],
},
userParams: {
type: Object,
required: true,
default: () => {},
},
});
const clickItem = ref({});
@ -158,8 +163,10 @@ function goDetail(item) {
// url: "/pages/login/indexMini",
// });
// }
let phone = props.userParams.phone || "";
let userType = props.userParams.userType || "";
uni.navigateTo({
url: `/pages/detail/indexNewsInfo?id=${item.news_id}`,
url: `/pages/detail/indexNewsInfo?id=${item.news_id}&phone=${phone}&userType=${userType}`,
});
}

View File

@ -12,7 +12,7 @@
</view>
<!-- 导航栏 start -->
<view
<!-- <view
class="custom-bav-bar"
:style="{
position: 'sticky',
@ -31,7 +31,7 @@
<view class="center">
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/detail_logo.png" class="logo_icon" />
</view>
</view>
</view> -->
<!-- 文章正文 start -->
<Article :data="data" :isDomestic="isDomestic" />
@ -143,7 +143,6 @@ onLoad(async (option: any) => {
}
if (option?.userType == 2) {
console.log("🚀 ~ Date.now():", Date.now());
// time
let shareTime = option?.time || 0;
// 24
@ -153,6 +152,21 @@ onLoad(async (option: any) => {
window.location.reload();
}
}
console.log("准备发送消息到小程序");
if (typeof wx !== "undefined" && wx.miniProgram) {
wx.miniProgram.postMessage({
data: {
type: "share_info",
userType: option?.userType || null,
phone: option?.phone || null,
id: option?.id || null,
},
});
console.log("消息已发送");
} else {
console.log("非微信小程序环境,无法发送消息");
}
});
const newList = async (columnId: number) => {

View File

@ -85,7 +85,7 @@
</view>
<view style="margin-top: 30rpx" v-if="tabIndex == 0">
<RankListMini :newsList="newsList"></RankListMini>
<RankListMini :newsList="newsList" :userParams="userParams"></RankListMini>
</view>
<!-- 列表区域 -->
<view style="margin-top: 50rpx" v-if="tabIndex == 2">

View File

@ -12,7 +12,7 @@
</view>
<!-- 导航栏 start -->
<view
<!-- <view
class="custom-bav-bar"
:style="{
position: 'sticky',
@ -35,7 +35,7 @@
class="logo_icon"
/>
</view>
</view>
</view> -->
<!-- 搜索 start -->
<view class="sreach">
@ -52,15 +52,11 @@
:border="false"
/>
</view>
<text class="serach_btn" @click="getData()">搜索</text>
<text class="serach_btn" style="width: 15vw" @click="getData()">搜索</text>
</view>
<!-- 搜索 end -->
<List
:data="screenList"
@onClick="handleSwiperJump"
v-if="screenList.length !== 0"
/>
<List :data="screenList" @onClick="handleSwiperJump" v-if="screenList.length !== 0" />
<!-- 列表 end -->
<!-- 加载更多的按钮 -->
<!-- <view class="onLoad-btn" @click="onload" v-if="finish === false && inputValue">加载更多</view> -->
@ -70,7 +66,6 @@
v-if="screenList.length === 0"
text="无搜索结果"
width="157"
height="50"
icon="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/newmini/nosearch_icon%E5%A4%87%E4%BB%BD%402x.png"
></u-empty>
</view>
@ -242,10 +237,7 @@ const getData = async () => {
`<text style="color: #E7303F">$&</text>`
);
item.title = item.title.replace(
keyWord.value,
'<span style="color: red;">' + keyWord.value + "</span>"
);
item.title = item.title.replace(keyWord.value, '<span style="color: red;">' + keyWord.value + "</span>");
console.log("🚀 ~ getData ~ item.title :", item.title);
item.MarkInRedContent =
@ -285,7 +277,6 @@ onShow(() => {
display: flex;
align-items: center;
// height: 60rpx;
gap: 20rpx;
box-sizing: border-box;
padding: 12rpx 0;
position: sticky;