This commit is contained in:
zw199166
2026-01-23 17:20:44 +08:00
parent 9f1fd3ffe0
commit 30d2ec5823
493 changed files with 45879 additions and 10 deletions

View File

@@ -0,0 +1,406 @@
<template>
<view class="dateC">
<view class="yearMonthC flex">
<view class="btn" @click="clickPreMonth()">
<image class="icon" src="/static/icon/home/conceptCenter/pre.png" mode="widthFix"></image>
</view>
<view class="yearMonth flex1">
<picker mode="date" fields="month" @change="monthChange">
<view style="display: flex; align-items: center; justify-content: center;">
<image style="width: 26rpx; height: 26rpx; margin-right: 10rpx;"
src="/pagesStock/static/icon/all-icon-2.png" mode="widthFix"></image>
<view style="color: #2B2B2B; font-size: 32rpx; font-weight: bold;">{{selectDateStr}}</view>
</view>
</picker>
</view>
<view class="btn" @click="clickNextMonth()">
<image class="icon" src="/static/icon/home/conceptCenter/next.png" mode="widthFix"></image>
</view>
</view>
<view style="display: grid; grid-template-columns: repeat(7, 1fr); gap: 17rpx; margin: 20rpx 0;">
<view
style="display: flex; align-items: center; justify-content: center; font-size: 24rpx; color: #292621; font-weight: 500;"
v-for="(item,index) in weekList" :key="index">{{item}}</view>
</view>
<view class="monthDateList" style="display: grid; grid-template-columns: repeat(7, 1fr); gap: 17rpx;">
<view class="item" v-for="(item,index) in monthDateList[selectMonthIndex]" :key="index"
@click="clickSelectDate(item)">
<block v-if="item.date==selectDateStr">
<view
:class="'date select '+(item.avg_change_pct?(getRateUpOrDown(item.avg_change_pct)?'down':'up'):'')">
{{item.day}}
<view v-if="index % 7 == 0 || index % 7 == 6" style="color: #999999; font-size: 18rpx;">休市
</view>
<view v-else style="text-align: center;">
<view style="font-size: 18rpx;">66</view>
<view style="font-size: 16rpx;">商业航天</view>
</view>
</view>
</block>
<block v-else>
<block v-if="!item.isCurrentMonth">
<!-- <view class="date notCurrentMonth">{{item.day}}</view> -->
</block>
<block v-else>
<view
:class="'date '+(item.avg_change_pct?(getRateUpOrDown(item.avg_change_pct)?'down':'up'):'')">
<view :style="{color: (index % 7 == 0 || index % 7 == 6 ? '#999999' : '#2A2A2A')}">
{{item.day}}
</view>
<view v-if="index % 7 == 0 || index % 7 == 6" style="color: #999999; font-size: 18rpx;">休市
</view>
<view v-else style="text-align: center;">
<view style="font-size: 18rpx;">66</view>
<view style="font-size: 16rpx;">商业航天</view>
</view>
</view>
</block>
</block>
</view>
</view>
</view>
</template>
<script>
export default {
name: "LCCalendar",
data() {
return {
weekList: ['日', '一', '二', '三', '四', '五', '六'],
monthDateList: [],
selectMonthIndex: 0, //选中月份下标
selectMonth: '', //选中年月
selectDateStr: '', //选中日期
startDateStr: '', //开始日期
endDateStr: '', //结束日期
};
},
created() {
let currentDate = new Date();
// 获取当前年份
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = 20 * 12 + currentMonth - 1
this.selectMonth = currentYear + '年' + currentMonth + '月'
//开始日期默认为当前月份第一天
this.startDateStr = currentYear + '-' + (currentMonth > 9 ? currentMonth : ('0' + currentMonth)) + '-' + '01'
//结束日期默认为当前日期
this.endDateStr = this.selectDateStr = currentYear + '-' + (currentMonth > 9 ? currentMonth : ('0' +
currentMonth)) + '-' + (currentDay > 9 ? currentDay : ('0' + currentDay))
// this.getYesterdayDateData()
this.generateMonthDateListData()
console.log(JSON.stringify(this.monthDateList[0]));
},
methods: {
/**
* 获取当前时间前一天的数据
*/
getYesterdayDateData() {
let currentDate = new Date();
let selectDate = new Date(currentDate)
selectDate.setDate(selectDate.getDate() - 1)
let selectYear = selectDate.getFullYear();
let selectMonth = selectDate.getMonth() + 1;
let selectDay = selectDate.getDate();
this.selectDateStr = selectYear + '-' + (selectMonth > 9 ? selectMonth : ('0' + selectMonth)) + '-' + (
selectDay > 9 ? selectDay : ('0' + selectDay))
},
/**
* 生成日期数组
*/
generateMonthDateListData() {
let currentDate = new Date();
// 获取当前年份
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let monthDateList = []
for (var i = currentYear - 20; i < currentYear + 20; i++) {
for (var j = 0; j < 12; j++) {
let date = new Date(i, j + 1, 0)
let firstDayOfMonth = new Date(i, j + 1, 0);
firstDayOfMonth.setDate(1);
//获取当前月天数
let currentMonthDay = date.getDate()
let firstDayWeek = firstDayOfMonth.getDay() + 1
let daysOfMonth = []
for (var k = 1; k <= currentMonthDay; k++) {
let newDate = new Date(i, j + 1, 0)
newDate.setDate(k); // 设置日期为当前月的相应日期
let newMonth = newDate.getMonth() + 1
let newDay = newDate.getDate()
let time = newDate.getTime()
let date = i + '-' + (newMonth > 9 ? newMonth : ('0' + newMonth)) + '-' + (newDay > 9 ?
newDay : ('0' + newDay))
daysOfMonth.push({
date: date,
year: i,
month: newMonth,
day: newDay,
isToday: (i == currentYear && newMonth == currentMonth && newDay == currentDay) ?
true : false,
isCurrentMonth: true,
isLastDay: newDay == currentMonthDay ? true : false,
timestamp: time
});
}
for (var k = 0; k < firstDayWeek - 1; k++) {
//获取上月天数
let year = i
let month = j
if (j < 1) {
year = i - 1
month = 12
}
let lastMonthDay = new Date(year, month, 0).getDate()
//获取上月日期
let newDate = new Date(year, month - 1, lastMonthDay - k)
let newMonth = newDate.getMonth() + 1
let newDay = newDate.getDate()
let time = newDate.getTime()
let date = year + '-' + (newMonth > 9 ? newMonth : ('0' + newMonth)) + '-' + (newDay > 9 ?
newDay : ('0' + newDay))
daysOfMonth.unshift({
date: date,
year: year,
month: newMonth,
day: newDay,
isToday: false,
isCurrentMonth: false,
isLastDay: false,
timestamp: time
});
}
// 下一个月的第一天
let nextMonthFirstDay = new Date(i, j + 1, 1);
// 然后减去一天就是当前月的最后一天
let lastDayOfMonth = new Date(nextMonthFirstDay - (24 * 60 * 60 * 1000)); // 减去一天的毫秒数
let lastDayWeek = lastDayOfMonth.getDay() + 1; // 返回0星期天到6星期六
for (var k = 1; k < 8 - lastDayWeek; k++) {
let year = i
let month = j
if (month > 11) {
month = 0
year++
}
//获取下月日期
let newDate = new Date(year, month + 1, k)
let newMonth = newDate.getMonth() + 1
let newDay = newDate.getDate()
let time = newDate.getTime()
let date = year + '-' + (newMonth > 9 ? newMonth : ('0' + newMonth)) + '-' + (newDay > 9 ?
newDay : ('0' + newDay))
daysOfMonth.push({
date: date,
year: year,
month: newMonth,
day: newDay,
isToday: false,
isCurrentMonth: false,
isLastDay: false,
timestamp: time
});
}
monthDateList.push(daysOfMonth)
}
}
this.monthDateList = monthDateList
},
/**
* 点击上个月
*/
clickPreMonth() {
if (this.selectMonthIndex > 0) {
this.selectMonthIndex--
let monthList = this.monthDateList[this.selectMonthIndex]
let year = ''
let month = ''
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year
month = item.month
break
}
}
let lastDay = ''
for (let item of monthList) {
if (item.isLastDay) {
lastDay = item.day
break
}
}
this.selectMonth = year + '年' + month + '月'
this.startDateStr = year + '-' + (month > 9 ? month : ('0' + month)) + '-' + '01'
this.endDateStr = year + '-' + (month > 9 ? month : ('0' + month)) + '-' + lastDay
console.log('点击上个月');
}
},
/**
* 点击下个月
*/
clickNextMonth() {
if (this.selectMonthIndex < this.monthDateList.length - 1) {
this.selectMonthIndex++
let monthList = this.monthDateList[this.selectMonthIndex]
let year = ''
let month = ''
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year
month = item.month
break
}
}
let lastDay = ''
for (let item of monthList) {
if (item.isLastDay) {
lastDay = item.day
break
}
}
this.selectMonth = year + '年' + month + '月'
this.startDateStr = year + '-' + (month > 9 ? month : ('0' + month)) + '-' + '01'
this.endDateStr = year + '-' + (month > 9 ? month : ('0' + month)) + '-' + lastDay
console.log('点击下个月');
}
},
monthChange(e) {
let currentDate = new Date();
//当前年份
let currentYear = currentDate.getFullYear()
//选中年月
let yearMonth = e.detail.value
let selectYear = parseInt(yearMonth.split('-')[0])
let selectMonth = parseInt(yearMonth.split('-')[1])
this.selectMonthIndex = (selectYear - (currentYear - 20)) * 12 + selectMonth - 1
this.selectMonth = selectYear + '年' + selectMonth + '月'
this.startDateStr = selectYear + '-' + (selectMonth > 9 ? selectMonth : ('0' + selectMonth)) + '-' + '01'
let lastDayOfMonth = new Date(selectYear, selectMonth, 0);
this.endDateStr = selectYear + '-' + (selectMonth > 9 ? selectMonth : ('0' + selectMonth)) + '-' +
lastDayOfMonth.getDate()
console.log('月份变更');
},
/**
* 点击选择开始日期和结束日期
* @param {Object} item
*/
clickSelectDate(item) {
if (!item.isCurrentMonth) return
if (this.selectDateStr != item.date) {
this.selectDateStr = item.date
this.chgStockData = item
console.log('点击某天');
}
}
}
}
</script>
<style lang="less">
.dateC {
background-color: white;
box-shadow: 0 5rpx 10rpx 0 rgba(127, 127, 127, 0.1);
box-sizing: border-box;
.yearMonthC {
// background-color: #F7F7F7;
height: 70rpx;
border-radius: 35rpx;
.btn {
padding: 0 32rpx;
.icon {
width: 13rpx;
height: auto;
}
}
.yearMonth {
font-size: 32rpx;
font-weight: 500;
color: #070707;
text-align: center;
}
}
.weekList {
.item {
line-height: 72rpx;
font-size: 26rpx;
font-weight: 500;
color: #A7A7A7;
text-align: center;
}
}
.monthDateList {
.item {
.date {
background-color: #f8f8f8;
padding: 10rpx 0;
border-radius: 10rpx;
font-size: 26rpx;
font-weight: bold;
color: #2A2A2A;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
height: 100%;
.chg {
font-size: 18rpx;
}
.chg.up {
color: #EC3440;
}
.chg.down {
color: #38A169;
}
}
.date.up {
background-color: #FFD6D9;
}
.date.down {
background-color: #CEF1DE;
}
.date.select.up {
background-color: #EC3440;
color: white;
.chg {
color: white;
}
}
.date.select.down {
background-color: #38A169;
color: white;
.chg {
color: white;
}
}
.date.notCurrentMonth {
background-color: #FCFCFC;
color: #999;
}
}
}
}
</style>

View File

@@ -22,12 +22,6 @@ Component({
"text": "新闻动量", "text": "新闻动量",
"iconPath": "/static/icon/tabbar/home.png", "iconPath": "/static/icon/tabbar/home.png",
"selectedIconPath": "/static/icon/tabbar/home_s.png" "selectedIconPath": "/static/icon/tabbar/home_s.png"
},
{
"pagePath": "/pages/invest/invest",
"text": "投资日历",
"iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png"
}, },
{ {
"pagePath": "/pages/concept/concept", "pagePath": "/pages/concept/concept",
@@ -35,6 +29,18 @@ Component({
"iconPath": "/static/icon/tabbar/concept.png", "iconPath": "/static/icon/tabbar/concept.png",
"selectedIconPath": "/static/icon/tabbar/concept_s.png" "selectedIconPath": "/static/icon/tabbar/concept_s.png"
}, },
{
"pagePath": "/pages/geGuCenter/geGuCenter",
"text": "个股中心",
"iconPath": "/static/icon/tabbar/gegu.png",
"selectedIconPath": "/static/icon/tabbar/gegu_s.png"
},
{
"pagePath": "/pages/ztfx/ztfx",
"text": "涨停分析",
"iconPath": "/static/icon/tabbar/zt.png",
"selectedIconPath": "/static/icon/tabbar/zt_s.png"
},
{ {
"pagePath": "/pages/mine/mine", "pagePath": "/pages/mine/mine",
"text": "个人中心", "text": "个人中心",

View File

@@ -144,6 +144,24 @@
"style": { "style": {
"navigationBarTitleText": "" "navigationBarTitleText": ""
} }
},
{
"path": "pages/stockCenterDetails/stockCenterDetails",
"style": {
"navigationBarTitleText": "概念中心"
}
},
{
"path": "pages/geGuCenter/geGuCenter",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/ztfx/ztfx",
"style": {
"navigationBarTitleText": "涨停分析"
}
} }
], ],
"subPackages": [ "subPackages": [
@@ -181,6 +199,18 @@
"style": { "style": {
"navigationBarTitleText": "" "navigationBarTitleText": ""
} }
},
{
"path": "stockCenterDetails/ztfx",
"style": {
"navigationBarTitleText": "涨停分析"
}
},
{
"path": "stockCenterDetails/bkydmx",
"style": {
"navigationBarTitleText": "板块异动明细"
}
} }
] ]
} }
@@ -202,13 +232,19 @@
"iconPath": "/static/icon/tabbar/invest.png", "iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png", "selectedIconPath": "/static/icon/tabbar/invest_s.png",
"text": "投资", "text": "投资",
"pagePath": "pages/invest/invest" "pagePath": "pages/concept/concept"
},
{
"iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
"text": "个股中心",
"pagePath": "pages/geGuCenter/geGuCenter"
}, },
{ {
"iconPath": "/static/icon/tabbar/invest.png", "iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png", "selectedIconPath": "/static/icon/tabbar/invest_s.png",
"text": "投资", "text": "投资",
"pagePath": "pages/concept/concept" "pagePath": "pages/ztfx/ztfx"
}, },
{ {
"iconPath": "/static/icon/tabbar/mine.png", "iconPath": "/static/icon/tabbar/mine.png",

View File

@@ -0,0 +1,52 @@
<template>
<view>
<navBar leftText="个股中心" hideNavBg hideBack></navBar>
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
<scroll-view scroll-y class="stockDetailsC fixed" :style="'top:'+contentTop+'px;'">
</scroll-view>
</view>
</template>
<script>
import {
inject
} from 'vue'
export default {
data() {
return {
navH: inject('navHeight'),
contentTop: '',
}
},
onLoad(e) {
this.activeIndex = e.index
this.contentTop = this.navH + 20 / 750 * inject('windowWidth')
},
methods: {
}
}
</script>
<style lang="less">
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.stockDetailsC {
left: 0;
right: 0;
bottom: calc(55px + env(safe-area-inset-bottom));
}
</style>

File diff suppressed because it is too large Load Diff

289
pages/ztfx/ztfx.vue Normal file
View File

@@ -0,0 +1,289 @@
<template>
<view>
<navBar leftText="涨停分析" hideNavBg hideBack></navBar>
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
<scroll-view scroll-y class="stockDetailsC fixed" :style="'top:'+contentTop+'px;'">
<view style="color: white; font-weight: 500; display: flex; align-items: center; margin: 35rpx 25rpx;">
<image style="width: 40rpx; height: 40rpx;" src="/pagesStock/static/icon/ai-icon.png" mode="widthFix">
</image>
<text style="font-size: 36rpx; margin-left: 10rpx; margin-right: 20rpx;">AI总结</text>
<text style="font-size: 28rpx;">市场情绪温和主线题材存储芯片</text>
</view>
<view style="background-color: white; border-radius: 10rpx; overflow: hidden; margin: 25rpx;">
<view
style="color: #2B2B2B; font-weight: 500; display: flex; align-items: center; margin: 25rpx 20rpx;">
<image style="width: 40rpx; height: 40rpx;" src="/pagesStock/static/icon/ai-icon-1.png"
mode="widthFix"></image>
<text
style="font-size: 30rpx; font-weight: bold; margin-left: 10rpx; margin-right: 20rpx;">核心指标</text>
</view>
<view style="display: grid; gap: 15rpx; grid-template-columns: repeat(3, 1fr); margin: 20rpx;">
<view v-for="(item,index) in tabTypes" :key="index"
style="display: flex; align-items: center; justify-content: center; flex-direction: column; background-color: #FFF8F0; border: 1rpx solid #F59B38; border-radius: 5rpx; padding: 20rpx; box-sizing: border-box;">
<view style="display: flex;align-items: center;justify-content: center;">
<view style="color: #F59B38; font-size: 30rpx;">{{item.data}}</view>
<view v-if="item.change > 0"
style="margin-left: 10rpx; background-color: #F59B38; border-radius: 5rpx; color: white; padding: 0 5rpx; font-size: 24rpx; font-weight: bold;">
+{{item.change}}</view>
</view>
<view style="color: #555555; font-size: 20rpx; margin-top: 5rpx;">{{item.title}}</view>
</view>
</view>
<view style="margin: 25rpx;">
<LCCalendar></LCCalendar>
</view>
<view style="color: #2B2B2B; font-weight: 500; display: flex; margin: 25rpx 20rpx;">
<image style="width: 40rpx; height: 42rpx;" src="/pagesStock/static/icon/all-icon-3.png"
mode="widthFix"></image>
<view style="margin-left: 10rpx;">
<view style="font-size: 30rpx; font-weight: bold;">市场全景</view>
<view style="font-size: 24rpx; font-weight: 500; margin-top: 10rpx;">
<text
style="color: #F3C368; border: 1rpx solid #F3C368; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">35个板块</text>
<text
style="color: #EC3440; border: 1rpx solid #EC3440; border-radius: 5rpx; text-align: center; padding: 0 10rpx; margin: 0 10rpx;">102只涨停</text>
<text
style="color: #F59B38; border: 1rpx solid #F59B38; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">高位股风险:
</text>
</view>
</view>
</view>
<view
style="background-color: #FAFAFC; border-radius: 10rpx; padding: 30rpx 20rpx; box-sizing: border-box; margin: 25rpx;">
<view style="display: flex; align-items: center; font-size: 22rpx; font-weight: 500;">
<view style="flex: 1; color: #2B2B2B; font-weight: bold; font-size: 28rpx;">板块热力图</view>
<view style="color: #EF4444; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #EF4444; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>高热度
</view>
<view style="color: #F97316; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #F97316; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>中热度
</view>
<view style="color: #F3B800; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #F3B800; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>低热度
</view>
<view style="color: #01AB5D; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #01AB5D; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>冷门
</view>
</view>
<view style="display: grid; grid-template-columns: repeat(4, 1fr); gap: 7rpx; margin-top: 25rpx;">
<view v-for="(item, index) in bkList" :key="index" @click="bkydAction(index)"
style="background-color: #EF4444; border-radius: 5rpx; padding: 15rpx; color: white; font-size: 24rpx; font-weight: 500;">
<view>{{item.title}}</view>
<view style="font-size: 22rpx;">{{item.count}}</view>
</view>
</view>
</view>
<view
style="margin: 25rpx; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20rpx; color: #999999; font-size: 22rpx; font-weight: 500;">
<view v-for="(item, index) in bkTypes"
style="display: flex; align-items: center; justify-content: center; padding: 10rpx 20rpx;"
:style="{color: (index == 0 ? '#BB8520' : '#999999'), border: `1rpx solid ${index == 0 ? '#F2C369' : '#D2D2D2'}`, 'background-color' : (index == 0 ? '#FFFAF1' : '#FFF')}">
{{item}}
</view>
</view>
<view
style="height: 400rpx; display: flex; align-items: center; justify-content: center; background-color: blue;">
词云图占位 </view>
<view style="color: #2B2B2B; font-weight: 500; display: flex; margin: 25rpx 20rpx;">
<image style="width: 40rpx; height: 42rpx;" src="/pagesStock/static/icon/all-icon-3.png"
mode="widthFix"></image>
<view style="margin-left: 10rpx;">
<view style="font-size: 30rpx; font-weight: bold;">高位股统计</view>
<view style="font-size: 24rpx; font-weight: 500; margin-top: 10rpx;">
<text
style="color: #F3C368; border: 1rpx solid #F3C368; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">高位股10只</text>
<text
style="color: #EC3440; border: 1rpx solid #EC3440; border-radius: 5rpx; text-align: center; padding: 0 10rpx; margin: 0 10rpx;">平均3.7</text>
<text
style="color: #F59B38; border: 1rpx solid #F59B38; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">最高9版</text>
<text
style="color: #FFF; background-color: #F59B38; border-radius: 5rpx; text-align: center; padding: 0 10rpx; margin-left: 10rpx;">中风险</text>
</view>
</view>
</view>
<view v-for="(item,index) in 10" :key="index"
style="background-color: #FAFAFC; border-radius: 10rpx; padding: 15rpx 20rpx; display: flex; align-items: center; margin: 10rpx 25rpx;">
<view style="flex: 1;">
<view style="color: #2B2B2B; font-weight: bold; font-size: 26rpx;">博菲电气</view>
<view style="color: #999999; font-weight: 500; font-size: 24rpx; margin-top: 5rpx;">(销量一字,高风险)
</view>
</view>
<view
style="display: flex; align-items: center; justify-content: center; padding: 4rpx 10rpx; background-color: #FFECEC; border-radius: 5rpx; border: 1rpx solid #EF4444; color: #EF4444; font-size: 20rpx; font-weight: 400; margin: 0 10rpx;">
<image style="width: 15rpx; height: 17rpx; margin-right: 10rpx;"
src="/pagesStock/static/icon/all-icon-4.png" mode="widthFix"></image>
<view>9连板</view>
</view>
<image style="width: 27rpx; height: 25rpx;" src="/pagesStock/static/icon/all-icon-5.png"
mode="widthFix"></image>
</view>
<view
style="margin: 20rpx 30rpx; color: #EF4444; font-size: 24rpx; font-weight: 500; display: flex; align-items: center;">
<image style="width: 27rpx; height: 25rpx; margin-right: 10rpx;"
src="/pagesStock/static/icon/all-icon-5.png" mode="widthFix"></image>
<text>高位股风险较高追涨需谨慎</text>
</view>
</view>
</scroll-view>
</view>
</template>
<script>
import {
inject
} from 'vue'
export default {
data() {
return {
navH: inject('navHeight'),
contentTop: '',
tabTypes: [{
data: '1月14日',
change: 0,
title: '当前日期'
},
{
data: '102',
change: 3,
title: '涨停家数'
},
{
data: '22%',
change: 0,
title: '炸板率'
}
],
bkList: [{
title: '存储芯片',
count: 8
}, {
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
}
],
bkTypes: [
'板块关联图',
'板块分布',
'热门概念词云'
]
}
},
onLoad(e) {
this.activeIndex = e.index
this.contentTop = this.navH + 20 / 750 * inject('windowWidth')
},
methods: {
bkydAction(index) {
uni.navigateTo({
url: `/pagesStock/stockCenterDetails/bkydmx?index=${index}`
})
}
}
}
</script>
<style lang="less">
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.stockDetailsC {
left: 0;
right: 0;
bottom: calc(55px + env(safe-area-inset-bottom));
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,178 @@
<template>
<view>
<navBar leftText="板块异动明细" :hideNavBg="true"></navBar>
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
<view class="stockDetailsC fixed" style="background-color: white; border-radius: 10rpx; overflow: hidden; margin: 25rpx;" :style="'top:'+contentTop+'px;'">
<view style="height: 86rpx;">
<scroll-view scroll-x style="white-space: nowrap; height: 100%;">
<view style="display: flex; align-items: center; height: 100%; font-weight: 500;">
<view @click="activeIndex = index" v-for="(item,index) in bkList" :key="index" style="display: flex; align-items: center; justify-content: center; line-height: 85rpx; margin: 0 20rpx;" :style="{color: (activeIndex == index ? '#2B2B2B' : '#999999'), 'border-bottom': (activeIndex == index ? '1rpx solid #F2C369' : 'none'), 'font-size' : (activeIndex == index ? '28rpx' : '26rpx')}">
{{item.title}}
</view>
</view>
</scroll-view>
</view>
<view style="height: 1rpx; background-color: #E7E7E7; margin: 0 20rpx;"></view>
<view style="height: 48rpx; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10rpx; margin: 23rpx 40rpx;">
<view @click="filterIndex = index" style="height: 45rpx; display: flex; align-items: center; justify-content: center; color: #939393; font-size: 24rpx; font-weight: 500; border-radius: 5rpx;" :style="{color: (filterIndex == index ? '#070707' : '#939393'), 'border': (filterIndex == index ? '1rpx solid #F2C369' : '1rpx solid #E5E5E5'), 'background-color' : (filterIndex == index ? '#F2C369' : '#fff')}" v-for="(item,index) in bkFilters" :key="index">
{{item}}
</view>
</view>
<view style="margin: 0 20rpx; background-color: #FAFAFC; display: grid; grid-template-columns: 35% 20% 20% 25%;">
<view v-for="(item,index) in ['名称', '涨幅', '连板', '板块']" :key="index" style="font-size: 22rpx; color: #666666; padding: 0 15rpx; box-sizing: border-box; font-weight: 500; line-height: 60rpx;" :style="{'text-align' : index == 0 ? 'left' : 'center'}">
{{item}}
</view>
</view>
<scroll-view scroll-y style="position: absolute; top: 241rpx; left: 0; right: 0; bottom: 0; font-size: 20rpx; font-weight: 500;">
<view v-for="(item, index) in 30" style="margin: 0 20rpx; display: grid; grid-template-columns: 35% 20% 20% 25%;" :style="{'background-color': (index % 2 == 0 ? '#fff' : '#FAFAFC')}">
<view style="display: flex; align-items: center; color: #666666; height: 60rpx;">
<view style="display: flex; align-items: center; background-color: #FFF0E6; border-radius: 5rpx; padding: 0 10rpx; margin-left: 14rpx;">
<image style="width: 15rpx; height: 17rpx;" src="/pagesStock/static/icon/all-icon-4.png" mode="widthFix"></image>
<view style="color: #F97316; margin-left: 5rpx;">跟风</view>
</view>
<view style="margin-left: 10rpx;">康强电子</view>
</view>
<view style="display: flex; align-items: center; justify-content: center;">
<view style="font-size: 24rpx; color: #EC3440; font-weight: bold;">+10.00%</view>
</view>
<view style="display: flex; align-items: center; justify-content: center;">
<view style="color: #F3B800; padding: 0 10rpx; border-radius: 5rpx; background-color: #FFF9E6; border: 1rpx solid #F3B800; display: flex; align-items: center; justify-content: center;">2连板</view>
</view>
<view style="display: flex; align-items: center; justify-content: center;">
<view style="background-color: #F4EFFF; border-radius: 5rpx; padding: 0 10rpx; color: #8B5CF6;">芯片(封装材料)</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import {
inject
} from 'vue'
export default {
data() {
return {
navH: inject('navHeight'),
contentTop: '',
activeIndex: 0,
bkList: [{
title: '存储芯片',
count: 8
}, {
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
}
],
bkFilters: [
'按涨幅',
'按连板数',
'只看龙头'
],
filterIndex: 0
}
},
onLoad(e) {
this.activeIndex = e.index
this.contentTop = this.navH + 20 / 750 * inject('windowWidth')
},
methods: {
}
}
</script>
<style lang="less">
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.stockDetailsC {
left: 0;
right: 0;
bottom: env(safe-area-inset-bottom);
}
</style>

View File

@@ -0,0 +1,297 @@
<template>
<view>
<navBar leftText="涨停分析" :hideNavBg="true"></navBar>
<image class="topBg absolute" src="/static/image/index/conceptTopBg.png" mode="widthFix"></image>
<scroll-view scroll-y class="stockDetailsC fixed" :style="'top:'+contentTop+'px;'">
<view style="color: white; font-weight: 500; display: flex; align-items: center; margin: 35rpx 25rpx;">
<image style="width: 40rpx; height: 40rpx;" src="/pagesStock/static/icon/ai-icon.png" mode="widthFix">
</image>
<text style="font-size: 36rpx; margin-left: 10rpx; margin-right: 20rpx;">AI总结</text>
<text style="font-size: 28rpx;">市场情绪温和主线题材存储芯片</text>
</view>
<view style="background-color: white; border-radius: 10rpx; overflow: hidden; margin: 25rpx;">
<view
style="color: #2B2B2B; font-weight: 500; display: flex; align-items: center; margin: 25rpx 20rpx;">
<image style="width: 40rpx; height: 40rpx;" src="/pagesStock/static/icon/ai-icon-1.png"
mode="widthFix"></image>
<text
style="font-size: 30rpx; font-weight: bold; margin-left: 10rpx; margin-right: 20rpx;">核心指标</text>
</view>
<view style="display: grid; gap: 15rpx; grid-template-columns: repeat(3, 1fr); margin: 20rpx;">
<view v-for="(item,index) in tabTypes" :key="index"
style="display: flex; align-items: center; justify-content: center; flex-direction: column; background-color: #FFF8F0; border: 1rpx solid #F59B38; border-radius: 5rpx; padding: 20rpx; box-sizing: border-box;">
<view style="display: flex;align-items: center;justify-content: center;">
<view style="color: #F59B38; font-size: 30rpx;">{{item.data}}</view>
<view v-if="item.change > 0"
style="margin-left: 10rpx; background-color: #F59B38; border-radius: 5rpx; color: white; padding: 0 5rpx; font-size: 24rpx; font-weight: bold;">
+{{item.change}}</view>
</view>
<view style="color: #555555; font-size: 20rpx; margin-top: 5rpx;">{{item.title}}</view>
</view>
</view>
<view style="margin: 25rpx;">
<LCCalendar></LCCalendar>
</view>
<view style="color: #2B2B2B; font-weight: 500; display: flex; margin: 25rpx 20rpx;">
<image style="width: 40rpx; height: 42rpx;" src="/pagesStock/static/icon/all-icon-3.png"
mode="widthFix"></image>
<view style="margin-left: 10rpx;">
<view style="font-size: 30rpx; font-weight: bold;">市场全景</view>
<view style="font-size: 24rpx; font-weight: 500; margin-top: 10rpx;">
<text
style="color: #F3C368; border: 1rpx solid #F3C368; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">35个板块</text>
<text
style="color: #EC3440; border: 1rpx solid #EC3440; border-radius: 5rpx; text-align: center; padding: 0 10rpx; margin: 0 10rpx;">102只涨停</text>
<text
style="color: #F59B38; border: 1rpx solid #F59B38; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">高位股风险:
</text>
</view>
</view>
</view>
<view
style="background-color: #FAFAFC; border-radius: 10rpx; padding: 30rpx 20rpx; box-sizing: border-box; margin: 25rpx;">
<view style="display: flex; align-items: center; font-size: 22rpx; font-weight: 500;">
<view style="flex: 1; color: #2B2B2B; font-weight: bold; font-size: 28rpx;">板块热力图</view>
<view style="color: #EF4444; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #EF4444; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>高热度
</view>
<view style="color: #F97316; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #F97316; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>中热度
</view>
<view style="color: #F3B800; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #F3B800; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>低热度
</view>
<view style="color: #01AB5D; display: flex;align-items: center;">
<view
style="margin: 0 10rpx; box-sizing: border-box; border-radius: 15rpx; background-color: #01AB5D; overflow: hidden; width: 15rpx; height: 15rpx;">
</view>冷门
</view>
</view>
<view style="display: grid; grid-template-columns: repeat(4, 1fr); gap: 7rpx; margin-top: 25rpx;">
<view v-for="(item, index) in bkList" :key="index" @click="bkydAction(index)"
style="background-color: #EF4444; border-radius: 5rpx; padding: 15rpx; color: white; font-size: 24rpx; font-weight: 500;">
<view>{{item.title}}</view>
<view style="font-size: 22rpx;">{{item.count}}</view>
</view>
</view>
</view>
<view
style="margin: 25rpx; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20rpx; color: #999999; font-size: 22rpx; font-weight: 500;">
<view v-for="(item, index) in bkTypes"
style="display: flex; align-items: center; justify-content: center; padding: 10rpx 20rpx;"
:style="{color: (index == 0 ? '#BB8520' : '#999999'), border: `1rpx solid ${index == 0 ? '#F2C369' : '#D2D2D2'}`, 'background-color' : (index == 0 ? '#FFFAF1' : '#FFF')}">
{{item}}
</view>
</view>
<view
style="height: 400rpx; display: flex; align-items: center; justify-content: center; background-color: blue;">
词云图占位 </view>
<view style="color: #2B2B2B; font-weight: 500; display: flex; margin: 25rpx 20rpx;">
<image style="width: 40rpx; height: 42rpx;" src="/pagesStock/static/icon/all-icon-3.png"
mode="widthFix"></image>
<view style="margin-left: 10rpx;">
<view style="font-size: 30rpx; font-weight: bold;">高位股统计</view>
<view style="font-size: 24rpx; font-weight: 500; margin-top: 10rpx;">
<text
style="color: #F3C368; border: 1rpx solid #F3C368; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">高位股10只</text>
<text
style="color: #EC3440; border: 1rpx solid #EC3440; border-radius: 5rpx; text-align: center; padding: 0 10rpx; margin: 0 10rpx;">平均3.7</text>
<text
style="color: #F59B38; border: 1rpx solid #F59B38; border-radius: 5rpx; text-align: center; padding: 0 10rpx;">最高9版</text>
<text
style="color: #FFF; background-color: #F59B38; border-radius: 5rpx; text-align: center; padding: 0 10rpx; margin-left: 10rpx;">中风险</text>
</view>
</view>
</view>
<view v-for="(item,index) in 10" :key="index"
style="background-color: #FAFAFC; border-radius: 10rpx; padding: 15rpx 20rpx; display: flex; align-items: center; margin: 10rpx 25rpx;">
<view style="flex: 1;">
<view style="color: #2B2B2B; font-weight: bold; font-size: 26rpx;">博菲电气</view>
<view style="color: #999999; font-weight: 500; font-size: 24rpx; margin-top: 5rpx;">(销量一字,高风险)
</view>
</view>
<view
style="display: flex; align-items: center; justify-content: center; padding: 4rpx 10rpx; background-color: #FFECEC; border-radius: 5rpx; border: 1rpx solid #EF4444; color: #EF4444; font-size: 20rpx; font-weight: 400; margin: 0 10rpx;">
<image style="width: 15rpx; height: 17rpx; margin-right: 10rpx;"
src="/pagesStock/static/icon/all-icon-4.png" mode="widthFix"></image>
<view>9连板</view>
</view>
<image style="width: 27rpx; height: 25rpx;" src="/pagesStock/static/icon/all-icon-5.png"
mode="widthFix"></image>
</view>
<view
style="margin: 20rpx 30rpx; color: #EF4444; font-size: 24rpx; font-weight: 500; display: flex; align-items: center;">
<image style="width: 27rpx; height: 25rpx; margin-right: 10rpx;"
src="/pagesStock/static/icon/all-icon-5.png" mode="widthFix"></image>
<text>高位股风险较高追涨需谨慎</text>
</view>
</view>
</scroll-view>
</view>
</template>
<script>
import {
inject
} from 'vue'
export default {
data() {
return {
navH: inject('navHeight'),
contentTop: '',
tabTypes: [{
data: '1月14日',
change: 0,
title: '当前日期'
},
{
data: '102',
change: 3,
title: '涨停家数'
},
{
data: '22%',
change: 0,
title: '炸板率'
}
],
bkList: [{
title: '存储芯片',
count: 8
}, {
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
},
{
title: '存储芯片',
count: 8
}
],
bkTypes: [
'板块关联图',
'板块分布',
'热门概念词云'
]
}
},
onLoad(e) {
this.activeIndex = e.index
this.contentTop = this.navH + 20 / 750 * inject('windowWidth')
},
methods: {
bkydAction(index) {
uni.navigateTo({
url: `/pagesStock/stockCenterDetails/bkydmx?index=${index}`
})
}
}
}
</script>
<style lang="less">
page {
background-color: #070707;
}
.topBg {
top: 0;
left: 0;
width: 100%;
height: auto;
}
.stockDetailsC {
left: 0;
right: 0;
bottom: env(safe-area-inset-bottom);
}
</style>

BIN
static/icon/tabbar/gegu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/icon/tabbar/zt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
static/icon/tabbar/zt_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"newsDetails.js","sources":["pages/concept/newsDetails/newsDetails.vue","pages/concept/newsDetails/newsDetails.vue?type=page"],"sourcesContent":["<template>\n\t<view>\n\t\t<navBar leftText=\"历史时间轴\" :hideNavBg=\"true\"></navBar>\n\t\t<image class=\"topBg absolute\" src=\"/static/image/index/conceptTopBg.png\" mode=\"widthFix\"></image>\n\t\t<view v-if=\"newsInfo\" class=\"contentC fixed\" :style=\"'top: '+navH+'px;'\">\n\t\t\t<view class=\"title\">{{newsInfo.title}}</view>\n\t\t\t<view class=\"labelTimeC \">\n\t\t\t\t<text class=\"time\">{{getLocalTime(newsInfo.published_time)}}</text>\n\t\t\t</view>\n\t\t\t<view class=\"content\">\n\t\t\t\t<ua-markdown :source=\"newsInfo.detail\" />\n\t\t\t</view>\n\t\t</view>\n\t</view>\n</template>\n\n<script>\n\timport { inject } from 'vue';\n\timport { getLocaleTime } from '@/utils/util';\n\t\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tnavH:inject('navHeight'),\n\t\t\t\tnewsInfo:null,\n\t\t\t\tgetLocalTime:getLocaleTime\n\t\t\t}\n\t\t},\n\t\tonLoad(e) {\n\t\t\tthis.newsInfo = JSON.parse(decodeURIComponent(e.info)) \n\t\t}\n\t}\n\t\n</script>\n\n<style lang=\"less\">\npage \n{\n\tbackground-color: #070707;\n}\n.topBg \n{\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: auto;\n}\t \n.contentC \n{\n\tbackground-color: #FFF9F5;\n\tmargin: 20rpx 25rpx 0;\n\tpadding: 28rpx 30rpx;\n\tleft: 0;\n\tright: 0;\n\tbottom: 100rpx;\n\tborder-radius: 10rpx;\n\toverflow-y: scroll;\n\t.title \n\t{\n\t\tmargin: 0 10rpx;\n\t\tfont-size: 30rpx;\n\t\tfont-weight: bold;\n\t\tcolor: #2B2B2B;\n\t}\n\t.labelTimeC {\n\t\tmargin: 0 10rpx;\n\t\t.time \n\t\t{\n\t\t\tfont-size: 24rpx;\n\t\t\tfont-weight: 500;\n\t\t\tcolor: #666;\n\t\t}\n\t}\n\t.content \n\t{\n\t\tmargin-top: 30rpx;\n\t}\n}\n</style>\n","import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pages/concept/newsDetails/newsDetails.vue'\nwx.createPage(MiniProgramPage)"],"names":["inject","getLocaleTime"],"mappings":";;;;AAoBC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAKA,cAAM,OAAC,WAAW;AAAA,MACvB,UAAS;AAAA,MACT,cAAaC,WAAY;AAAA,IAC1B;AAAA,EACA;AAAA,EACD,OAAO,GAAG;AACT,SAAK,WAAW,KAAK,MAAM,mBAAmB,EAAE,IAAI,CAAC;AAAA,EACtD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BD,GAAG,WAAW,eAAe;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"reportDetails.js","sources":["pages/concept/reportDetails/reportDetails.vue","pages/concept/reportDetails/reportDetails.vue?type=page"],"sourcesContent":["<template>\n\t<view>\n\t\t<navBar leftText=\"历史时间轴\" :hideNavBg=\"true\"></navBar>\n\t\t<image class=\"topBg absolute\" src=\"/static/image/index/conceptTopBg.png\" mode=\"widthFix\"></image>\n\t\t<view v-if=\"reportInfo\" class=\"contentC fixed\" :style=\"'top: '+navH+'px;'\">\n\t\t\t<view class=\"title\">{{reportInfo.report_title}}</view>\n\t\t\t<view class=\"labelTimeC \">\n\t\t\t\t<text class=\"time\">{{getLocalTime(reportInfo.declare_date)}}</text>\n\t\t\t</view>\n\t\t\t<view class=\"content\">\n\t\t\t\t<!-- <ua-markdown :source=\"content\" /> -->\n\t\t\t\t<text>{{content ? content : reportInfo.content}}</text>\n\t\t\t</view>\n\t\t</view>\n\t</view>\n</template>\n\n<script >\n\timport { inject } from 'vue';\n\timport { getLocaleTime } from '@/utils/util';\n\t\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tnavH:inject('navHeight'),\n\t\t\t\treportInfo:null,\n\t\t\t\tgetLocalTime:getLocaleTime,\n\t\t\t\tcontent:''\n\t\t\t}\n\t\t},\n\t\tonLoad(e) {\n\t\t\tthis.reportInfo = JSON.parse(decodeURIComponent(e.info)) \n\t\t\tthis.reportInfo.content = this.reportInfo.content.replace(/'/g, '\"');\n\t\t\tconsole.log(JSON.parse(this.reportInfo.content))\n\t\t\tthis.content = JSON.parse(this.reportInfo.content).content\n\t\t}\n\t}\n</script>\n\n<style lang=\"less\">\n page\n {\n\tbackground-color: #070707;\n }\n .topBg \n {\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: auto;\n }\t \n .contentC \n {\n\tbackground-color: #FFF9F5;\n\tmargin: 20rpx 25rpx 0;\n\tpadding: 28rpx 30rpx;\n\tleft: 0;\n\tright: 0;\n\tbottom: 100rpx;\n\tborder-radius: 10rpx;\n\toverflow-y: scroll;\n\t.title \n\t{\n\t\tmargin: 0 10rpx;\n\t\tfont-size: 30rpx;\n\t\tfont-weight: bold;\n\t\tcolor: #2B2B2B;\n\t}\n\t.labelTimeC {\n\t\tmargin: 0 10rpx;\n\t\t.time \n\t\t{\n\t\t\tfont-size: 24rpx;\n\t\t\tfont-weight: 500;\n\t\t\tcolor: #666;\n\t\t}\n\t}\n\t.content \n\t{\n\t\tmargin-top: 30rpx;\n\t}\n } \n</style>\n","import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pages/concept/reportDetails/reportDetails.vue'\nwx.createPage(MiniProgramPage)"],"names":["inject","getLocaleTime","uni"],"mappings":";;;;AAqBC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAKA,cAAM,OAAC,WAAW;AAAA,MACvB,YAAW;AAAA,MACX,cAAaC,WAAa;AAAA,MAC1B,SAAQ;AAAA,IACT;AAAA,EACA;AAAA,EACD,OAAO,GAAG;AACT,SAAK,aAAa,KAAK,MAAM,mBAAmB,EAAE,IAAI,CAAC;AACvD,SAAK,WAAW,UAAU,KAAK,WAAW,QAAQ,QAAQ,MAAM,GAAG;AACnEC,wBAAA,MAAA,OAAA,uDAAY,KAAK,MAAM,KAAK,WAAW,OAAO,CAAC;AAC/C,SAAK,UAAU,KAAK,MAAM,KAAK,WAAW,OAAO,EAAE;AAAA,EACpD;AACD;;;;;;;;;;;;;;;;;;;;;;;;;ACnCD,GAAG,WAAW,eAAe;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"geGuCenter.js","sources":["pages/geGuCenter/geGuCenter.vue","pages/geGuCenter/geGuCenter.vue?type=page"],"sourcesContent":["<template>\r\n\t<view>\r\n\t\t<navBar leftText=\"个股中心\" hideNavBg hideBack></navBar>\r\n\t\t<image class=\"topBg absolute\" src=\"/static/image/index/conceptTopBg.png\" mode=\"widthFix\"></image>\r\n\r\n\t\t<scroll-view scroll-y class=\"stockDetailsC fixed\" :style=\"'top:'+contentTop+'px;'\">\r\n\t\t\t\r\n\t\t</scroll-view>\r\n\r\n\t</view>\r\n</template>\r\n\r\n<script>\r\n\timport {\r\n\t\tinject\r\n\t} from 'vue'\r\n\r\n\texport default {\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tnavH: inject('navHeight'),\r\n\t\t\t\tcontentTop: '',\r\n\t\t\t}\r\n\t\t},\r\n\t\tonLoad(e) {\r\n\t\t\tthis.activeIndex = e.index\r\n\t\t\tthis.contentTop = this.navH + 20 / 750 * inject('windowWidth')\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"less\">\r\n\tpage {\r\n\t\tbackground-color: #070707;\r\n\t}\r\n\r\n\t.topBg {\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\twidth: 100%;\r\n\t\theight: auto;\r\n\t}\r\n\r\n\t.stockDetailsC {\r\n\t\tleft: 0;\r\n\t\tright: 0;\r\n\t\tbottom: calc(55px + env(safe-area-inset-bottom));\r\n\t}\r\n</style>","import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pages/geGuCenter/geGuCenter.vue'\nwx.createPage(MiniProgramPage)"],"names":["inject"],"mappings":";;;AAiBC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAMA,cAAM,OAAC,WAAW;AAAA,MACxB,YAAY;AAAA,IACb;AAAA,EACA;AAAA,EACD,OAAO,GAAG;AACT,SAAK,cAAc,EAAE;AACrB,SAAK,aAAa,KAAK,OAAO,KAAK,MAAMA,cAAM,OAAC,aAAa;AAAA,EAC7D;AAAA,EACD,SAAS,CAET;AACD;;;;;;;;;;;;;;;;;;;;;AC9BD,GAAG,WAAW,eAAe;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"conceptDetails.js","sources":["pages/index/conceptDetails/conceptDetails.vue","pages/index/conceptDetails/conceptDetails.vue?type=page"],"sourcesContent":["<template>\n\t<view>\n\t\t<web-view :src=\"url\"></web-view>\n\t</view>\n</template>\n\n<script>\n\timport { inject } from 'vue';\n\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tnavH:inject('navHeight'),\n\t\t\t\turl:''\n\t\t\t}\n\t\t},\n\t\tonLoad(e) {\n\t\t\tif(e.name)\n\t\t\t{\n\t\t\t\tthis.url = 'https://valuefrontier.cn/htmls/concept/'+e.name+'/'\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\t\n\t\t}\n\t}\n</script>\n\n<style lang=\"less\">\n.topBg\n{\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: auto;\n}\n.conceptDetailsC \n{\n\tbackground-color: white;\n\tmargin-top: 10rpx;\n\tpadding: 20rpx 25rpx;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tborder-radius: 20rpx 20rpx 0 0;\n\t.title \n\t{\n\t\tfont-size: 30rpx;\n\t\tfont-weight: bold;\n\t\tcolor: #222;\n\t}\n\t.time \n\t{\n\t\tmargin-top: 10rpx;\n\t\tfont-size: 22rpx;\n\t\tfont-weight: 500;\n\t\tcolor: #AAA;\n\t}\n\t.content \n\t{\n\t\tmargin-top: 30rpx;\n\t\tfont-size: 26rpx;\n\t\tfont-weight: 500;\n\t\tcolor: #666;\n\t}\n}\n</style>\n","import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pages/index/conceptDetails/conceptDetails.vue'\nwx.createPage(MiniProgramPage)"],"names":["inject"],"mappings":";;AASC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAKA,cAAM,OAAC,WAAW;AAAA,MACvB,KAAI;AAAA,IACL;AAAA,EACA;AAAA,EACD,OAAO,GAAG;AACT,QAAG,EAAE,MACL;AACC,WAAK,MAAM,4CAA0C,EAAE,OAAK;AAAA,IAC7D;AAAA,EACA;AAAA,EACD,SAAS,CAET;AACD;;;;;;;ACxBD,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"feedback.js","sources":["pages/mine/feedback/feedback.vue","pages/mine/feedback/feedback.vue?type=page"],"sourcesContent":["<template>\n\t<view>\n\t\t<navBar leftText=\"意见反馈\"></navBar>\n\t\t<image class=\"topBg absolute\" src=\"/static/image/index/conceptTopBg.png\" mode=\"widthFix\"></image>\n\t\t<view class=\"feedbackC fixed\" :style=\"'top:'+navH+'px;'\">\n\t\t\t<view class=\"textareaC\">\n\t\t\t\t<textarea v-model=\"content\" placeholder=\"请输入您要反馈的问题200 字以内)\" placeholder-style=\"color:#C5C5C5\" maxlength=\"200\"></textarea>\n\t\t\t</view>\n\t\t</view>\n\t\t<view class=\"submit fixed\" @click=\"clickSubmit()\">提交</view>\n\t</view>\n</template>\n\n<script>\n\timport { inject } from 'vue';\n\timport { feedback } from '@/request/api';\n\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tnavH:inject('navHeight'),\n\t\t\t\tcontent:'',\n\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tonLoad() {\n\t\t\t\n\t\t},\n\t\tmethods: {\n\t\t\tclickSubmit()\n\t\t\t{\n\t\t\t\tif(!this.content)\n\t\t\t\t{\n\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\ttitle:'请输入您要反馈的问题',\n\t\t\t\t\t\ticon:'none'\n\t\t\t\t\t})\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet param = {content:this.content,isJson:1}\n\t\t\t\tfeedback(param).then(res=>{\n\t\t\t\t\tif(res.code==200)\n\t\t\t\t\t{\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle:res.message,\n\t\t\t\t\t\t\ticon:'none'\n\t\t\t\t\t\t})\n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tuni.navigateBack()\n\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t}else \n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle:res.message,\n\t\t\t\t\t\t\ticon:'none'\n\t\t\t\t\t\t})\n\t\t\t\t}).catch(error=>{\n\t\t\t\t\t\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n</script>\n\n<style lang=\"less\">\n.topBg\n{\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: auto;\n}\n.feedbackC\n{\n\tbackground-color: white;\n\tmargin-top: 10rpx;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tpadding: 43rpx 25rpx 0;\n\tborder-radius: 20rpx 20rpx 0 0;\n\t.textareaC\n\t{\n\t\tbackground-color: #F3F6F9;\n\t\tborder-radius: 20rpx;\n\t\tpadding: 20rpx 27rpx;\n\t\ttextarea \n\t\t{\n\t\t\twidth: 100%;\n\t\t\theight: 400rpx;\n\t\t\tfont-size: 24rpx;\n\t\t\tfont-weight: 500;\n\t\t}\n\t}\n}\n.submit \n{\n\tbackground-color: #F97316;\n\tleft: 0;\n\tright: 0;\n\tbottom: 73rpx;\n\tmargin: 0 25rpx;\n\tline-height: 80rpx;\n\tborder-radius: 20rpx;\n\tfont-size: 26rpx;\n\tfont-weight: 500;\n\tcolor: white;\n\ttext-align: center;\n}\n</style>\n","import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pages/mine/feedback/feedback.vue'\nwx.createPage(MiniProgramPage)"],"names":["inject","uni","feedback"],"mappings":";;;;AAiBC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAKA,cAAM,OAAC,WAAW;AAAA,MACvB,SAAQ;AAAA,IAET;AAAA,EACA;AAAA,EACD,SAAS;AAAA,EAER;AAAA,EACD,SAAS;AAAA,IACR,cACA;AACC,UAAG,CAAC,KAAK,SACT;AACCC,sBAAAA,MAAI,UAAU;AAAA,UACb,OAAM;AAAA,UACN,MAAK;AAAA,SACL;AACD;AAAA,MACD;AACA,UAAI,QAAQ,EAAC,SAAQ,KAAK,SAAQ,QAAO,EAAC;AAC1CC,kBAAAA,SAAS,KAAK,EAAE,KAAK,SAAK;AACzB,YAAG,IAAI,QAAM,KACb;AACCD,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAM,IAAI;AAAA,YACV,MAAK;AAAA,WACL;AACD,qBAAW,WAAW;AACrBA,0BAAAA,MAAI,aAAa;AAAA,UACjB,GAAE,GAAI;AAAA,QACP;AACAA,wBAAAA,MAAI,UAAU;AAAA,YACb,OAAM,IAAI;AAAA,YACV,MAAK;AAAA,WACL;AAAA,MACH,CAAC,EAAE,MAAM,WAAO;AAAA,OAEf;AAAA,IACF;AAAA,EACD;AACD;;;;;;;;;;;;;;;;;;;;;;AC3DD,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"web.js","sources":["pages/mine/web/web.vue","pages/mine/web/web.vue?type=page"],"sourcesContent":["<template>\n\t<view>\n\t\t<navBar :leftText=\"navTitle\"></navBar>\n\t\t<image class=\"topBg absolute\" src=\"/static/image/index/conceptTopBg.png\" mode=\"widthFix\"></image>\n\t\t<view class=\"contentC fixed\" :style=\"'top:'+navH+'px;'\">\n\t\t\t<text>{{webContent}}</text>\n\t\t</view>\n\t</view>\n</template>\n\n<script>\n\timport { inject } from 'vue'\n\timport { agreements } from '@/request/api'\n\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tnavH:inject('navHeight'),\n\t\t\t\tnavTitle:'',\n\t\t\t\ttype:'',\t//1.关于我们2.服务条款3.隐私协议\n\t\t\t\twebContent:'',\n\t\t\t}\n\t\t},\n\t\tonLoad(e) {\n\t\t\tif(e.type)\n\t\t\t{\n\t\t\t\tthis.type = e.type\n\t\t\t\tthis.getUserInfoData()\n\t\t\t\tif(e.type==1)\n\t\t\t\t{\n\t\t\t\t\tthis.navTitle = '关于我们'\n\t\t\t\t}else if(e.type==2)\n\t\t\t\t{\n\t\t\t\t\tthis.navTitle = '服务条款'\n\t\t\t\t}else if(e.type==3)\n\t\t\t\t{\n\t\t\t\t\tthis.navTitle = '隐私协议'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\t/**\n\t\t\t * 获取用户信息数据\n\t\t\t */\n\t\t\tgetUserInfoData()\n\t\t\t{\n\t\t\t\tagreements().then(res=>{\n\t\t\t\t\tif(res.code==200)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(this.type==1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t//关于我们\n\t\t\t\t\t\t\tthis.webContent = res.data.agreements.about_us.content\n\t\t\t\t\t\t}else if(this.type==2)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t//服务条款\n\t\t\t\t\t\t\tthis.webContent = res.data.agreements.service_terms.content\n\t\t\t\t\t\t}else if(this.type==3)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t//隐私协议\n\t\t\t\t\t\t\tthis.webContent = res.data.agreements.privacy_policy.content\n\t\t\t\t\t\t}\n\t\t\t\t\t}else \n\t\t\t\t\t\twx.showToast({\n\t\t\t\t\t\t\ttitle:res.message,\n\t\t\t\t\t\t})\n\t\t\t\t}).catch(error=>{\n\t\t\t\t\t\n\t\t\t\t})\n\t\t\t}\t\n\t\t}\n\t}\n</script>\n\n<style lang=\"less\">\n.topBg\n{\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: auto;\n}\n.contentC \n{\n\tbackground-color: white;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tmargin-top: 10rpx;\n\tpadding: 50rpx 25rpx;\n\toverflow-y: scroll;\n}\n</style>\n","import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pages/mine/web/web.vue'\nwx.createPage(MiniProgramPage)"],"names":["inject","agreements","wx"],"mappings":";;;;AAcC,MAAK,YAAU;AAAA,EACd,OAAO;AACN,WAAO;AAAA,MACN,MAAKA,cAAM,OAAC,WAAW;AAAA,MACvB,UAAS;AAAA,MACT,MAAK;AAAA;AAAA,MACL,YAAW;AAAA,IACZ;AAAA,EACA;AAAA,EACD,OAAO,GAAG;AACT,QAAG,EAAE,MACL;AACC,WAAK,OAAO,EAAE;AACd,WAAK,gBAAgB;AACrB,UAAG,EAAE,QAAM,GACX;AACC,aAAK,WAAW;AAAA,MACjB,WAAS,EAAE,QAAM,GACjB;AACC,aAAK,WAAW;AAAA,MACjB,WAAS,EAAE,QAAM,GACjB;AACC,aAAK,WAAW;AAAA,MACjB;AAAA,IACD;AAAA,EACA;AAAA,EACD,SAAS;AAAA;AAAA;AAAA;AAAA,IAIR,kBACA;AACCC,6BAAY,EAAC,KAAK,SAAK;AACtB,YAAG,IAAI,QAAM,KACb;AACC,cAAG,KAAK,QAAM,GACd;AAEC,iBAAK,aAAa,IAAI,KAAK,WAAW,SAAS;AAAA,UAChD,WAAS,KAAK,QAAM,GACpB;AAEC,iBAAK,aAAa,IAAI,KAAK,WAAW,cAAc;AAAA,UACrD,WAAS,KAAK,QAAM,GACpB;AAEC,iBAAK,aAAa,IAAI,KAAK,WAAW,eAAe;AAAA,UACtD;AAAA,QACA;AACAC,wBAAAA,KAAG,UAAU;AAAA,YACZ,OAAM,IAAI;AAAA,WACV;AAAA,MACH,CAAC,EAAE,MAAM,WAAO;AAAA,OAEf;AAAA,IACF;AAAA,EACD;AACD;;;;;;;;;;;;;;;;;;;;ACtED,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"bkydmx.js","sources":["pagesStock/stockCenterDetails/bkydmx/bkydmx.vue?type=page"],"sourcesContent":["import MiniProgramPage from '/Users/zhangwei/Desktop/git_floder/JiaZhiQianYan-MiniProgram/pagesStock/stockCenterDetails/bkydmx/bkydmx.vue'\nwx.createPage(MiniProgramPage)"],"names":[],"mappings":";;;;;;;AACA,GAAG,WAAW,eAAe;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"posthog.config.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"events.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"analytics.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"constants.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View File

