11.26 修改K线图样式

This commit is contained in:
尚政杰
2025-11-26 17:19:38 +08:00
parent 48f49c6cf0
commit 4e64455b9b
4803 changed files with 146408 additions and 648 deletions

View File

@@ -1 +1 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./common/vendor.js");Math;const o={onLaunch:function(){console.log("App Launch");let o=e.index.getWindowInfo();e.provide("statusHeight",o.statusBarHeight),e.provide("windowWidth",o.windowWidth),e.provide("safeAreaTop",o.safeArea.top);var t=o.safeAreaInsets.bottom;let n=e.index.getMenuButtonBoundingClientRect();e.provide("navHeight",n.bottom+n.top-o.statusBarHeight),e.provide("menuTop",n.top),e.provide("menuHeight",n.height),e.provide("isiPhoneX",34==t)},onShow:function(){console.log("App Show"),this.updateManager()},onHide:function(){console.log("App Hide")},globalData:{mobileReg:/^1[3456789][0-9]{9}$/},methods:{updateManager(){const o=e.index.getUpdateManager();o.onCheckForUpdate((t=>{t.hasUpdate&&e.index.showModal({title:"更新提示",content:"检测到新版本,是否下载新版本并重启小程序?",success(t){t.confirm&&o.onUpdateReady((()=>{e.index.showModal({title:"更新提示",content:"新版本已经准备好,即将重启应用",showCancel:!1,success(e){e.confirm&&o.applyUpdate()}})}))},fail(e){}}),o.onUpdateFailed((()=>{e.index.showModal({title:"更新提示",content:"新版本下载失败",showCancel:!1})}))}))}}};function t(){return{app:e.createSSRApp(o)}}t().app.mount("#app"),exports.createApp=t;
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./common/vendor.js"),t=require("./utils/share.js");Math;const o={onLaunch:function(){console.log("App Launch");let t=e.index.getWindowInfo();e.provide("statusHeight",t.statusBarHeight),e.provide("windowWidth",t.windowWidth),e.provide("safeAreaTop",t.safeArea.top);var o=t.safeAreaInsets.bottom;let n=e.index.getMenuButtonBoundingClientRect();e.provide("navHeight",n.bottom+n.top-t.statusBarHeight),e.provide("menuTop",n.top),e.provide("menuHeight",n.height),e.provide("isiPhoneX",34==o)},onShow:function(){console.log("App Show"),this.updateManager()},onHide:function(){console.log("App Hide")},globalData:{mobileReg:/^1[3456789][0-9]{9}$/},methods:{updateManager(){const t=e.index.getUpdateManager();t.onCheckForUpdate((o=>{o.hasUpdate&&e.index.showModal({title:"更新提示",content:"检测到新版本,是否下载新版本并重启小程序?",success(o){o.confirm&&t.onUpdateReady((()=>{e.index.showModal({title:"更新提示",content:"新版本已经准备好,即将重启应用",showCancel:!1,success(e){e.confirm&&t.applyUpdate()}})}))},fail(e){}}),t.onUpdateFailed((()=>{e.index.showModal({title:"更新提示",content:"新版本下载失败",showCancel:!1})}))}))}}};function n(){const n=e.createSSRApp(o);return n.mixin(t.share),{app:n}}n().app.mount("#app"),exports.createApp=n;

View File

