本地图片改对象存储
This commit is contained in:
parent
1b7697d40e
commit
5934ff0b93
|
|
@ -2,10 +2,10 @@
|
||||||
"name": "uni-preset-vue",
|
"name": "uni-preset-vue",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"dev:mp-weixin": "uni -p mp-weixin",
|
||||||
"dev:h5": "uni",
|
"dev:h5": "uni",
|
||||||
"build:h5": "uni build",
|
"build:h5": "uni build",
|
||||||
"dev:h5:ssr": "uni --ssr",
|
"dev:h5:ssr": "uni --ssr",
|
||||||
"dev:mp-weixin": "uni -p mp-weixin",
|
|
||||||
"dev:mp-alipay": "uni -p mp-alipay",
|
"dev:mp-alipay": "uni -p mp-alipay",
|
||||||
"dev:app": "uni -p app",
|
"dev:app": "uni -p app",
|
||||||
"dev:app-android": "uni -p app-android",
|
"dev:app-android": "uni -p app-android",
|
||||||
|
|
@ -84,4 +84,4 @@
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.0.0"
|
"node": ">=14.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,75 +1,40 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="hot-industry-container">
|
<view class="hot-industry-container">
|
||||||
<u-skeleton
|
<u-skeleton rows="5" title loading style="margin-bottom: 30rpx" v-if="loading"></u-skeleton>
|
||||||
rows="5"
|
|
||||||
title
|
|
||||||
loading
|
|
||||||
style="margin-bottom: 30rpx"
|
|
||||||
v-if="loading"
|
|
||||||
></u-skeleton>
|
|
||||||
|
|
||||||
<!-- 行业列表 -->
|
<!-- 行业列表 -->
|
||||||
<view class="industry-list" v-else>
|
<view class="industry-list" v-else>
|
||||||
<view
|
<view v-for="(item, index) in industryList" :key="index" class="industry-item" :style="getItemBgStyle(index)"
|
||||||
v-for="(item, index) in industryList"
|
@click="goDetail(item, index)">
|
||||||
:key="index"
|
|
||||||
class="industry-item"
|
|
||||||
:style="getItemBgStyle(index)"
|
|
||||||
@click="goDetail(item, index)"
|
|
||||||
>
|
|
||||||
<!-- 这里预留图标位置,可自行补充 <image :src="item.icon" class="industry-icon" /> 等 -->
|
<!-- 这里预留图标位置,可自行补充 <image :src="item.icon" class="industry-icon" /> 等 -->
|
||||||
<view
|
<view style="
|
||||||
style="
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
"
|
">
|
||||||
>
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_1_1.png" class="top3numbk"
|
||||||
<img
|
v-if="index < 3 && index == 0" />
|
||||||
src="@/assets/zixun/ranking_icon_1_1.png"
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_2_2.png" class="top3numbk"
|
||||||
class="top3numbk"
|
v-else-if="index < 3 && index == 1" />
|
||||||
v-if="index < 3 && index == 0"
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_3_3.png" class="top3numbk"
|
||||||
/>
|
v-else-if="index < 3 && index == 2" />
|
||||||
<img
|
|
||||||
src="@/assets/zixun/ranking_icon_2_2.png"
|
|
||||||
class="top3numbk"
|
|
||||||
v-else-if="index < 3 && index == 1"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="@/assets/zixun/ranking_icon_3_3.png"
|
|
||||||
class="top3numbk"
|
|
||||||
v-else-if="index < 3 && index == 2"
|
|
||||||
/>
|
|
||||||
<text class="rank" v-else>{{ index + 1 }}</text>
|
<text class="rank" v-else>{{ index + 1 }}</text>
|
||||||
<text class="industry-name">{{ item.content }}</text>
|
<text class="industry-name">{{ item.content }}</text>
|
||||||
</view>
|
</view>
|
||||||
<img
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_bg_1.png" class="top3bk"
|
||||||
src="@/assets/zixun/ranking_bg_1.png"
|
v-if="index < 3 && index == 0" />
|
||||||
class="top3bk"
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_bg_2.png" class="top3bk"
|
||||||
v-if="index < 3 && index == 0"
|
v-if="index < 3 && index == 1" />
|
||||||
/>
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_bg_3.png" class="top3bk"
|
||||||
<img
|
v-if="index < 3 && index == 2" />
|
||||||
src="@/assets/zixun/ranking_bg_2.png"
|
|
||||||
class="top3bk"
|
|
||||||
v-if="index < 3 && index == 1"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
src="@/assets/zixun/ranking_bg_3.png"
|
|
||||||
class="top3bk"
|
|
||||||
v-if="index < 3 && index == 2"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -182,27 +147,32 @@ const handlePopupErrorCallback = () => {
|
||||||
.hot-industry-container {
|
.hot-industry-container {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.view-all {
|
.view-all {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #999;
|
color: #999;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.industry-list {
|
.industry-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.industry-item {
|
.industry-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -210,11 +180,13 @@ const handlePopupErrorCallback = () => {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 74rpx;
|
height: 74rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.industry-icon {
|
.industry-icon {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rank {
|
.rank {
|
||||||
margin-left: 30rpx;
|
margin-left: 30rpx;
|
||||||
|
|
||||||
|
|
@ -227,6 +199,7 @@ const handlePopupErrorCallback = () => {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
margin-right: 40rpx;
|
margin-right: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.industry-name {
|
.industry-name {
|
||||||
font-family: PingFangSC, PingFang SC;
|
font-family: PingFangSC, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<view class="sreach">
|
<view class="sreach">
|
||||||
<image src="@/static/logo_mini.png" class="sreach_icon" @click="messageShow = true"></image>
|
<image src="@/static/logo_mini.png" class="sreach_icon" @click="messageShow = true"></image>
|
||||||
<u-input v-model="keyWord" prefixIcon="search" style="flex: 1" placeholder="搜索资讯" placeholderClass="search_placeholder" class="sreach_input" :border="false" @confirm="goSreach" />
|
<u-input v-model="keyWord" prefixIcon="search" style="flex: 1" placeholder="搜索资讯"
|
||||||
|
placeholderClass="search_placeholder" class="sreach_input" :border="false" @confirm="goSreach" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 渐变的背景 -->
|
<!-- 渐变的背景 -->
|
||||||
|
|
@ -66,7 +67,8 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<KnowEarlier @handleUpdateData="handleUpdateData" :isNewFlash="isNewFlash" :data="newsFastList" v-if="columnIndex === 0" />
|
<KnowEarlier @handleUpdateData="handleUpdateData" :isNewFlash="isNewFlash" :data="newsFastList"
|
||||||
|
v-if="columnIndex === 0" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -74,7 +76,9 @@
|
||||||
|
|
||||||
<u-overlay :show="overlayShow" zIndex="101" @click="overlayShow = false"></u-overlay>
|
<u-overlay :show="overlayShow" zIndex="101" @click="overlayShow = false"></u-overlay>
|
||||||
<!-- <KnowEarlier @handleUpdateData="handleUpdateData" :isNewFlash="isNewFlash" :data="newsFastList" v-if="columnIndex === 0" /> -->
|
<!-- <KnowEarlier @handleUpdateData="handleUpdateData" :isNewFlash="isNewFlash" :data="newsFastList" v-if="columnIndex === 0" /> -->
|
||||||
<WorldlyAffairs @changelockType="changelockType" @handleSub="handleSub" :finish="finish" v-if="columnIndex === 1" :column="tagsList[columnIndex]" :bannerList="bannerList" :titleCardList="titleCardList" :worldNewsList="worldNewsList" @onload="onload" />
|
<WorldlyAffairs @changelockType="changelockType" @handleSub="handleSub" :finish="finish" v-if="columnIndex === 1"
|
||||||
|
:column="tagsList[columnIndex]" :bannerList="bannerList" :titleCardList="titleCardList"
|
||||||
|
:worldNewsList="worldNewsList" @onload="onload" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -85,7 +89,7 @@ import KnowEarlier from "@/pages/knowEarlier/index.vue";
|
||||||
import WorldlyAffairs from "@/pages/worldlyAffairs/index.vue";
|
import WorldlyAffairs from "@/pages/worldlyAffairs/index.vue";
|
||||||
import { getNewsFast, checkNews, getNewsColumn, getNewsTag, getNewsList, unlockColumn } from "@/api";
|
import { getNewsFast, checkNews, getNewsColumn, getNewsTag, getNewsList, unlockColumn } from "@/api";
|
||||||
import { Session } from "@/utils/storage";
|
import { Session } from "@/utils/storage";
|
||||||
import down from "@/assets/images/down.png";
|
import down from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/down.png";
|
||||||
import VipHeader from "./vipHeader";
|
import VipHeader from "./vipHeader";
|
||||||
import { scrollToTop, formatTime } from "@/utils/util.ts";
|
import { scrollToTop, formatTime } from "@/utils/util.ts";
|
||||||
import { useShareStore } from "@/stores/shareStore";
|
import { useShareStore } from "@/stores/shareStore";
|
||||||
|
|
@ -99,7 +103,7 @@ const props = defineProps({
|
||||||
},
|
},
|
||||||
columnState: {
|
columnState: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -462,8 +466,10 @@ onUnmounted(() => {
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.homeTopContainer {
|
.homeTopContainer {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.sreach {
|
.sreach {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -471,17 +477,19 @@ onUnmounted(() => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 20rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
gap: 30rpx;
|
gap: 30rpx;
|
||||||
background-image: url(@/assets/images/vip_header_search_bg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_search_bg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
.sreach_icon {
|
.sreach_icon {
|
||||||
width: 78rpx;
|
width: 78rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
margin-top: 3rpx;
|
margin-top: 3rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sreach_input {
|
.sreach_input {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 36rpx;
|
border-radius: 36rpx;
|
||||||
|
|
@ -500,7 +508,7 @@ onUnmounted(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 366rpx;
|
height: 366rpx;
|
||||||
background-image: url(@/assets/images/vip_header_content_bg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_content_bg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
margin-top: 100rpx;
|
margin-top: 100rpx;
|
||||||
}
|
}
|
||||||
|
|
@ -521,12 +529,14 @@ onUnmounted(() => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-top: 20rpx;
|
padding-top: 20rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.tabsList {
|
.tabsList {
|
||||||
display: flex;
|
display: flex;
|
||||||
// background-color: aqua;
|
// background-color: aqua;
|
||||||
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
|
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
|
||||||
border-top-left-radius: 32rpx;
|
border-top-left-radius: 32rpx;
|
||||||
border-top-right-radius: 32rpx;
|
border-top-right-radius: 32rpx;
|
||||||
|
|
||||||
.tab_item {
|
.tab_item {
|
||||||
width: 52%;
|
width: 52%;
|
||||||
height: 126rpx;
|
height: 126rpx;
|
||||||
|
|
@ -535,6 +545,7 @@ onUnmounted(() => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-top: 24rpx;
|
padding-top: 24rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
border-top-left-radius: 32rpx;
|
border-top-left-radius: 32rpx;
|
||||||
border-top-right-radius: 32rpx;
|
border-top-right-radius: 32rpx;
|
||||||
|
|
@ -554,6 +565,7 @@ onUnmounted(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
margin-top: 106rpx;
|
margin-top: 106rpx;
|
||||||
backdrop-filter: blur(60rpx);
|
backdrop-filter: blur(60rpx);
|
||||||
|
|
||||||
// z-index: ;
|
// z-index: ;
|
||||||
.newsBg {
|
.newsBg {
|
||||||
height: 79.52rpx;
|
height: 79.52rpx;
|
||||||
|
|
@ -563,14 +575,16 @@ onUnmounted(() => {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
|
||||||
.newsFontBg {
|
.newsFontBg {
|
||||||
width: 255.78rpx;
|
width: 255.78rpx;
|
||||||
height: 79.52rpx;
|
height: 79.52rpx;
|
||||||
background-image: url(@/assets/images/newFontBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/newFontBg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content{
|
|
||||||
|
.content {
|
||||||
max-height: calc(100vh - 300rpx);
|
max-height: calc(100vh - 300rpx);
|
||||||
// overflow-y: auto
|
// overflow-y: auto
|
||||||
// height: 100vh;
|
// height: 100vh;
|
||||||
|
|
@ -580,6 +594,7 @@ onUnmounted(() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .index-wrap {
|
// .index-wrap {
|
||||||
// min-height: calc(100vh - 130rpx);
|
// min-height: calc(100vh - 130rpx);
|
||||||
// background-color: #f6f6f6;
|
// background-color: #f6f6f6;
|
||||||
|
|
@ -638,57 +653,57 @@ onUnmounted(() => {
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// // 标签栏
|
// // 标签栏
|
||||||
// .tabsListContainer {
|
// .tabsListContainer {
|
||||||
// box-sizing: border-box;
|
// box-sizing: border-box;
|
||||||
// padding-right: 60rpx;
|
// padding-right: 60rpx;
|
||||||
// padding-bottom: 12rpx;
|
// padding-bottom: 12rpx;
|
||||||
// display: flex;
|
// display: flex;
|
||||||
// overflow-x: auto;
|
// overflow-x: auto;
|
||||||
// position: relative;
|
// position: relative;
|
||||||
// // background-color: red;
|
// // background-color: red;
|
||||||
// margin-top: 30rpx;
|
// margin-top: 30rpx;
|
||||||
|
|
||||||
// .tabsList {
|
// .tabsList {
|
||||||
// display: flex;
|
// display: flex;
|
||||||
// overflow-x: auto;
|
// overflow-x: auto;
|
||||||
|
|
||||||
// .tabsItem {
|
// .tabsItem {
|
||||||
// font-size: 12px;
|
// font-size: 12px;
|
||||||
// color: #595959;
|
// color: #595959;
|
||||||
// box-sizing: border-box;
|
// box-sizing: border-box;
|
||||||
// padding: 6rpx 20rpx;
|
// padding: 6rpx 20rpx;
|
||||||
// border: 1px solid #dbdbdb;
|
// border: 1px solid #dbdbdb;
|
||||||
// margin-right: 21rpx;
|
// margin-right: 21rpx;
|
||||||
// border-radius: 99rpx;
|
// border-radius: 99rpx;
|
||||||
// flex-shrink: 0;
|
// flex-shrink: 0;
|
||||||
|
|
||||||
// &.active {
|
// &.active {
|
||||||
// background-color: rgba(255, 208, 212, 0.4);
|
// background-color: rgba(255, 208, 212, 0.4);
|
||||||
// border-color: rgba(255, 208, 212, 0.4);
|
// border-color: rgba(255, 208, 212, 0.4);
|
||||||
// color: #e7303f;
|
// color: #e7303f;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// .downContainer {
|
// .downContainer {
|
||||||
// position: absolute;
|
// position: absolute;
|
||||||
// right: 0;
|
// right: 0;
|
||||||
// top: 50%;
|
// top: 50%;
|
||||||
// height: 40rpx;
|
// height: 40rpx;
|
||||||
// transform: translateY(-50%);
|
// transform: translateY(-50%);
|
||||||
// background-color: #f6f6f6;
|
// background-color: #f6f6f6;
|
||||||
// padding: 3rpx 15rpx 15rpx 15rpx;
|
// padding: 3rpx 15rpx 15rpx 15rpx;
|
||||||
// display: flex;
|
// display: flex;
|
||||||
// align-items: center;
|
// align-items: center;
|
||||||
// justify-content: center;
|
// justify-content: center;
|
||||||
// background-image: url(@/assets/images/overlay_world.png);
|
// background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/overlay_world.png);
|
||||||
|
|
||||||
// .downPng {
|
// .downPng {
|
||||||
// width: 30rpx;
|
// width: 30rpx;
|
||||||
// height: 30rpx;
|
// height: 30rpx;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// .tabsPopup {
|
// .tabsPopup {
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
|
|
@ -889,5 +904,4 @@ onUnmounted(() => {
|
||||||
// position: absolute;
|
// position: absolute;
|
||||||
// width: 180rpx;
|
// width: 180rpx;
|
||||||
// height: 48rpx;
|
// height: 48rpx;
|
||||||
// }
|
// }</style>
|
||||||
</style>
|
|
||||||
|
|
|
||||||
|
|
@ -3,31 +3,20 @@
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<view :class="['sreach', overlayShow && 'searchIncreaseLevel']">
|
<view :class="['sreach', overlayShow && 'searchIncreaseLevel']">
|
||||||
<image src="@/static/logo_mini.png" class="sreach_icon" @click="messageShow = true"></image>
|
<image src="@/static/logo_mini.png" class="sreach_icon" @click="messageShow = true"></image>
|
||||||
<u-input
|
<u-input v-model="keyWord" prefixIcon="search" style="flex: 1" placeholder="搜索资讯"
|
||||||
v-model="keyWord"
|
placeholderClass="search_placeholder" class="sreach_input" :border="false" @confirm="goSreach" />
|
||||||
prefixIcon="search"
|
|
||||||
style="flex: 1"
|
|
||||||
placeholder="搜索资讯"
|
|
||||||
placeholderClass="search_placeholder"
|
|
||||||
class="sreach_input"
|
|
||||||
:border="false"
|
|
||||||
@confirm="goSreach"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<!-- 渐变的背景 -->
|
<!-- 渐变的背景 -->
|
||||||
<view :class="['vipContentBg', overlayShow && 'increaseLevel']"></view>
|
<view :class="['vipContentBg', overlayShow && 'increaseLevel']"></view>
|
||||||
<!-- banner -->
|
<!-- banner -->
|
||||||
<view :class="['headerBanner', overlayShow && 'increaseLevel']" @click="jumpUrl('https://cankao.cs.com.cn/cankao/')"></view>
|
<view :class="['headerBanner', overlayShow && 'increaseLevel']"
|
||||||
|
@click="jumpUrl('https://cankao.cs.com.cn/cankao/')"></view>
|
||||||
<!-- tabs -->
|
<!-- tabs -->
|
||||||
<u-sticky offset-top="0">
|
<u-sticky offset-top="0">
|
||||||
<view class="headerTabs">
|
<view class="headerTabs">
|
||||||
<view class="tabsList">
|
<view class="tabsList">
|
||||||
<view
|
<view v-for="(item, index) in colList" :key="item.id" :class="['tab_item', index == columnIndex && 'active']"
|
||||||
v-for="(item, index) in colList"
|
@click="handleTabsClick(item)">
|
||||||
:key="item.id"
|
|
||||||
:class="['tab_item', index == columnIndex && 'active']"
|
|
||||||
@click="handleTabsClick(item)"
|
|
||||||
>
|
|
||||||
<view :class="['tab_item_icon', `tab_item_${item.id}`]"></view>
|
<view :class="['tab_item_icon', `tab_item_${item.id}`]"></view>
|
||||||
<view> {{ item.name }} </view>
|
<view> {{ item.name }} </view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -46,13 +35,9 @@
|
||||||
<view class="tabsPopupItem" v-for="item in sortTagsList" :key="item">
|
<view class="tabsPopupItem" v-for="item in sortTagsList" :key="item">
|
||||||
<view class="title">{{ item.name }}</view>
|
<view class="title">{{ item.name }}</view>
|
||||||
<view class="itemList">
|
<view class="itemList">
|
||||||
<view
|
<view v-for="(childItem, index) in item.children" :key="childItem.id"
|
||||||
v-for="(childItem, index) in item.children"
|
|
||||||
:key="childItem.id"
|
|
||||||
:class="['tabsItem', { active: childItem.id == columnState.subColumn }]"
|
:class="['tabsItem', { active: childItem.id == columnState.subColumn }]"
|
||||||
@click="handleClickSubColumn(childItem.id)"
|
@click="handleClickSubColumn(childItem.id)">{{ childItem.name }}</view>
|
||||||
>{{ childItem.name }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -62,28 +47,22 @@
|
||||||
<u-sticky offset-top="51" zIndex="101">
|
<u-sticky offset-top="51" zIndex="101">
|
||||||
<view class="contenttab">
|
<view class="contenttab">
|
||||||
<view class="tabsList">
|
<view class="tabsList">
|
||||||
<view v-for="(item, index) in colList" :key="item.id" :class="['tab_item', index == columnIndex && 'active']"></view>
|
<view v-for="(item, index) in colList" :key="item.id" :class="['tab_item', index == columnIndex && 'active']">
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-sticky>
|
</u-sticky>
|
||||||
|
|
||||||
<u-sticky offset-top="52" zIndex="102" v-if="!overlayShow && columnIndex === 1">
|
<u-sticky offset-top="52" zIndex="102" v-if="!overlayShow && columnIndex === 1">
|
||||||
<view
|
<view :style="{
|
||||||
:style="{
|
// backdropFilter: showtabBg ? 'blur(60rpx)' : '',
|
||||||
// backdropFilter: showtabBg ? 'blur(60rpx)' : '',
|
height: showtabBg ? '100rpx' : '50rpx',
|
||||||
height: showtabBg ? '100rpx' : '50rpx',
|
}" :class="['tabtop', showtabBg ? 'showbg' : '']">
|
||||||
}"
|
|
||||||
:class="['tabtop', showtabBg ? 'showbg' : '']"
|
|
||||||
>
|
|
||||||
<view class="tabsListContainer" v-if="!overlayShow && columnIndex === 1">
|
<view class="tabsListContainer" v-if="!overlayShow && columnIndex === 1">
|
||||||
<view class="tabList">
|
<view class="tabList">
|
||||||
<view
|
<view v-for="(item, index) in tagsList" :key="item.id"
|
||||||
v-for="(item, index) in tagsList"
|
|
||||||
:key="item.id"
|
|
||||||
:class="['tabsItem', { active: item.id == columnState.subColumn }]"
|
:class="['tabsItem', { active: item.id == columnState.subColumn }]"
|
||||||
@click="handleClickSubColumn(item.id)"
|
@click="handleClickSubColumn(item.id)">{{ item.name }}</view>
|
||||||
>{{ item.name }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="downContainer" @click="showTabsPopup" v-if="tagsList.length > 0">
|
<view class="downContainer" @click="showTabsPopup" v-if="tagsList.length > 0">
|
||||||
<image :src="down" class="downPng" />
|
<image :src="down" class="downPng" />
|
||||||
|
|
@ -110,27 +89,12 @@
|
||||||
<image :src="down" class="downPng" />
|
<image :src="down" class="downPng" />
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<KnowEarlier
|
<KnowEarlier @handlePopupClose="handlePopupClose" @handleShowPay="handleShowPay"
|
||||||
@handlePopupClose="handlePopupClose"
|
@handleShareTip="handleShareTip" @handleUpdateData="handleUpdateData" :isNewFlash="isNewFlash"
|
||||||
@handleShowPay="handleShowPay"
|
:data="newsFastList" v-if="columnIndex === 0" />
|
||||||
@handleShareTip="handleShareTip"
|
<WorldlyAffairs @handleShowPay="handleShowPay" @changelockType="changelockType" @handleSub="handleSub"
|
||||||
@handleUpdateData="handleUpdateData"
|
:finish="finish" v-if="columnIndex === 1" :column="tagsList[columnIndex]" :bannerList="bannerList"
|
||||||
:isNewFlash="isNewFlash"
|
:titleCardList="titleCardList" :worldNewsList="worldNewsList" @onload="onload" />
|
||||||
:data="newsFastList"
|
|
||||||
v-if="columnIndex === 0"
|
|
||||||
/>
|
|
||||||
<WorldlyAffairs
|
|
||||||
@handleShowPay="handleShowPay"
|
|
||||||
@changelockType="changelockType"
|
|
||||||
@handleSub="handleSub"
|
|
||||||
:finish="finish"
|
|
||||||
v-if="columnIndex === 1"
|
|
||||||
:column="tagsList[columnIndex]"
|
|
||||||
:bannerList="bannerList"
|
|
||||||
:titleCardList="titleCardList"
|
|
||||||
:worldNewsList="worldNewsList"
|
|
||||||
@onload="onload"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -173,7 +137,7 @@ import KnowEarlier from "@/pages/knowEarlier/index.vue";
|
||||||
import WorldlyAffairs from "@/pages/worldlyAffairs/index.vue";
|
import WorldlyAffairs from "@/pages/worldlyAffairs/index.vue";
|
||||||
import { getNewsFast, checkNews, getNewsTag, getNewsList, unlockColumn } from "@/api";
|
import { getNewsFast, checkNews, getNewsTag, getNewsList, unlockColumn } from "@/api";
|
||||||
import { Session } from "@/utils/storage";
|
import { Session } from "@/utils/storage";
|
||||||
import down from "@/assets/images/down.png";
|
import down from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/down.png";
|
||||||
import { scrollToTop, formatTime, jumpUrl } from "@/utils/util.ts";
|
import { scrollToTop, formatTime, jumpUrl } from "@/utils/util.ts";
|
||||||
import { useShareStore } from "@/stores/shareStore";
|
import { useShareStore } from "@/stores/shareStore";
|
||||||
import { useTimerStore } from "@/stores/timerStore";
|
import { useTimerStore } from "@/stores/timerStore";
|
||||||
|
|
@ -188,7 +152,7 @@ const props = defineProps({
|
||||||
},
|
},
|
||||||
columnState: {
|
columnState: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const shareShow = ref(false);
|
const shareShow = ref(false);
|
||||||
|
|
@ -591,12 +555,15 @@ onUnmounted(() => {
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.increaseLevel {
|
.increaseLevel {
|
||||||
z-index: 103 !important;
|
z-index: 103 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchIncreaseLevel {
|
.searchIncreaseLevel {
|
||||||
z-index: 104 !important;
|
z-index: 104 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 搜索框
|
// 搜索框
|
||||||
.sreach {
|
.sreach {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
@ -605,7 +572,7 @@ onUnmounted(() => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 20rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
gap: 30rpx;
|
gap: 30rpx;
|
||||||
background-image: url(@/assets/images/vip_header_search_bg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_search_bg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
@ -617,6 +584,7 @@ onUnmounted(() => {
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
margin-top: 3rpx;
|
margin-top: 3rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sreach_input {
|
.sreach_input {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 36rpx;
|
border-radius: 36rpx;
|
||||||
|
|
@ -628,6 +596,7 @@ onUnmounted(() => {
|
||||||
color: #717171 !important;
|
color: #717171 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 渐变的背景
|
// 渐变的背景
|
||||||
.vipContentBg {
|
.vipContentBg {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
|
@ -635,11 +604,12 @@ onUnmounted(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 366rpx;
|
height: 366rpx;
|
||||||
background-image: url(@/assets/images/vip_header_content_bg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_content_bg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
margin-top: 100rpx;
|
margin-top: 100rpx;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
}
|
}
|
||||||
|
|
||||||
// banner
|
// banner
|
||||||
.headerBanner {
|
.headerBanner {
|
||||||
margin: 0rpx 26rpx;
|
margin: 0rpx 26rpx;
|
||||||
|
|
@ -649,7 +619,7 @@ onUnmounted(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
margin-top: 116rpx;
|
margin-top: 116rpx;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
background-image: url(@/assets/images/swiper_vip.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/swiper_vip.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|
@ -659,12 +629,14 @@ onUnmounted(() => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-top: 20rpx;
|
padding-top: 20rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.tabsList {
|
.tabsList {
|
||||||
display: flex;
|
display: flex;
|
||||||
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
|
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
|
||||||
border-top-left-radius: 27rpx;
|
border-top-left-radius: 27rpx;
|
||||||
border-top-right-radius: 27rpx;
|
border-top-right-radius: 27rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -676,6 +648,7 @@ onUnmounted(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab_item {
|
.tab_item {
|
||||||
width: 52%;
|
width: 52%;
|
||||||
height: 86rpx;
|
height: 86rpx;
|
||||||
|
|
@ -686,19 +659,21 @@ onUnmounted(() => {
|
||||||
// padding-top: 2rpx;
|
// padding-top: 2rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: "SourceHanSansCN-Medium";
|
font-family: "SourceHanSansCN-Medium";
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
border-top-left-radius: 27rpx;
|
border-top-left-radius: 27rpx;
|
||||||
border-top-right-radius: 27rpx;
|
border-top-right-radius: 27rpx;
|
||||||
background: linear-gradient(90deg, #ff5e6a 0%, #e7303f 100%);
|
background: linear-gradient(90deg, #ff5e6a 0%, #e7303f 100%);
|
||||||
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3), 0px 0px 3px 0px rgba(143, 15, 25, 0.3);
|
box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.3), 0px 0px 3px 0px rgba(143, 15, 25, 0.3);
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 30rpx;
|
width: 30rpx;
|
||||||
height: 25rpx;
|
height: 25rpx;
|
||||||
// background-color: red;
|
// background-color: red;
|
||||||
background-image: url(@/assets/images/arrow.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/arrow.png);
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|
@ -709,8 +684,10 @@ onUnmounted(() => {
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3), 1px 0px 2px 0px rgba(143, 15, 25, 0.3);
|
// box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3), 1px 0px 2px 0px rgba(143, 15, 25, 0.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab_item_icon {
|
.tab_item_icon {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
|
|
@ -718,11 +695,13 @@ onUnmounted(() => {
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|
||||||
&.tab_item_13 {
|
&.tab_item_13 {
|
||||||
background-image: url(@/assets/images/icon_know.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_know.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.tab_item_14 {
|
&.tab_item_14 {
|
||||||
background-image: url(@/assets/images/icon_worldly.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_worldly.png);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -731,6 +710,7 @@ onUnmounted(() => {
|
||||||
|
|
||||||
.contenttab {
|
.contenttab {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -744,10 +724,12 @@ onUnmounted(() => {
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
backdrop-filter: blur(60rpx);
|
backdrop-filter: blur(60rpx);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabsList {
|
.tabsList {
|
||||||
display: flex;
|
display: flex;
|
||||||
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
|
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
// z-index: ;
|
// z-index: ;
|
||||||
.tab_item {
|
.tab_item {
|
||||||
width: 52%;
|
width: 52%;
|
||||||
|
|
@ -767,6 +749,7 @@ onUnmounted(() => {
|
||||||
.Vipcontent {
|
.Vipcontent {
|
||||||
position: relative;
|
position: relative;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
|
|
@ -786,6 +769,7 @@ onUnmounted(() => {
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
|
|
||||||
.tabList {
|
.tabList {
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
|
|
@ -820,7 +804,7 @@ onUnmounted(() => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background-image: url(@/assets/images/overlay_world.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/overlay_world.png);
|
||||||
|
|
||||||
.downPng {
|
.downPng {
|
||||||
width: 30rpx;
|
width: 30rpx;
|
||||||
|
|
@ -840,9 +824,11 @@ onUnmounted(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
border-bottom-left-radius: 30rpx;
|
border-bottom-left-radius: 30rpx;
|
||||||
border-bottom-right-radius: 30rpx;
|
border-bottom-right-radius: 30rpx;
|
||||||
|
|
||||||
.popupContainer {
|
.popupContainer {
|
||||||
height: 300rpx;
|
height: 300rpx;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.tabsPopupItem {
|
.tabsPopupItem {
|
||||||
.title {
|
.title {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
|
|
@ -884,6 +870,7 @@ onUnmounted(() => {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: rgba(0, 0, 0, 0.8);
|
background-color: rgba(0, 0, 0, 0.8);
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 350rpx;
|
height: 350rpx;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<view class="info-summary">
|
<view class="info-summary">
|
||||||
<view class="left">
|
<view class="left">
|
||||||
<view style="display: flex; align-items: center; gap: 10rpx">
|
<view style="display: flex; align-items: center; gap: 10rpx">
|
||||||
<img src="@/assets/zixun/title_text.png" class="banner_title" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/title_text.png" class="banner_title" />
|
||||||
<text class="date">({{ dayjs(new Date().getTime()).format("MM/DD") }})</text>
|
<text class="date">({{ dayjs(new Date().getTime()).format("MM/DD") }})</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,22 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="news-rank-list">
|
<view class="news-rank-list">
|
||||||
<u-skeleton
|
<u-skeleton rows="5" title loading style="margin-bottom: 30rpx" v-if="loading"></u-skeleton>
|
||||||
rows="5"
|
|
||||||
title
|
|
||||||
loading
|
|
||||||
style="margin-bottom: 30rpx"
|
|
||||||
v-if="loading"
|
|
||||||
></u-skeleton>
|
|
||||||
<view class="list" v-else>
|
<view class="list" v-else>
|
||||||
<view
|
<view v-for="(item, index) in rankListLocal" :key="index" class="news-item" @click="goDetail(item, 0)">
|
||||||
v-for="(item, index) in rankListLocal"
|
|
||||||
:key="index"
|
|
||||||
class="news-item"
|
|
||||||
@click="goDetail(item, 0)"
|
|
||||||
>
|
|
||||||
<view class="rank-tag">
|
<view class="rank-tag">
|
||||||
<view v-if="index == 0" class="rank-text-top3">
|
<view v-if="index == 0" class="rank-text-top3">
|
||||||
<img src="@/assets/zixun/ranking_icon_1.png" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_1.png" />
|
||||||
</view>
|
</view>
|
||||||
<view v-else-if="index == 1" class="rank-text-top3">
|
<view v-else-if="index == 1" class="rank-text-top3">
|
||||||
<img src="@/assets/zixun/ranking_icon_2.png" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_2.png" />
|
||||||
</view>
|
</view>
|
||||||
<view v-else-if="index == 2" class="rank-text-top3">
|
<view v-else-if="index == 2" class="rank-text-top3">
|
||||||
<img src="@/assets/zixun/ranking_icon_3.png" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_3.png" />
|
||||||
</view>
|
</view>
|
||||||
<text class="rank-text" v-else>{{ index + 1 }}</text>
|
<text class="rank-text" v-else>{{ index + 1 }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view
|
<view class="news-content" :style="{ filter: Session.get('token') ? '' : 'blur(5px)' }">
|
||||||
class="news-content"
|
|
||||||
:style="{ filter: Session.get('token') ? '' : 'blur(5px)' }"
|
|
||||||
>
|
|
||||||
<text class="news-title">{{ item.title }}</text>
|
<text class="news-title">{{ item.title }}</text>
|
||||||
<text class="news-desc">{{ item.summary }}</text>
|
<text class="news-desc">{{ item.summary }}</text>
|
||||||
<view class="news-meta">
|
<view class="news-meta">
|
||||||
|
|
@ -42,8 +28,7 @@
|
||||||
</view>
|
</view>
|
||||||
<text class="score">
|
<text class="score">
|
||||||
<text v-if="index < 3">资讯评分:</text>
|
<text v-if="index < 3">资讯评分:</text>
|
||||||
{{ item.news_score }}</text
|
{{ item.news_score }}</text>
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -52,16 +37,12 @@
|
||||||
<view @click="isExp = !isExp" class="r_exp">
|
<view @click="isExp = !isExp" class="r_exp">
|
||||||
<text v-if="isExp">收起</text>
|
<text v-if="isExp">收起</text>
|
||||||
<text v-else>展开全部</text>
|
<text v-else>展开全部</text>
|
||||||
<img src="@/assets/zixun/up_icon.png" class="exp_up" v-if="isExp" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/up_icon.png" class="exp_up" v-if="isExp" />
|
||||||
<img src="@/assets/zixun/down_icon.png" class="exp_up" v-else />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/down_icon.png" class="exp_up" v-else />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -223,11 +204,16 @@ const handlePopupErrorCallback = () => {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
||||||
display: -webkit-box; /* 设置为WebKit内核的弹性盒子模型 */
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical; /* 垂直排列 */
|
/* 设置为WebKit内核的弹性盒子模型 */
|
||||||
-webkit-line-clamp: 2; /* 限制显示三行 */
|
-webkit-box-orient: vertical;
|
||||||
overflow: hidden; /* 隐藏超出范围的内容 */
|
/* 垂直排列 */
|
||||||
text-overflow: ellipsis; /* 使用省略号 */
|
-webkit-line-clamp: 2;
|
||||||
|
/* 限制显示三行 */
|
||||||
|
overflow: hidden;
|
||||||
|
/* 隐藏超出范围的内容 */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/* 使用省略号 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.news-meta {
|
.news-meta {
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,26 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="list" v-if="data.length">
|
<view class="list" v-if="data.length">
|
||||||
<view
|
<view class="listItem" v-for="item in props.data" :key="item.id" @click="handleClick(item)">
|
||||||
class="listItem"
|
|
||||||
v-for="item in props.data"
|
|
||||||
:key="item.id"
|
|
||||||
@click="handleClick(item)"
|
|
||||||
>
|
|
||||||
<view class="listItemHeader">
|
<view class="listItemHeader">
|
||||||
<view class="ListItemImg" v-if="item.picture">
|
<view class="ListItemImg" v-if="item.picture">
|
||||||
<image
|
<image :src="item.picture" class="ListItemImage" mode="widthFix" style="width: 204rpx" />
|
||||||
:src="item.picture"
|
<image class="ListItemBg" :src="item.picture" style="width: 100%; height: 100%" />
|
||||||
class="ListItemImage"
|
|
||||||
mode="widthFix"
|
|
||||||
style="width: 204rpx"
|
|
||||||
/>
|
|
||||||
<image
|
|
||||||
class="ListItemBg"
|
|
||||||
:src="item.picture"
|
|
||||||
style="width: 100%; height: 100%"
|
|
||||||
/>
|
|
||||||
<view class="tag" v-if="item.newType !== 'search'">{{
|
<view class="tag" v-if="item.newType !== 'search'">{{
|
||||||
item.tag
|
item.tag
|
||||||
}}</view>
|
}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="listItemHeaderContent">
|
<view class="listItemHeaderContent">
|
||||||
<view
|
<view :class="['listItemTitle', !item.summary && 'noAbstract']" v-if="item.newType !== 'search'">
|
||||||
:class="['listItemTitle', !item.summary && 'noAbstract']"
|
|
||||||
v-if="item.newType !== 'search'"
|
|
||||||
>
|
|
||||||
{{ item.title }}
|
{{ item.title }}
|
||||||
</view>
|
</view>
|
||||||
<view class="listItemTitleContent" v-else>
|
<view class="listItemTitleContent" v-else>
|
||||||
<text
|
<text class="listItemTitleContentText" v-html="item.MarkInRedTitle || item.title"></text>
|
||||||
class="listItemTitleContentText"
|
|
||||||
v-html="item.MarkInRedTitle || item.title"
|
|
||||||
></text>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="listItemAbstract" v-if="item.newType !== 'search'">{{
|
<view class="listItemAbstract" v-if="item.newType !== 'search'">{{
|
||||||
item.summary
|
item.summary
|
||||||
}}</view>
|
}}</view>
|
||||||
<view
|
<view class="listItemAbstract" v-else v-html="item.MarkInRedContent || item.abstract"></view>
|
||||||
class="listItemAbstract"
|
|
||||||
v-else
|
|
||||||
v-html="item.MarkInRedContent || item.abstract"
|
|
||||||
></view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -99,13 +75,16 @@ const handleClick = (item: any) => {
|
||||||
padding: 0 21rpx 30rpx 21rpx;
|
padding: 0 21rpx 30rpx 21rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
font-family: "SourceHanSansCN-Regular";
|
font-family: "SourceHanSansCN-Regular";
|
||||||
|
|
||||||
.listItem {
|
.listItem {
|
||||||
border-bottom: 2rpx solid rgba(51, 51, 51, 0.1);
|
border-bottom: 2rpx solid rgba(51, 51, 51, 0.1);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 30rpx 0;
|
padding: 30rpx 0;
|
||||||
|
|
||||||
.listItemHeader {
|
.listItemHeader {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.ListItemImg {
|
.ListItemImg {
|
||||||
width: 204rpx;
|
width: 204rpx;
|
||||||
height: 204rpx;
|
height: 204rpx;
|
||||||
|
|
@ -115,6 +94,7 @@ const handleClick = (item: any) => {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-right: 12rpx;
|
margin-right: 12rpx;
|
||||||
|
|
||||||
.ListItemImage {
|
.ListItemImage {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -122,9 +102,11 @@ const handleClick = (item: any) => {
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ListItemBg {
|
.ListItemBg {
|
||||||
filter: blur(30rpx);
|
filter: blur(30rpx);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tag {
|
.tag {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
|
@ -144,6 +126,7 @@ const handleClick = (item: any) => {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 0rpx;
|
padding-left: 0rpx;
|
||||||
|
|
||||||
.listItemTitle {
|
.listItemTitle {
|
||||||
// font-size: 32rpx;
|
// font-size: 32rpx;
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
|
|
@ -157,15 +140,17 @@ const handleClick = (item: any) => {
|
||||||
// font-weight: bold;
|
// font-weight: bold;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
font-family: "SourceHanSansCN-Medium";
|
font-family: "SourceHanSansCN-Medium";
|
||||||
|
|
||||||
// text-align: left;
|
// text-align: left;
|
||||||
&.noAbstract {
|
&.noAbstract {
|
||||||
-webkit-line-clamp: 4;
|
-webkit-line-clamp: 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.isVip {
|
.isVip {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50rpx;
|
width: 50rpx;
|
||||||
height: 29rpx;
|
height: 29rpx;
|
||||||
background-image: url(@/assets/images/icon_vip.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_vip.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -186,7 +171,7 @@ const handleClick = (item: any) => {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50rpx;
|
width: 50rpx;
|
||||||
height: 29rpx;
|
height: 29rpx;
|
||||||
background-image: url(@/assets/images/icon_vip.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_vip.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-right: 12rpx;
|
margin-right: 12rpx;
|
||||||
|
|
@ -208,6 +193,7 @@ const handleClick = (item: any) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listItemContent {
|
.listItemContent {
|
||||||
// font-size: 20rpx;
|
// font-size: 20rpx;
|
||||||
font-size: var(--h6-font-size);
|
font-size: var(--h6-font-size);
|
||||||
|
|
@ -217,6 +203,7 @@ const handleClick = (item: any) => {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 21rpx 0 0 0;
|
padding: 21rpx 0 0 0;
|
||||||
|
|
||||||
.listItemData {
|
.listItemData {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -224,6 +211,7 @@ const handleClick = (item: any) => {
|
||||||
|
|
||||||
.dataItem {
|
.dataItem {
|
||||||
margin-right: 12rpx;
|
margin-right: 12rpx;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -235,6 +223,7 @@ const handleClick = (item: any) => {
|
||||||
display: flex;
|
display: flex;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-top: 21rpx;
|
padding-top: 21rpx;
|
||||||
|
|
||||||
.tag {
|
.tag {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 6rpx 16rpx;
|
padding: 6rpx 16rpx;
|
||||||
|
|
@ -249,7 +238,7 @@ const handleClick = (item: any) => {
|
||||||
.listItemFooter {
|
.listItemFooter {
|
||||||
height: 74rpx;
|
height: 74rpx;
|
||||||
margin-top: 15rpx;
|
margin-top: 15rpx;
|
||||||
background-image: url(@/assets/images/vip_sub_2.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_sub_2.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,8 @@
|
||||||
<!-- 订阅 支付 -->
|
<!-- 订阅 支付 -->
|
||||||
<Pay :show="payShow" @onClick="handleClose" @handleSub="handleClickPay" />
|
<Pay :show="payShow" @onClick="handleClose" @handleSub="handleClickPay" />
|
||||||
<!-- 登录弹框 -->
|
<!-- 登录弹框 -->
|
||||||
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose" @handlePopupSuccessCallback="handlePopupSuccessCallback" />
|
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose"
|
||||||
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -188,7 +189,7 @@ const handlePopupSuccessCallback = () => {
|
||||||
|
|
||||||
.vipHeader {
|
.vipHeader {
|
||||||
height: 168rpx;
|
height: 168rpx;
|
||||||
background-image: url(@/assets/images/headerBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/headerBg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 24rpx 32rpx 6rpx 40rpx;
|
padding: 24rpx 32rpx 6rpx 40rpx;
|
||||||
|
|
@ -198,15 +199,18 @@ const handlePopupSuccessCallback = () => {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
gap: 20rpx;
|
gap: 20rpx;
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
width: 124rpx;
|
width: 124rpx;
|
||||||
height: 72rpx;
|
height: 72rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search_icon {
|
.search_icon {
|
||||||
width: 80rpx;
|
width: 80rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
|
|
@ -231,13 +235,16 @@ const handlePopupSuccessCallback = () => {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
.tabItem {
|
.tabItem {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-bottom: 9rpx;
|
padding-bottom: 9rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -246,7 +253,7 @@ const handlePopupSuccessCallback = () => {
|
||||||
display: block;
|
display: block;
|
||||||
width: 44rpx;
|
width: 44rpx;
|
||||||
height: 6rpx;
|
height: 6rpx;
|
||||||
background: url("@/assets/images/icon_dot.png") no-repeat center;
|
background: url("https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_dot.png") no-repeat center;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -268,11 +275,13 @@ const handlePopupSuccessCallback = () => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 68rpx;
|
width: 68rpx;
|
||||||
height: 68rpx;
|
height: 68rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.gridText {
|
.gridText {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
@ -292,6 +301,7 @@ const handlePopupSuccessCallback = () => {
|
||||||
color: #333;
|
color: #333;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
||||||
.recommendedIcon {
|
.recommendedIcon {
|
||||||
width: 44rpx;
|
width: 44rpx;
|
||||||
height: 44rpx;
|
height: 44rpx;
|
||||||
|
|
@ -320,37 +330,45 @@ const handlePopupSuccessCallback = () => {
|
||||||
// padding: 20rpx 30rpx 0 30rpx;
|
// padding: 20rpx 30rpx 0 30rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.articleListHeader {
|
.articleListHeader {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 20rpx 30rpx 0 30rpx;
|
padding: 20rpx 30rpx 0 30rpx;
|
||||||
|
|
||||||
// padding-bottom: 21rpx;
|
// padding-bottom: 21rpx;
|
||||||
.headerLeft {
|
.headerLeft {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.articleListTitle {
|
.articleListTitle {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.articleListTabs {
|
.articleListTabs {
|
||||||
margin-left: 12rpx;
|
margin-left: 12rpx;
|
||||||
|
|
||||||
.articleListTabsItem {
|
.articleListTabsItem {
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-tabs__wrapper__nav__item {
|
.u-tabs__wrapper__nav__item {
|
||||||
padding: 0 15rpx;
|
padding: 0 15rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.u-tabs__wrapper__nav__item__text {
|
.u-tabs__wrapper__nav__item__text {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// font-size: 60rpx !important;
|
// font-size: 60rpx !important;
|
||||||
// background-color: red;
|
// background-color: red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.select {
|
.select {
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-checkbox {
|
.u-checkbox {
|
||||||
|
|
@ -358,6 +376,7 @@ const handlePopupSuccessCallback = () => {
|
||||||
width: 24rpx !important;
|
width: 24rpx !important;
|
||||||
height: 24rpx !important;
|
height: 24rpx !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
uni-text {
|
uni-text {
|
||||||
span {
|
span {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
|
@ -375,11 +394,13 @@ const handlePopupSuccessCallback = () => {
|
||||||
background-color: #d5f7ff;
|
background-color: #d5f7ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #fff0c2;
|
background-color: #fff0c2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3) {
|
&:nth-child(3) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #e2eeff;
|
background-color: #e2eeff;
|
||||||
|
|
@ -390,11 +411,13 @@ const handlePopupSuccessCallback = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(4) {
|
&:nth-child(4) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #d5f7ff;
|
background-color: #d5f7ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(5) {
|
&:nth-child(5) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #fff0c2;
|
background-color: #fff0c2;
|
||||||
|
|
@ -418,8 +441,10 @@ const handlePopupSuccessCallback = () => {
|
||||||
color: #8f212a;
|
color: #8f212a;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.need-pay-btn {
|
.need-pay-btn {
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
width: 448rpx;
|
width: 448rpx;
|
||||||
height: 76rpx;
|
height: 76rpx;
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="menu_title">
|
<view class="menu_title">
|
||||||
<img :src="title_bg" class="menu_title_bk" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/title_bg.png" class="menu_title_bk" />
|
||||||
<text class="menut_title_text">{{ title }}</text>
|
<text class="menut_title_text">{{ title }}</text>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import title_bg from "@/assets/zixun/title_bg.png";
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
// 列表内容
|
// 列表内容
|
||||||
title: {
|
title: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -33,53 +33,29 @@
|
||||||
<!-- 其他功能区 -->
|
<!-- 其他功能区 -->
|
||||||
<view class="otherContainer" v-if="isLoginStatus">
|
<view class="otherContainer" v-if="isLoginStatus">
|
||||||
<u-cell-group :border="false">
|
<u-cell-group :border="false">
|
||||||
<u-cell
|
<u-cell title="已订阅栏目" :icon="vip" isLink :iconStyle="{ width: '46rpx', height: '32rpx', marginRight: '14rpx' }"
|
||||||
title="已订阅栏目"
|
|
||||||
:icon="vip"
|
|
||||||
isLink
|
|
||||||
:iconStyle="{ width: '46rpx', height: '32rpx', marginRight: '14rpx' }"
|
|
||||||
:titleStyle="{
|
:titleStyle="{
|
||||||
fontSize: '32rpx',
|
fontSize: '32rpx',
|
||||||
color: '#333333',
|
color: '#333333',
|
||||||
}"
|
}" @click="handleClick(-1)">
|
||||||
@click="handleClick(-1)"
|
|
||||||
>
|
|
||||||
</u-cell>
|
</u-cell>
|
||||||
<u-cell
|
<u-cell title="我的收藏" :icon="star" isLink :iconStyle="{ width: '40rpx', height: '40rpx', marginRight: '20rpx' }"
|
||||||
title="我的收藏"
|
|
||||||
:icon="star"
|
|
||||||
isLink
|
|
||||||
:iconStyle="{ width: '40rpx', height: '40rpx', marginRight: '20rpx' }"
|
|
||||||
:titleStyle="{
|
:titleStyle="{
|
||||||
fontSize: '32rpx',
|
fontSize: '32rpx',
|
||||||
color: '#333333',
|
color: '#333333',
|
||||||
}"
|
}" @click="handleClick(0)">
|
||||||
@click="handleClick(0)"
|
|
||||||
>
|
|
||||||
</u-cell>
|
</u-cell>
|
||||||
<u-cell
|
<u-cell title="我喜欢的" :icon="like" isLink :iconStyle="{ width: '40rpx', height: '40rpx', marginRight: '20rpx' }"
|
||||||
title="我喜欢的"
|
|
||||||
:icon="like"
|
|
||||||
isLink
|
|
||||||
:iconStyle="{ width: '40rpx', height: '40rpx', marginRight: '20rpx' }"
|
|
||||||
:titleStyle="{
|
:titleStyle="{
|
||||||
fontSize: '32rpx',
|
fontSize: '32rpx',
|
||||||
color: '#333333',
|
color: '#333333',
|
||||||
}"
|
}" @click="handleClick(1)">
|
||||||
@click="handleClick(1)"
|
|
||||||
>
|
|
||||||
</u-cell>
|
</u-cell>
|
||||||
<!-- title="浏览记录" :icon="time" :border="false" -->
|
<!-- title="浏览记录" :icon="time" :border="false" -->
|
||||||
<u-cell
|
<u-cell :icon="time" isLink :iconStyle="{ width: '40rpx', height: '40rpx', marginRight: '20rpx' }" :titleStyle="{
|
||||||
:icon="time"
|
fontSize: '32rpx',
|
||||||
isLink
|
color: '#333333',
|
||||||
:iconStyle="{ width: '40rpx', height: '40rpx', marginRight: '20rpx' }"
|
}" @click="handleClick(2)">
|
||||||
:titleStyle="{
|
|
||||||
fontSize: '32rpx',
|
|
||||||
color: '#333333',
|
|
||||||
}"
|
|
||||||
@click="handleClick(2)"
|
|
||||||
>
|
|
||||||
<template #title>
|
<template #title>
|
||||||
<view class="recordText">
|
<view class="recordText">
|
||||||
<text style="font-size: 32rpx">浏览记录</text>
|
<text style="font-size: 32rpx">浏览记录</text>
|
||||||
|
|
@ -104,12 +80,8 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 登录弹框 -->
|
<!-- 登录弹框 -->
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -118,14 +90,14 @@ import { onMounted, ref } from "vue";
|
||||||
import { onPullDownRefresh, onShow } from "@dcloudio/uni-app";
|
import { onPullDownRefresh, onShow } from "@dcloudio/uni-app";
|
||||||
import { Session } from "@/utils/storage";
|
import { Session } from "@/utils/storage";
|
||||||
import LoginPopup from "@/components/loginPopup/index.vue";
|
import LoginPopup from "@/components/loginPopup/index.vue";
|
||||||
import avatarImg from "@/assets/images/avatar.png";
|
import avatarImg from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/avatar.png";
|
||||||
import column from "@/assets/images/column.png";
|
import column from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/column.png";
|
||||||
import article from "@/assets/images/article.png";
|
import article from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/article.png";
|
||||||
import balance from "@/assets/images/balance.png";
|
import balance from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/balance.png";
|
||||||
import star from "@/assets/images/star.png";
|
import star from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/star.png";
|
||||||
import like from "@/assets/images/like.png";
|
import like from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/like.png";
|
||||||
import time from "@/assets/images/time.png";
|
import time from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/time.png";
|
||||||
import vip from "@/assets/images/vip.png";
|
import vip from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip.png";
|
||||||
import { useShareStore } from "@/stores/shareStore";
|
import { useShareStore } from "@/stores/shareStore";
|
||||||
const stores = useShareStore();
|
const stores = useShareStore();
|
||||||
const curPages = getCurrentPages();
|
const curPages = getCurrentPages();
|
||||||
|
|
@ -234,6 +206,7 @@ onPullDownRefresh(() => {
|
||||||
// position: relative;
|
// position: relative;
|
||||||
position: relative;
|
position: relative;
|
||||||
font-family: "SourceHanSansCN-Medium";
|
font-family: "SourceHanSansCN-Medium";
|
||||||
|
|
||||||
// 个人信息
|
// 个人信息
|
||||||
.userContainer {
|
.userContainer {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -247,10 +220,12 @@ onPullDownRefresh(() => {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
width: 216rpx;
|
width: 216rpx;
|
||||||
margin-left: 40rpx;
|
margin-left: 40rpx;
|
||||||
|
|
||||||
.phone {
|
.phone {
|
||||||
// font-size: 32rpx;
|
// font-size: 32rpx;
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
}
|
}
|
||||||
|
|
||||||
.setUserData {
|
.setUserData {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -260,6 +235,7 @@ onPullDownRefresh(() => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 订阅模块
|
// 订阅模块
|
||||||
.subscribeContainer {
|
.subscribeContainer {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
@ -267,6 +243,7 @@ onPullDownRefresh(() => {
|
||||||
padding: 21rpx 36rpx;
|
padding: 21rpx 36rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
|
|
||||||
.subTitle {
|
.subTitle {
|
||||||
// font-size: 32rpx;
|
// font-size: 32rpx;
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
|
|
@ -274,11 +251,13 @@ onPullDownRefresh(() => {
|
||||||
margin-bottom: 30rpx;
|
margin-bottom: 30rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-grid-item {
|
.u-grid-item {
|
||||||
margin-right: 30rpx;
|
margin-right: 30rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.gridImg {
|
.gridImg {
|
||||||
width: 96rpx;
|
width: 96rpx;
|
||||||
height: 96rpx;
|
height: 96rpx;
|
||||||
|
|
@ -288,26 +267,31 @@ onPullDownRefresh(() => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 64rpx;
|
width: 64rpx;
|
||||||
height: 64rpx;
|
height: 64rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.gridText {
|
.gridText {
|
||||||
// font-size: 24rpx;
|
// font-size: 24rpx;
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 其他功能区
|
// 其他功能区
|
||||||
.otherContainer {
|
.otherContainer {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
margin: 30rpx 20rpx;
|
margin: 30rpx 20rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
|
|
||||||
.recordText {
|
.recordText {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.tips {
|
.tips {
|
||||||
// font-size: 24rpx;
|
// font-size: 24rpx;
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
|
|
@ -330,13 +314,15 @@ onPullDownRefresh(() => {
|
||||||
bottom: 500rpx;
|
bottom: 500rpx;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
|
|
||||||
.notLoginImg {
|
.notLoginImg {
|
||||||
width: 278rpx;
|
width: 278rpx;
|
||||||
height: 220rpx;
|
height: 220rpx;
|
||||||
// border: 1px solid;
|
// border: 1px solid;
|
||||||
background-image: url(@/assets/images/notLogin.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/notLogin.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notLoginText {
|
.notLoginText {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
@ -366,6 +352,7 @@ onPullDownRefresh(() => {
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
font-family: "SourceHanSansCN-Regular";
|
font-family: "SourceHanSansCN-Regular";
|
||||||
|
|
||||||
&.loginBtn {
|
&.loginBtn {
|
||||||
width: 256rpx;
|
width: 256rpx;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
<template>
|
||||||
|
<view class="r_all">
|
||||||
|
<view class="top88"></view>
|
||||||
|
<view class="navnar">
|
||||||
|
<view>
|
||||||
|
<u-icon name="arrow-left" color="#000" size="22" v-if="hasBack"></u-icon>
|
||||||
|
</view>
|
||||||
|
<text>{{ title }}</text>
|
||||||
|
<view style="width: 15%;"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted, onUnmounted, reactive } from "vue";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
// 列表内容
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: () => "中证参考",
|
||||||
|
},
|
||||||
|
// 是否显示返回按钮
|
||||||
|
hasBack: {
|
||||||
|
type: Boolean,
|
||||||
|
default: () => true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
onMounted(async () => { });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.r_all {}
|
||||||
|
|
||||||
|
.top88 {
|
||||||
|
width: 100vw;
|
||||||
|
height: 88rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.navnar {
|
||||||
|
width: 100vw;
|
||||||
|
height: 120rpx;
|
||||||
|
color: black;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
<template>
|
||||||
|
<view class="tabbar">
|
||||||
|
<view class="tabbar_item" @click="tabChange(0)">
|
||||||
|
<image v-if="tabIndex == 1"
|
||||||
|
src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/home_icon_normal.png"
|
||||||
|
class="tabbar_img" />
|
||||||
|
<image v-if="tabIndex == 0"
|
||||||
|
src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/home_icon_press.png"
|
||||||
|
class="tabbar_img" />
|
||||||
|
<text class="tabbar_title" :style="{ color: tabIndex == 0 ? '#3F80FA' : '#666666' }">首页</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="tabbar_item" @click="tabChange(1)">
|
||||||
|
<image v-if="tabIndex == 0"
|
||||||
|
src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/all_icon_normal.png"
|
||||||
|
class="tabbar_img" />
|
||||||
|
<image v-if="tabIndex == 1"
|
||||||
|
src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/all_icon_press.png" class="tabbar_img" />
|
||||||
|
<text class="tabbar_title" :style="{ color: tabIndex == 1 ? '#3F80FA' : '#666666' }">全部</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted, onUnmounted, reactive } from "vue";
|
||||||
|
|
||||||
|
const tabIndex = ref(0);
|
||||||
|
function tabChange(index) {
|
||||||
|
tabIndex.value = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => { });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.tabbar {
|
||||||
|
display: flex;
|
||||||
|
height: 150rpx;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
box-shadow: 0 -2rpx 10rpx rgba(128, 128, 128, 0.2);
|
||||||
|
width: 100vw;
|
||||||
|
|
||||||
|
.tabbar_item {
|
||||||
|
width: 50%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabbar_img {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabbar_title {
|
||||||
|
display: flex;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 20rpx;
|
||||||
|
color: #666666;
|
||||||
|
line-height: 28rpx;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
margin-top: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -11,7 +11,8 @@
|
||||||
<text class="l-price">¥{{ item.value }}</text>
|
<text class="l-price">¥{{ item.value }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="radio-label-right">
|
<view class="radio-label-right">
|
||||||
<radio :class="['radio-icon', { 'radio-icon-checked': item.name === radioValue.name }]" :value="item" :checked="item.name === radioValue.name" />
|
<radio :class="['radio-icon', { 'radio-icon-checked': item.name === radioValue.name }]" :value="item"
|
||||||
|
:checked="item.name === radioValue.name" />
|
||||||
</view>
|
</view>
|
||||||
</label>
|
</label>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -117,18 +118,22 @@ const handleSub = () => {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.subscribe-wrap {
|
.subscribe-wrap {
|
||||||
::v-deep {
|
::v-deep {
|
||||||
|
|
||||||
.u-action-sheet,
|
.u-action-sheet,
|
||||||
.u-action-sheet__header__title {
|
.u-action-sheet__header__title {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
// padding-top: 48rpx;
|
// padding-top: 48rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.u-action-sheet__header {
|
.u-action-sheet__header {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.u-action-sheet__header__title {
|
.u-action-sheet__header__title {
|
||||||
padding-top: 48rpx;
|
padding-top: 48rpx;
|
||||||
padding-left: 40rpx;
|
padding-left: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.u-action-sheet__header__icon-wrap {
|
.u-action-sheet__header__icon-wrap {
|
||||||
padding-top: 24rpx;
|
padding-top: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
@ -151,6 +156,7 @@ const handleSub = () => {
|
||||||
padding: 20rpx 40rpx 40rpx;
|
padding: 20rpx 40rpx 40rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
background-color: red;
|
background-color: red;
|
||||||
|
|
||||||
.radio-item {
|
.radio-item {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
|
|
@ -290,6 +296,7 @@ const handleSub = () => {
|
||||||
.price {
|
.price {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
padding: 0 60rpx;
|
padding: 0 60rpx;
|
||||||
|
|
||||||
.p-txt {
|
.p-txt {
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
color: #000;
|
color: #000;
|
||||||
|
|
@ -305,6 +312,7 @@ const handleSub = () => {
|
||||||
.agree-pay-btn {
|
.agree-pay-btn {
|
||||||
margin-top: 60rpx;
|
margin-top: 60rpx;
|
||||||
padding: 0 60rpx;
|
padding: 0 60rpx;
|
||||||
|
|
||||||
.pay-btn {
|
.pay-btn {
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
height: 94rpx;
|
height: 94rpx;
|
||||||
|
|
@ -314,6 +322,7 @@ const handleSub = () => {
|
||||||
// font-size: 32rpx;
|
// font-size: 32rpx;
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
color: #c07e44;
|
color: #c07e44;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
@ -325,17 +334,17 @@ const handleSub = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.agreement-panel{
|
.agreement-panel {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding-bottom: 62rpx;
|
padding-bottom: 62rpx;
|
||||||
|
|
||||||
.logo{
|
.logo {
|
||||||
width: 172rpx;
|
width: 172rpx;
|
||||||
height: 42rpx;
|
height: 42rpx;
|
||||||
background-image: url(@/assets/images/detail_logo.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/detail_logo.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
margin-right: 12rpx;
|
margin-right: 12rpx;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="readable">
|
<view class="readable">
|
||||||
<view class="readableLeft">
|
<!-- <view class="readableLeft">
|
||||||
<view class="readableTime"> {{ props.data.time }} </view>
|
<view class="readableTime"> {{ props.data.time }} </view>
|
||||||
</view>
|
</view>
|
||||||
<view class="readableRight">
|
<view class="readableRight">
|
||||||
|
|
@ -12,9 +12,7 @@
|
||||||
<image :src="props.data.picture" mode="widthFix"></image>
|
<image :src="props.data.picture" mode="widthFix"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 订阅图片 -->
|
|
||||||
<view class="unreadablebg" v-if="isUnfold && props.data.needpay" @click="handleShowPay(props.data)"></view>
|
<view class="unreadablebg" v-if="isUnfold && props.data.needpay" @click="handleShowPay(props.data)"></view>
|
||||||
<!-- 查看全文的图片 -->
|
|
||||||
<view class="viewFullText" v-if="isUnfold && !props.data.needpay" @click="jump(props.data)"></view>
|
<view class="viewFullText" v-if="isUnfold && !props.data.needpay" @click="jump(props.data)"></view>
|
||||||
|
|
||||||
<view class="readableFooter">
|
<view class="readableFooter">
|
||||||
|
|
@ -38,18 +36,18 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import { Session } from "@/utils/storage";
|
import { Session } from "@/utils/storage";
|
||||||
import SharePng from "@/assets/images/share.png";
|
// import SharePng from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/share.png";
|
||||||
import FirePng from "@/assets/images/fire.png";
|
// import FirePng from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/fire.png";
|
||||||
import activeFirePng from "@/assets/images/activeFire.png";
|
// import activeFirePng from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/activeFire.png";
|
||||||
import DownPng from "@/assets/images/down.png";
|
// import DownPng from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/down.png";
|
||||||
import PackUp from "@/assets/images/packUp.png";
|
// import PackUp from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/packUp.png";
|
||||||
|
|
||||||
const emit = defineEmits(["handleFire", "handleSub", "handleShareTip", "handleShowPay"]);
|
const emit = defineEmits(["handleFire", "handleSub", "handleShareTip", "handleShowPay"]);
|
||||||
|
|
||||||
|
|
@ -57,11 +55,11 @@ const props = defineProps({
|
||||||
// 列表内容
|
// 列表内容
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
handleLogin: {
|
handleLogin: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -114,6 +112,7 @@ const handleShareTip = () => {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
||||||
.readableLeft {
|
.readableLeft {
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
|
|
@ -124,7 +123,7 @@ const handleShareTip = () => {
|
||||||
color: #e7303f;
|
color: #e7303f;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
display: block;
|
display: block;
|
||||||
|
|
@ -137,12 +136,13 @@ const handleShareTip = () => {
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
display: block;
|
display: block;
|
||||||
width: 32rpx;
|
width: 32rpx;
|
||||||
height: 32rpx;
|
height: 32rpx;
|
||||||
background-image: url(@/assets/images/radio.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/radio.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
|
@ -155,6 +155,7 @@ const handleShareTip = () => {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.readableRight {
|
.readableRight {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
@ -167,11 +168,12 @@ const handleShareTip = () => {
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
// font-family: "SourceHanSansCN-Medium";
|
// font-family: "SourceHanSansCN-Medium";
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
|
|
||||||
.isVip {
|
.isVip {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50rpx;
|
width: 50rpx;
|
||||||
height: 29rpx;
|
height: 29rpx;
|
||||||
background-image: url(@/assets/images/icon_vip.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_vip.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -185,7 +187,7 @@ const handleShareTip = () => {
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -193,6 +195,7 @@ const handleShareTip = () => {
|
||||||
.articleImg {
|
.articleImg {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 21rpx;
|
margin-top: 21rpx;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
@ -201,7 +204,7 @@ const handleShareTip = () => {
|
||||||
.unreadablebg {
|
.unreadablebg {
|
||||||
height: 74rpx;
|
height: 74rpx;
|
||||||
margin-top: 21rpx;
|
margin-top: 21rpx;
|
||||||
background-image: url(@/assets/images/flash_sub.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/flash_sub.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|
@ -211,7 +214,7 @@ const handleShareTip = () => {
|
||||||
.viewFullText {
|
.viewFullText {
|
||||||
height: 74rpx;
|
height: 74rpx;
|
||||||
margin-top: 21rpx;
|
margin-top: 21rpx;
|
||||||
background-image: url(@/assets/images/viewFullText.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/viewFullText.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
|
|
@ -230,6 +233,7 @@ const handleShareTip = () => {
|
||||||
|
|
||||||
.readableFooterLeft {
|
.readableFooterLeft {
|
||||||
color: #c07e44;
|
color: #c07e44;
|
||||||
|
|
||||||
.tags {
|
.tags {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -237,11 +241,12 @@ const handleShareTip = () => {
|
||||||
border-radius: 4rpx;
|
border-radius: 4rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 6rpx 12rpx;
|
padding: 6rpx 12rpx;
|
||||||
|
|
||||||
.icon_tag {
|
.icon_tag {
|
||||||
width: 20rpx;
|
width: 20rpx;
|
||||||
height: 20rpx;
|
height: 20rpx;
|
||||||
// background-color: red;
|
// background-color: red;
|
||||||
background-image: url(@/assets/images/icon_tag.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_tag.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
|
@ -255,8 +260,10 @@ const handleShareTip = () => {
|
||||||
.readableFooterRight {
|
.readableFooterRight {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
margin-right: 30rpx;
|
margin-right: 30rpx;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
@ -264,15 +271,18 @@ const handleShareTip = () => {
|
||||||
&.share {
|
&.share {
|
||||||
width: 24rpx;
|
width: 24rpx;
|
||||||
height: 24rpx;
|
height: 24rpx;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.fire,
|
&.fire,
|
||||||
&.arrow {
|
&.arrow {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 24rpx;
|
width: 24rpx;
|
||||||
height: 24rpx;
|
height: 24rpx;
|
||||||
|
|
@ -293,6 +303,7 @@ const handleShareTip = () => {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: rgba(0, 0, 0, 0.8);
|
background-color: rgba(0, 0, 0, 0.8);
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 350rpx;
|
height: 350rpx;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,8 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="itemList">
|
<view class="itemList">
|
||||||
<view v-for="(item, index) in props.data.children" :key="index">
|
<view v-for="(item, index) in props.data.children" :key="index">
|
||||||
<Readable @handleShowPay="handleShowPay" :handleLogin="props.handleLogin" :data="item" @handleFire="handleFire" @handleSub="handleSub" @handleShareTip="handleShareTip" />
|
<Readable @handleShowPay="handleShowPay" :handleLogin="props.handleLogin" :data="item" @handleFire="handleFire"
|
||||||
|
@handleSub="handleSub" @handleShareTip="handleShareTip" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -21,11 +22,11 @@ const props = defineProps({
|
||||||
// 列表内容
|
// 列表内容
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
handleLogin: {
|
handleLogin: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -55,6 +56,7 @@ const handleShareTip = () => {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-bottom: 60rpx;
|
margin-bottom: 60rpx;
|
||||||
box-shadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.1);
|
box-shadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
.itemTime {
|
.itemTime {
|
||||||
color: rgba(51, 51, 51, 0.6);
|
color: rgba(51, 51, 51, 0.6);
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
|
|
@ -63,6 +65,7 @@ const handleShareTip = () => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
font-family: "SourceHanSansCN-Medium";
|
font-family: "SourceHanSansCN-Medium";
|
||||||
|
|
||||||
.icon_calendar {
|
.icon_calendar {
|
||||||
width: 32rpx;
|
width: 32rpx;
|
||||||
height: 32rpx;
|
height: 32rpx;
|
||||||
|
|
@ -70,8 +73,9 @@ const handleShareTip = () => {
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-image: url(@/assets/images/icon_calendar.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_calendar.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
// box-shadow: 0 3rpx 6rpx rgba(0, 0, 0, 0.1);
|
// box-shadow: 0 3rpx 6rpx rgba(0, 0, 0, 0.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="flashItemFooter">
|
<view class="flashItemFooter">
|
||||||
<view class="unlock" v-if="props.data.item.needpay && !props.noPayShow" @click="showPay">立即解锁</view>
|
<view class="unlock" v-if="props.data.item.needpay && !props.noPayShow" @click="showPay">立即解锁</view>
|
||||||
<view class="flashItemData">
|
<view class="flashItemData">
|
||||||
<view class="dataItem">{{ props.data.readNums || 0 }}阅读</view>
|
<view class="dataItem">{{ props.data.readNums || 0 }}阅读</view>
|
||||||
<view class="dataItem">{{ props.data.likeNums || 0 }}点赞</view>
|
<view class="dataItem">{{ props.data.likeNums || 0 }}点赞</view>
|
||||||
|
|
@ -45,6 +45,7 @@ function handleClick() {
|
||||||
box-shadow: 0px 1px 4px rgba(12, 12, 13, 0.1);
|
box-shadow: 0px 1px 4px rgba(12, 12, 13, 0.1);
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
|
||||||
.flashItemHeader {
|
.flashItemHeader {
|
||||||
// font-size: 28rpx;
|
// font-size: 28rpx;
|
||||||
font-size: var(--h2-font-size);
|
font-size: var(--h2-font-size);
|
||||||
|
|
@ -59,15 +60,17 @@ function handleClick() {
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
font-family: "SourceHanSansCN-Medium";
|
font-family: "SourceHanSansCN-Medium";
|
||||||
|
|
||||||
.isVip {
|
.isVip {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 50rpx;
|
width: 50rpx;
|
||||||
height: 29rpx;
|
height: 29rpx;
|
||||||
background-image: url(@/assets/images/icon_vip.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_vip.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.flashItemFooter {
|
.flashItemFooter {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -75,6 +78,7 @@ function handleClick() {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 30rpx;
|
margin-top: 30rpx;
|
||||||
font-family: "SourceHanSansCN-Regular";
|
font-family: "SourceHanSansCN-Regular";
|
||||||
|
|
||||||
.unlock {
|
.unlock {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 8rpx 21rpx;
|
padding: 8rpx 21rpx;
|
||||||
|
|
@ -84,15 +88,18 @@ function handleClick() {
|
||||||
color: #e7303f;
|
color: #e7303f;
|
||||||
border-radius: 999rpx;
|
border-radius: 999rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flashItemData {
|
.flashItemData {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
.dataItem {
|
.dataItem {
|
||||||
// font-size: 20rpx;
|
// font-size: 20rpx;
|
||||||
font-size: var(--h6-font-size);
|
font-size: var(--h6-font-size);
|
||||||
color: #b9b9b9;
|
color: #b9b9b9;
|
||||||
margin-right: 21rpx;
|
margin-right: 21rpx;
|
||||||
|
|
||||||
&:nth-child(3) {
|
&:nth-child(3) {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,7 @@
|
||||||
<swiper class="swiper" circular next-margin="6px">
|
<swiper class="swiper" circular next-margin="6px">
|
||||||
<swiper-item v-for="(item, index) in props.data" :key="{ index }">
|
<swiper-item v-for="(item, index) in props.data" :key="{ index }">
|
||||||
<view class="swiperItem" @click="handleSwiperJump(item)">
|
<view class="swiperItem" @click="handleSwiperJump(item)">
|
||||||
<!-- <view class="isVip"></view> -->
|
<!-- <image class="swiperItemBg" :src="item.picture || BannerBg" /> -->
|
||||||
<image class="swiperItemBg" :src="item.picture || BannerBg" />
|
|
||||||
<view class="swiperItemTitle">
|
<view class="swiperItemTitle">
|
||||||
<text class="swiperItemType">{{ item.tag }}</text>
|
<text class="swiperItemType">{{ item.tag }}</text>
|
||||||
{{ item.title }}
|
{{ item.title }}
|
||||||
|
|
@ -16,14 +15,14 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import BannerBg from "@/assets/images/banner.png";
|
// import BannerBg from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/banner.png";
|
||||||
const emit = defineEmits(["handleSwiperJump"]);
|
const emit = defineEmits(["handleSwiperJump"]);
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
// 列表内容
|
// 列表内容
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -35,28 +34,33 @@ const handleSwiperJump = (item) => {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.swiperContainer {
|
.swiperContainer {
|
||||||
margin: 12rpx 0;
|
margin: 12rpx 0;
|
||||||
|
|
||||||
.swiper {
|
.swiper {
|
||||||
height: 376rpx;
|
height: 376rpx;
|
||||||
|
|
||||||
.swiperItem {
|
.swiperItem {
|
||||||
height: 376rpx;
|
height: 376rpx;
|
||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-right: 9rpx;
|
margin-right: 9rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.isVip {
|
.isVip {
|
||||||
width: 58rpx;
|
width: 58rpx;
|
||||||
height: 32rpx;
|
height: 32rpx;
|
||||||
background-image: url(@/assets/images/icon_vip.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_vip.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swiperItemBg {
|
.swiperItemBg {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.swiperItemTitle {
|
.swiperItemTitle {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -71,6 +75,7 @@ const handleSwiperJump = (item) => {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-image: linear-gradient(0deg, #00000066 0%, #00000026 50%, #00000000 100%);
|
background-image: linear-gradient(0deg, #00000066 0%, #00000026 50%, #00000000 100%);
|
||||||
font-family: "SourceHanSansCN-Medium";
|
font-family: "SourceHanSansCN-Medium";
|
||||||
|
|
||||||
.swiperItemType {
|
.swiperItemType {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,14 @@
|
||||||
<!-- 搜索 start -->
|
<!-- 搜索 start -->
|
||||||
<view class="search">
|
<view class="search">
|
||||||
<image src="@/static/log_caixun.png" class="logo" mode="aspectFit"></image>
|
<image src="@/static/log_caixun.png" class="logo" mode="aspectFit"></image>
|
||||||
<u-input v-model="keyWord" prefixIcon="search" prefixIconStyle="color: rgba(255,255,255, 0.8)" style="flex: 1" placeholder="搜索资讯" class="search_input" color="#fff" :placeholderStyle="{ color: 'rgba(255,255,255,0.6)' }" :border="false" @confirm="goSearch" />
|
<u-input v-model="keyWord" prefixIcon="search" prefixIconStyle="color: rgba(255,255,255, 0.8)" style="flex: 1"
|
||||||
|
placeholder="搜索资讯" class="search_input" color="#fff" :placeholderStyle="{ color: 'rgba(255,255,255,0.6)' }"
|
||||||
|
:border="false" @confirm="goSearch" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="tabsContainer">
|
<view class="tabsContainer">
|
||||||
<view v-for="(item, index) in colList" :class="['tabItem', { active: columnIndex === index }]" :key="item.id" @click="handleClickColumn(item.id)">
|
<view v-for="(item, index) in colList" :class="['tabItem', { active: columnIndex === index }]" :key="item.id"
|
||||||
|
@click="handleClickColumn(item.id)">
|
||||||
<text class="tabName">{{ item.name }}</text>
|
<text class="tabName">{{ item.name }}</text>
|
||||||
<!-- <u-icon v-if="index == 3" name="list" size="16" bold color="#fff"></u-icon> -->
|
<!-- <u-icon v-if="index == 3" name="list" size="16" bold color="#fff"></u-icon> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -18,11 +21,7 @@
|
||||||
|
|
||||||
<!-- 中证投顾子菜单 -->
|
<!-- 中证投顾子菜单 -->
|
||||||
<view class="sub-tabs-box" v-if="subColumnList.length != 0">
|
<view class="sub-tabs-box" v-if="subColumnList.length != 0">
|
||||||
<u-tabs
|
<u-tabs lineColor="rgba(0,0,0,0)" :current="subColumnIndex" @click="handleSubColumnChange" :list="subColumnList"
|
||||||
lineColor="rgba(0,0,0,0)"
|
|
||||||
:current="subColumnIndex"
|
|
||||||
@click="handleSubColumnChange"
|
|
||||||
:list="subColumnList"
|
|
||||||
:inactiveStyle="{
|
:inactiveStyle="{
|
||||||
color: '#595959',
|
color: '#595959',
|
||||||
fontSize: '24rpx',
|
fontSize: '24rpx',
|
||||||
|
|
@ -30,8 +29,7 @@
|
||||||
border: '2rpx solid #DBDBDB',
|
border: '2rpx solid #DBDBDB',
|
||||||
borderRadius: '36rpx',
|
borderRadius: '36rpx',
|
||||||
padding: '1px 12px',
|
padding: '1px 12px',
|
||||||
}"
|
}" :activeStyle="{
|
||||||
:activeStyle="{
|
|
||||||
color: '#E7303F',
|
color: '#E7303F',
|
||||||
fontSize: '24rpx',
|
fontSize: '24rpx',
|
||||||
lineHeight: '44rpx',
|
lineHeight: '44rpx',
|
||||||
|
|
@ -39,13 +37,13 @@
|
||||||
borderRadius: '36rpx',
|
borderRadius: '36rpx',
|
||||||
padding: '1px 12px',
|
padding: '1px 12px',
|
||||||
background: 'rgba(255,208,212,0.4)',
|
background: 'rgba(255,208,212,0.4)',
|
||||||
}"
|
}">
|
||||||
>
|
|
||||||
</u-tabs>
|
</u-tabs>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 列表区域 -->
|
<!-- 列表区域 -->
|
||||||
<Domestic :hotNewsList="hotNewsList" :newsList="newsList" :columnName="getColumnName" :columnId="columnState.subColumn" :bannerList="bannerList" @onChange="handleChange" />
|
<Domestic :hotNewsList="hotNewsList" :newsList="newsList" :columnName="getColumnName"
|
||||||
|
:columnId="columnState.subColumn" :bannerList="bannerList" @onChange="handleChange" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -67,7 +65,7 @@ const props = defineProps({
|
||||||
// 当前选中栏目
|
// 当前选中栏目
|
||||||
columnState: {
|
columnState: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
const curPages = getCurrentPages(); // 当前页面栈
|
const curPages = getCurrentPages(); // 当前页面栈
|
||||||
|
|
@ -280,7 +278,7 @@ onShow(async () => {
|
||||||
|
|
||||||
.vipHeader {
|
.vipHeader {
|
||||||
height: 168rpx;
|
height: 168rpx;
|
||||||
background-image: url(@/assets/images/headerBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/headerBg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 24rpx 32rpx 6rpx 40rpx;
|
padding: 24rpx 32rpx 6rpx 40rpx;
|
||||||
|
|
@ -291,16 +289,19 @@ onShow(async () => {
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
height: 72rpx;
|
height: 72rpx;
|
||||||
gap: 20rpx;
|
gap: 20rpx;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
width: 104rpx;
|
width: 104rpx;
|
||||||
height: 68rpx;
|
height: 68rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search_icon {
|
.search_icon {
|
||||||
width: 80rpx;
|
width: 80rpx;
|
||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
|
|
@ -325,13 +326,16 @@ onShow(async () => {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
.tabItem {
|
.tabItem {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-bottom: 9rpx;
|
padding-bottom: 9rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
@ -340,7 +344,7 @@ onShow(async () => {
|
||||||
display: block;
|
display: block;
|
||||||
width: 44rpx;
|
width: 44rpx;
|
||||||
height: 6rpx;
|
height: 6rpx;
|
||||||
background: url("@/assets/images/icon_dot.png") no-repeat center;
|
background: url("https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_dot.png") no-repeat center;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -362,11 +366,13 @@ onShow(async () => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
width: 68rpx;
|
width: 68rpx;
|
||||||
height: 68rpx;
|
height: 68rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.gridText {
|
.gridText {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
@ -385,6 +391,7 @@ onShow(async () => {
|
||||||
color: #333;
|
color: #333;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
||||||
.recommendedIcon {
|
.recommendedIcon {
|
||||||
width: 44rpx;
|
width: 44rpx;
|
||||||
height: 44rpx;
|
height: 44rpx;
|
||||||
|
|
@ -413,37 +420,45 @@ onShow(async () => {
|
||||||
// padding: 20rpx 30rpx 0 30rpx;
|
// padding: 20rpx 30rpx 0 30rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.articleListHeader {
|
.articleListHeader {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 20rpx 30rpx 0 30rpx;
|
padding: 20rpx 30rpx 0 30rpx;
|
||||||
|
|
||||||
// padding-bottom: 21rpx;
|
// padding-bottom: 21rpx;
|
||||||
.headerLeft {
|
.headerLeft {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.articleListTitle {
|
.articleListTitle {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.articleListTabs {
|
.articleListTabs {
|
||||||
margin-left: 12rpx;
|
margin-left: 12rpx;
|
||||||
|
|
||||||
.articleListTabsItem {
|
.articleListTabsItem {
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-tabs__wrapper__nav__item {
|
.u-tabs__wrapper__nav__item {
|
||||||
padding: 0 15rpx;
|
padding: 0 15rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.u-tabs__wrapper__nav__item__text {
|
.u-tabs__wrapper__nav__item__text {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// font-size: 60rpx !important;
|
// font-size: 60rpx !important;
|
||||||
// background-color: red;
|
// background-color: red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.select {
|
.select {
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-checkbox {
|
.u-checkbox {
|
||||||
|
|
@ -451,6 +466,7 @@ onShow(async () => {
|
||||||
width: 24rpx !important;
|
width: 24rpx !important;
|
||||||
height: 24rpx !important;
|
height: 24rpx !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
uni-text {
|
uni-text {
|
||||||
span {
|
span {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
|
@ -468,11 +484,13 @@ onShow(async () => {
|
||||||
background-color: #d5f7ff;
|
background-color: #d5f7ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(2) {
|
&:nth-child(2) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #fff0c2;
|
background-color: #fff0c2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(3) {
|
&:nth-child(3) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #e2eeff;
|
background-color: #e2eeff;
|
||||||
|
|
@ -483,11 +501,13 @@ onShow(async () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(4) {
|
&:nth-child(4) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #d5f7ff;
|
background-color: #d5f7ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:nth-child(5) {
|
&:nth-child(5) {
|
||||||
.gridImg {
|
.gridImg {
|
||||||
background-color: #fff0c2;
|
background-color: #fff0c2;
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
import swiperImg from "@/static/swiper_image.png";
|
import swiperImg from "@/static/swiper_image.png";
|
||||||
// thumbnail
|
// thumbnail
|
||||||
import thumbnail2 from "@/assets/images/thumbnail2.png";
|
import thumbnail2 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail2.png";
|
||||||
import thumbnail3 from "@/assets/images/thumbnail3.png";
|
import thumbnail3 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail3.png";
|
||||||
import thumbnail4 from "@/assets/images/thumbnail4.png";
|
import thumbnail4 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail4.png";
|
||||||
import thumbnail5 from "@/assets/images/thumbnail5.png";
|
import thumbnail5 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail5.png";
|
||||||
|
|
||||||
const articleListMock = [
|
const articleListMock = [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
type: "0", // 类型,0:海外 1:国内 2:中证
|
type: "0", // 类型,0:海外 1:国内 2:中证
|
||||||
title: "特朗普表示,他将在第一天对加拿大、中国和墨西哥征收关税", // 标题
|
title: "特朗普表示,他将在第一天对加拿大、中国和墨西哥征收关税", // 标题
|
||||||
source: "美国在线公司 America Online", // 来源
|
source: "美国在线公司 America Online", // 来源
|
||||||
tag: "美国在线公司", // 标签
|
tag: "美国在线公司", // 标签
|
||||||
time: "2024-11-26 09:37", // 时间
|
time: "2024-11-26 09:37", // 时间
|
||||||
thumbnail: swiperImg, // 缩略图
|
thumbnail: swiperImg, // 缩略图
|
||||||
abstract: "当选总统川普正在兑现他的关税承诺,他星期一表示,他计划对墨西哥、加拿大和中国征收关税,以阻止毒品流入美国和非法越境。", // 摘要
|
abstract: "当选总统川普正在兑现他的关税承诺,他星期一表示,他计划对墨西哥、加拿大和中国征收关税,以阻止毒品流入美国和非法越境。", // 摘要
|
||||||
needpay: 0, // 是否订阅
|
needpay: 0, // 是否订阅
|
||||||
// 内容详情
|
// 内容详情
|
||||||
content: `
|
content: `
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<p>当选总统川普正在兑现他的关税承诺,他星期一表示,他计划对墨西哥、加拿大和中国征收关税,以阻止毒品流入美国和非法越境。</p>
|
<p>当选总统川普正在兑现他的关税承诺,他星期一表示,他计划对墨西哥、加拿大和中国征收关税,以阻止毒品流入美国和非法越境。</p>
|
||||||
<p>特朗普在他的Truth Social平台上发布消息称,他将于2025年1月20日上任后签署的首批行政命令之一是对墨西哥和加拿大的所有进入美国的产品征收25%的关税。</p>
|
<p>特朗普在他的Truth Social平台上发布消息称,他将于2025年1月20日上任后签署的首批行政命令之一是对墨西哥和加拿大的所有进入美国的产品征收25%的关税。</p>
|
||||||
|
|
@ -31,18 +31,18 @@ const articleListMock = [
|
||||||
<p>根据彼得森国际经济研究所的估计,特朗普的关税将使美国家庭平均每年损失约2600美元。</p>
|
<p>根据彼得森国际经济研究所的估计,特朗普的关税将使美国家庭平均每年损失约2600美元。</p>
|
||||||
</view>
|
</view>
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
type: "1",
|
type: "1",
|
||||||
title: "特朗普团队准备提前采取行动结束拜登的液化天然气暂停",
|
title: "特朗普团队准备提前采取行动结束拜登的液化天然气暂停",
|
||||||
source: "彭博社 Bloomberg News",
|
source: "彭博社 Bloomberg News",
|
||||||
tag: "彭博社",
|
tag: "彭博社",
|
||||||
time: "2024-11-26 01:12",
|
time: "2024-11-26 01:12",
|
||||||
thumbnail: thumbnail2,
|
thumbnail: thumbnail2,
|
||||||
abstract: "据知情人士透露,当选总统特朗普(Donald Trump)的过渡团队正在起草一项行政命令,以解除拜登政府实施的暂停天然气出口许可的禁令。",
|
abstract: "据知情人士透露,当选总统特朗普(Donald Trump)的过渡团队正在起草一项行政命令,以解除拜登政府实施的暂停天然气出口许可的禁令。",
|
||||||
needpay: 0,
|
needpay: 0,
|
||||||
content: `
|
content: `
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<p>据知情人士透露,当选总统特朗普(Donald Trump)的过渡团队正在起草一项行政命令,以解除拜登政府实施的暂停天然气出口许可的禁令。</p>
|
<p>据知情人士透露,当选总统特朗普(Donald Trump)的过渡团队正在起草一项行政命令,以解除拜登政府实施的暂停天然气出口许可的禁令。</p>
|
||||||
<p>由于信息保密,不愿透露姓名的人士表示,此举是特朗普上任初期计划的美国能源一揽子行动的一部分。知情人士说,液化天然气行政命令可能会要求能源部批准悬而未决的出口许可,也可能指示该机构恢复对申请的审查,作为能源政策指令的一部分,不过最终方法尚未确定。</p>
|
<p>由于信息保密,不愿透露姓名的人士表示,此举是特朗普上任初期计划的美国能源一揽子行动的一部分。知情人士说,液化天然气行政命令可能会要求能源部批准悬而未决的出口许可,也可能指示该机构恢复对申请的审查,作为能源政策指令的一部分,不过最终方法尚未确定。</p>
|
||||||
|
|
@ -51,18 +51,18 @@ const articleListMock = [
|
||||||
<p>在竞选活动中,特朗普发誓要取消拜登签署的气候法中未使用的资金,让生产商开采更多的石油和天然气,降低能源成本,并宣布全国进入紧急状态,以实现国内能源供应的大幅增加。</p>
|
<p>在竞选活动中,特朗普发誓要取消拜登签署的气候法中未使用的资金,让生产商开采更多的石油和天然气,降低能源成本,并宣布全国进入紧急状态,以实现国内能源供应的大幅增加。</p>
|
||||||
</view>
|
</view>
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 2,
|
||||||
type: "0",
|
type: "0",
|
||||||
title: "欧盟在与中国达成避免电动汽车关税协议方面进展甚微",
|
title: "欧盟在与中国达成避免电动汽车关税协议方面进展甚微",
|
||||||
tag: "彭博社",
|
tag: "彭博社",
|
||||||
source: "彭博社 Bloomberg News",
|
source: "彭博社 Bloomberg News",
|
||||||
time: "2024-11-26 04:54",
|
time: "2024-11-26 04:54",
|
||||||
thumbnail: thumbnail3,
|
thumbnail: thumbnail3,
|
||||||
abstract: "知情人士称,最近几周,欧盟(eu)与中国就一项取代电动汽车关税的全面协议进行的谈判只取得了有限进展。",
|
abstract: "知情人士称,最近几周,欧盟(eu)与中国就一项取代电动汽车关税的全面协议进行的谈判只取得了有限进展。",
|
||||||
needpay: 0,
|
needpay: 0,
|
||||||
content: `
|
content: `
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<p>知情人士称,最近几周,欧盟(eu)与中国就一项取代电动汽车关税的全面协议进行的谈判只取得了有限进展。</p>
|
<p>知情人士称,最近几周,欧盟(eu)与中国就一项取代电动汽车关税的全面协议进行的谈判只取得了有限进展。</p>
|
||||||
<p>本月早些时候,中国和欧盟在北京进行了讨论,双方都宣称取得了一些进展,目前双方正在继续进行技术性谈判。然而,自那次会谈以来,情况并没有太大变化,双方之间的接触也很少,这些人士说。由于讨论的是私下讨论,他们要求匿名。</p>
|
<p>本月早些时候,中国和欧盟在北京进行了讨论,双方都宣称取得了一些进展,目前双方正在继续进行技术性谈判。然而,自那次会谈以来,情况并没有太大变化,双方之间的接触也很少,这些人士说。由于讨论的是私下讨论,他们要求匿名。</p>
|
||||||
|
|
@ -72,18 +72,18 @@ const articleListMock = [
|
||||||
<p>欧盟委员会发言人拒绝置评。</p>
|
<p>欧盟委员会发言人拒绝置评。</p>
|
||||||
</view>
|
</view>
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 3,
|
||||||
type: "2",
|
type: "2",
|
||||||
title: "中国要求地方基金停止通过港股通购买地方政府融资平台债券",
|
title: "中国要求地方基金停止通过港股通购买地方政府融资平台债券",
|
||||||
source: "彭博社 Bloomberg News",
|
source: "彭博社 Bloomberg News",
|
||||||
time: "2024-11-19 13:42",
|
time: "2024-11-19 13:42",
|
||||||
tag: "彭博社",
|
tag: "彭博社",
|
||||||
thumbnail: thumbnail4,
|
thumbnail: thumbnail4,
|
||||||
abstract: "据知情人士透露,中国实际上已禁止国内投资者通过内地与香港的交易联系购买地方政府融资平台发行的离岸人民币债券,这是遏制负债累累的中国行业风险的最新举措。",
|
abstract: "据知情人士透露,中国实际上已禁止国内投资者通过内地与香港的交易联系购买地方政府融资平台发行的离岸人民币债券,这是遏制负债累累的中国行业风险的最新举措。",
|
||||||
needpay: 0,
|
needpay: 0,
|
||||||
content: `
|
content: `
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<p>据知情人士透露,中国实际上已禁止国内投资者通过内地与香港的交易联系购买地方政府融资平台发行的离岸人民币债券,这是遏制负债累累的中国行业风险的最新举措。</p>
|
<p>据知情人士透露,中国实际上已禁止国内投资者通过内地与香港的交易联系购买地方政府融资平台发行的离岸人民币债券,这是遏制负债累累的中国行业风险的最新举措。</p>
|
||||||
<p>中国人民银行已要求国内券商和银行暂停通过“债券通”(Bond Connect)购买地方政府融资平台的所谓“点心债券”。“债券通”是一个连接内地和香港债券市场的计划,由于讨论私事,这些人士要求不具名。知情人士没有提供进一步的细节,也没有透露这类购买可能会在何时恢复。</p>
|
<p>中国人民银行已要求国内券商和银行暂停通过“债券通”(Bond Connect)购买地方政府融资平台的所谓“点心债券”。“债券通”是一个连接内地和香港债券市场的计划,由于讨论私事,这些人士要求不具名。知情人士没有提供进一步的细节,也没有透露这类购买可能会在何时恢复。</p>
|
||||||
|
|
@ -97,18 +97,18 @@ const articleListMock = [
|
||||||
<p>彭博新闻社(Bloomberg News)今年早些时候报道称,中国证券监管机构要求一些投资者不要增持地方政府融资平台发行的期限不到一年的美元债券。</p>
|
<p>彭博新闻社(Bloomberg News)今年早些时候报道称,中国证券监管机构要求一些投资者不要增持地方政府融资平台发行的期限不到一年的美元债券。</p>
|
||||||
</view>
|
</view>
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 4,
|
id: 4,
|
||||||
type: "1",
|
type: "1",
|
||||||
title: "中国科技集团在硅谷组建人工智能团队",
|
title: "中国科技集团在硅谷组建人工智能团队",
|
||||||
source: "金融时报 Financial Times",
|
source: "金融时报 Financial Times",
|
||||||
time: "2024-11-19 15:18",
|
time: "2024-11-19 15:18",
|
||||||
tag: "金融时报",
|
tag: "金融时报",
|
||||||
thumbnail: thumbnail5,
|
thumbnail: thumbnail5,
|
||||||
abstract: "中国最大的科技集团正在硅谷组建人工智能团队,寻求聘用美国顶尖人才,尽管华盛顿方面试图遏制该国对尖端技术的发展。",
|
abstract: "中国最大的科技集团正在硅谷组建人工智能团队,寻求聘用美国顶尖人才,尽管华盛顿方面试图遏制该国对尖端技术的发展。",
|
||||||
needpay: 0,
|
needpay: 0,
|
||||||
content: `
|
content: `
|
||||||
<view class="section">
|
<view class="section">
|
||||||
<p>中国最大的科技集团正在硅谷组建人工智能团队,寻求聘用美国顶尖人才,尽管华盛顿方面试图遏制该国对尖端技术的发展。</p>
|
<p>中国最大的科技集团正在硅谷组建人工智能团队,寻求聘用美国顶尖人才,尽管华盛顿方面试图遏制该国对尖端技术的发展。</p>
|
||||||
<p>阿里巴巴、字节跳动和美团近几个月来一直在扩大其在加州的办事处,试图从竞争对手美国集团挖走员工,以帮助他们在生成式人工智能的利润竞赛中取得优势。</p>
|
<p>阿里巴巴、字节跳动和美团近几个月来一直在扩大其在加州的办事处,试图从竞争对手美国集团挖走员工,以帮助他们在生成式人工智能的利润竞赛中取得优势。</p>
|
||||||
|
|
@ -122,7 +122,7 @@ const articleListMock = [
|
||||||
<p>TikTok 所有者字节跳动在加州拥有最成熟的人工智能足迹,有多个团队在从事不同的项目。一个研究团队专注于将人工智能功能集成到 TikTok 中。据多位知情人士透露,该公司还有一组研究人员与中国和新加坡的同事一起研究其豆包大语言模型。</p>
|
<p>TikTok 所有者字节跳动在加州拥有最成熟的人工智能足迹,有多个团队在从事不同的项目。一个研究团队专注于将人工智能功能集成到 TikTok 中。据多位知情人士透露,该公司还有一组研究人员与中国和新加坡的同事一起研究其豆包大语言模型。</p>
|
||||||
</view>
|
</view>
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import swiperImg from "@/static/swiper_image.png";
|
import swiperImg from "@/static/swiper_image.png";
|
||||||
// thumbnail
|
// thumbnail
|
||||||
import thumbnail2 from "@/assets/images/thumbnail2.png";
|
import thumbnail2 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail2.png";
|
||||||
import thumbnail3 from "@/assets/images/thumbnail3.png";
|
import thumbnail3 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail3.png";
|
||||||
import thumbnail4 from "@/assets/images/thumbnail4.png";
|
import thumbnail4 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail4.png";
|
||||||
import thumbnail5 from "@/assets/images/thumbnail5.png";
|
import thumbnail5 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/thumbnail5.png";
|
||||||
|
|
||||||
// 要闻列表数据
|
// 要闻列表数据
|
||||||
export const newsList = [
|
export const newsList = [
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
},
|
},
|
||||||
"pages": [
|
"pages": [
|
||||||
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||||
|
{
|
||||||
|
"path": "pages/realtimeInfo/index"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/login/index"
|
"path": "pages/login/index"
|
||||||
},
|
},
|
||||||
|
|
@ -46,9 +49,6 @@
|
||||||
{
|
{
|
||||||
"path": "pages/bookmark/index"
|
"path": "pages/bookmark/index"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "pages/realtimeInfo/index"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "pages/realtimeInfo/rankDetail"
|
"path": "pages/realtimeInfo/rankDetail"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ import NewItem from "@/components/newItem/index.vue";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
listData: {
|
listData: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
loading: {
|
loading: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
|
@ -45,8 +45,9 @@ const doDetail = (item: any) => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
.flashBack {
|
|
||||||
}
|
.flashBack {}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
// background-color: red;
|
// background-color: red;
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
|
|
@ -69,6 +70,7 @@ const doDetail = (item: any) => {
|
||||||
padding: 10rpx 30rpx;
|
padding: 10rpx 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
|
|
||||||
.tabsItem {
|
.tabsItem {
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
color: #595959;
|
color: #595959;
|
||||||
|
|
@ -86,6 +88,7 @@ const doDetail = (item: any) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.colListContainer {
|
.colListContainer {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 30rpx 0;
|
padding: 30rpx 0;
|
||||||
|
|
@ -97,6 +100,7 @@ const doDetail = (item: any) => {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 21rpx;
|
margin-bottom: 21rpx;
|
||||||
|
|
||||||
.ItemLeft {
|
.ItemLeft {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0rpx 27rpx;
|
padding: 0rpx 27rpx;
|
||||||
|
|
@ -121,24 +125,28 @@ const doDetail = (item: any) => {
|
||||||
// font-weight: bold;
|
// font-weight: bold;
|
||||||
margin-bottom: 12rpx;
|
margin-bottom: 12rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.colDesc {
|
.colDesc {
|
||||||
color: #333;
|
color: #333;
|
||||||
// font-size: 28rpx;
|
// font-size: 28rpx;
|
||||||
font-size: var(--h2-font-size);
|
font-size: var(--h2-font-size);
|
||||||
margin-bottom: 12rpx;
|
margin-bottom: 12rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.colValidTime {
|
.colValidTime {
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
color: rgba(51, 51, 51, 0.6);
|
color: rgba(51, 51, 51, 0.6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ItemRight {
|
.ItemRight {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.ItemVipCol {
|
.ItemVipCol {
|
||||||
width: 118rpx;
|
width: 118rpx;
|
||||||
height: 42rpx;
|
height: 42rpx;
|
||||||
background-image: url(@/assets/images/vipCol.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vipCol.png);
|
||||||
margin-right: 21rpx;
|
margin-right: 21rpx;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,10 @@
|
||||||
<!-- 导航栏 start -->
|
<!-- 导航栏 start -->
|
||||||
<view class="custom-bav-bar">
|
<view class="custom-bav-bar">
|
||||||
<view class="left">
|
<view class="left">
|
||||||
<image
|
<image src="@/static/icon_left.png" class="back_icon" @click="handleBack" />
|
||||||
src="@/static/icon_left.png"
|
|
||||||
class="back_icon"
|
|
||||||
@click="handleBack"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="center">
|
<view class="center">
|
||||||
<image src="@/assets/images/detail_logo.png" class="logo_icon" />
|
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/detail_logo.png" class="logo_icon" />
|
||||||
<!-- <text>中证参考</text> -->
|
<!-- <text>中证参考</text> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -20,19 +16,10 @@
|
||||||
<!-- 分割 -->
|
<!-- 分割 -->
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
<!-- 推荐栏目 -->
|
<!-- 推荐栏目 -->
|
||||||
<Column
|
<Column :data="columnList" :columnName="columnName" @doDetail="jumpDetail" @doAll="jumpAll" />
|
||||||
:data="columnList"
|
|
||||||
:columnName="columnName"
|
|
||||||
@doDetail="jumpDetail"
|
|
||||||
@doAll="jumpAll"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 底部栏 评论 / 收藏 -->
|
<!-- 底部栏 评论 / 收藏 -->
|
||||||
<Comment
|
<Comment :data="data" @handleClickLike="handleClickLike" @handleClickStar="handleClickStar" />
|
||||||
:data="data"
|
|
||||||
@handleClickLike="handleClickLike"
|
|
||||||
@handleClickStar="handleClickStar"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<image src="@/static/icon_left.png" class="back_icon" @click="handleBack" />
|
<image src="@/static/icon_left.png" class="back_icon" @click="handleBack" />
|
||||||
</view>
|
</view>
|
||||||
<view class="center">
|
<view class="center">
|
||||||
<image src="@/assets/images/detail_logo.png" class="logo_icon" />
|
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/detail_logo.png" class="logo_icon" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -125,13 +125,15 @@ const back = () => {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.flashContainer {
|
.flashContainer {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|
||||||
// 头部区域
|
// 头部区域
|
||||||
.flashHeader {
|
.flashHeader {
|
||||||
height: 168rpx;
|
height: 168rpx;
|
||||||
background-image: url(@/assets/images/headerBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/headerBg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 24rpx 32rpx 20rpx 40rpx;
|
padding: 24rpx 32rpx 20rpx 40rpx;
|
||||||
|
|
||||||
.flashBack {
|
.flashBack {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
|
|
@ -145,13 +147,15 @@ const back = () => {
|
||||||
padding-top: 21rpx;
|
padding-top: 21rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
|
|
||||||
.flashLogo {
|
.flashLogo {
|
||||||
width: 192rpx;
|
width: 192rpx;
|
||||||
height: 58rpx;
|
height: 58rpx;
|
||||||
background-image: url(@/assets/images/flashLogo.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/flashLogo.png);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flashIntro {
|
.flashIntro {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding-left: 9rpx;
|
padding-left: 9rpx;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@
|
||||||
</view>
|
</view>
|
||||||
<!-- 内容区域 -->
|
<!-- 内容区域 -->
|
||||||
<view class="realTimeContent">
|
<view class="realTimeContent">
|
||||||
<RealTimeNewsItem v-for="item in realTimeList" :key="item.id" :data="item" @handleSub="handleSub" @handleFire="handleFire" :handleLogin="handleLogin" @handleShareTip="handleShareTip" @handleShowPay="handleShowPay" />
|
<RealTimeNewsItem v-for="item in realTimeList" :key="item.id" :data="item" @handleSub="handleSub"
|
||||||
|
@handleFire="handleFire" :handleLogin="handleLogin" @handleShareTip="handleShareTip"
|
||||||
|
@handleShowPay="handleShowPay" />
|
||||||
<u-empty v-if="realTimeList.length === 0" text="暂无快讯" mode="news" style="margin-top: 20vh"></u-empty>
|
<u-empty v-if="realTimeList.length === 0" text="暂无快讯" mode="news" style="margin-top: 20vh"></u-empty>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -154,7 +156,8 @@ defineExpose({
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
// position: relative;
|
// position: relative;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
&::before{
|
|
||||||
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
display: block;
|
display: block;
|
||||||
width: 255.78rpx;
|
width: 255.78rpx;
|
||||||
|
|
@ -165,7 +168,7 @@ defineExpose({
|
||||||
right: 0;
|
right: 0;
|
||||||
margin-top: -36rpx;
|
margin-top: -36rpx;
|
||||||
// z-index: 999;
|
// z-index: 999;
|
||||||
background-image: url(@/assets/images/newFontBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/newFontBg.png);
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
|
|
@ -185,16 +188,19 @@ defineExpose({
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 20rpx 0;
|
padding: 20rpx 0;
|
||||||
|
|
||||||
.realTimeLeft {
|
.realTimeLeft {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.realTimeTitle {
|
.realTimeTitle {
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
margin-right: 15rpx;
|
margin-right: 15rpx;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTimeWarn {
|
.realTimeWarn {
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
@ -212,6 +218,7 @@ defineExpose({
|
||||||
width: 24rpx !important;
|
width: 24rpx !important;
|
||||||
height: 24rpx !important;
|
height: 24rpx !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
uni-text {
|
uni-text {
|
||||||
span {
|
span {
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
|
|
@ -221,6 +228,7 @@ defineExpose({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.realTimeContent {
|
.realTimeContent {
|
||||||
// height: 3000px;
|
// height: 3000px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -89,11 +89,12 @@ onShow(() => {
|
||||||
.loginContainer {
|
.loginContainer {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
background-image: url(@/assets/images/loginBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/loginBg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
position: relative;
|
position: relative;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding:176rpx 0;
|
padding: 176rpx 0;
|
||||||
|
|
||||||
.prompt {
|
.prompt {
|
||||||
width: 80rpx;
|
width: 80rpx;
|
||||||
height: 596rpx;
|
height: 596rpx;
|
||||||
|
|
@ -102,9 +103,10 @@ onShow(() => {
|
||||||
top: 0;
|
top: 0;
|
||||||
margin-top: 176rpx;
|
margin-top: 176rpx;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
background-image: url(@/assets/images/new_logo.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/new_logo.png);
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
width: 292rpx;
|
width: 292rpx;
|
||||||
height: 68rpx;
|
height: 68rpx;
|
||||||
|
|
@ -113,7 +115,7 @@ onShow(() => {
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
margin-bottom: 176rpx;
|
margin-bottom: 176rpx;
|
||||||
background-image: url(@/assets/images/logo.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/logo.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
<template>
|
||||||
|
<!-- 顶部 banner 区域 -->
|
||||||
|
<view class="all">
|
||||||
|
<Navbar title="中证参考" :hasBack="false"></Navbar>
|
||||||
|
|
||||||
|
<text>123</text>
|
||||||
|
<tabbar></tabbar>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted, onUnmounted, reactive } from "vue";
|
||||||
|
import tabbar from "@/components/mini/Tabbar.vue";
|
||||||
|
import Navbar from '@/components/mini/Navbar.vue'
|
||||||
|
|
||||||
|
const tabIndex = ref(0);
|
||||||
|
function tabChange(index) {
|
||||||
|
tabIndex.value = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => { });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
||||||
|
|
@ -9,7 +9,8 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="bannerContainer">
|
<view class="bannerContainer">
|
||||||
<u-swiper :list="bannerList" keyName="image" class="banner" radius="10" autoPlay interval="5000" img-mode="heightFix"></u-swiper>
|
<u-swiper :list="bannerList" keyName="image" class="banner" radius="10" autoPlay interval="5000"
|
||||||
|
img-mode="heightFix"></u-swiper>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="subscribe" v-show="subShow">
|
<view class="subscribe" v-show="subShow">
|
||||||
|
|
@ -146,7 +147,7 @@ const handleSwiperClick = () => {
|
||||||
|
|
||||||
.vipHeader {
|
.vipHeader {
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
background-image: url(@/assets/images/headerBg.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/headerBg.png);
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 32rpx 32rpx 6rpx 40rpx;
|
padding: 32rpx 32rpx 6rpx 40rpx;
|
||||||
|
|
@ -156,6 +157,7 @@ const handleSwiperClick = () => {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
@ -172,6 +174,7 @@ const handleSwiperClick = () => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
content: "";
|
content: "";
|
||||||
display: block;
|
display: block;
|
||||||
|
|
@ -186,6 +189,7 @@ const handleSwiperClick = () => {
|
||||||
z-index: 0;
|
z-index: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.banner {
|
.banner {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|
@ -235,17 +239,19 @@ const handleSwiperClick = () => {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-top: 60rpx;
|
margin-top: 60rpx;
|
||||||
padding: 0 9rpx;
|
padding: 0 9rpx;
|
||||||
|
|
||||||
.articleListHeader {
|
.articleListHeader {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-bottom: 21rpx;
|
padding-bottom: 21rpx;
|
||||||
|
|
||||||
.headerLeft {
|
.headerLeft {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
.articleListTitle {
|
.articleListTitle {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
|
||||||
|
|
@ -3,39 +3,19 @@
|
||||||
<view class="all">
|
<view class="all">
|
||||||
<view class="tabbar">
|
<view class="tabbar">
|
||||||
<view class="tabbar_item" @click="tabChange(0)">
|
<view class="tabbar_item" @click="tabChange(0)">
|
||||||
<image
|
<image v-if="tabIndex == 1" src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/home_icon_normal.png"
|
||||||
v-if="tabIndex == 1"
|
class="tabbar_img" />
|
||||||
src=" @/assets/zixun/home_icon_normal.png"
|
<image v-if="tabIndex == 0" src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/home_icon_press.png"
|
||||||
class="tabbar_img"
|
class="tabbar_img" />
|
||||||
/>
|
<text class="tabbar_title" :style="{ color: tabIndex == 0 ? '#3F80FA' : '#666666' }">首页</text>
|
||||||
<image
|
|
||||||
v-if="tabIndex == 0"
|
|
||||||
src=" @/assets/zixun/home_icon_press.png"
|
|
||||||
class="tabbar_img"
|
|
||||||
/>
|
|
||||||
<text
|
|
||||||
class="tabbar_title"
|
|
||||||
:style="{ color: tabIndex == 0 ? '#3F80FA' : '#666666' }"
|
|
||||||
>首页</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="tabbar_item" @click="tabChange(1)">
|
<view class="tabbar_item" @click="tabChange(1)">
|
||||||
<image
|
<image v-if="tabIndex == 0" src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/all_icon_normal.png"
|
||||||
v-if="tabIndex == 0"
|
class="tabbar_img" />
|
||||||
src=" @/assets/zixun/all_icon_normal.png"
|
<image v-if="tabIndex == 1" src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/all_icon_press.png"
|
||||||
class="tabbar_img"
|
class="tabbar_img" />
|
||||||
/>
|
<text class="tabbar_title" :style="{ color: tabIndex == 1 ? '#3F80FA' : '#666666' }">全部</text>
|
||||||
<image
|
|
||||||
v-if="tabIndex == 1"
|
|
||||||
src=" @/assets/zixun/all_icon_press.png"
|
|
||||||
class="tabbar_img"
|
|
||||||
/>
|
|
||||||
<text
|
|
||||||
class="tabbar_title"
|
|
||||||
:style="{ color: tabIndex == 1 ? '#3F80FA' : '#666666' }"
|
|
||||||
>全部</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -49,7 +29,7 @@ function tabChange(index) {
|
||||||
tabIndex.value = index;
|
tabIndex.value = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {});
|
onMounted(async () => { });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,12 @@
|
||||||
<view class="all">
|
<view class="all">
|
||||||
<!-- banner start -->
|
<!-- banner start -->
|
||||||
<view class="banner">
|
<view class="banner">
|
||||||
<img :src="bannerImg" class="banner_bk" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/banner_pic.png" class="banner_bk" />
|
||||||
<view class="r_banner_title">
|
<view class="r_banner_title">
|
||||||
<img :src="bannerTitle" class="banner_title" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/banner_title.png" class="banner_title" />
|
||||||
<text
|
<text>数据更新时间:{{
|
||||||
>数据更新时间:{{
|
dayjs(new Date().getTime()).format("YYYY-MM-DD")
|
||||||
dayjs(new Date().getTime()).format("YYYY-MM-DD")
|
}}</text>
|
||||||
}}</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- banner end -->
|
<!-- banner end -->
|
||||||
|
|
@ -18,50 +16,40 @@
|
||||||
<view class="">
|
<view class="">
|
||||||
<view class="tag">
|
<view class="tag">
|
||||||
<view class="r_tag_img">
|
<view class="r_tag_img">
|
||||||
<img :src="tagicon_1_bg" class="tag_bk" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_1_bg.png" class="tag_bk" />
|
||||||
<view class="tag_content">
|
<view class="tag_content">
|
||||||
<view class="tag_item_left">
|
<view class="tag_item_left">
|
||||||
<text class="tag_title">行业分类贴标</text>
|
<text class="tag_title">行业分类贴标</text>
|
||||||
|
|
||||||
<view style="display: flex; margin-top: 15rpx">
|
<view style="display: flex; margin-top: 15rpx">
|
||||||
<!-- <text class="tag_num">{{ topNum.leftNum }}</text> -->
|
<!-- <text class="tag_num">{{ topNum.leftNum }}</text> -->
|
||||||
<countTo
|
<countTo :startVal="lastLeftNum" :endVal="topNum.leftNum" :duration="5000" class="tag_num"></countTo>
|
||||||
:startVal="lastLeftNum"
|
|
||||||
:endVal="topNum.leftNum"
|
|
||||||
:duration="5000"
|
|
||||||
class="tag_num"
|
|
||||||
></countTo>
|
|
||||||
|
|
||||||
<text class="tag_status">已处理</text>
|
<text class="tag_status">已处理</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="tag_item_right">
|
<view class="tag_item_right">
|
||||||
<img :src="tagicon_1" class="tag_icon" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_1.png" class="tag_icon" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="r_tag_img">
|
<view class="r_tag_img">
|
||||||
<img :src="tagicon_2_bg" class="tag_bk" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_2_bg.png" class="tag_bk" />
|
||||||
<view class="tag_content">
|
<view class="tag_content">
|
||||||
<view class="tag_item_left">
|
<view class="tag_item_left">
|
||||||
<text class="tag_title">概念标签贴标</text>
|
<text class="tag_title">概念标签贴标</text>
|
||||||
<view style="display: flex; margin-top: 15rpx">
|
<view style="display: flex; margin-top: 15rpx">
|
||||||
<!-- <text class="tag_num">{{ topNum.rightNum }}</text> -->
|
<!-- <text class="tag_num">{{ topNum.rightNum }}</text> -->
|
||||||
<countTo
|
<countTo :startVal="lastRightNum" :endVal="topNum.rightNum" :duration="5000" class="tag_num"></countTo>
|
||||||
:startVal="lastRightNum"
|
|
||||||
:endVal="topNum.rightNum"
|
|
||||||
:duration="5000"
|
|
||||||
class="tag_num"
|
|
||||||
></countTo>
|
|
||||||
|
|
||||||
<text class="tag_status">已处理</text>
|
<text class="tag_status">已处理</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="tag_item_right">
|
<view class="tag_item_right">
|
||||||
<img :src="tagicon_2" class="tag_icon" />
|
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_2.png" class="tag_icon" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -72,16 +60,14 @@
|
||||||
<indexMenuTitle title="资讯评分分布区间"></indexMenuTitle>
|
<indexMenuTitle title="资讯评分分布区间"></indexMenuTitle>
|
||||||
<Line style="margin-top: 30rpx" :data="lineData"></Line>
|
<Line style="margin-top: 30rpx" :data="lineData"></Line>
|
||||||
|
|
||||||
<view
|
<view style="
|
||||||
style="
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-bottom: 30rpx;
|
padding-bottom: 30rpx;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<InfoSummary style="width: 85%" :count="newsNum"></InfoSummary>
|
<InfoSummary style="width: 85%" :count="newsNum"></InfoSummary>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -92,15 +78,13 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view style="background-color: white; margin-top: 40rpx">
|
<view style="background-color: white; margin-top: 40rpx">
|
||||||
<view
|
<view style="
|
||||||
style="
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-right: 30rpx;
|
padding-right: 30rpx;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<indexMenuTitle title="热门行业池 Top10"></indexMenuTitle>
|
<indexMenuTitle title="热门行业池 Top10"></indexMenuTitle>
|
||||||
<view style="display: flex; gap: 3rpx">
|
<view style="display: flex; gap: 3rpx">
|
||||||
<text class="view-all" @click="onViewAll(0)">查看全部</text>
|
<text class="view-all" @click="onViewAll(0)">查看全部</text>
|
||||||
|
|
@ -108,23 +92,17 @@
|
||||||
<u-icon size="12" name="arrow-right"></u-icon>
|
<u-icon size="12" name="arrow-right"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<HotIndustryList
|
<HotIndustryList :industryList="industryList" :type="0" @viewAll="handleViewAll" />
|
||||||
:industryList="industryList"
|
|
||||||
:type="0"
|
|
||||||
@viewAll="handleViewAll"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view style="background-color: white; margin-top: 40rpx">
|
<view style="background-color: white; margin-top: 40rpx">
|
||||||
<view
|
<view style="
|
||||||
style="
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-right: 30rpx;
|
padding-right: 30rpx;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<indexMenuTitle title="风口概念池 Top10"></indexMenuTitle>
|
<indexMenuTitle title="风口概念池 Top10"></indexMenuTitle>
|
||||||
<view style="display: flex; gap: 3rpx">
|
<view style="display: flex; gap: 3rpx">
|
||||||
<text class="view-all" @click="onViewAll(1)">查看全部</text>
|
<text class="view-all" @click="onViewAll(1)">查看全部</text>
|
||||||
|
|
@ -132,35 +110,26 @@
|
||||||
<u-icon size="12" name="arrow-right"></u-icon>
|
<u-icon size="12" name="arrow-right"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<HotIndustryList
|
<HotIndustryList :type="1" :industryList="topConceptList" @viewAll="handleViewAll" />
|
||||||
:type="1"
|
|
||||||
:industryList="topConceptList"
|
|
||||||
@viewAll="handleViewAll"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="logout" @click="loginOut" v-if="Session.get('token')"
|
<view class="logout" @click="loginOut" v-if="Session.get('token')">退出登录</view>
|
||||||
>退出登录</view
|
|
||||||
>
|
|
||||||
|
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onMounted, onUnmounted, reactive } from "vue";
|
import { ref, onMounted, onUnmounted, reactive } from "vue";
|
||||||
import Line from "@/components/charts/Line.vue";
|
import Line from "@/components/charts/Line.vue";
|
||||||
import bannerImg from "@/assets/zixun/banner_pic.png";
|
// import bannerImg from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/banner_pic.png";
|
||||||
import bannerTitle from "@/assets/zixun/banner_title.png";
|
// import bannerTitle from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/banner_title.png";
|
||||||
import tagicon_1_bg from "@/assets/zixun/tagicon_1_bg.png";
|
// import tagicon_1_bg from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_1_bg.png";
|
||||||
import tagicon_2_bg from "@/assets/zixun/tagicon_2_bg.png";
|
// import tagicon_2_bg from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_2_bg.png";
|
||||||
import tagicon_1 from "@/assets/zixun/tagicon_1.png";
|
// import tagicon_1 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_1.png";
|
||||||
import tagicon_2 from "@/assets/zixun/tagicon_2.png";
|
// import tagicon_2 from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/tagicon_2.png";
|
||||||
|
|
||||||
import LoginPopup from "@/components/loginPopup/index.vue";
|
import LoginPopup from "@/components/loginPopup/index.vue";
|
||||||
import { Session } from "@/utils/storage";
|
import { Session } from "@/utils/storage";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="page_top">
|
<view class="page_top">
|
||||||
<view class="r_menu">
|
<view class="r_menu">
|
||||||
<image src="@/assets/images/logo.png" class="logo"></image>
|
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/logo.png" class="logo"></image>
|
||||||
<view class="r_menu_item" @click="tabChange(1)">
|
<view class="r_menu_item" @click="tabChange(1)">
|
||||||
<text class="menu_item">资讯头条榜</text>
|
<text class="menu_item">资讯头条榜</text>
|
||||||
<view class="line" v-if="tabIndex == 1"></view>
|
<view class="line" v-if="tabIndex == 1"></view>
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,9 @@
|
||||||
<view class="pc_all">
|
<view class="pc_all">
|
||||||
<PageTop></PageTop>
|
<PageTop></PageTop>
|
||||||
|
|
||||||
<view
|
<view class="content" :style="{ filter: Session.get('token') ? '' : 'blur(5px)' }">
|
||||||
class="content"
|
|
||||||
:style="{ filter: Session.get('token') ? '' : 'blur(5px)' }"
|
|
||||||
>
|
|
||||||
<view class="top" @click="goBack">
|
<view class="top" @click="goBack">
|
||||||
<image src="@/assets/zixun/icon_fanhui.png" class="icon_back" />
|
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/icon_fanhui.png" class="icon_back" />
|
||||||
<text>返回列表</text>
|
<text>返回列表</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -28,58 +25,33 @@
|
||||||
|
|
||||||
<!-- 两个标签 start -->
|
<!-- 两个标签 start -->
|
||||||
<view class="r_tag_two">
|
<view class="r_tag_two">
|
||||||
<view
|
<view style="display: flex" v-if="infoData?.conceptLabels && infoData?.conceptLabels.length > 0">
|
||||||
style="display: flex"
|
|
||||||
v-if="infoData?.conceptLabels && infoData?.conceptLabels.length > 0"
|
|
||||||
>
|
|
||||||
<text class="tag_title">行业分类:</text>
|
<text class="tag_title">行业分类:</text>
|
||||||
<view class="r_tags">
|
<view class="r_tags">
|
||||||
<view
|
<view class="tag" style="background-color: #fff9ec; color: #ffb100"
|
||||||
class="tag"
|
v-for="(item, index) in infoData?.industryLabels" :key="index">{{ item }}</view>
|
||||||
style="background-color: #fff9ec; color: #ffb100"
|
|
||||||
v-for="(item, index) in infoData?.industryLabels"
|
|
||||||
:key="index"
|
|
||||||
>{{ item }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view
|
<view style="display: flex" v-if="infoData?.industryLabels && infoData?.industryLabels.length > 0">
|
||||||
style="display: flex"
|
|
||||||
v-if="infoData?.industryLabels && infoData?.industryLabels.length > 0"
|
|
||||||
>
|
|
||||||
<text class="tag_title">概念标签:</text>
|
<text class="tag_title">概念标签:</text>
|
||||||
<view class="r_tags">
|
<view class="r_tags">
|
||||||
<view
|
<view class="tag" style="background-color: #f5f8fe; color: #007aff"
|
||||||
class="tag"
|
v-for="(item, index) in infoData?.conceptLabels" :key="index">{{ item }}</view>
|
||||||
style="background-color: #f5f8fe; color: #007aff"
|
|
||||||
v-for="(item, index) in infoData?.conceptLabels"
|
|
||||||
:key="index"
|
|
||||||
>{{ item }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 两个标签 end -->
|
<!-- 两个标签 end -->
|
||||||
|
|
||||||
<view
|
<view class="text" v-html="infoData.content" style="white-space: pre-wrap">
|
||||||
class="text"
|
|
||||||
v-html="infoData.content"
|
|
||||||
style="white-space: pre-wrap"
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="text">
|
<!-- <view class="text">
|
||||||
<text >{{ infoData.content }}</text>
|
<text >{{ infoData.content }}</text>
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" mode="center" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
mode="center"
|
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,11 @@
|
||||||
<view class="pc_all">
|
<view class="pc_all">
|
||||||
<PageTop></PageTop>
|
<PageTop></PageTop>
|
||||||
|
|
||||||
<view
|
<view class="content" :style="{ filter: Session.get('token') ? '' : 'blur(5px)' }">
|
||||||
class="content"
|
|
||||||
:style="{ filter: Session.get('token') ? '' : 'blur(5px)' }"
|
|
||||||
>
|
|
||||||
<view class="top_title">
|
<view class="top_title">
|
||||||
<text class="pageTitle">资讯头条榜</text>
|
<text class="pageTitle">资讯头条榜</text>
|
||||||
<image src="@/assets/zixun/top20_icon.png" class="title_icon"></image>
|
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/top20_icon.png" class="title_icon">
|
||||||
|
</image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
|
|
@ -19,16 +17,8 @@
|
||||||
<view class="list_item_num num1" v-if="index < 3 && index == 0">{{
|
<view class="list_item_num num1" v-if="index < 3 && index == 0">{{
|
||||||
index + 1
|
index + 1
|
||||||
}}</view>
|
}}</view>
|
||||||
<view
|
<view class="list_item_num num2" v-else-if="index < 3 && index == 1">{{ index + 1 }}</view>
|
||||||
class="list_item_num num2"
|
<view class="list_item_num num3" v-else-if="index < 3 && index == 2">{{ index + 1 }}</view>
|
||||||
v-else-if="index < 3 && index == 1"
|
|
||||||
>{{ index + 1 }}</view
|
|
||||||
>
|
|
||||||
<view
|
|
||||||
class="list_item_num num3"
|
|
||||||
v-else-if="index < 3 && index == 2"
|
|
||||||
>{{ index + 1 }}</view
|
|
||||||
>
|
|
||||||
<view class="list_item_num nol_num" v-else>{{ index + 1 }}</view>
|
<view class="list_item_num nol_num" v-else>{{ index + 1 }}</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -52,13 +42,8 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" mode="center" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
mode="center"
|
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -186,6 +171,7 @@ const handlePopupErrorCallback = () => {
|
||||||
background: linear-gradient(169deg, #a9c3e3 0%, #92b2e0 100%);
|
background: linear-gradient(169deg, #a9c3e3 0%, #92b2e0 100%);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.num3 {
|
.num3 {
|
||||||
background: linear-gradient(169deg, #f2996e 0%, #f77741 100%);
|
background: linear-gradient(169deg, #f2996e 0%, #f77741 100%);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
@ -211,6 +197,7 @@ const handlePopupErrorCallback = () => {
|
||||||
.item_title:hover {
|
.item_title:hover {
|
||||||
color: #057cff;
|
color: #057cff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item_title {
|
.item_title {
|
||||||
font-family: PingFangSC, PingFang SC;
|
font-family: PingFangSC, PingFang SC;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
@ -233,6 +220,7 @@ const handlePopupErrorCallback = () => {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 30rpx;
|
margin-top: 30rpx;
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
.time {
|
.time {
|
||||||
font-family: PingFangSC, PingFang SC;
|
font-family: PingFangSC, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
|
||||||
|
|
@ -2,47 +2,26 @@
|
||||||
<view class="pc_all">
|
<view class="pc_all">
|
||||||
<PageTop></PageTop>
|
<PageTop></PageTop>
|
||||||
|
|
||||||
<view
|
<view class="content" :style="{ filter: Session.get('token') ? '' : 'blur(5px)' }">
|
||||||
class="content"
|
|
||||||
:style="{ filter: Session.get('token') ? '' : 'blur(5px)' }"
|
|
||||||
>
|
|
||||||
<view class="top_title">
|
<view class="top_title">
|
||||||
<text class="pageTitle" v-if="type == 2">热门行业</text>
|
<text class="pageTitle" v-if="type == 2">热门行业</text>
|
||||||
<text class="pageTitle" v-if="type == 3">风口概念</text>
|
<text class="pageTitle" v-if="type == 3">风口概念</text>
|
||||||
<image src="@/assets/zixun/top10_icon.png" class="title_icon"></image>
|
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/top10_icon.png" class="title_icon">
|
||||||
|
</image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view style="display: flex">
|
<view style="display: flex">
|
||||||
<view class="page_left">
|
<view class="page_left">
|
||||||
<view
|
<view v-for="(item, index) in tagList" :key="index" class="tag_item" :style="{
|
||||||
v-for="(item, index) in tagList"
|
backgroundColor: clickTagIndex == index ? '#007AFF' : '',
|
||||||
:key="index"
|
color: clickTagIndex == index ? '#fff' : '#000',
|
||||||
class="tag_item"
|
}" @mouseenter="handleMouseEnter(index)" @click="tagClick(item, index)">
|
||||||
:style="{
|
|
||||||
backgroundColor: clickTagIndex == index ? '#007AFF' : '',
|
|
||||||
color: clickTagIndex == index ? '#fff' : '#000',
|
|
||||||
}"
|
|
||||||
@mouseenter="handleMouseEnter(index)"
|
|
||||||
@click="tagClick(item, index)"
|
|
||||||
>
|
|
||||||
<view style="display: flex; align-items: center">
|
<view style="display: flex; align-items: center">
|
||||||
<!-- 左边数字 start -->
|
<!-- 左边数字 start -->
|
||||||
<view class="r_list_item_num">
|
<view class="r_list_item_num">
|
||||||
<view
|
<view class="list_item_num num1" v-if="index < 3 && index == 0">{{ index + 1 }}</view>
|
||||||
class="list_item_num num1"
|
<view class="list_item_num num2" v-else-if="index < 3 && index == 1">{{ index + 1 }}</view>
|
||||||
v-if="index < 3 && index == 0"
|
<view class="list_item_num num3" v-else-if="index < 3 && index == 2">{{ index + 1 }}</view>
|
||||||
>{{ index + 1 }}</view
|
|
||||||
>
|
|
||||||
<view
|
|
||||||
class="list_item_num num2"
|
|
||||||
v-else-if="index < 3 && index == 1"
|
|
||||||
>{{ index + 1 }}</view
|
|
||||||
>
|
|
||||||
<view
|
|
||||||
class="list_item_num num3"
|
|
||||||
v-else-if="index < 3 && index == 2"
|
|
||||||
>{{ index + 1 }}</view
|
|
||||||
>
|
|
||||||
<view class="list_item_num nol_num" v-else>{{
|
<view class="list_item_num nol_num" v-else>{{
|
||||||
index + 1
|
index + 1
|
||||||
}}</view>
|
}}</view>
|
||||||
|
|
@ -51,18 +30,10 @@
|
||||||
|
|
||||||
<text> {{ item.content }}</text>
|
<text> {{ item.content }}</text>
|
||||||
</view>
|
</view>
|
||||||
<image
|
<image v-if="clickTagIndex == index" class="tag_item_arrow"
|
||||||
v-if="clickTagIndex == index"
|
src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/chose-icon_white.png" mode="scaleToFill" />
|
||||||
class="tag_item_arrow"
|
<image v-if="clickTagIndex != index && tagHoverIndex == index" class="tag_item_arrow"
|
||||||
src="@/assets/zixun/chose-icon_white.png"
|
src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/chose_icon_black.png" mode="scaleToFill" />
|
||||||
mode="scaleToFill"
|
|
||||||
/>
|
|
||||||
<image
|
|
||||||
v-if="clickTagIndex != index && tagHoverIndex == index"
|
|
||||||
class="tag_item_arrow"
|
|
||||||
src="@/assets/zixun/chose_icon_black.png"
|
|
||||||
mode="scaleToFill"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="page_right">
|
<view class="page_right">
|
||||||
|
|
@ -91,13 +62,8 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<LoginPopup
|
<LoginPopup :show="LoginShow" mode="center" @handlePopupClose="handlePopupClose"
|
||||||
:show="LoginShow"
|
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
|
||||||
mode="center"
|
|
||||||
@handlePopupClose="handlePopupClose"
|
|
||||||
@handlePopupSuccessCallback="handlePopupSuccessCallback"
|
|
||||||
@handlePopupErrorCallback="handlePopupErrorCallback"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -285,6 +251,7 @@ const handlePopupErrorCallback = () => {
|
||||||
background: linear-gradient(169deg, #a9c3e3 0%, #92b2e0 100%);
|
background: linear-gradient(169deg, #a9c3e3 0%, #92b2e0 100%);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.num3 {
|
.num3 {
|
||||||
background: linear-gradient(169deg, #f2996e 0%, #f77741 100%);
|
background: linear-gradient(169deg, #f2996e 0%, #f77741 100%);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
|
@ -391,6 +358,7 @@ const handlePopupErrorCallback = () => {
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 30rpx;
|
margin-top: 30rpx;
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
.time {
|
.time {
|
||||||
font-family: PingFangSC, PingFang SC;
|
font-family: PingFangSC, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ const props = defineProps({
|
||||||
// 列表内容
|
// 列表内容
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {},
|
default: () => { },
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -134,8 +134,9 @@ const colList = ref([
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
.flashBack {
|
|
||||||
}
|
.flashBack {}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: var(--h1-font-size);
|
font-size: var(--h1-font-size);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
@ -152,6 +153,7 @@ const colList = ref([
|
||||||
padding: 10rpx 30rpx;
|
padding: 10rpx 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
|
|
||||||
.tabsItem {
|
.tabsItem {
|
||||||
font-size: var(--h4-font-size);
|
font-size: var(--h4-font-size);
|
||||||
color: #595959;
|
color: #595959;
|
||||||
|
|
@ -169,6 +171,7 @@ const colList = ref([
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.colListContainer {
|
.colListContainer {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 30rpx 0;
|
padding: 30rpx 0;
|
||||||
|
|
@ -180,6 +183,7 @@ const colList = ref([
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 21rpx;
|
margin-bottom: 21rpx;
|
||||||
|
|
||||||
.ItemLeft {
|
.ItemLeft {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 0rpx 27rpx;
|
padding: 0rpx 27rpx;
|
||||||
|
|
@ -204,25 +208,29 @@ const colList = ref([
|
||||||
// font-weight: bold;
|
// font-weight: bold;
|
||||||
margin-bottom: 12rpx;
|
margin-bottom: 12rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.colDesc {
|
.colDesc {
|
||||||
color: #333;
|
color: #333;
|
||||||
// font-size: 28rpx;
|
// font-size: 28rpx;
|
||||||
font-size: var(--h2-font-size);
|
font-size: var(--h2-font-size);
|
||||||
margin-bottom: 12rpx;
|
margin-bottom: 12rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.colValidTime {
|
.colValidTime {
|
||||||
// font-size: 20rpx;
|
// font-size: 20rpx;
|
||||||
font-size: var(--h6-font-size);
|
font-size: var(--h6-font-size);
|
||||||
color: rgba(51, 51, 51, 0.6);
|
color: rgba(51, 51, 51, 0.6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ItemRight {
|
.ItemRight {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.ItemVipCol {
|
.ItemVipCol {
|
||||||
width: 118rpx;
|
width: 118rpx;
|
||||||
height: 42rpx;
|
height: 42rpx;
|
||||||
background-image: url(@/assets/images/vipCol.png);
|
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vipCol.png);
|
||||||
margin-right: 21rpx;
|
margin-right: 21rpx;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue