Compare commits

..

No commits in common. "mini" and "master" have entirely different histories.
mini ... master

202 changed files with 1203 additions and 4543 deletions

View File

@ -5,7 +5,7 @@ ENV = development
# VITE_API_URL = http://123.60.153.169:8040/apih5
# VITE_API_URL = https://4155gf93ll13.vicp.fun/apih5
# VITE_API_URL = http://123.60.79.143:8041/apih5
# VITE_API_URL = http://192.168.3.38:8040/apih5
# VITE_API_URL =http://ukfba3.natappfree.cc/apih5
VITE_API_URL = https://cankao.cs.com.cn/apih5
VITE_API_DATAV_URL = https://cankao.cs.com.cn/zzck_datav

BIN
caokao-h5.zip Normal file

Binary file not shown.

View File

@ -1,22 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script>
var coverSupport =
"CSS" in window &&
typeof CSS.supports === "function" &&
(CSS.supports("top: env(a)") || CSS.supports("top: constant(a)"));
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ", viewport-fit=cover" : "") +
'" />'
);
</script>
<!-- <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> -->
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<!-- <script
<head>
<meta charset="UTF-8" />
<script>
var coverSupport =
"CSS" in window &&
typeof CSS.supports === "function" &&
(CSS.supports("top: env(a)") || CSS.supports("top: constant(a)"));
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ", viewport-fit=cover" : "") +
'" />'
);
</script>
<!-- <script
type="text/javascript"
src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"
></script>
@ -25,17 +23,16 @@
delete window.wx;
</script>
<script src="https://www.cs.com.cn/js/2020/jquery-3.4.1.min.js"></script> -->
<!-- <link rel="icon" href="/src/assets/favicon.ico" /> -->
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<!-- <link rel="icon" href="/src/assets/favicon.ico" /> -->
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/src/main.ts"></script>
<!-- <script type="text/javascript">
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/src/main.ts"></script>
<!-- <script type="text/javascript">
var link = location.href.split("#")[0];
console.log("🚀 ~ link:", link);
var link2 = location.href.split("#")[1];
@ -110,5 +107,6 @@
error: function (error) {},
});
</script> -->
</body>
</body>
</html>

7
package-lock.json generated
View File

@ -28,7 +28,6 @@
"echarts": "^5.6.0",
"js-cookie": "^3.0.5",
"js-md5": "^0.8.3",
"jweixin-module": "^1.6.0",
"pinia": "^2.0.36",
"qs": "^6.11.2",
"vue": "^3.2.45",
@ -9511,12 +9510,6 @@
"graceful-fs": "^4.1.6"
}
},
"node_modules/jweixin-module": {
"version": "1.6.0",
"resolved": "https://registry.npmmirror.com/jweixin-module/-/jweixin-module-1.6.0.tgz",
"integrity": "sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w==",
"license": "ISC"
},
"node_modules/kleur": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz",

View File

@ -2,10 +2,10 @@
"name": "uni-preset-vue",
"version": "0.0.1",
"scripts": {
"dev:mp-weixin": "uni -p mp-weixin",
"dev:h5": "uni",
"build:h5": "uni build",
"dev:h5:ssr": "uni --ssr",
"dev:mp-weixin": "uni -p mp-weixin",
"dev:mp-alipay": "uni -p mp-alipay",
"dev:app": "uni -p app",
"dev:app-android": "uni -p app-android",
@ -59,7 +59,6 @@
"echarts": "^5.6.0",
"js-cookie": "^3.0.5",
"js-md5": "^0.8.3",
"jweixin-module": "^1.6.0",
"pinia": "^2.0.36",
"qs": "^6.11.2",
"vue": "^3.2.45",

View File

@ -16,7 +16,6 @@ onHide(() => {
<style lang="scss">
/* 注意要写在第一行同时给style标签加入lang="scss"属性 */
@import "@/uni_modules/uview-plus/index.scss";
#app,
uni-app,
uni-page,

View File

@ -1,4 +1,4 @@
import request from "@/utils/index";
import request from "@/utils";
/**
*
@ -7,9 +7,10 @@ import request from "@/utils/index";
* @returns
*/
export const fetchArticleDetail = (data: any) => {
return request.get(`/news/detail/${data.id}?phone=${data?.phone || null}`);
return request.get(`/news/detail/${data.id}`);
};
/**
*
* @param data
@ -32,11 +33,10 @@ export const fetchArticleFavorate = (data: any) => {
// 热门行业
export const getListByTagIndustry = (data: any) => {
console.log("🚀 ~ getListByTagIndustry ~ data:", data);
return request.get("/news/list/industry", { name: data.name });
return request.get(`/news/list/industry?name=${data.name}`);
};
// 概念标签
export const getListByTag = (data: any) => {
return request.get("/news/list/tag", { name: data.name });
return request.get(`/news/list/tag?name=${data.name}`);
};

View File

@ -62,22 +62,3 @@ export const searchNews = (data: any) => {
return Request.post("/news/search", data);
};
// 微信授权
export const doWxAuth = (data: any) => {
return Request.post("/common/auth", data);
};
// 微信分享
export const doShare = (data: any) => {
return Request.post("/user/share", data);
};
// 国内资讯列表
export const getDomestic = (data: any) => {
return Request.get("/news/domestic", data);
};
// 国内资讯详情
export const getDomesticDetail = (data: any) => {
return Request.get(`/news/domestic/${data.id}`);
};

View File

@ -17,8 +17,7 @@ export const getConceptCount = (data: any) => {
// 概念标签贴标
export const getTopNews = (data: any) => {
// return request.get("/top_news_h5_d", data);
return request.get("/top_news_release_h5_d", data);
return request.get("/top_news_h5_d", data);
};
// 热门行业top10
@ -35,8 +34,3 @@ export const getTopConcept_d = (data: any) => {
export const getNews_cnt_d = (data: any) => {
return request.get("/news_cnt_d", data);
};
// 概念标签贴标
export const getTopNewsAll = (data: any) => {
return request.get("/top_news_release_h5_all", data);
};

Binary file not shown.

Binary file not shown.

15
src/assets/fonts/font.css Normal file
View File

@ -0,0 +1,15 @@
@font-face {
font-family: "SourceHanSansCN-Regular";
font-style: normal;
src: url("./PingFang_Medium.ttf") format("opentype");
}
@font-face {
font-family: "SourceHanSansCN-Medium";
font-style: normal;
src: url("./SourceHanSansCN-Medium.otf") format("opentype");
}
html,
body {
font-family: "SourceHanSansCN-Regular";
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

BIN
src/assets/images/arrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
src/assets/images/down.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

BIN
src/assets/images/fire.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

BIN
src/assets/images/flash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

BIN
src/assets/images/like.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
src/assets/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
src/assets/images/logo1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
src/assets/images/news.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 839 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

BIN
src/assets/images/radio.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

BIN
src/assets/images/share.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 B

BIN
src/assets/images/star.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
src/assets/images/time.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
src/assets/images/vip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,6 +1,11 @@
<template>
<view class="list">
<view v-for="(item, index) in props.data" :key="index" class="item">
<view
v-for="(item, index) in props.data"
:key="index"
class="item"
>
<!-- 标题 start -->
<!-- <text class="title" v-html="item.title">{{ item.title }}</text> -->
<text @click="handleClick(item)" class="title" v-html="item.MarkInRedTitle || item.title"></text>
@ -8,16 +13,20 @@
<!-- 内容 start -->
<view class="r_content">
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/static/icon_act_lt.png" class="title_icon">
</image>
<image src="@/static/icon_act_lt.png" class="title_icon"></image>
<text @click="handleClick(item)" class="content" v-html="item.MarkInRedContent || item.content"></text>
<!-- <text @click="handleClick(item)" class="content">{{ item.content }}</text> -->
<!-- 需要付费锁 start -->
<view class="need_login" v-if="item.needpay" @click="handleSubListItem(item)">
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/static/icon_lock.png" class="need_icon">
</image>
<image src="@/static/icon_lock.png" class="need_icon"></image>
<text>订阅后解锁全文</text>
<u-icon name="arrow-right" color="#fff" size="10" style="margin-left: 10rpx" bold></u-icon>
<u-icon
name="arrow-right"
color="#fff"
size="10"
style="margin-left: 10rpx"
bold
></u-icon>
</view>
<!-- 需要付费锁 end -->
</view>
@ -45,18 +54,18 @@ const props = defineProps({
//
data: {
type: Object,
default: () => { },
default: () => {},
},
});
console.log("props.data", props.data)
onBeforeMount(() => { });
onBeforeMount(() => {});
//
const handleSubListItem = (item) => {
// props.data.needpay = true;
// return () => {
// console.log("item ===>", item)
emit("handleSubListItem", item.id);
// console.log("item ===>", item)
emit("handleSubListItem", item.id);
// }
};

View File

@ -1,40 +1,75 @@
<template>
<view class="hot-industry-container">
<u-skeleton rows="5" title loading style="margin-bottom: 30rpx" v-if="loading"></u-skeleton>
<u-skeleton
rows="5"
title
loading
style="margin-bottom: 30rpx"
v-if="loading"
></u-skeleton>
<!-- 行业列表 -->
<view class="industry-list" v-else>
<view v-for="(item, index) in industryList" :key="index" class="industry-item" :style="getItemBgStyle(index)"
@click="goDetail(item, index)">
<view
v-for="(item, index) in industryList"
:key="index"
class="industry-item"
:style="getItemBgStyle(index)"
@click="goDetail(item, index)"
>
<!-- 这里预留图标位置可自行补充 <image :src="item.icon" class="industry-icon" /> -->
<view style="
<view
style="
position: absolute;
top: 0;
z-index: 999;
display: flex;
align-items: center;
height: 100%;
">
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_1_1.png" class="top3numbk"
v-if="index < 3 && index == 0" />
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_icon_2_2.png" class="top3numbk"
v-else-if="index < 3 && index == 1" />
<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_1_1.png"
class="top3numbk"
v-if="index < 3 && index == 0"
/>
<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="industry-name">{{ item.content }}</text>
</view>
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_bg_1.png" class="top3bk"
v-if="index < 3 && index == 0" />
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_bg_2.png" class="top3bk"
v-if="index < 3 && index == 1" />
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/ranking_bg_3.png" class="top3bk"
v-if="index < 3 && index == 2" />
<img
src="@/assets/zixun/ranking_bg_1.png"
class="top3bk"
v-if="index < 3 && index == 0"
/>
<img
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>
<LoginPopup :show="LoginShow" @handlePopupClose="handlePopupClose"
@handlePopupSuccessCallback="handlePopupSuccessCallback" @handlePopupErrorCallback="handlePopupErrorCallback" />
<LoginPopup
:show="LoginShow"
@handlePopupClose="handlePopupClose"
@handlePopupSuccessCallback="handlePopupSuccessCallback"
@handlePopupErrorCallback="handlePopupErrorCallback"
/>
</view>
</template>
@ -147,32 +182,27 @@ const handlePopupErrorCallback = () => {
.hot-industry-container {
padding: 10px;
}
.header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.title {
font-size: 16px;
font-weight: bold;
color: #333;
}
.view-all {
font-size: 14px;
color: #999;
text-decoration: underline;
}
.industry-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.industry-item {
display: flex;
align-items: center;
@ -180,13 +210,11 @@ const handlePopupErrorCallback = () => {
position: relative;
height: 74rpx;
}
.industry-icon {
width: 24px;
height: 24px;
margin-right: 8px;
}
.rank {
margin-left: 30rpx;
@ -199,7 +227,6 @@ const handlePopupErrorCallback = () => {
font-style: normal;
margin-right: 40rpx;
}
.industry-name {
font-family: PingFangSC, PingFang SC;
font-weight: 400;

View File

@ -4,10 +4,8 @@
<view class="homeTopContainer">
<!-- 搜索框 -->
<view class="sreach">
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/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" />
<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" />
</view>
<!-- 渐变的背景 -->
@ -17,7 +15,7 @@
<view class="headerBanner"> </view>
<!-- 搜索框 -->
<!-- <view class="sreach">
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/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" />
</view> -->
@ -26,7 +24,7 @@
<!-- <view class="r_tab">
<view v-for="(item, index) in colList" :key="item.id" class="tab_item" @click="handleTabsClick(item)">
<text :style="{ fontWeight: index == columnIndex ? 'bold' : '' }"> {{ item.name }}</text>
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/static/bk_tab.png" class="bk_tab" v-if="index == columnIndex"></image>
<image src="@/static/bk_tab.png" class="bk_tab" v-if="index == columnIndex"></image>
<view class="badge" v-if="isBadeg && index !== 1">
<u-badge value="new"></u-badge>
</view>
@ -68,8 +66,7 @@
</view>
<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>
@ -77,9 +74,7 @@
<u-overlay :show="overlayShow" zIndex="101" @click="overlayShow = false"></u-overlay>
<!-- <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>
</template>
@ -90,7 +85,7 @@ import KnowEarlier from "@/pages/knowEarlier/index.vue";
import WorldlyAffairs from "@/pages/worldlyAffairs/index.vue";
import { getNewsFast, checkNews, getNewsColumn, getNewsTag, getNewsList, unlockColumn } from "@/api";
import { Session } from "@/utils/storage";
import down from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/down.png";
import down from "@/assets/images/down.png";
import VipHeader from "./vipHeader";
import { scrollToTop, formatTime } from "@/utils/util.ts";
import { useShareStore } from "@/stores/shareStore";
@ -104,7 +99,7 @@ const props = defineProps({
},
columnState: {
type: Object,
default: () => { },
default: () => {},
},
});
@ -467,10 +462,8 @@ onUnmounted(() => {
background-color: #f6f6f6;
box-sizing: border-box;
overflow-y: auto;
.homeTopContainer {
position: relative;
.sreach {
width: 100%;
display: flex;
@ -478,19 +471,17 @@ onUnmounted(() => {
box-sizing: border-box;
padding: 20rpx 30rpx;
gap: 30rpx;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_search_bg.png);
background-image: url(@/assets/images/vip_header_search_bg.png);
background-size: cover;
position: fixed;
left: 0;
top: 0;
z-index: 2;
.sreach_icon {
width: 78rpx;
height: 60rpx;
margin-top: 3rpx;
}
.sreach_input {
background-color: #fff;
border-radius: 36rpx;
@ -509,7 +500,7 @@ onUnmounted(() => {
top: 0;
width: 100%;
height: 366rpx;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_content_bg.png);
background-image: url(@/assets/images/vip_header_content_bg.png);
background-size: cover;
margin-top: 100rpx;
}
@ -530,14 +521,12 @@ onUnmounted(() => {
box-sizing: border-box;
padding-top: 20rpx;
width: 100%;
.tabsList {
display: flex;
// background-color: aqua;
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
border-top-left-radius: 32rpx;
border-top-right-radius: 32rpx;
.tab_item {
width: 52%;
height: 126rpx;
@ -546,7 +535,6 @@ onUnmounted(() => {
box-sizing: border-box;
padding-top: 24rpx;
color: #fff;
&.active {
border-top-left-radius: 32rpx;
border-top-right-radius: 32rpx;
@ -566,7 +554,6 @@ onUnmounted(() => {
top: 0;
margin-top: 106rpx;
backdrop-filter: blur(60rpx);
// z-index: ;
.newsBg {
height: 79.52rpx;
@ -576,16 +563,14 @@ onUnmounted(() => {
position: absolute;
left: 0;
top: 0;
.newsFontBg {
width: 255.78rpx;
height: 79.52rpx;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/newFontBg.png);
background-image: url(@/assets/images/newFontBg.png);
background-size: cover;
}
}
.content {
.content{
max-height: calc(100vh - 300rpx);
// overflow-y: auto
// height: 100vh;
@ -595,7 +580,6 @@ onUnmounted(() => {
}
}
}
// .index-wrap {
// min-height: calc(100vh - 130rpx);
// background-color: #f6f6f6;
@ -654,57 +638,57 @@ onUnmounted(() => {
// }
// //
// .tabsListContainer {
// box-sizing: border-box;
// padding-right: 60rpx;
// padding-bottom: 12rpx;
// display: flex;
// overflow-x: auto;
// position: relative;
// // background-color: red;
// margin-top: 30rpx;
// .tabsListContainer {
// box-sizing: border-box;
// padding-right: 60rpx;
// padding-bottom: 12rpx;
// display: flex;
// overflow-x: auto;
// position: relative;
// // background-color: red;
// margin-top: 30rpx;
// .tabsList {
// display: flex;
// overflow-x: auto;
// .tabsList {
// display: flex;
// overflow-x: auto;
// .tabsItem {
// font-size: 12px;
// color: #595959;
// box-sizing: border-box;
// padding: 6rpx 20rpx;
// border: 1px solid #dbdbdb;
// margin-right: 21rpx;
// border-radius: 99rpx;
// flex-shrink: 0;
// .tabsItem {
// font-size: 12px;
// color: #595959;
// box-sizing: border-box;
// padding: 6rpx 20rpx;
// border: 1px solid #dbdbdb;
// margin-right: 21rpx;
// border-radius: 99rpx;
// flex-shrink: 0;
// &.active {
// background-color: rgba(255, 208, 212, 0.4);
// border-color: rgba(255, 208, 212, 0.4);
// color: #e7303f;
// }
// }
// }
// &.active {
// background-color: rgba(255, 208, 212, 0.4);
// border-color: rgba(255, 208, 212, 0.4);
// color: #e7303f;
// }
// }
// }
// .downContainer {
// position: absolute;
// right: 0;
// top: 50%;
// height: 40rpx;
// transform: translateY(-50%);
// background-color: #f6f6f6;
// padding: 3rpx 15rpx 15rpx 15rpx;
// display: flex;
// align-items: center;
// justify-content: center;
// background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/overlay_world.png);
// .downContainer {
// position: absolute;
// right: 0;
// top: 50%;
// height: 40rpx;
// transform: translateY(-50%);
// background-color: #f6f6f6;
// padding: 3rpx 15rpx 15rpx 15rpx;
// display: flex;
// align-items: center;
// justify-content: center;
// background-image: url(@/assets/images/overlay_world.png);
// .downPng {
// width: 30rpx;
// height: 30rpx;
// }
// }
// }
// .downPng {
// width: 30rpx;
// height: 30rpx;
// }
// }
// }
// .tabsPopup {
// width: 100%;
@ -905,4 +889,5 @@ onUnmounted(() => {
// position: absolute;
// width: 180rpx;
// height: 48rpx;
// }</style>
// }
</style>

View File

@ -2,22 +2,32 @@
<view class="index-wrap" @touchmove="handleScroll" @scroll.passive="getScroll($event)">
<!-- 搜索框 -->
<view :class="['sreach', overlayShow && 'searchIncreaseLevel']">
<image src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/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" />
<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"
/>
</view>
<!-- 渐变的背景 -->
<view :class="['vipContentBg', overlayShow && 'increaseLevel']"></view>
<!-- 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 -->
<u-sticky offset-top="0">
<view class="headerTabs">
<view class="tabsList">
<view v-for="(item, index) in colList" :key="item.id" :class="['tab_item', index == columnIndex && 'active']"
@click="handleTabsClick(item)">
<view
v-for="(item, index) in colList"
:key="item.id"
:class="['tab_item', index == columnIndex && 'active']"
@click="handleTabsClick(item)"
>
<view :class="['tab_item_icon', `tab_item_${item.id}`]"></view>
<view> {{ item.name }} </view>
</view>
@ -36,9 +46,13 @@
<view class="tabsPopupItem" v-for="item in sortTagsList" :key="item">
<view class="title">{{ item.name }}</view>
<view class="itemList">
<view v-for="(childItem, index) in item.children" :key="childItem.id"
<view
v-for="(childItem, index) in item.children"
:key="childItem.id"
:class="['tabsItem', { active: childItem.id == columnState.subColumn }]"
@click="handleClickSubColumn(childItem.id)">{{ childItem.name }}</view>
@click="handleClickSubColumn(childItem.id)"
>{{ childItem.name }}</view
>
</view>
</view>
</view>
@ -48,22 +62,28 @@
<u-sticky offset-top="51" zIndex="101">
<view class="contenttab">
<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>
</u-sticky>
<u-sticky offset-top="52" zIndex="102" v-if="!overlayShow && columnIndex === 1">
<view :style="{
// backdropFilter: showtabBg ? 'blur(60rpx)' : '',
height: showtabBg ? '100rpx' : '50rpx',
}" :class="['tabtop', showtabBg ? 'showbg' : '']">
<view
:style="{
// backdropFilter: showtabBg ? 'blur(60rpx)' : '',
height: showtabBg ? '100rpx' : '50rpx',
}"
:class="['tabtop', showtabBg ? 'showbg' : '']"
>
<view class="tabsListContainer" v-if="!overlayShow && columnIndex === 1">
<view class="tabList">
<view v-for="(item, index) in tagsList" :key="item.id"
<view
v-for="(item, index) in tagsList"
:key="item.id"
:class="['tabsItem', { active: item.id == columnState.subColumn }]"
@click="handleClickSubColumn(item.id)">{{ item.name }}</view>
@click="handleClickSubColumn(item.id)"
>{{ item.name }}</view
>
</view>
<view class="downContainer" @click="showTabsPopup" v-if="tagsList.length > 0">
<image :src="down" class="downPng" />
@ -90,12 +110,27 @@
<image :src="down" class="downPng" />
</view>
</view> -->
<KnowEarlier @handlePopupClose="handlePopupClose" @handleShowPay="handleShowPay"
@handleShareTip="handleShareTip" @handleUpdateData="handleUpdateData" :isNewFlash="isNewFlash"
: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" />
<KnowEarlier
@handlePopupClose="handlePopupClose"
@handleShowPay="handleShowPay"
@handleShareTip="handleShareTip"
@handleUpdateData="handleUpdateData"
:isNewFlash="isNewFlash"
: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>
@ -138,11 +173,11 @@ import KnowEarlier from "@/pages/knowEarlier/index.vue";
import WorldlyAffairs from "@/pages/worldlyAffairs/index.vue";
import { getNewsFast, checkNews, getNewsTag, getNewsList, unlockColumn } from "@/api";
import { Session } from "@/utils/storage";
import down from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/down.png";
import down from "@/assets/images/down.png";
import { scrollToTop, formatTime, jumpUrl } from "@/utils/util.ts";
import { useShareStore } from "@/stores/shareStore";
import { useTimerStore } from "@/stores/timerStore";
import shareImg from "https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/static/share-tips-img.png";
import shareImg from "@/static/share-tips-img.png";
import Pay from "@/components/pay/index.vue";
import LoginPopup from "@/components/loginPopup/index.vue";
const emit = defineEmits(["onChange"]);
@ -153,7 +188,7 @@ const props = defineProps({
},
columnState: {
type: Object,
default: () => { },
default: () => {},
},
});
const shareShow = ref(false);
@ -556,15 +591,12 @@ onUnmounted(() => {
background-color: #f6f6f6;
box-sizing: border-box;
overflow-y: auto;
.increaseLevel {
z-index: 103 !important;
}
.searchIncreaseLevel {
z-index: 104 !important;
}
//
.sreach {
width: 100%;
@ -573,7 +605,7 @@ onUnmounted(() => {
box-sizing: border-box;
padding: 20rpx 30rpx;
gap: 30rpx;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_search_bg.png);
background-image: url(@/assets/images/vip_header_search_bg.png);
background-size: cover;
position: fixed;
left: 0;
@ -585,7 +617,6 @@ onUnmounted(() => {
height: 60rpx;
margin-top: 3rpx;
}
.sreach_input {
background-color: #fff;
border-radius: 36rpx;
@ -597,7 +628,6 @@ onUnmounted(() => {
color: #717171 !important;
}
}
//
.vipContentBg {
position: fixed;
@ -605,12 +635,11 @@ onUnmounted(() => {
top: 0;
width: 100%;
height: 366rpx;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/vip_header_content_bg.png);
background-image: url(@/assets/images/vip_header_content_bg.png);
background-size: cover;
margin-top: 100rpx;
z-index: 101;
}
// banner
.headerBanner {
margin: 0rpx 26rpx;
@ -620,7 +649,7 @@ onUnmounted(() => {
top: 0;
margin-top: 116rpx;
z-index: 101;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/swiper_vip.png);
background-image: url(@/assets/images/swiper_vip.png);
background-size: contain;
background-position: center;
background-repeat: no-repeat;
@ -630,14 +659,12 @@ onUnmounted(() => {
box-sizing: border-box;
padding-top: 20rpx;
width: 100%;
.tabsList {
display: flex;
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
border-top-left-radius: 27rpx;
border-top-right-radius: 27rpx;
position: relative;
&::before {
content: "";
display: flex;
@ -649,7 +676,6 @@ onUnmounted(() => {
top: 0;
z-index: -1;
}
.tab_item {
width: 52%;
height: 86rpx;
@ -660,21 +686,19 @@ onUnmounted(() => {
// padding-top: 2rpx;
color: #fff;
font-family: "SourceHanSansCN-Medium";
&.active {
border-top-left-radius: 27rpx;
border-top-right-radius: 27rpx;
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);
position: relative;
&::after {
content: "";
display: flex;
width: 30rpx;
height: 25rpx;
// background-color: red;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/arrow.png);
background-image: url(@/assets/images/arrow.png);
position: absolute;
left: 50%;
bottom: 0;
@ -685,10 +709,8 @@ onUnmounted(() => {
background-repeat: no-repeat;
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);
}
.tab_item_icon {
width: 40rpx;
height: 40rpx;
@ -696,13 +718,11 @@ onUnmounted(() => {
background-size: contain;
background-position: center;
background-repeat: no-repeat;
&.tab_item_13 {
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_know.png);
background-image: url(@/assets/images/icon_know.png);
}
&.tab_item_14 {
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/icon_worldly.png);
background-image: url(@/assets/images/icon_worldly.png);
}
}
}
@ -711,7 +731,6 @@ onUnmounted(() => {
.contenttab {
position: relative;
&::before {
content: "";
display: flex;
@ -725,12 +744,10 @@ onUnmounted(() => {
z-index: 101;
backdrop-filter: blur(60rpx);
}
.tabsList {
display: flex;
background: linear-gradient(90deg, #ffc795 0%, #ffad9a 100%);
position: relative;
// z-index: ;
.tab_item {
width: 52%;
@ -750,7 +767,6 @@ onUnmounted(() => {
.Vipcontent {
position: relative;
box-sizing: border-box;
.content {
position: relative;
z-index: 101;
@ -770,7 +786,6 @@ onUnmounted(() => {
padding: 0 30rpx;
position: relative;
z-index: 101;
.tabList {
display: flex;
overflow-x: auto;
@ -805,7 +820,7 @@ onUnmounted(() => {
display: flex;
align-items: center;
justify-content: center;
background-image: url(https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/images/overlay_world.png);
background-image: url(@/assets/images/overlay_world.png);
.downPng {
width: 30rpx;
@ -825,11 +840,9 @@ onUnmounted(() => {
top: 0;
border-bottom-left-radius: 30rpx;
border-bottom-right-radius: 30rpx;
.popupContainer {
height: 300rpx;
overflow-y: auto;
.tabsPopupItem {
.title {
font-size: 32rpx;
@ -871,7 +884,6 @@ onUnmounted(() => {
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
z-index: 9999;
.img {
width: 100%;
height: 350rpx;

View File

@ -2,7 +2,7 @@
<view class="info-summary">
<view class="left">
<view style="display: flex; align-items: center; gap: 10rpx">
<img src="https://cankao.obs.cn-east-3.myhuaweicloud.com/mini/zixun/title_text.png" class="banner_title" />
<img src="@/assets/zixun/title_text.png" class="banner_title" />
<text class="date">({{ dayjs(new Date().getTime()).format("MM/DD") }})</text>
</view>

Some files were not shown because too many files have changed in this diff Show More