@@ -1,2 +1,2 @@
.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::after{position:fixed;content:'';left:-1000px;top:-1000px;-webkit-animation:shadow-preload .1s;-webkit-animation-delay:3s;animation:shadow-preload .1s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%{background-image:url(https://cdn1.dcloud.net.cn/4d54677a4e6b56444f53556c643367775a57526c595746694e7a5a6b4e475a684e444530/img/shadow-grey.png)}100%{background-image:url(https://cdn1.dcloud.net.cn/4d54677a4e6b56444f53556c643367775a57526c595746694e7a5a6b4e475a684e444530/img/shadow-grey.png)}}@keyframes shadow-preload{0%{background-image:url(https://cdn1.dcloud.net.cn/4d54677a4e6b56444f53556c643367775a57526c595746694e7a5a6b4e475a684e444530/img/shadow-grey.png)}100%{background-image:url(https://cdn1.dcloud.net.cn/4d54677a4e6b56444f53556c643367775a57526c595746694e7a5a6b4e475a684e444530/img/shadow-grey.png)}}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;}
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;}

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

@@ -1,8 +1,7 @@
{
"navigationBarTitleText": "uni-app",
"enablePullDownRefresh": true,
"enablePullDownRefresh": false,
"usingComponents": {
"l-echart": "../../uni_modules/lime-echart/components/l-echart/l-echart",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

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

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="ab03f7e6-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="tabC fixed" style="{{e}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view class="{{k}}" style="{{l}}"><view wx:if="{{f}}" style="width:750rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="ab03f7e6-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{h}}<text class="ai">AI合成【风险提示解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息团队辛苦编写未经许可严禁转载。本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策。】</text></view><view wx:if="{{i}}" class="section">信息来源</view><view class="list"><view wx:for="{{j}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view>
<view><nav-bar wx:if="{{a}}" u-i="ab03f7e6-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="tabC fixed" style="{{e}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view class="{{k}}" style="{{l}}"><view wx:if="{{f}}" style="width:750rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="ab03f7e6-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{h}}<text class="ai">AI合成</text></view><view class="riskTips"> 【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】 </view><view wx:if="{{i}}" class="section">信息来源</view><view class="list"><view wx:for="{{j}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view>

View File

@@ -1 +1 @@
.topBg{top:0;left:0;width:100%;height:auto}.tabC{background-color:#fff;margin-top:10rpx;left:0;right:0;border-radius:20rpx 20rpx 0 0}.tabC .item{display:inline-block;padding:0 30rpx;line-height:60rpx;font-size:28rpx;font-weight:500;color:#42485b}.tabC .item.select{font-weight:700;color:#f97316}.tabC .item.select .line{background-color:#f97316;left:calc((100% - 50rpx)/2);bottom:0;width:50rpx;height:2rpx}.contentC{background-color:#fff;left:0;right:0;bottom:0;overflow-y:scroll}.contentC .section{padding:0 28rpx;line-height:80rpx;font-size:32rpx;font-weight:700;color:#222}.contentC .des{padding:0 0 30rpx;margin:0 25rpx;border-bottom:solid 1rpx #E4E4E4;line-height:1.4rem;font-size:24rpx;font-weight:500;color:#666}.contentC .des .ai{color:#c00000}.contentC .list{padding:0 25rpx}.contentC .list .item{background-color:#f8f8f8;margin-bottom:20rpx;padding:30rpx 26rpx;border-radius:10rpx}.contentC .list .item .content{font-size:24rpx;font-weight:500;color:#222}.contentC .list .item .article{margin-top:10rpx;font-size:22rpx;font-weight:500;color:#666;text-align:right}.contentC .list .item .authorDateC{margin-top:30rpx;font-size:22rpx;font-weight:500;color:#aaa}.contentC .list .item .authorDateC .author{margin-right:10rpx}.contentC.radius{margin-top:10rpx;border-radius:20rpx 20rpx 0 0}
.topBg{top:0;left:0;width:100%;height:auto}.tabC{background-color:#fff;margin-top:10rpx;left:0;right:0;border-radius:20rpx 20rpx 0 0}.tabC .item{display:inline-block;padding:0 30rpx;line-height:60rpx;font-size:28rpx;font-weight:500;color:#42485b}.tabC .item.select{font-weight:700;color:#f97316}.tabC .item.select .line{background-color:#f97316;left:calc((100% - 50rpx)/2);bottom:0;width:50rpx;height:2rpx}.contentC{background-color:#fff;left:0;right:0;bottom:0;overflow-y:scroll}.contentC .section{padding:0 28rpx;line-height:80rpx;font-size:32rpx;font-weight:700;color:#222}.contentC .des{margin:0 25rpx;line-height:1.4rem;font-size:24rpx;font-weight:500;color:#666}.contentC .des .ai{color:#c00000}.contentC .riskTips{margin:20rpx 25rpx 0;padding-bottom:30rpx;line-height:1.4rem;font-size:20rpx;color:#999;border-bottom:solid 1rpx #E4E4E4}.contentC .list{padding:0 25rpx}.contentC .list .item{background-color:#f8f8f8;margin-bottom:20rpx;padding:30rpx 26rpx;border-radius:10rpx}.contentC .list .item .content{font-size:24rpx;font-weight:500;color:#222}.contentC .list .item .article{margin-top:10rpx;font-size:22rpx;font-weight:500;color:#666;text-align:right}.contentC .list .item .authorDateC{margin-top:30rpx;font-size:22rpx;font-weight:500;color:#aaa}.contentC .list .item .authorDateC .author{margin-right:10rpx}.contentC.radius{margin-top:10rpx;border-radius:20rpx 20rpx 0 0}

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"enablePullDownRefresh": false,
"usingComponents": {
"ua-markdown": "../../components/ua-markdown/ua-markdown",
"zui-progress-circle": "../../uni_modules/zui-progress-circle/components/zui-progress-circle/zui-progress-circle",

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";const e=require("../../common/vendor.js"),m=require("../../request/api.js"),r=require("../../common/assets.js"),i={data:()=>({navH:e.inject("navHeight"),memberInfo:null,privilegeList:["高效选股工具","股票基金明星榜单","定期专属晨报、股票动态","独家产业研报","个股产业分析","股票、基金基础指标","7x24 财经直播"]}),onLoad(){this.getMemberStatus()},methods:{clickJoinVip(){this.memberInfo.is_member||e.index.showModal({content:"请点击下方按钮复制链接并在浏览器中打开以完成会员购买流程",showCancel:!1,confirmText:"复制",success(e){e.confirm}})},getMemberStatus(){m.membershipStatus().then((m=>{200==m.code?this.memberInfo=m.data:e.index.showToast({title:m.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("navBar")()}Math;const o=e._export_sfc(i,[["render",function(m,i,o,t,s,n){return e.e({a:e.p({leftText:"会员中心"}),b:r._imports_0,c:s.memberInfo},s.memberInfo?e.e({d:s.memberInfo.is_member},s.memberInfo.is_member?{e:r._imports_1$7}:{f:r._imports_2$8},{g:s.memberInfo.is_member},s.memberInfo.is_member?{h:e.t(s.memberInfo.member_expire_date)}:{},{i:s.memberInfo.is_member},s.memberInfo.is_member?{j:r._imports_3$6}:{k:r._imports_4$4},{l:s.memberInfo.is_member},s.memberInfo.is_member?{m:r._imports_5$3}:{n:r._imports_6$1},{o:e.f(s.privilegeList,((m,i,o)=>e.e({a:e.t(m),b:0==i||1==i||2==i},0==i||1==i||2==i?{c:r._imports_7$1}:{},{d:3==i||4==i},3==i||4==i?e.e({e:3==i},{},{f:4==i},{}):{},{g:5==i||6==i},5==i||6==i?{h:r._imports_8$1}:{},{i:i}))),p:r._imports_8$1,q:e.n("privilegeList "+(s.memberInfo.is_member?"vip":"")),r:e.s("margin-top:"+s.navH+"px;")}):{},{s:s.memberInfo},s.memberInfo?{t:e.t(s.memberInfo.is_member?"您已是年度VIP":"立即加入年度VIP"),v:e.o((e=>n.clickJoinVip()))}:{})}]]);wx.createPage(o);
"use strict";const e=require("../../common/vendor.js"),m=require("../../request/api.js"),r=require("../../common/assets.js"),i={data:()=>({navH:e.inject("navHeight"),memberInfo:null,privilegeList:["高效选股工具","股票基金明星榜单","定期专属晨报、股票动态","独家产业研报","个股产业分析","股票、基金基础指标","7x24 财经直播"]}),onLoad(){this.getMemberStatus()},methods:{clickJoinVip(){this.memberInfo.is_member||e.index.showModal({content:"请点击下方按钮复制链接并在浏览器中打开以完成会员购买流程",showCancel:!1,confirmText:"复制",success(m){m.confirm&&e.index.setClipboardData({data:"https://valuefrontier.cn/home/pages/account/subscription"})}})},getMemberStatus(){m.membershipStatus().then((m=>{200==m.code?this.memberInfo=m.data:e.index.showToast({title:m.message,icon:"none"})})).catch((e=>{}))}}};if(!Array){e.resolveComponent("navBar")()}Math;const t=e._export_sfc(i,[["render",function(m,i,t,o,s,n){return e.e({a:e.p({leftText:"会员中心"}),b:r._imports_0,c:s.memberInfo},s.memberInfo?e.e({d:s.memberInfo.is_member},s.memberInfo.is_member?{e:r._imports_1$7}:{f:r._imports_2$8},{g:s.memberInfo.is_member},s.memberInfo.is_member?{h:e.t(s.memberInfo.member_expire_date)}:{},{i:s.memberInfo.is_member},s.memberInfo.is_member?{j:r._imports_3$6}:{k:r._imports_4$4},{l:s.memberInfo.is_member},s.memberInfo.is_member?{m:r._imports_5$3}:{n:r._imports_6$1},{o:e.f(s.privilegeList,((m,i,t)=>e.e({a:e.t(m),b:0==i||1==i||2==i},0==i||1==i||2==i?{c:r._imports_7$1}:{},{d:3==i||4==i},3==i||4==i?e.e({e:3==i},{},{f:4==i},{}):{},{g:5==i||6==i},5==i||6==i?{h:r._imports_8$1}:{},{i:i}))),p:r._imports_8$1,q:e.n("privilegeList "+(s.memberInfo.is_member?"vip":"")),r:e.s("margin-top:"+s.navH+"px;")}):{},{s:s.memberInfo},s.memberInfo?{t:e.t(s.memberInfo.is_member?"您已是年度VIP":"立即加入年度VIP"),v:e.o((e=>n.clickJoinVip()))}:{})}]]);wx.createPage(t);

View File

@@ -1 +1 @@
"use strict";const e=require("../common/vendor.js");let o="";o="http://43.143.189.195:5002",exports.get=function(n,t){return new Promise(((i,a)=>{let d=e.index.getStorageSync("token");e.index.showLoading({title:"加载中"}),e.index.request({url:o+n,data:t,header:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded",Authorization:d?"Bearer "+d:""},method:"GET",success:o=>{console.log(o),e.index.hideLoading(),401==o.data.code?(e.index.removeStorageSync("token"),e.index.navigateTo({url:"/pages/login/login"})):i(o.data)},fail:o=>{e.index.hideLoading(),e.index.showToast({title:"请求失败",icon:"error"}),a(o.response)}})}))},exports.post=function(n,t){return new Promise(((i,a)=>{let d=e.index.getStorageSync("token"),r=0,s=0;if(t&&(r=t.isJson),t&&(s=t.isFile),e.index.showLoading({title:"加载中"}),s){let d=e.index.getStorageSync("token");e.index.uploadFile({url:o+n,filePath:t.avatar,name:"avatar",header:{Authorization:d?"Bearer "+d:""},formData:t,success:o=>{console.log(o),e.index.hideLoading(),401==o.data.code?(e.index.removeStorageSync("token"),e.index.navigateTo({url:"/pages/login/login"}),a(o.data)):i(o.data)},fail:o=>{console.log("上传失败"+o.errMsg),e.index.hideLoading(),e.index.showToast({title:"请求失败",icon:"error"}),a()}})}else{let l=o;n.indexOf("concept-api")>-1&&(l="https://valuefrontier.cn"),e.index.request({url:l+n,data:t,header:{Accept:"application/json","Content-Type":r?"application/json":s?"multipart/form-data":"application/x-www-form-urlencoded",Authorization:d?"Bearer "+d:""},method:"POST",success:o=>{e.index.hideLoading(),t&&t.isNotNeedLogin||(console.log(o.data),401==o.data.code?(e.index.removeStorageSync("token"),e.index.navigateTo({url:"/pages/login/login"}),a(o.data)):i(o.data))},fail:o=>{e.index.hideLoading(),e.index.showToast({title:"请求失败",icon:"error"}),a(o.response)}})}}))};
"use strict";const e=require("../common/vendor.js");let o="";o="https://api.valuefrontier.cn:5002",exports.get=function(n,t){return new Promise(((i,a)=>{let r=e.index.getStorageSync("token");e.index.showLoading({title:"加载中"}),e.index.request({url:o+n,data:t,header:{Accept:"application/json","Content-Type":"application/x-www-form-urlencoded",Authorization:r?"Bearer "+r:""},method:"GET",success:o=>{console.log(o),e.index.hideLoading(),401==o.data.code?(e.index.removeStorageSync("token"),e.index.navigateTo({url:"/pages/login/login"})):i(o.data)},fail:o=>{e.index.hideLoading(),e.index.showToast({title:"请求失败",icon:"error"}),a(o.response)}})}))},exports.post=function(n,t){return new Promise(((i,a)=>{let r=e.index.getStorageSync("token"),d=0,s=0;if(t&&(d=t.isJson),t&&(s=t.isFile),e.index.showLoading({title:"加载中"}),s){let r=e.index.getStorageSync("token");e.index.uploadFile({url:o+n,filePath:t.avatar,name:"avatar",header:{Authorization:r?"Bearer "+r:""},formData:t,success:o=>{console.log(o),e.index.hideLoading(),401==o.data.code?(e.index.removeStorageSync("token"),e.index.navigateTo({url:"/pages/login/login"}),a(o.data)):i(o.data)},fail:o=>{console.log("上传失败"+o.errMsg),e.index.hideLoading(),e.index.showToast({title:"请求失败",icon:"error"}),a()}})}else{let l=o;n.indexOf("concept-api")>-1&&(l="https://valuefrontier.cn"),e.index.request({url:l+n,data:t,header:{Accept:"application/json","Content-Type":d?"application/json":s?"multipart/form-data":"application/x-www-form-urlencoded",Authorization:r?"Bearer "+r:""},method:"POST",success:o=>{e.index.hideLoading(),t&&t.isNotNeedLogin||(console.log(o.data),401==o.data.code?(e.index.removeStorageSync("token"),e.index.navigateTo({url:"/pages/login/login"}),a(o.data)):i(o.data))},fail:o=>{e.index.hideLoading(),e.index.showToast({title:"请求失败",icon:"error"}),a(o.response)}})}}))};

View File

@@ -0,0 +1 @@
"use strict";const e=require("../common/vendor.js"),s={created(){e.index.showShareMenu({menus:["shareAppMessage","shareTimeline"]})}};exports.share=s;

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":"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;;"}

View File

@@ -1,6 +1,7 @@
"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";
@@ -86,6 +87,7 @@ const _sfc_main = {
};
function createApp() {
const app = common_vendor.createSSRApp(_sfc_main);
app.mixin(utils_share.share);
return {
app
};

File diff suppressed because it is too large Load Diff

View File

@@ -55,8 +55,8 @@ const _sfc_main = {
grid: {
left: "10%",
right: "6%",
top: "0%",
bottom: "20%"
top: "5%",
bottom: "10%"
},
xAxis: {
type: "category",
@@ -83,6 +83,7 @@ const _sfc_main = {
position: "top",
fontSize: 12
},
symbol: "none",
silent: true,
data: [],
itemStyle: {
@@ -124,6 +125,7 @@ const _sfc_main = {
option.series.data = valueData;
option.xAxis.data = categoryData;
let time = that.eventDetails.event_start_time.split("T")[1];
time = time.substring(0, 5);
let firstOpen = item.minute_chart_data[0].open;
option.series.markLine.data = [
{

File diff suppressed because one or more lines are too long

View File

@@ -49,6 +49,14 @@
.eventDetailsC .eventContent .ai {
color: #C00000;
}
.eventDetailsC .riskTips {
margin: 20rpx 25rpx 0;
padding-bottom: 30rpx;
line-height: 1.4rem;
font-size: 20rpx;
color: #999;
border-bottom: solid 1rpx #E4E4E4;
}
.eventDetailsC .categoryList {
white-space: nowrap;
margin-top: 10rpx;

View File

@@ -2,6 +2,7 @@
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const utils_util = require("../../utils/util.js");
const utils_posthog = require("../../utils/posthog.js");
const common_assets = require("../../common/assets.js");
const echarts = require("../../uni_modules/lime-echart/static/echarts.min.js");
const _sfc_main = {
@@ -14,6 +15,7 @@ const _sfc_main = {
contentTop: "",
listTop: "",
sortListTop: "",
isRefreshing: false,
keywords: "",
//关键词
sortList: [],
@@ -198,6 +200,7 @@ const _sfc_main = {
}
}
this.monthDateList = monthDateList;
utils_posthog.posthog.capture("首页");
},
onReady() {
common_vendor.index.createSelectorQuery().select("#topCategory").boundingClientRect((rect) => {
@@ -209,10 +212,17 @@ const _sfc_main = {
}
}).exec();
},
onPullDownRefresh() {
this.clickSearch();
},
methods: {
/**
* 下拉刷新
*/
pullDownRefresh() {
this.isRefreshing = true;
this.clickSearch();
},
/**
* 上拉加载
*/
loadMoreData() {
if (!this.loadAll) {
this.page++;
@@ -588,7 +598,7 @@ const _sfc_main = {
this.importanceList = res.data.importance_options;
this.importanceList.unshift({ desc: "全部", key: "all", name: "全部" });
} else {
reject(1);
resolve(1);
common_vendor.index.showToast({
title: res.message,
icon: "none"
@@ -678,74 +688,8 @@ const _sfc_main = {
}
}
request_api.eventList(param).then((res) => {
this.isRefreshing = false;
if (res.success) {
let valueData = [];
let data = res.data.overall_stats.change_distribution;
valueData.push({
value: data.limit_down,
itemStyle: { color: "#35542266" },
label: {
textStyle: { color: "#35542266" }
}
});
valueData.push({
value: data.down_over_5,
itemStyle: { color: "#35542299" },
label: {
textStyle: { color: "#355422" }
}
});
valueData.push({
value: data.down_5_to_1,
itemStyle: { color: "#355422CC" },
label: {
textStyle: { color: "#355422" }
}
});
valueData.push({
value: data.down_within_1,
itemStyle: { color: "#355422" },
label: {
textStyle: { color: "#355422" }
}
});
valueData.push({
value: data.flat,
itemStyle: { color: "#ACB0C0" },
label: {
textStyle: { color: "#666" }
}
});
valueData.push({
value: data.up_within_1,
itemStyle: { color: "#C00000" },
label: {
textStyle: { color: "#C00000" }
}
});
valueData.push({
value: data.up_1_to_5,
itemStyle: { color: "#C00000CC" },
label: {
textStyle: { color: "#C00000" }
}
});
valueData.push({
value: data.up_over_5,
itemStyle: { color: "#C0000099" },
label: {
textStyle: { color: "#C00000" }
}
});
valueData.push({
value: data.limit_up,
itemStyle: { color: "#C0000066" },
label: {
textStyle: { color: "#C0000066" }
}
});
this.option.series[0].data = valueData;
this.init();
if (this.page == 1) {
this.eventList = res.data.events;
} else
@@ -753,6 +697,7 @@ const _sfc_main = {
this.loadAll = !res.data.pagination.has_next;
}
}).catch((error) => {
this.isRefreshing = false;
});
},
/**
@@ -795,14 +740,12 @@ const _sfc_main = {
}
};
if (!Array) {
const _easycom_l_echart2 = common_vendor.resolveComponent("l-echart");
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
(_easycom_l_echart2 + _easycom_uni_popup2)();
_easycom_uni_popup2();
}
const _easycom_l_echart = () => "../../uni_modules/lime-echart/components/l-echart/l-echart.js";
const _easycom_uni_popup = () => "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
(_easycom_l_echart + _easycom_uni_popup)();
_easycom_uni_popup();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
@@ -847,8 +790,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
q: $data.secondScrollLeft
} : {}, {
r: common_vendor.s("top:" + $data.contentTop + "px"),
s: common_vendor.sr("chartRef", "eb4215a0-0"),
t: common_vendor.f($data.eventList, (item, index, i0) => {
s: common_vendor.f($data.eventList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.importance),
b: common_vendor.n("level " + item.importance),
@@ -880,31 +822,24 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
}, {
t: common_vendor.t($data.getRateStr(item.related_week_chg)),
v: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_week_chg) ? "down" : "up")),
w: common_vendor.f(item.related_stocks, (sitem, sindex, i1) => {
return {
a: common_vendor.t(sitem.stock_name),
b: common_vendor.t(($data.getRateUpOrDown(sitem.daily_change) ? "" : "+") + sitem.daily_change),
c: common_vendor.n("change " + ($data.getRateUpOrDown(sitem.daily_change) ? "down" : "up")),
d: sindex,
e: common_vendor.o(($event) => $options.clickLookRelatedStockItem(item.id, sitem.stock_code), sindex)
};
}),
x: common_vendor.t($data.getLocaleTime(item.created_at)),
y: common_vendor.t(item.view_count),
z: common_vendor.t(item.post_count),
A: common_vendor.t(item.follower_count),
B: common_vendor.o(($event) => $options.clickFollowEvent(item.id), index),
C: common_vendor.o(($event) => $options.clickEventItem(item.id), index),
D: index
w: common_vendor.t($data.getLocaleTime(item.created_at)),
x: common_vendor.t(item.view_count),
y: common_vendor.t(item.post_count),
z: common_vendor.t(item.follower_count),
A: common_vendor.o(($event) => $options.clickFollowEvent(item.id), index),
B: common_vendor.o(($event) => $options.clickEventItem(item.id), index),
C: index
});
}),
v: common_assets._imports_3,
w: common_assets._imports_4,
x: common_assets._imports_10,
y: common_vendor.s("top:" + $data.listTop + "px"),
z: common_vendor.o(($event) => $options.loadMoreData()),
A: common_assets._imports_13$1,
B: common_vendor.f($data.sortList, (item, index, i0) => {
t: common_assets._imports_3,
v: common_assets._imports_4,
w: common_assets._imports_10,
x: common_vendor.s("top:" + $data.listTop + "px"),
y: $data.isRefreshing,
z: common_vendor.o(($event) => $options.pullDownRefresh()),
A: common_vendor.o(($event) => $options.loadMoreData()),
B: common_assets._imports_13$1,
C: common_vendor.f($data.sortList, (item, index, i0) => {
return {
a: item.icon,
b: common_vendor.t(item.name),
@@ -912,15 +847,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
d: common_vendor.o(($event) => $options.clickSortListItem(item), index)
};
}),
C: common_vendor.s("margin-top:" + $data.sortListTop + "px;"),
D: common_vendor.sr("sortPopup", "eb4215a0-1"),
E: common_vendor.p({
D: common_vendor.s("margin-top:" + $data.sortListTop + "px;"),
E: common_vendor.sr("sortPopup", "eb4215a0-0"),
F: common_vendor.p({
type: "top",
["mask-background-color"]: "transparent"
["mask-background-color"]: "transparent",
animation: false
}),
F: common_assets._imports_2,
G: common_vendor.s("height:" + $data.menuH + "px;"),
H: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
G: common_assets._imports_2,
H: common_vendor.s("height:" + $data.menuH + "px;"),
I: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item),
b: $data.selectScreenCategory == index
@@ -930,22 +866,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
e: common_vendor.o(($event) => $options.clickScreenCategoryItem(index), index)
});
}),
I: $data.selectScreenCategory == 0
J: $data.selectScreenCategory == 0
}, $data.selectScreenCategory == 0 ? {
J: common_vendor.t($data.startDate),
K: common_vendor.t($data.endDate),
L: common_assets._imports_5,
M: common_vendor.o(($event) => $options.clickPreMonth()),
N: common_vendor.t($data.selectMonth),
O: common_assets._imports_6,
P: common_vendor.o(($event) => $options.clickNextMonth()),
Q: common_vendor.f($data.weekList, (item, index, i0) => {
K: common_vendor.t($data.startDate),
L: common_vendor.t($data.endDate),
M: common_assets._imports_5,
N: common_vendor.o(($event) => $options.clickPreMonth()),
O: common_vendor.t($data.selectMonth),
P: common_assets._imports_6,
Q: common_vendor.o(($event) => $options.clickNextMonth()),
R: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
R: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
S: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.isToday
}, item.isToday ? {
@@ -970,9 +906,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
});
})
} : {}, {
S: $data.selectScreenCategory == 1
T: $data.selectScreenCategory == 1
}, $data.selectScreenCategory == 1 ? common_vendor.e({
T: common_vendor.f($data.industryCategoryList, (item, index, i0) => {
U: common_vendor.f($data.industryCategoryList, (item, index, i0) => {
return {
a: common_vendor.t(item.classification_name),
b: common_vendor.n("item " + ($data.selectIndustryTopCategory == index ? "select" : "")),
@@ -980,12 +916,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
d: common_vendor.o(($event) => $options.clickIndustryTopCategoryItem(index), index)
};
}),
U: common_assets._imports_1,
V: common_vendor.o([($event) => $data.industryKeywords = $event.detail.value, (...args) => $options.industrySearch && $options.industrySearch(...args)]),
W: $data.industryKeywords,
X: $data.industryKeywords.length > 0
V: common_assets._imports_1,
W: common_vendor.o([($event) => $data.industryKeywords = $event.detail.value, (...args) => $options.industrySearch && $options.industrySearch(...args)]),
X: $data.industryKeywords,
Y: $data.industryKeywords.length > 0
}, $data.industryKeywords.length > 0 ? {
Y: common_vendor.f($data.searchResultList, (item, index, i0) => {
Z: common_vendor.f($data.searchResultList, (item, index, i0) => {
return {
a: common_vendor.f(item.hierarchy, (sitem, sindex, i1) => {
return {
@@ -1014,28 +950,28 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
};
})
} : common_vendor.e({
Z: $data.selectIndustrySecondCategory > -1
}, $data.selectIndustrySecondCategory > -1 ? common_vendor.e({
aa: $data.selectIndustrySecondCategory > -1
}, $data.selectIndustrySecondCategory > -1 ? common_vendor.e({
ab: $data.selectIndustrySecondCategory > -1
}, $data.selectIndustrySecondCategory > -1 ? {
ab: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level1_sector),
ac: common_assets._imports_13,
ad: common_vendor.o(($event) => $options.deleteIndustrySecondCategoryItem())
ac: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level1_sector),
ad: common_assets._imports_13,
ae: common_vendor.o(($event) => $options.deleteIndustrySecondCategoryItem())
} : {}, {
ae: $data.selectIndustryThirdCategory > -1
af: $data.selectIndustryThirdCategory > -1
}, $data.selectIndustryThirdCategory > -1 ? {
af: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level2_sectors[$data.selectIndustryThirdCategory].level2_sector),
ag: common_assets._imports_13,
ah: common_vendor.o(($event) => $options.deleteIndustryThirdCategoryItem())
ag: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level2_sectors[$data.selectIndustryThirdCategory].level2_sector),
ah: common_assets._imports_13,
ai: common_vendor.o(($event) => $options.deleteIndustryThirdCategoryItem())
} : {}, {
ai: $data.selectIndustryForthCategory > -1
aj: $data.selectIndustryForthCategory > -1
}, $data.selectIndustryForthCategory > -1 ? {
aj: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level2_sectors[$data.selectIndustryThirdCategory].level3_sectors[$data.selectIndustryForthCategory].level3_sector),
ak: common_assets._imports_13,
al: common_vendor.o(($event) => $options.deleteIndustryForthCategoryItem())
ak: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy[$data.selectIndustrySecondCategory].level2_sectors[$data.selectIndustryThirdCategory].level3_sectors[$data.selectIndustryForthCategory].level3_sector),
al: common_assets._imports_13,
am: common_vendor.o(($event) => $options.deleteIndustryForthCategoryItem())
} : {}) : {}, {
am: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].classification_name),
an: common_vendor.f($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy, (sitem, sindex, i0) => {
an: common_vendor.t($data.industryCategoryList[$data.selectIndustryTopCategory].classification_name),
ao: common_vendor.f($data.industryCategoryList[$data.selectIndustryTopCategory].hierarchy, (sitem, sindex, i0) => {
return common_vendor.e({
a: common_vendor.t($data.selectIndustrySecondCategory == sindex && sitem.isSpread ? "-" : "+"),
b: common_vendor.t(sitem.level1_sector),
@@ -1072,9 +1008,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
});
})
})) : {}, {
ao: $data.selectScreenCategory == 2
ap: $data.selectScreenCategory == 2
}, $data.selectScreenCategory == 2 ? {
ap: common_vendor.f($data.importanceList, (item, index, i0) => {
aq: common_vendor.f($data.importanceList, (item, index, i0) => {
return {
a: common_vendor.t(item.name),
b: common_vendor.n("item " + ($data.selectImportanceIndex == index ? "select" : "")),
@@ -1083,11 +1019,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
};
})
} : {}, {
aq: common_vendor.o(($event) => $options.clickCancel()),
ar: common_vendor.o(($event) => $options.clickCertain()),
as: common_vendor.s("padding-top:" + $data.menuTop + "px;"),
at: common_vendor.sr("screenPopup", "eb4215a0-2"),
av: common_vendor.p({
ar: common_vendor.o(($event) => $options.clickCancel()),
as: common_vendor.o(($event) => $options.clickCertain()),
at: common_vendor.s("padding-top:" + $data.menuTop + "px;"),
av: common_vendor.sr("screenPopup", "eb4215a0-1"),
aw: common_vendor.p({
type: "top"
})
});

View File

@@ -1,8 +1,7 @@
{
"navigationBarTitleText": "uni-app",
"enablePullDownRefresh": true,
"enablePullDownRefresh": false,
"usingComponents": {
"l-echart": "../../uni_modules/lime-echart/components/l-echart/l-echart",
"uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup"
}
}

File diff suppressed because one or more lines are too long

View File

@@ -330,7 +330,7 @@
border-radius: 5rpx;
font-size: 28rpx;
font-weight: 500;
color: #B0B0B0;
color: #858C9A;
}
.screenPopup .screenContentC .dateC .start {
text-align: right;

View File

@@ -18,6 +18,8 @@ const _sfc_main = {
//股票code
categoryList: ["分时图", "日K线"],
selectCategory: 0,
tradeData: null,
//成交数据
option: {
title: {
show: false
@@ -33,7 +35,7 @@ const _sfc_main = {
type: "cross"
},
formatter: function(params) {
common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:66", params);
common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:74", params);
let res = "日期:" + params[0].name + "\n开盘价" + params[0].data[1] + "\n收盘价" + params[0].data[2] + "\n最低价" + params[0].data[3] + "\n最高价" + params[0].data[4];
return res;
}
@@ -54,7 +56,7 @@ const _sfc_main = {
axisLine: { onZero: false },
splitLine: { show: false },
min: "dataMin",
max: "dataMax"
max: ""
},
yAxis: {
scale: true,
@@ -82,10 +84,10 @@ const _sfc_main = {
type: "candlestick",
data: [],
itemStyle: {
color: "#ec0000",
color0: "#00da3c",
borderColor: "#ec0000",
borderColor0: "#00da3c"
color: "#ffffff",
color0: "#355422",
borderColor: "#c00000",
borderColor0: "#355422"
}
}
]
@@ -96,14 +98,13 @@ const _sfc_main = {
},
tooltip: {
position: function(pos, params, dom, rect, size) {
var obj = { top: "10%" };
var obj = { top: "5%" };
obj[["left", "right"][+(pos[0] < size.viewSize[0] / 2)]] = 5;
return obj;
},
trigger: "axis",
formatter: function(params) {
common_vendor.index.__f__("log", "at pages/index/stockDetails/stockDetails.vue:137", params);
let res = "时间:" + params[0].name + "\n高" + params[0].data[2] + "\n开" + params[0].data[3] + "\n低" + params[0].data[4] + "\n收" + params[0].data[1] + "\n涨幅" + params[0].data[5] + "%";
let res = "时间:" + params[0].name + "\n高" + params[0].data[2] + "\n开" + params[0].data[3] + "\n低" + params[0].data[4] + "\n收" + params[0].data[1] + "\n涨幅" + params[0].data[5] + "%\n量" + params[0].data[6] + "\n金额" + params[0].data[7];
return res;
}
},
@@ -115,7 +116,10 @@ const _sfc_main = {
},
xAxis: {
type: "category",
scale: true
scale: true,
axisLabel: {
customValues: ["09:30", "10:00", "10:30", "11:00", "11:30", "13:00", "13:30", "14:00", "14:30", "15:00"]
}
},
yAxis: {
show: false,
@@ -197,13 +201,22 @@ const _sfc_main = {
if (res.code == 200) {
this.navTitle = res.data.basic_info.stock_name + "(" + res.data.basic_info.stock_code + ")";
let data = res.data.minute_chart_data;
this.tradeData = res.data.latest_trade;
let categoryData = [];
let valueData = [];
let open = data[0].open;
for (let item of data) {
categoryData.push(item.time);
let rate = utils_util.accMul(utils_util.accDiv(utils_util.accSub(item.close, open), open).toFixed(4), 100);
valueData.push([item.time, item.close, item.high, item.open, item.low, rate]);
let volume = item.volume;
if (volume > 1e4) {
volume = (volume / 1e4).toFixed(0) + "万";
}
let amount = item.amount;
if (amount > 1e4) {
amount = (amount / 1e4).toFixed(0) + "万";
}
valueData.push([item.time, item.close, item.high, item.open, item.low, rate, volume, amount]);
}
let min = open;
let max = 0;
@@ -239,7 +252,8 @@ const _sfc_main = {
this.option1.yAxis.max = intervalList[intervalList.length - 1].toFixed(2);
this.option1.series.data = valueData;
let markData = [];
let time = res.data.event_info;
let time = res.data.event_info.event_start_time.split("T")[1];
time = time.substring(0, 5);
for (let item of intervalList) {
markData.push(
{

View File

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="ab03f7e6-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="tabC fixed" style="{{e}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view class="{{k}}" style="{{l}}"><view wx:if="{{f}}" style="width:750rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="ab03f7e6-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{h}}<text class="ai">AI合成【风险提示解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息团队辛苦编写未经许可严禁转载。本产品内容内容均不构成投资建议请投资者注意风险独立审慎决策。】</text></view><view wx:if="{{i}}" class="section">信息来源</view><view class="list"><view wx:for="{{j}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view>
<view><nav-bar wx:if="{{a}}" u-i="ab03f7e6-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view wx:if="{{c}}" class="tabC fixed" style="{{e}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="d" class="{{item.c}}" bindtap="{{item.e}}">{{item.a}} <view wx:if="{{item.b}}" class="line absolute"></view></view></view><view class="{{k}}" style="{{l}}"><view wx:if="{{f}}" style="width:750rpx;height:400rpx"><l-echart class="r" u-r="chartRef" u-i="ab03f7e6-1" bind:__l="__l"></l-echart></view><view class="section">关联描述</view><view class="des">{{h}}<text class="ai">AI合成</text></view><view class="riskTips"> 【风险提示:解析内容由价值前沿人工采集整理自新闻、公告、研报等公开信息,团队辛苦编写,未经许可严禁转载。本产品内容内容均不构成投资建议,请投资者注意风险,独立审慎决策。】 </view><view wx:if="{{i}}" class="section">信息来源</view><view class="list"><view wx:for="{{j}}" wx:for-item="item" wx:key="e" class="item"><view class="content">{{item.a}}</view><view class="article">——《{{item.b}}》</view><view class="authorDateC flex"><view class="author flex1">{{item.c}}</view><view class="date">{{item.d}}</view></view></view></view></view></view>

View File

@@ -37,6 +37,14 @@
bottom: 0;
overflow-y: scroll;
}
.contentC .volumeAmountC {
padding: 20rpx;
font-size: 26rpx;
color: #333;
}
.contentC .volumeAmountC .volume {
margin-right: 20rpx;
}
.contentC .section {
padding: 0 28rpx;
line-height: 80rpx;
@@ -45,9 +53,7 @@
color: #222;
}
.contentC .des {
padding: 0 0 30rpx;
margin: 0 25rpx;
border-bottom: solid 1rpx #E4E4E4;
line-height: 1.4rem;
font-size: 24rpx;
font-weight: 500;
@@ -56,6 +62,14 @@
.contentC .des .ai {
color: #C00000;
}
.contentC .riskTips {
margin: 20rpx 25rpx 0;
padding-bottom: 30rpx;
line-height: 1.4rem;
font-size: 20rpx;
color: #999;
border-bottom: solid 1rpx #E4E4E4;
}
.contentC .list {
padding: 0 25rpx;
}

View File

@@ -13,6 +13,7 @@ const _sfc_main = {
contentTop: "",
keywords: "",
//搜索关键字
isRefreshing: false,
todayDate: "",
//今日日期
calendarDateList: [],
@@ -129,9 +130,6 @@ const _sfc_main = {
}).catch((error) => {
});
},
onPullDownRefresh() {
this.reloadData();
},
computed: {
circumference() {
return Math.PI * 100;
@@ -146,6 +144,10 @@ const _sfc_main = {
} else
this.getDataListData();
},
pullDownRefresh() {
this.isRefreshing = true;
this.reloadData();
},
loadMoreData() {
if (!this.loadAll) {
this.page++;
@@ -290,7 +292,7 @@ const _sfc_main = {
param.category = this.stockCategoryList[this.selectTopCategory].primary_sector;
}
request_api.calendarEventList(param).then((res) => {
common_vendor.index.stopPullDownRefresh();
this.isRefreshing = false;
if (res.code == 200) {
if (res.data.page == 1) {
this.eventList = res.data.events;
@@ -305,7 +307,7 @@ const _sfc_main = {
icon: "none"
});
}).catch((error) => {
common_vendor.index.stopPullDownRefresh();
this.isRefreshing = false;
});
},
/**
@@ -317,6 +319,7 @@ const _sfc_main = {
param.category = this.stockCategoryList[this.selectTopCategory].primary_sector;
}
request_api.calendarDataList(param).then((res) => {
this.isRefreshing = false;
if (res.code == 200) {
this.dataList = res.data.data_list;
} else
@@ -325,7 +328,7 @@ const _sfc_main = {
icon: "none"
});
}).catch((error) => {
common_vendor.index.stopPullDownRefresh();
this.isRefreshing = false;
});
},
/**
@@ -554,19 +557,21 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
})
} : {}, {
D: common_vendor.s("top:" + $data.contentTop + "px;"),
E: common_vendor.o(($event) => $options.loadMoreData()),
F: common_assets._imports_5,
G: common_vendor.o(($event) => $options.clickPreMonth()),
H: common_vendor.t($data.selectMonth),
I: common_assets._imports_6,
J: common_vendor.o(($event) => $options.clickNextMonth()),
K: common_vendor.f($data.weekList, (item, index, i0) => {
E: $data.isRefreshing,
F: common_vendor.o(($event) => $options.pullDownRefresh()),
G: common_vendor.o(($event) => $options.loadMoreData()),
H: common_assets._imports_5,
I: common_vendor.o(($event) => $options.clickPreMonth()),
J: common_vendor.t($data.selectMonth),
K: common_assets._imports_6,
L: common_vendor.o(($event) => $options.clickNextMonth()),
M: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
L: common_vendor.f($data.calendarDateList[$data.selectMonthIndex], (item, index, i0) => {
N: common_vendor.f($data.calendarDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.isToday || item.date == $data.selectDate
}, item.isToday || item.date == $data.selectDate ? {
@@ -582,9 +587,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
g: common_vendor.o(($event) => $options.clickSelectDate(item), index)
});
}),
M: common_vendor.s("margin-top:" + $data.navH + "px;"),
N: common_vendor.sr("popup", "3bfa752c-2"),
O: common_vendor.p({
O: common_vendor.s("margin-top:" + $data.navH + "px;"),
P: common_vendor.sr("popup", "3bfa752c-2"),
Q: common_vendor.p({
type: "top"
})
});

View File

@@ -1,6 +1,6 @@
{
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"enablePullDownRefresh": false,
"usingComponents": {
"ua-markdown": "../../components/ua-markdown/ua-markdown",
"zui-progress-circle": "../../uni_modules/zui-progress-circle/components/zui-progress-circle/zui-progress-circle",

File diff suppressed because one or more lines are too long

View File

@@ -25,8 +25,11 @@ const _sfc_main = {
showCancel: false,
confirmText: "复制",
success(res) {
if (res.confirm)
;
if (res.confirm) {
common_vendor.index.setClipboardData({
data: "https://valuefrontier.cn/home/pages/account/subscription"
});
}
}
});
}

View File

@@ -2,7 +2,8 @@
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "JiaZhiQianYan",
"setting": {
"compileHotReLoad": true
"compileHotReLoad": true,
"urlCheck": true
},
"condition": {
"miniprogram": {

View File

@@ -2,7 +2,7 @@
const common_vendor = require("../common/vendor.js");
let baseURL = "";
{
baseURL = "http://43.143.189.195:5002";
baseURL = "https://api.valuefrontier.cn:5002";
}
function get(url, params) {
return new Promise((resolve, reject) => {
@@ -20,7 +20,7 @@ function get(url, params) {
},
method: "GET",
success: (response) => {
common_vendor.index.__f__("log", "at request/http.js:37", response);
common_vendor.index.__f__("log", "at request/http.js:39", response);
common_vendor.index.hideLoading();
if (response.data.code == 401) {
common_vendor.index.removeStorageSync("token");
@@ -67,7 +67,7 @@ function post(url, params) {
},
formData: params,
success: (response) => {
common_vendor.index.__f__("log", "at request/http.js:93", response);
common_vendor.index.__f__("log", "at request/http.js:95", response);
common_vendor.index.hideLoading();
if (response.data.code == 401) {
common_vendor.index.removeStorageSync("token");
@@ -80,7 +80,7 @@ function post(url, params) {
}
},
fail: (error) => {
common_vendor.index.__f__("log", "at request/http.js:106", "上传失败" + error.errMsg);
common_vendor.index.__f__("log", "at request/http.js:108", "上传失败" + error.errMsg);
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "请求失败",
@@ -108,7 +108,7 @@ function post(url, params) {
if (params && params.isNotNeedLogin)
;
else {
common_vendor.index.__f__("log", "at request/http.js:137", response.data);
common_vendor.index.__f__("log", "at request/http.js:139", response.data);
if (response.data.code == 401) {
common_vendor.index.removeStorageSync("token");
common_vendor.index.navigateTo({

View File

@@ -0,0 +1,135 @@
"use strict";
const common_vendor = require("../common/vendor.js");
class PostHogTracker {
constructor(config) {
this.apiHost = config.apiHost || "https://us.i.posthog.com";
this.apiKey = config.apiKey;
this.distinctId = null;
}
// 初始化并获取用户唯一标识
init() {
const storedId = common_vendor.index.getStorageSync("posthog_distinct_id");
if (storedId) {
this.distinctId = storedId;
} else {
this.distinctId = this._generateUUID();
common_vendor.index.setStorageSync("posthog_distinct_id", this.distinctId);
}
return this;
}
// 设置用户 ID登录后调用
identify(userId, userProperties = {}) {
this.distinctId = userId;
common_vendor.index.setStorageSync("posthog_distinct_id", userId);
this._capture("$identify", {
$set: userProperties
});
}
// 捕获事件
capture(eventName, properties = {}) {
this._capture(eventName, properties);
}
// 页面浏览事件
pageView(pagePath, pageTitle) {
this._capture("$pageview", {
$current_url: pagePath,
$title: pageTitle
});
}
// 内部发送方法
_capture(event, properties = {}) {
const payload = {
api_key: this.apiKey,
event,
distinct_id: this.distinctId,
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
properties: {
...properties,
$lib: "uniapp-miniprogram",
$lib_version: "1.0.0",
...this._getDefaultProperties()
}
};
common_vendor.index.request({
url: `${this.apiHost}/i/v0/e/`,
method: "POST",
header: {
"Content-Type": "application/json"
},
data: payload,
success: (res) => {
common_vendor.index.__f__("log", "at utils/posthog.js:71", "PostHog event captured:", event);
},
fail: (err) => {
common_vendor.index.__f__("error", "at utils/posthog.js:74", "PostHog capture failed:", err);
this._saveFailedEvent(payload);
}
});
}
// 批量发送事件(性能优化)
captureBatch(events) {
const payload = events.map((e) => ({
api_key: this.apiKey,
event: e.event,
distinct_id: this.distinctId,
timestamp: e.timestamp || (/* @__PURE__ */ new Date()).toISOString(),
properties: {
...e.properties,
...this._getDefaultProperties()
}
}));
common_vendor.index.request({
url: `${this.apiHost}/batch/`,
method: "POST",
header: {
"Content-Type": "application/json"
},
data: payload,
success: (res) => {
common_vendor.index.__f__("log", "at utils/posthog.js:102", "PostHog batch captured:", events.length, "events");
}
});
}
// 获取默认属性
_getDefaultProperties() {
const systemInfo = common_vendor.index.getSystemInfoSync();
return {
$os: systemInfo.platform,
$os_version: systemInfo.system,
$device: systemInfo.model,
$screen_height: systemInfo.screenHeight,
$screen_width: systemInfo.screenWidth,
mp_platform: "uniapp"
};
}
// 生成 UUID
_generateUUID() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
const r = Math.random() * 16 | 0;
const v = c === "x" ? r : r & 3 | 8;
return v.toString(16);
});
}
// 保存失败事件(离线支持)
_saveFailedEvent(payload) {
const failedEvents = common_vendor.index.getStorageSync("posthog_failed_events") || [];
failedEvents.push(payload);
common_vendor.index.setStorageSync("posthog_failed_events", failedEvents);
}
// 重试发送失败的事件
retryFailedEvents() {
const failedEvents = common_vendor.index.getStorageSync("posthog_failed_events") || [];
if (failedEvents.length > 0) {
this.captureBatch(failedEvents);
common_vendor.index.removeStorageSync("posthog_failed_events");
}
}
}
const posthog = new PostHogTracker({
apiHost: "https://us.i.posthog.com",
// 或 eu.i.posthog.com
apiKey: "YOUR_PROJECT_API_KEY"
// 在 PostHog 项目设置中获取
}).init();
exports.posthog = posthog;
//# sourceMappingURL=../../.sourcemap/mp-weixin/utils/posthog.js.map

View File

@@ -0,0 +1,11 @@
"use strict";
const common_vendor = require("../common/vendor.js");
const share = {
created() {
common_vendor.index.showShareMenu({
menus: ["shareAppMessage", "shareTimeline"]
});
}
};
exports.share = share;
//# sourceMappingURL=../../.sourcemap/mp-weixin/utils/share.js.map