7.10 增加登录页面,事件详情接口对接,我的点赞,关注收藏页面搭建,接口对接

This commit is contained in:
尚政杰
2025-07-10 18:08:16 +08:00
parent c4267a0e27
commit 58b3414bdd
356 changed files with 7710 additions and 978 deletions

View File

@@ -10,18 +10,24 @@ const _sfc_main = {
menuTop: common_vendor.inject("menuTop"),
menuH: common_vendor.inject("menuHeight"),
navH: common_vendor.inject("navHeight"),
windowWidth: common_vendor.inject("windowWidth"),
contentTop: "",
listTop: "",
sortListTop: "",
keywords: "",
//关键词
sortList: [],
selectSortKey: "",
//选中排序key
timeCategoryList: [],
selectTimeCategory: 0,
topCategoryList: ["全部", "大周期", "大消费", "大金融地产", "TMT板块", "公共产业板块"],
stockCategoryList: [],
topScrollWidth: 0,
secondScrollWidth: 0,
selectTopCategory: 0,
secondCategoryList: ["全部", "石油石化", "煤炭", "有色金属", "钢铁", "基础化工", "建筑材料"],
topScrollLeft: 0,
selectSecondCategory: 0,
secondScrollLeft: 0,
screenCategoryList: ["日期范围", "行业分类", "重要性"],
selectYearMonth: "",
//选择的年月日
@@ -39,7 +45,10 @@ const _sfc_main = {
//选中月份下标
selectMonth: "",
//选中年月
industryTopCategoryList: ["巨潮行业分类", "新财富行业分类", "申银万国行业分类", "证监会行业分类"],
industryTopCategoryList: [],
//行业一级分类
selectIndustryTopCategory: 0,
//
selectScreenCategory: 0,
importanceList: [],
//重要性数组
@@ -173,11 +182,13 @@ const _sfc_main = {
};
},
onLoad() {
this.contentTop = this.navH + (75 + 20) / 750 * common_vendor.inject("windowWidth");
this.listTop = this.contentTop + (22 + 80 + 72 + 44 + 44) / 750 * common_vendor.inject("windowWidth");
this.sortListTop = this.navH + (22 + 80 + 80) / 750 * common_vendor.inject("windowWidth");
this.contentTop = this.navH + (75 + 20) / 750 * this.windowWidth;
this.listTop = this.contentTop + (22 + 80 + 72) / 750 * this.windowWidth;
this.sortListTop = this.navH + (22 + 80 + 80) / 750 * this.windowWidth;
this.getEventFilterListData();
this.getEventListData();
this.getIndustryCategoryListData();
this.getStockCategoryListData();
let currentDate = /* @__PURE__ */ new Date();
let currentYear = currentDate.getFullYear();
let currentMonth = currentDate.getMonth() + 1;
@@ -239,6 +250,16 @@ const _sfc_main = {
}
this.monthDateList = monthDateList;
},
onReady() {
common_vendor.index.createSelectorQuery().select("#topCategory").boundingClientRect((rect) => {
this.topScrollWidth = Math.round(rect.width);
}).exec();
common_vendor.index.createSelectorQuery().select("#secondCategory").boundingClientRect((rect) => {
if (rect) {
this.secondScrollWidth = Math.round(rect.width);
}
}).exec();
},
onPullDownRefresh() {
this.page = 1;
this.getEventListData();
@@ -268,14 +289,29 @@ const _sfc_main = {
clickTimeCategoryItem(index) {
if (this.selectTimeCategory != index) {
this.selectTimeCategory = index;
if (index == 0) {
this.getEventListData();
} else
this.getHotEventListData();
}
},
/**
* 点击排序
*/
clickSortItem() {
clickSort() {
this.$refs["sortPopup"].open();
},
/**
* 点击排序选项
*/
clickSortListItem(item) {
this.selectSortKey = item.key;
this.$refs["sortPopup"].close();
if (this.selectTimeCategory == 0) {
this.getEventListData();
} else
this.getHotEventListData();
},
/**
* 点击筛选
*/
@@ -308,18 +344,26 @@ const _sfc_main = {
* 点击选择一级分类
* @param {Object} index
*/
clickTopCategoryItem(index) {
clickTopCategoryItem(event, index) {
if (this.selectTopCategory != index) {
this.selectTopCategory = index;
let offsetLeft = event.currentTarget.offsetLeft;
this.topScrollLeft = offsetLeft - this.topScrollWidth / 2;
if (index == 0) {
this.listTop = this.contentTop + (22 + 80 + 72) / 750 * this.windowWidth;
} else
this.listTop = this.contentTop + (22 + 80 + 72 + 44 + 44) / 750 * this.windowWidth;
}
},
/**
* 点击选择二级分类
* @param {Object} index
*/
clickSecondCategoryItem(index) {
clickSecondCategoryItem(event, index) {
if (this.selectSecondCategory != index) {
this.selectSecondCategory = index;
let offsetLeft = event.currentTarget.offsetLeft;
this.secondScrollLeft = offsetLeft - this.secondScrollWidth / 2;
}
},
/**
@@ -378,6 +422,14 @@ const _sfc_main = {
this.startTimeStamp = item.timestamp;
}
},
/**
* 选择行业分类一级分类
*/
clickSelectIndustryTopCategoryItem(index) {
if (this.selectIndustryTopCategory != index) {
this.selectIndustryTopCategory = index;
}
},
/**
* 点击选择重要性
*/
@@ -386,6 +438,35 @@ const _sfc_main = {
this.selectImportanceIndex = index;
}
},
/**
* 点击展开收起内容
* @param {Object} index
*/
clickExpandOrRetract(index) {
this.eventList[index].isExpand = !this.eventList[index].isExpand;
},
/**
* 点击相关股票
* @param {Object} code
*/
clickLookRelatedStockItem(code) {
common_vendor.index.navigateTo({
url: "/pages/index/stockDetails/stockDetails?code=" + code
});
},
/**
* 点击关注事件
* @param {Object} id
*/
clickFollowEvent(id) {
request_api.followEvent(id).then((res) => {
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 查看事件详情
*/
@@ -398,24 +479,58 @@ const _sfc_main = {
* 获取事件筛选项
*/
getEventFilterListData() {
request_api.eventFilterList().then((res) => {
let timeList = [...res.data.available_sorts];
this.timeCategoryList = timeList.splice(0, 2);
let sortList = [...res.data.available_sorts];
for (let item of sortList) {
if (item.name == "最新") {
item.icon = "/static/icon/home/new.png";
request_api.filterOptions().then((res) => {
if (res.code == 200) {
let timeList = [...res.data.sort_options];
this.timeCategoryList = timeList.splice(0, 2);
let sortList = [...res.data.sort_options];
for (let item of sortList) {
if (item.name == "最新") {
item.icon = "/static/icon/home/new.png";
}
if (item.name == "热门") {
item.icon = "/static/icon/home/hot.png";
}
if (item.name == "收益率") {
item.icon = "/static/icon/home/yield.png";
}
}
if (item.name == "热门") {
item.icon = "/static/icon/home/hot.png";
this.sortList = res.data.sort_options.splice(0, 3);
this.importanceList = res.data.importance_options;
this.importanceList.unshift({ desc: "全部", key: "all", name: "全部" });
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
/**
* 获取行业分类
*/
getIndustryCategoryListData() {
request_api.industryCategoryList().then((res) => {
this.industryTopCategoryList = res.data;
}).catch((error) => {
});
},
/**
* 获取股票分类
*/
getStockCategoryListData() {
request_api.stockCategoryList().then((res) => {
if (res.code == 200) {
for (let item of res.data) {
item.sub_sectors.unshift("全部");
}
if (item.name == "收益率") {
item.icon = "/static/icon/home/yield.png";
}
}
this.sortList = res.data.available_sorts.splice(0, 3);
this.importanceList = res.data.available_importance_levels;
this.importanceList.unshift({ desc: "全部", key: "all", name: "全部" });
res.data.unshift({ primary_sector: "全部", sub_sectors: [] });
this.stockCategoryList = res.data;
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
},
@@ -433,6 +548,9 @@ const _sfc_main = {
if (this.selectImportanceIndex > 0) {
param.importance = this.importanceList[this.selectImportanceIndex].key;
}
if (this.selectSortKey) {
param.sort = this.selectSortKey;
}
request_api.eventList(param).then((res) => {
if (res.success) {
if (this.page == 1) {
@@ -442,6 +560,38 @@ const _sfc_main = {
}
}).catch((error) => {
});
let token = common_vendor.index.getStorageSync("token");
if (!token) {
let param1 = { email: "1198731706@qq.com", password: "Aa123456", isJson: 1 };
request_api.loginByEmail(param1).then((res) => {
if (res.code == 200) {
common_vendor.index.setStorageSync("token", res.data.token);
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
},
/**
* 获取热门事件数据
*/
getHotEventListData() {
request_api.homeData().then((res) => {
if (res.code == 200) {
if (this.page == 1) {
this.eventList = res.data.events;
} else
this.eventList = this.eventList.concat(res.data.events);
} else
common_vendor.index.showToast({
title: res.message,
icon: "none"
});
}).catch((error) => {
});
}
}
};
@@ -470,87 +620,104 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
d: common_vendor.o(($event) => $options.clickTimeCategoryItem(index), index)
};
}),
i: common_assets._imports_2,
j: common_vendor.o(($event) => $options.clickSortItem()),
k: common_assets._imports_3,
i: common_assets._imports_2$1,
j: common_vendor.o(($event) => $options.clickSort()),
k: common_assets._imports_3$1,
l: common_vendor.o(($event) => $options.clickScreenItem()),
m: common_vendor.f($data.topCategoryList, (item, index, i0) => {
m: common_vendor.f($data.stockCategoryList, (item, index, i0) => {
return {
a: common_vendor.t(item),
a: common_vendor.t(item.primary_sector),
b: common_vendor.n("item relative " + ($data.selectTopCategory == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickTopCategoryItem(index), index)
d: common_vendor.o(($event) => $options.clickTopCategoryItem($event, index), index)
};
}),
n: common_vendor.f($data.secondCategoryList, (item, index, i0) => {
n: $data.topScrollLeft,
o: $data.stockCategoryList.length > 0 && $data.stockCategoryList[$data.selectTopCategory].sub_sectors.length > 0
}, $data.stockCategoryList.length > 0 && $data.stockCategoryList[$data.selectTopCategory].sub_sectors.length > 0 ? {
p: common_vendor.f($data.stockCategoryList[$data.selectTopCategory].sub_sectors, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n("item " + ($data.selectSecondCategory == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickSecondCategoryItem(index), index)
d: common_vendor.o(($event) => $options.clickSecondCategoryItem($event, index), index)
};
}),
o: common_vendor.s("top:" + $data.contentTop + "px"),
p: common_vendor.f($data.eventList, (item, index, i0) => {
q: $data.secondScrollLeft
} : {}, {
r: common_vendor.s("top:" + $data.contentTop + "px"),
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),
c: common_vendor.t(item.title),
d: common_vendor.t(item.description),
e: $data.getRateUpOrDown(item.related_avg_chg)
e: common_vendor.n("content " + (item.isExpand ? "" : "retract")),
f: common_vendor.o(($event) => $options.clickExpandOrRetract(index), index),
g: $data.getRateUpOrDown(item.related_avg_chg)
}, $data.getRateUpOrDown(item.related_avg_chg) ? {
f: common_assets._imports_4
h: common_assets._imports_1$1
} : {
g: common_assets._imports_5
i: common_assets._imports_2$2
}, {
h: common_vendor.t($data.getRateStr(item.related_avg_chg)),
i: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_avg_chg) ? "down" : "up")),
j: $data.getRateUpOrDown(item.related_max_chg)
j: common_vendor.t($data.getRateStr(item.related_avg_chg)),
k: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_avg_chg) ? "down" : "up")),
l: $data.getRateUpOrDown(item.related_max_chg)
}, $data.getRateUpOrDown(item.related_max_chg) ? {
k: common_assets._imports_4
m: common_assets._imports_1$1
} : {
l: common_assets._imports_5
n: common_assets._imports_2$2
}, {
m: common_vendor.t($data.getRateStr(item.related_max_chg)),
n: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_max_chg) ? "down" : "up")),
o: $data.getRateUpOrDown(item.related_week_chg)
o: common_vendor.t($data.getRateStr(item.related_max_chg)),
p: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_max_chg) ? "down" : "up")),
q: $data.getRateUpOrDown(item.related_week_chg)
}, $data.getRateUpOrDown(item.related_week_chg) ? {
p: common_assets._imports_4
r: common_assets._imports_1$1
} : {
q: common_assets._imports_5
s: common_assets._imports_2$2
}, {
r: common_vendor.t($data.getRateStr(item.related_week_chg)),
s: common_vendor.n("rateItem " + ($data.getRateUpOrDown(item.related_week_chg) ? "down" : "up")),
t: common_vendor.t($data.getLocaleTime(item.created_at)),
v: common_vendor.t(item.view_count),
w: common_vendor.t(item.post_count),
x: common_vendor.t(item.follower_count),
y: common_vendor.o(($event) => $options.clickEventItem(item.id), index),
z: index
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: sindex,
d: common_vendor.o(($event) => $options.clickLookRelatedStockItem(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
});
}),
q: common_assets._imports_1$1,
r: common_assets._imports_2$1,
s: common_assets._imports_3$1,
t: common_vendor.s("top:" + $data.listTop + "px"),
v: common_vendor.o(($event) => $options.loadMoreData()),
w: common_assets._imports_9,
x: common_vendor.f($data.sortList, (item, index, i0) => {
t: common_assets._imports_3,
v: common_assets._imports_4,
w: common_assets._imports_7,
x: common_vendor.s("top:" + $data.listTop + "px"),
y: common_vendor.o(($event) => $options.loadMoreData()),
z: common_assets._imports_11$1,
A: common_vendor.f($data.sortList, (item, index, i0) => {
return {
a: item.icon,
b: common_vendor.t(item.name),
c: index
c: index,
d: common_vendor.o(($event) => $options.clickSortListItem(item), index)
};
}),
y: common_vendor.s("margin-top:" + $data.sortListTop + "px;"),
z: common_vendor.sr("sortPopup", "9dfd58d8-0"),
A: common_vendor.p({
B: common_vendor.s("margin-top:" + $data.sortListTop + "px;"),
C: common_vendor.sr("sortPopup", "9dfd58d8-0"),
D: common_vendor.p({
type: "top",
["mask-background-color"]: "transparent"
}),
B: common_assets._imports_2$2,
C: common_vendor.s("height:" + $data.menuH + "px;"),
D: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
E: common_assets._imports_2,
F: common_vendor.s("height:" + $data.menuH + "px;"),
G: common_vendor.f($data.screenCategoryList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item),
b: $data.selectScreenCategory == index
@@ -560,22 +727,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
e: common_vendor.o(($event) => $options.clickScreenCategoryItem(index), index)
});
}),
E: $data.selectScreenCategory == 0
H: $data.selectScreenCategory == 0
}, $data.selectScreenCategory == 0 ? {
F: common_vendor.t($data.startDate),
G: common_vendor.t($data.endDate),
H: common_assets._imports_11,
I: common_vendor.o(($event) => $options.clickPreMonth()),
J: common_vendor.t($data.selectMonth),
K: common_assets._imports_12,
L: common_vendor.o(($event) => $options.clickNextMonth()),
M: common_vendor.f($data.weekList, (item, index, i0) => {
I: common_vendor.t($data.startDate),
J: common_vendor.t($data.endDate),
K: common_assets._imports_11,
L: common_vendor.o(($event) => $options.clickPreMonth()),
M: common_vendor.t($data.selectMonth),
N: common_assets._imports_12,
O: common_vendor.o(($event) => $options.clickNextMonth()),
P: common_vendor.f($data.weekList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
};
}),
N: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
Q: common_vendor.f($data.monthDateList[$data.selectMonthIndex], (item, index, i0) => {
return common_vendor.e({
a: item.isToday || item.date == $data.startDate || item.date == $data.endDate
}, item.isToday || item.date == $data.startDate || item.date == $data.endDate ? {
@@ -596,19 +763,22 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
});
})
} : {}, {
O: $data.selectScreenCategory == 1
R: $data.selectScreenCategory == 1
}, $data.selectScreenCategory == 1 ? {
P: common_vendor.f($data.industryTopCategoryList, (item, index, i0) => {
S: common_vendor.f($data.industryTopCategoryList, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: index
a: common_vendor.t(item.classification_name),
b: common_vendor.n("item " + ($data.selectIndustryTopCategory == index ? "select" : "")),
c: index,
d: common_vendor.o(($event) => $options.clickSelectIndustryTopCategoryItem(index), index)
};
}),
Q: common_assets._imports_1
T: common_assets._imports_1,
U: common_vendor.t($data.industryTopCategoryList[$data.selectIndustryTopCategory].classification_name)
} : {}, {
R: $data.selectScreenCategory == 2
V: $data.selectScreenCategory == 2
}, $data.selectScreenCategory == 2 ? {
S: common_vendor.f($data.importanceList, (item, index, i0) => {
W: common_vendor.f($data.importanceList, (item, index, i0) => {
return {
a: common_vendor.t(item.name),
b: common_vendor.n("item " + ($data.selectImportanceIndex == index ? "select" : "")),
@@ -617,11 +787,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
};
})
} : {}, {
T: common_vendor.o(($event) => $options.clickCancel()),
U: common_vendor.o(($event) => $options.clickCertain()),
V: common_vendor.s("padding-top:" + $data.menuTop + "px;"),
W: common_vendor.sr("screenPopup", "9dfd58d8-1"),
X: common_vendor.p({
X: common_vendor.o(($event) => $options.clickCancel()),
Y: common_vendor.o(($event) => $options.clickCertain()),
Z: common_vendor.s("padding-top:" + $data.menuTop + "px;"),
aa: common_vendor.sr("screenPopup", "9dfd58d8-1"),
ab: common_vendor.p({
type: "top"
})
});