@@ -0,0 +1 @@
{"version":3,"file":"core.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"device.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"error-tracker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"http.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"identity.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"page-tracker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"performance-tracker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"queue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"reading-tracker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"search-tracker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"session.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"storage.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"user-tracker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"file":"share.js","sources":["utils/share.js"],"sourcesContent":["export default {\n\tcreated()\n\t{\n\t\t// #ifdef MP-WEIXIN\n\t\tuni.showShareMenu({\n\t\t\tmenus:['shareAppMessage','shareTimeline']\n\t\t})\n\t\t// #endif\n\t}\n}"],"names":["uni"],"mappings":";;AAAA,MAAe,QAAA;AAAA,EACd,UACA;AAECA,kBAAAA,MAAI,cAAc;AAAA,MACjB,OAAM,CAAC,mBAAkB,eAAe;AAAA,IAC3C,CAAG;AAAA,EAED;AACF;;"}

File diff suppressed because one or more lines are too long

109
unpackage/dist/dev/mp-weixin/app.js vendored Normal file
View File

@@ -0,0 +1,109 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
const utils_share = require("./utils/share.js");
if (!Math) {
"./pages/index/index.js";
"./pages/invest/invest.js";
"./pages/concept/concept.js";
"./pages/mine/mine.js";
"./pages/mine/basicInfo/basicInfo.js";
"./pages/mine/feedback/feedback.js";
"./pages/mine/commentReply/commentReply.js";
"./pages/mine/investPreference/investPreference.js";
"./pages/index/eventDetails/eventDetails.js";
"./pages/invest/investDetails/investDetails.js";
"./pages/index/stockDetails/stockDetails.js";
"./pages/index/conceptDetails/conceptDetails.js";
"./pages/mine/followCollect/followCollect.js";
"./pages/mine/myLike/myLike.js";
"./pages/login/login.js";
"./pages/login/codeLogin/codeLogin.js";
"./pages/mine/web/web.js";
"./pages/concept/historicalTimeline/historicalTimeline.js";
"./pages/concept/hotStock/hotStock.js";
"./pages/concept/newsDetails/newsDetails.js";
"./pages/concept/reportDetails/reportDetails.js";
"./pages/stockCenterDetails/stockCenterDetails.js";
"./pages/geGuCenter/geGuCenter.js";
"./pages/ztfx/ztfx.js";
"./pagesMine/vip/vip.js";
"./pagesMine/vipMeal/vipMeal.js";
"./pagesStock/stockCenterDetails/stockCenterDetails.js";
"./pagesStock/stockCenterDetails/cwDetails.js";
"./pagesStock/stockCenterDetails/ztfx.js";
"./pagesStock/stockCenterDetails/bkydmx.js";
}
const _sfc_main = {
onLaunch: function() {
common_vendor.index.__f__("log", "at App.vue:6", "App Launch");
let windowInfo = common_vendor.index.getWindowInfo();
common_vendor.provide("statusHeight", windowInfo.statusBarHeight);
common_vendor.provide("windowWidth", windowInfo.windowWidth);
common_vendor.provide("safeAreaTop", windowInfo.safeArea.top);
var safeAreaBottom = windowInfo.safeAreaInsets.bottom;
let menuButtonInfo = common_vendor.index.getMenuButtonBoundingClientRect();
common_vendor.provide("navHeight", menuButtonInfo.bottom + menuButtonInfo.top - windowInfo.statusBarHeight);
common_vendor.provide("menuTop", menuButtonInfo.top);
common_vendor.provide("menuHeight", menuButtonInfo.height);
common_vendor.provide("isiPhoneX", safeAreaBottom == 34 ? true : false);
},
onShow: function() {
common_vendor.index.__f__("log", "at App.vue:19", "App Show");
this.updateManager();
},
onHide: function() {
common_vendor.index.__f__("log", "at App.vue:23", "App Hide");
},
globalData: {
mobileReg: /^1[3456789][0-9]{9}$/
},
methods: {
updateManager() {
const updateManager = common_vendor.index.getUpdateManager();
updateManager.onCheckForUpdate((res) => {
if (res.hasUpdate) {
common_vendor.index.showModal({
title: "更新提示",
content: "检测到新版本,是否下载新版本并重启小程序?",
success(res2) {
if (res2.confirm) {
updateManager.onUpdateReady(() => {
common_vendor.index.showModal({
title: "更新提示",
content: "新版本已经准备好,即将重启应用",
showCancel: false,
success(res3) {
if (res3.confirm) {
updateManager.applyUpdate();
}
}
});
});
}
},
fail(error) {
}
});
}
updateManager.onUpdateFailed(() => {
common_vendor.index.showModal({
title: "更新提示",
content: "新版本下载失败",
showCancel: false
});
});
});
}
}
};
function createApp() {
const app = common_vendor.createSSRApp(_sfc_main);
app.mixin(utils_share.share);
return {
app
};
}
createApp().app.mount("#app");
exports.createApp = createApp;
//# sourceMappingURL=../.sourcemap/mp-weixin/app.js.map

86
unpackage/dist/dev/mp-weixin/app.json vendored Normal file
View File

@@ -0,0 +1,86 @@
{
"pages": [
"pages/index/index",
"pages/invest/invest",
"pages/concept/concept",
"pages/mine/mine",
"pages/mine/basicInfo/basicInfo",
"pages/mine/feedback/feedback",
"pages/mine/commentReply/commentReply",
"pages/mine/investPreference/investPreference",
"pages/index/eventDetails/eventDetails",
"pages/invest/investDetails/investDetails",
"pages/index/stockDetails/stockDetails",
"pages/index/conceptDetails/conceptDetails",
"pages/mine/followCollect/followCollect",
"pages/mine/myLike/myLike",
"pages/login/login",
"pages/login/codeLogin/codeLogin",
"pages/mine/web/web",
"pages/concept/historicalTimeline/historicalTimeline",
"pages/concept/hotStock/hotStock",
"pages/concept/newsDetails/newsDetails",
"pages/concept/reportDetails/reportDetails",
"pages/stockCenterDetails/stockCenterDetails",
"pages/geGuCenter/geGuCenter",
"pages/ztfx/ztfx"
],
"subPackages": [
{
"root": "pagesMine",
"pages": [
"vip/vip",
"vipMeal/vipMeal"
]
},
{
"root": "pagesStock",
"pages": [
"stockCenterDetails/stockCenterDetails",
"stockCenterDetails/cwDetails",
"stockCenterDetails/ztfx",
"stockCenterDetails/bkydmx"
]
}
],
"window": {
"navigationStyle": "custom",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"custom": true,
"list": [
{
"iconPath": "/static/icon/tabbar/home.png",
"selectedIconPath": "/static/icon/tabbar/home_s.png",
"text": "首页",
"pagePath": "pages/index/index"
},
{
"iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
"text": "投资",
"pagePath": "pages/concept/concept"
},
{
"iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
"text": "个股中心",
"pagePath": "pages/geGuCenter/geGuCenter"
},
{
"iconPath": "/static/icon/tabbar/invest.png",
"selectedIconPath": "/static/icon/tabbar/invest_s.png",
"text": "投资",
"pagePath": "pages/ztfx/ztfx"
},
{
"iconPath": "/static/icon/tabbar/mine.png",
"selectedIconPath": "/static/icon/tabbar/mine_s.png",
"text": "我的",
"pagePath": "pages/mine/mine"
}
]
},
"usingComponents": {}
}

78
unpackage/dist/dev/mp-weixin/app.wxss vendored Normal file
View File

@@ -0,0 +1,78 @@
/*每个页面公共css */
.flex
{
display: flex;
align-items: center;
}
.flexCenter
{
display: flex;
align-items: center;
justify-content: center;
}
.flexColumn
{
display: flex;
flex-direction: column;
}
.flexColumnCenter
{
display: flex;
flex-direction: column;
align-items: center;
}
.flex1
{
flex: 1;
}
.flexWrap
{
display: flex;
flex-wrap: wrap;
}
.flexStretch
{
display: flex;
align-items: stretch;
}
.between
{
justify-content: space-between;
}
.flexEnd
{
display: flex;
align-items: center;
justify-content: flex-end;
}
.relative
{
position: relative;
}
.absolute
{
position: absolute;
}
.fixed
{
position: fixed;
}
view,input,textarea,scroll-view,swiper
{
box-sizing: border-box;
}
button
{
background-color: transparent;
}
button::after
{
border: none;
}
::-webkit-scrollbar
{
color: transparent;
width: 0;
}
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}

View File

@@ -0,0 +1,228 @@
"use strict";
const _imports_0$6 = "/static/image/index/conceptTopBg.png";
const _imports_1$g = "/static/icon/home/conceptCenter/search.png";
const _imports_3$e = "/static/icon/home/conceptCenter/conceptScreenArrow.png";
const _imports_1$f = "/static/icon/home/downArrow.png";
const _imports_2$f = "/static/icon/home/upArrow.png";
const _imports_3$d = "/static/icon/home/browser.png";
const _imports_11$3 = "/static/icon/home/like.png";
const _imports_7$4 = "/static/icon/home/collect.png";
const _imports_2$e = "/static/icon/backBlack.png";
const _imports_9$4 = "/static/icon/home/dateRange.png";
const _imports_10$2 = "/static/icon/home/industrySearch.png";
const _imports_11$2 = "/static/icon/home/industry_s.png";
const _imports_12$3 = "/static/icon/home/level_s.png";
const _imports_2$d = "/static/icon/invest/upArrow.png";
const _imports_3$c = "/static/icon/invest/downArrow.png";
const _imports_4$a = "/static/image/index/noData.png";
const _imports_5$5 = "/static/icon/home/monthLeftArrow.png";
const _imports_6$2 = "/static/icon/home/monthRightArrow.png";
const _imports_2$c = "/static/icon/home/conceptCenter/sortType.png";
const _imports_4$9 = "/static/icon/home/conceptCenter/transactionDate.png";
const _imports_1$e = "/static/icon/home/conceptCenter/timeAxis.png";
const _imports_13$3 = "/static/icon/home/close.png";
const _imports_7$3 = "/static/icon/home/conceptCenter/statistics.png";
const _imports_8$4 = "/static/icon/home/conceptCenter/rank1.png";
const _imports_9$3 = "/static/icon/home/conceptCenter/rank2.png";
const _imports_10$1 = "/static/icon/home/conceptCenter/rank3.png";
const _imports_11$1 = "/static/icon/home/conceptCenter/rankChg.png";
const _imports_12$2 = "/static/icon/home/conceptCenter/calendar.png";
const _imports_13$2 = "/static/icon/home/conceptCenter/browse.png";
const _imports_12$1 = "/static/icon/home/sortArrow.png";
const _imports_0$5 = "/static/icon/home/conceptCenter/pre.png";
const _imports_2$b = "/static/icon/home/conceptCenter/next.png";
const _imports_13$1 = "/static/icon/home/conceptCenter/vipPopIcon.png";
const _imports_14$2 = "/static/icon/home/conceptCenter/visitModule.png";
const _imports_15$1 = "/static/icon/home/conceptCenter/free_s.png";
const _imports_16$1 = "/static/icon/home/conceptCenter/pro_s.png";
const _imports_1$d = "/static/icon/mine/infoArrow.png";
const _imports_2$a = "/static/image/mine/vipBg.png";
const _imports_3$b = "/static/icon/mine/menuArrow.png";
const _imports_4$8 = "/static/image/mine/service.png";
const _imports_1$c = "/static/icon/mine/basicInfo/edit.png";
const _imports_2$9 = "/static/icon/mine/basicInfo/downArrow.png";
const _imports_1$b = "/static/icon/home/conceptCenter/lock.png";
const _imports_3$a = "/static/icon/home/expectScore.png";
const _imports_4$7 = "/static/icon/home/expectScoreTips.png";
const _imports_5$4 = "/static/icon/home/expectScoreDot.png";
const _imports_8$3 = "/static/icon/home/eventDetails/like.png";
const _imports_9$2 = "/static/icon/home/eventDetails/collect.png";
const _imports_4$6 = "/static/icon/home/collect_s.png";
const _imports_1$a = "/static/icon/home/like_s.png";
const _imports_0$4 = "/static/image/login/logo.png";
const _imports_3$9 = "/static/icon/login/select_s.png";
const _imports_4$5 = "/static/icon/login/select.png";
const _imports_1$9 = "/static/icon/login/mobile.png";
const _imports_2$8 = "/static/icon/login/code.png";
const _imports_3$8 = "/static/icon/home/conceptCenter/chgDown.png";
const _imports_4$4 = "/static/icon/home/conceptCenter/chgUp.png";
const _imports_5$3 = "/static/icon/home/conceptCenter/newsReport.png";
const _imports_1$8 = "/static/icon/home/conceptCenter/timeScreenArrow.png";
const _imports_2$7 = "/static/icon/home/conceptCenter/reasonExpand.png";
const _imports_3$7 = "/static/icon/home/conceptCenter/reasonRetract.png";
const _imports_2$6 = "/pagesStock/static/icon/establishedTime.png";
const _imports_3$6 = "/pagesStock/static/icon/registeredCapital.png";
const _imports_4$3 = "/pagesStock/static/icon/location.png";
const _imports_5$2 = "/pagesStock/static/icon/visitWebsite.png";
const _imports_6$1 = "/pagesStock/static/icon/female.png";
const _imports_7$2 = "/pagesStock/static/icon/lookMoreArrow.png";
const _imports_8$2 = "/pagesStock/static/icon/existStatus.png";
const _imports_9$1 = "/pagesStock/static/icon/industryRank.png";
const _imports_2$5 = "/pagesStock/static/icon/contrast.png";
const _imports_3$5 = "/pagesStock/static/icon/optional.png";
const _imports_4$2 = "/pagesStock/static/icon/share.png";
const _imports_14$1 = "/pagesStock/static/icon/yRightArrow.png";
const _imports_1$7 = "/pagesStock/static/icon/ai-icon.png";
const _imports_2$4 = "/pagesStock/static/icon/ai-icon-1.png";
const _imports_3$4 = "/pagesStock/static/icon/all-icon-3.png";
const _imports_1$6 = "/pagesStock/static/icon/all-icon-4.png";
const _imports_5$1 = "/pagesStock/static/icon/all-icon-5.png";
const _imports_1$5 = "/pagesMine/static/image/vip/vipTopBg.png";
const _imports_2$3 = "/pagesMine/static/image/vip/noVipTopBg.png";
const _imports_3$3 = "/pagesMine/static/icon/vip/titleLeft_v.png";
const _imports_4$1 = "/pagesMine/static/icon/vip/titleLeft.png";
const _imports_5 = "/pagesMine/static/icon/vip/titleRight_v.png";
const _imports_6 = "/pagesMine/static/icon/vip/titleRight.png";
const _imports_7$1 = "/pagesMine/static/icon/vip/step1_v.png";
const _imports_8$1 = "/pagesMine/static/icon/vip/step1.png";
const _imports_9 = "/pagesMine/static/icon/vip/step2_v.png";
const _imports_10 = "/pagesMine/static/icon/vip/step2.png";
const _imports_11 = "/pagesMine/static/icon/vip/step3_v.png";
const _imports_12 = "/pagesMine/static/icon/vip/step3.png";
const _imports_13 = "/pagesMine/static/icon/vip/step4_v.png";
const _imports_14 = "/pagesMine/static/icon/vip/step4.png";
const _imports_15 = "/pagesMine/static/icon/vip/investQuestion.png";
const _imports_16 = "/pagesMine/static/icon/vip/industrialResearch.png";
const _imports_17 = "/pagesMine/static/icon/vip/operatingDecision.png";
const _imports_7 = "/pagesMine/static/icon/vip/notContain.png";
const _imports_8 = "/pagesMine/static/icon/vip/contain.png";
const _imports_1$4 = "/pagesStock/static/icon/all-down-ed.png";
const _imports_1$3 = "/static/icon/back.png";
const _imports_0$3 = "/pagesStock/static/icon/rightArrow.png";
const _imports_0$2 = "/pagesStock/static/icon/shangJiantou.png";
const _imports_1$2 = "/pagesStock/static/icon/xiaJiantou.png";
const _imports_2$2 = "/pagesStock/static/icon/upArrow.png";
const _imports_3$2 = "/pagesStock/static/icon/yuan_shang.png";
const _imports_0$1 = "/pagesStock/static/icon/cwfx-1.png";
const _imports_2$1 = "/pagesStock/static/icon/all-icon.png";
const _imports_3$1 = "/pagesStock/static/icon/all-down.png";
const _imports_4 = "/pagesStock/static/icon/cwfx-2.png";
const _imports_0 = "/pagesStock/static/icon/news-search.png";
const _imports_1$1 = "/pagesStock/static/icon/newsTime.png";
const _imports_2 = "/pagesStock/static/icon/newsEyes.png";
const _imports_3 = "/pagesStock/static/icon/newsFire.png";
const _imports_1 = "/pagesStock/static/icon/all-icon-2.png";
exports._imports_0 = _imports_0$6;
exports._imports_0$1 = _imports_0$5;
exports._imports_0$2 = _imports_0$4;
exports._imports_0$3 = _imports_0$3;
exports._imports_0$4 = _imports_0$2;
exports._imports_0$5 = _imports_0$1;
exports._imports_0$6 = _imports_0;
exports._imports_1 = _imports_1$g;
exports._imports_1$1 = _imports_1$f;
exports._imports_1$10 = _imports_1$6;
exports._imports_1$11 = _imports_1$5;
exports._imports_1$12 = _imports_1$4;
exports._imports_1$13 = _imports_1$3;
exports._imports_1$14 = _imports_1$2;
exports._imports_1$15 = _imports_1$1;
exports._imports_1$16 = _imports_1;
exports._imports_1$2 = _imports_1$e;
exports._imports_1$3 = _imports_1$d;
exports._imports_1$4 = _imports_1$c;
exports._imports_1$5 = _imports_1$b;
exports._imports_1$6 = _imports_1$a;
exports._imports_1$7 = _imports_1$9;
exports._imports_1$8 = _imports_1$8;
exports._imports_1$9 = _imports_1$7;
exports._imports_10 = _imports_10$2;
exports._imports_10$1 = _imports_10$1;
exports._imports_10$2 = _imports_10;
exports._imports_11 = _imports_11$3;
exports._imports_11$1 = _imports_11$2;
exports._imports_11$2 = _imports_11$1;
exports._imports_11$3 = _imports_11;
exports._imports_12 = _imports_12$3;
exports._imports_12$1 = _imports_12$1;
exports._imports_12$2 = _imports_12$2;
exports._imports_12$3 = _imports_12;
exports._imports_13 = _imports_13$1;
exports._imports_13$1 = _imports_13$3;
exports._imports_13$2 = _imports_13$2;
exports._imports_13$3 = _imports_13;
exports._imports_14 = _imports_14$2;
exports._imports_14$1 = _imports_14$1;
exports._imports_14$2 = _imports_14;
exports._imports_15 = _imports_15$1;
exports._imports_15$1 = _imports_15;
exports._imports_16 = _imports_16$1;
exports._imports_16$1 = _imports_16;
exports._imports_17 = _imports_17;
exports._imports_2 = _imports_2$e;
exports._imports_2$1 = _imports_2$f;
exports._imports_2$10 = _imports_2$6;
exports._imports_2$11 = _imports_2$4;
exports._imports_2$12 = _imports_2$3;
exports._imports_2$13 = _imports_2$2;
exports._imports_2$14 = _imports_2$1;
exports._imports_2$15 = _imports_2;
exports._imports_2$2 = _imports_2$d;
exports._imports_2$3 = _imports_2$b;
exports._imports_2$4 = _imports_2$c;
exports._imports_2$5 = _imports_2$a;
exports._imports_2$6 = _imports_2$9;
exports._imports_2$7 = _imports_2$8;
exports._imports_2$8 = _imports_2$7;
exports._imports_2$9 = _imports_2$5;
exports._imports_3 = _imports_3$e;
exports._imports_3$1 = _imports_3$d;
exports._imports_3$10 = _imports_3$4;
exports._imports_3$11 = _imports_3$3;
exports._imports_3$12 = _imports_3$2;
exports._imports_3$13 = _imports_3$1;
exports._imports_3$14 = _imports_3;
exports._imports_3$2 = _imports_3$c;
exports._imports_3$3 = _imports_3$b;
exports._imports_3$4 = _imports_3$a;
exports._imports_3$5 = _imports_3$9;
exports._imports_3$6 = _imports_3$8;
exports._imports_3$7 = _imports_3$7;
exports._imports_3$8 = _imports_3$5;
exports._imports_3$9 = _imports_3$6;
exports._imports_4 = _imports_4$a;
exports._imports_4$1 = _imports_4$9;
exports._imports_4$10 = _imports_4;
exports._imports_4$2 = _imports_4$8;
exports._imports_4$3 = _imports_4$7;
exports._imports_4$4 = _imports_4$6;
exports._imports_4$5 = _imports_4$5;
exports._imports_4$6 = _imports_4$4;
exports._imports_4$7 = _imports_4$2;
exports._imports_4$8 = _imports_4$3;
exports._imports_4$9 = _imports_4$1;
exports._imports_5 = _imports_5$5;
exports._imports_5$1 = _imports_5$4;
exports._imports_5$2 = _imports_5$3;
exports._imports_5$3 = _imports_5$2;
exports._imports_5$4 = _imports_5$1;
exports._imports_5$5 = _imports_5;
exports._imports_6 = _imports_6$2;
exports._imports_6$1 = _imports_6$1;
exports._imports_6$2 = _imports_6;
exports._imports_7 = _imports_7$4;
exports._imports_7$1 = _imports_7$3;
exports._imports_7$2 = _imports_7$2;
exports._imports_7$3 = _imports_7$1;
exports._imports_7$4 = _imports_7;
exports._imports_8 = _imports_8$4;
exports._imports_8$1 = _imports_8$3;
exports._imports_8$2 = _imports_8$2;
exports._imports_8$3 = _imports_8$1;
exports._imports_8$4 = _imports_8;
exports._imports_9 = _imports_9$4;
exports._imports_9$1 = _imports_9$3;
exports._imports_9$2 = _imports_9$2;
exports._imports_9$3 = _imports_9$1;
exports._imports_9$4 = _imports_9;
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,263 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
name: "LCCalendar",
data() {
return {
weekList: ["日", "一", "二", "三", "四", "五", "六"],
monthDateList: [],
selectMonthIndex: 0,
//选中月份下标
selectMonth: "",
//选中年月
selectDateStr: "",
//选中日期
startDateStr: "",
//开始日期
endDateStr: ""
//结束日期
};
},
created() {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
this.selectMonthIndex = 20 * 12 + currentMonth - 1;
this.selectMonth = currentYear + "年" + currentMonth + "月";
this.startDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-01";
this.endDateStr = this.selectDateStr = currentYear + "-" + (currentMonth > 9 ? currentMonth : "0" + currentMonth) + "-" + (currentDay > 9 ? currentDay : "0" + currentDay);
this.generateMonthDateListData();
common_vendor.index.__f__("log", "at components/LCCalendar/LCCalendar.vue:97", JSON.stringify(this.monthDateList[0]));
},
methods: {
/**
* 获取当前时间前一天的数据
*/
getYesterdayDateData() {
let currentDate = /* @__PURE__ */ new Date();
let selectDate = new Date(currentDate);
selectDate.setDate(selectDate.getDate() - 1);
let selectYear = selectDate.getFullYear();
let selectMonth = selectDate.getMonth() + 1;
let selectDay = selectDate.getDate();
this.selectDateStr = selectYear + "-" + (selectMonth > 9 ? selectMonth : "0" + selectMonth) + "-" + (selectDay > 9 ? selectDay : "0" + selectDay);
},
/**
* 生成日期数组
*/
generateMonthDateListData() {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
let currentDay = currentDate.getDate();
let monthDateList = [];
for (var i = currentYear - 20; i < currentYear + 20; i++) {
for (var j = 0; j < 12; j++) {
let date = new Date(i, j + 1, 0);
let firstDayOfMonth = new Date(i, j + 1, 0);
firstDayOfMonth.setDate(1);
let currentMonthDay = date.getDate();
let firstDayWeek = firstDayOfMonth.getDay() + 1;
let daysOfMonth = [];
for (var k = 1; k <= currentMonthDay; k++) {
let newDate = new Date(i, j + 1, 0);
newDate.setDate(k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = i + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({
date: date2,
year: i,
month: newMonth,
day: newDay,
isToday: i == currentYear && newMonth == currentMonth && newDay == currentDay ? true : false,
isCurrentMonth: true,
isLastDay: newDay == currentMonthDay ? true : false,
timestamp: time
});
}
for (var k = 0; k < firstDayWeek - 1; k++) {
let year = i;
let month = j;
if (j < 1) {
year = i - 1;
month = 12;
}
let lastMonthDay = new Date(year, month, 0).getDate();
let newDate = new Date(year, month - 1, lastMonthDay - k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.unshift({
date: date2,
year,
month: newMonth,
day: newDay,
isToday: false,
isCurrentMonth: false,
isLastDay: false,
timestamp: time
});
}
let nextMonthFirstDay = new Date(i, j + 1, 1);
let lastDayOfMonth = new Date(nextMonthFirstDay - 24 * 60 * 60 * 1e3);
let lastDayWeek = lastDayOfMonth.getDay() + 1;
for (var k = 1; k < 8 - lastDayWeek; k++) {
let year = i;
let month = j;
if (month > 11) {
month = 0;
year++;
}
let newDate = new Date(year, month + 1, k);
let newMonth = newDate.getMonth() + 1;
let newDay = newDate.getDate();
let time = newDate.getTime();
let date2 = year + "-" + (newMonth > 9 ? newMonth : "0" + newMonth) + "-" + (newDay > 9 ? newDay : "0" + newDay);
daysOfMonth.push({
date: date2,
year,
month: newMonth,
day: newDay,
isToday: false,
isCurrentMonth: false,
isLastDay: false,
timestamp: time
});
}
monthDateList.push(daysOfMonth);
}
}
this.monthDateList = monthDateList;
},
/**
* 点击上个月
*/
clickPreMonth() {
if (this.selectMonthIndex > 0) {
this.selectMonthIndex--;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
let lastDay = "";
for (let item of monthList) {
if (item.isLastDay) {
lastDay = item.day;
break;
}
}
this.selectMonth = year + "年" + month + "月";
this.startDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-01";
this.endDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-" + lastDay;
common_vendor.index.__f__("log", "at components/LCCalendar/LCCalendar.vue:241", "点击上个月");
}
},
/**
* 点击下个月
*/
clickNextMonth() {
if (this.selectMonthIndex < this.monthDateList.length - 1) {
this.selectMonthIndex++;
let monthList = this.monthDateList[this.selectMonthIndex];
let year = "";
let month = "";
for (let item of monthList) {
if (item.isCurrentMonth) {
year = item.year;
month = item.month;
break;
}
}
let lastDay = "";
for (let item of monthList) {
if (item.isLastDay) {
lastDay = item.day;
break;
}
}
this.selectMonth = year + "年" + month + "月";
this.startDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-01";
this.endDateStr = year + "-" + (month > 9 ? month : "0" + month) + "-" + lastDay;
common_vendor.index.__f__("log", "at components/LCCalendar/LCCalendar.vue:270", "点击下个月");
}
},
monthChange(e) {
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let yearMonth = e.detail.value;
let selectYear = parseInt(yearMonth.split("-")[0]);
let selectMonth = parseInt(yearMonth.split("-")[1]);
this.selectMonthIndex = (selectYear - (currentYear - 20)) * 12 + selectMonth - 1;
this.selectMonth = selectYear + "年" + selectMonth + "月";
this.startDateStr = selectYear + "-" + (selectMonth > 9 ? selectMonth : "0" + selectMonth) + "-01";
let lastDayOfMonth = new Date(selectYear, selectMonth, 0);
this.endDateStr = selectYear + "-" + (selectMonth > 9 ? selectMonth : "0" + selectMonth) + "-" + lastDayOfMonth.getDate();
common_vendor.index.__f__("log", "at components/LCCalendar/LCCalendar.vue:287", "月份变更");
},
/**
* 点击选择开始日期和结束日期
* @param {Object} item
*/
clickSelectDate(item) {
if (!item.isCurrentMonth)
return;
if (this.selectDateStr != item.date) {
this.selectDateStr = item.date;
this.chgStockData = item;
common_vendor.index.__f__("log", "at components/LCCalendar/LCCalendar.vue:298", "点击某天");
}
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_assets._imports_0$1,
b: common_vendor.o(($event) => $options.clickPreMonth()),
c: common_assets._imports_1$16,
d: common_vendor.t($data.selectDateStr),
e: common_vendor.o((...args) => $options.monthChange && $options.monthChange(...args)),
f: common_assets._imports_2$3,
g: common_vendor.o(($event) => $options.clickNextMonth()),
h: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
i: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.date == $data.selectDateStr
}, item.date == $data.selectDateStr ? common_vendor.e({
b: common_vendor.t(item.day),
c: index % 7 == 0 || index % 7 == 6
}, index % 7 == 0 || index % 7 == 6 ? {} : {}, {
d: common_vendor.n("date select " + (item.avg_change_pct ? _ctx.getRateUpOrDown(item.avg_change_pct) ? "down" : "up" : ""))
}) : common_vendor.e({
e: !item.isCurrentMonth
}, !item.isCurrentMonth ? {} : common_vendor.e({
f: common_vendor.t(item.day),
g: index % 7 == 0 || index % 7 == 6 ? "#999999" : "#2A2A2A",
h: index % 7 == 0 || index % 7 == 6
}, index % 7 == 0 || index % 7 == 6 ? {} : {}, {
i: common_vendor.n("date " + (item.avg_change_pct ? _ctx.getRateUpOrDown(item.avg_change_pct) ? "down" : "up" : ""))
})), {
j: index,
k: common_vendor.o(($event) => $options.clickSelectDate(item), index)
});
})
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render]]);
wx.createComponent(Component);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/components/LCCalendar/LCCalendar.js.map

View File

@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

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