From 3365e5ee0a5a4fc5b9ffd38e9253029df4225f95 Mon Sep 17 00:00:00 2001 From: "DESKTOP-RQ919RC\\Pc" <1300399510@qq.com> Date: Wed, 5 Nov 2025 19:10:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=96=B0=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E8=B5=84=E6=BA=90=E5=8F=8A=E6=9B=B4=E6=96=B0=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=A0=B7=E5=BC=8F=E4=B8=8E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit style: 调整CSS样式及优化布局 refactor: 重构组件逻辑及API调用 fix: 修复路径引用及图片加载问题 docs: 更新注释及文档内容 --- component/head-top/head-top.js | 6 +- component/head-top/head-top.txt | 20 +- component/hot-tag/hot-tag.js | 2 +- component/hot-tag/hot-tag.txt | 2 +- component/item-bottom/item-bottom.js | 2 +- component/item-forum/item-forum.js | 6 +- component/item-forum/item-forum.txt | 4 +- component/item-head/item-head.js | 67 ++- component/item-head/item-head.txt | 28 +- component/item-mj/item-mj.js | 6 +- component/item-mj/item-mj.txt | 4 +- component/item-offer/item-offer.js | 58 +-- component/item-offer/item-offer.txt | 4 +- component/item-summary/item-summary.js | 6 +- component/item-summary/item-summary.txt | 4 +- component/item-tenement/item-tenement.js | 6 +- component/item-tenement/item-tenement.txt | 4 +- component/item-vote/item-vote.js | 55 ++- component/item-vote/item-vote.txt | 4 +- component/latest-list/latest-list.js | 2 +- component/latest-list/latest-list.txt | 4 +- component/load-box/load-box.js | 19 + css/homepage-other.css | 2 +- css/homepage-other.less | 5 +- css/index.css | 12 +- css/index.less | 12 +- css/public.css | 106 ++++- css/public.less | 126 +++++- img/coin-bj.svg | 11 + img/coin-icon.png | Bin 0 -> 16971 bytes img/dot-blue.svg | 13 + img/dot-green.svg | 13 + img/load-icon.svg | 1 + img/petal1.png | Bin 0 -> 554 bytes img/petal2.png | Bin 0 -> 549 bytes img/petal3.png | Bin 0 -> 461 bytes img/sign-go.svg | 22 + img/sign-icon.png | Bin 0 -> 3587 bytes img/sign-in-bj.svg | 13 + img/u1829.svg | 7 + index.html | 479 +++++++++++----------- js/index.js | 10 +- js/public.js | 2 +- 43 files changed, 782 insertions(+), 365 deletions(-) create mode 100644 component/load-box/load-box.js create mode 100644 img/coin-bj.svg create mode 100644 img/coin-icon.png create mode 100644 img/dot-blue.svg create mode 100644 img/dot-green.svg create mode 100644 img/load-icon.svg create mode 100644 img/petal1.png create mode 100644 img/petal2.png create mode 100644 img/petal3.png create mode 100644 img/sign-go.svg create mode 100644 img/sign-icon.png create mode 100644 img/sign-in-bj.svg create mode 100644 img/u1829.svg diff --git a/component/head-top/head-top.js b/component/head-top/head-top.js index 4b6b498..61874ab 100644 --- a/component/head-top/head-top.js +++ b/component/head-top/head-top.js @@ -42,8 +42,10 @@ export const headTop = defineComponent({ redirectToExternalWebsite("/search/" + searchText); }; - return { state, signIn, input, defaultSearchText, goSearch }; + let pitchState = ref(false); + + return { pitchState, state, signIn, input, defaultSearchText, goSearch }; }, - template: `
签到领寄托币
GO
已签到,明天再来
`, + template: `
签到领寄托币
GO
已签到,明天再来
`, }); diff --git a/component/head-top/head-top.txt b/component/head-top/head-top.txt index 8a29215..d2496b1 100644 --- a/component/head-top/head-top.txt +++ b/component/head-top/head-top.txt @@ -3,26 +3,26 @@
-
- +
+
- - - + + + 签到领寄托币
- + GO
- - - + + +
- + 已签到,明天再来
\ No newline at end of file diff --git a/component/hot-tag/hot-tag.js b/component/hot-tag/hot-tag.js index d836ff8..b98b1d6 100644 --- a/component/hot-tag/hot-tag.js +++ b/component/hot-tag/hot-tag.js @@ -25,5 +25,5 @@ export const hotTag = defineComponent({ components: {}, - template: `
热门标签
{{ item.tagname }}
`, + template: `
热门标签
{{ item.tagname }}
`, }); diff --git a/component/hot-tag/hot-tag.txt b/component/hot-tag/hot-tag.txt index 9ed294e..7c8c32a 100644 --- a/component/hot-tag/hot-tag.txt +++ b/component/hot-tag/hot-tag.txt @@ -1,6 +1,6 @@
- + 热门标签
diff --git a/component/item-bottom/item-bottom.js b/component/item-bottom/item-bottom.js index 925a4be..27dc297 100644 --- a/component/item-bottom/item-bottom.js +++ b/component/item-bottom/item-bottom.js @@ -78,7 +78,7 @@ export const itemBottom = defineComponent({ const token = item.value.token || ""; - ajax(`https://api.gter.net/v2/api/forum/postTopicCollect`, { + ajax(`/v2/api/forum/postTopicCollect`, { token, }) .then((res) => { diff --git a/component/item-forum/item-forum.js b/component/item-forum/item-forum.js index 1f6425e..d1a9be1 100644 --- a/component/item-forum/item-forum.js +++ b/component/item-forum/item-forum.js @@ -12,6 +12,10 @@ export const itemForum = defineComponent({ type: Object, default: () => {}, }, + page: { + type: String, + default: "", + }, }, setup(props) { @@ -29,5 +33,5 @@ export const itemForum = defineComponent({ itemHead, }, - template: ``, + template: ``, }); diff --git a/component/item-forum/item-forum.txt b/component/item-forum/item-forum.txt index 62d6b7c..194f85c 100644 --- a/component/item-forum/item-forum.txt +++ b/component/item-forum/item-forum.txt @@ -1,8 +1,8 @@ \ No newline at end of file diff --git a/component/item-head/item-head.js b/component/item-head/item-head.js index feb4675..45836bc 100644 --- a/component/item-head/item-head.js +++ b/component/item-head/item-head.js @@ -1,6 +1,6 @@ // my-component.js // 引入全局 Vue 对象(因在 HTML 中通过 script 引入,Vue 已挂载到 window) -const { defineComponent, ref, provide, onMounted } = Vue; +const { defineComponent, ref, provide, onMounted, inject } = Vue; import { report } from "../report/report.js"; // 定义组件(直接使用模板) @@ -11,6 +11,11 @@ export const itemHead = defineComponent({ type: Object, default: () => {}, }, + + page: { + type: String, + default: "", + }, }, setup(props) { @@ -89,20 +94,24 @@ export const itemHead = defineComponent({ }); }; - // let cancelOperate = inject("cancelOperate"); - + // let handleDelete = inject("handleDelete"); + let itemHead = ref(null); // 删除 const deleteItem = () => { const target = item.value; - console.log("deleteItem"); + console.log("deleteItem", target, target.token); + managerDelete(target.token) + .then(() => { + const targetNode = itemHead.value; + if (!targetNode) return; - // managerDelete(target.token) - // .then(() => { - // cancelOperate("like", token); - // }) - // .finally(() => { - // cutShow(); - // }); + const parentItemBox = targetNode.parentElement; + if (parentItemBox?.classList.contains("item-box")) parentItemBox.style.display = "none"; + + }) + .finally(() => { + cutShow(); + }); }; // 编辑 @@ -116,12 +125,44 @@ export const itemHead = defineComponent({ redirectToExternalWebsite(`/space?uin=${uin}&uid=${uid}`); }; - return { edit, deleteItem, goPersonalHomepage, reportState, cutShow, show, item, timestamp, sectionn, tags, ismanager, report, hide, recommend, essence }; + const openedit = (type) => { + let url = ``; + if (type == "offer") url = `https://offer.gter.net/post/modify?id=${item.value.token}`; + else if (type == "offer_summary") url = `https://offer.gter.net/post/summary`; + redirectToExternalWebsite(url); + }; + + const anonymousState = ref(false); + const cutAnonymous = () => { + anonymousState.value = !anonymousState.value; + }; + + const cutAnonymousState = (state) => { + console.log("state", state); + const target = item.value; + ajax("/v2/api/forum/postTopicAnonymousStatus", { + token: target.token, + anonymous: state, + }) + .then((res) => { + console.log("res", res); + if (res.code != 200) return; + const data = res.data || {}; + target.anonymous = data.anonymous || 0; + item.value = target; + creationAlertBox("success", res.message || "操作成功"); + }) + .finally(() => { + cutAnonymous(); + }); + }; + + return { itemHead, cutAnonymousState, cutAnonymous, anonymousState, openedit, edit, deleteItem, goPersonalHomepage, reportState, cutShow, show, item, timestamp, sectionn, tags, ismanager, report, hide, recommend, essence }; }, components: { report, }, - template: `
{{ item?.user?.nickname || item.nickname || "匿名用户" }}
{{ timestamp }}
{{ item.views }}
举报
`, + template: `
{{ item?.user?.nickname || item.nickname || "匿名用户" }}
{{ timestamp }}
公开 匿名
{{ item.views }}
举报
删除
`, }); diff --git a/component/item-head/item-head.txt b/component/item-head/item-head.txt index 82b5e31..5275f19 100644 --- a/component/item-head/item-head.txt +++ b/component/item-head/item-head.txt @@ -1,4 +1,4 @@ -
+
{{ item?.user?.nickname || item.nickname || "匿名用户" }}
@@ -8,6 +8,31 @@
{{ timestamp }}
+
+ +
+ +
+
+ 公开 + 匿名 +
+ + + +
+ +
{{ item.views }}
@@ -31,6 +56,7 @@
编辑
删除
+
删除
diff --git a/component/item-mj/item-mj.js b/component/item-mj/item-mj.js index ddea129..4545afe 100644 --- a/component/item-mj/item-mj.js +++ b/component/item-mj/item-mj.js @@ -12,6 +12,10 @@ export const itemMj = defineComponent({ type: Object, default: () => {}, }, + page: { + type: String, + default: "", + }, }, setup(props) { @@ -25,5 +29,5 @@ export const itemMj = defineComponent({ itemHead, }, - template: ``, + template: ``, }); diff --git a/component/item-mj/item-mj.txt b/component/item-mj/item-mj.txt index 16ce65c..02116c3 100644 --- a/component/item-mj/item-mj.txt +++ b/component/item-mj/item-mj.txt @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/component/item-offer/item-offer.js b/component/item-offer/item-offer.js index 79cb7d8..83564ee 100644 --- a/component/item-offer/item-offer.js +++ b/component/item-offer/item-offer.js @@ -12,64 +12,16 @@ export const itemOffer = defineComponent({ type: Object, default: () => {}, }, + page: { + type: String, + default: "", + }, }, setup(props) { let item = ref({ ...props.itemdata }); item.value["url"] = "/details/" + item.value.uniqid; - // let isLogin = ref(true); - // let realname = ref(1); // 是否已经实名 - // let userInfoWin = ref({ - // authority: ["comment.edit", "comment.delete", "offercollege.hide", "offersummary.hide", "mj.hide", "topic:manager", "topic:hide"], - // avatar: "https://nas.gter.net:9008/avatar/97K4EWIMLrsbGTWXslC2WFVSEKWOikN42jDKLNjtax7HL4xtfMOJSdU9oWFhY2E~/middle?random=1761733169", - // groupid: 3, - // nickname: "肖荣豪", - // realname: 1, - // token: "01346a38444d71aaadb3adad52b52c39", - // uid: 500144, - // uin: 4238049, - // }); - - // let permissions = ref([]); - - // const getUserInfoWin = () => { - // const checkUser = () => { - // const user = window.userInfoWin; - // if (!user) return; - // document.removeEventListener("getUser", checkUser); - // realname.value = user.realname; - // userInfoWin.value = user; - // if (user?.uin > 0 || user?.uid > 0) isLogin.value = true; - // }; - // document.addEventListener("getUser", checkUser); - // }; - - // const openAttest = () => { - // const handleAttestClose = () => { - // document.removeEventListener("closeAttest", handleAttestClose); - // realname.value = window.userInfoWin?.realname || 0; - // }; - // // 启动认证流程时添加监听 - // document.addEventListener("closeAttest", handleAttestClose); - // loadAttest(2); - // }; - - // // 跳转登录 - // const goLogin = () => { - // if (typeof window === "undefined") return; - // if (window["userInfoWin"] && Object.keys(window["userInfoWin"]).length !== 0) { - // if (window["userInfoWin"]["uid"]) isLogin.value = true; - // else ajax_login(); - // } else ajax_login(); - // }; - - // provide("isLogin", isLogin); - // provide("userInfoWin", userInfoWin); - // provide("realname", realname); - // provide("openAttest", openAttest); - // provide("goLogin", goLogin); - return { item }; }, @@ -78,5 +30,5 @@ export const itemOffer = defineComponent({ itemHead, }, - template: ``, + template: ``, }); diff --git a/component/item-offer/item-offer.txt b/component/item-offer/item-offer.txt index 46064d8..5ec8ffa 100644 --- a/component/item-offer/item-offer.txt +++ b/component/item-offer/item-offer.txt @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/component/item-summary/item-summary.js b/component/item-summary/item-summary.js index 5e63e34..f788bd8 100644 --- a/component/item-summary/item-summary.js +++ b/component/item-summary/item-summary.js @@ -12,6 +12,10 @@ export const itemSummary = defineComponent({ type: Object, default: () => {}, }, + page: { + type: String, + default: "", + }, }, setup(props) { @@ -26,5 +30,5 @@ export const itemSummary = defineComponent({ itemHead, }, - template: ``, + template: ``, }); diff --git a/component/item-summary/item-summary.txt b/component/item-summary/item-summary.txt index c4f84d3..5a40b02 100644 --- a/component/item-summary/item-summary.txt +++ b/component/item-summary/item-summary.txt @@ -1,5 +1,5 @@
- +
\ No newline at end of file diff --git a/component/item-tenement/item-tenement.js b/component/item-tenement/item-tenement.js index 3a27555..041e206 100644 --- a/component/item-tenement/item-tenement.js +++ b/component/item-tenement/item-tenement.js @@ -12,6 +12,10 @@ export const itemTenement = defineComponent({ type: Object, default: () => {}, }, + page: { + type: String, + default: "", + }, }, setup(props) { @@ -84,5 +88,5 @@ export const itemTenement = defineComponent({ itemHead, }, - template: `
{{ item }}
{{ item }}
{{ item.subject }}
{{ item.location || '' }}
HK$
{{ item.rent }}
/月
[ 租期{{ item.rentalduration }} ]
`, + template: `
{{ item }}
{{ item }}
{{ item.subject }}
{{ item.location || '' }}
HK$
{{ item.rent }}
/月
[ 租期{{ item.rentalduration }} ]
`, }); diff --git a/component/item-tenement/item-tenement.txt b/component/item-tenement/item-tenement.txt index c91840f..bd93808 100644 --- a/component/item-tenement/item-tenement.txt +++ b/component/item-tenement/item-tenement.txt @@ -1,5 +1,5 @@
- +
@@ -33,5 +33,5 @@ - +
\ No newline at end of file diff --git a/component/item-vote/item-vote.js b/component/item-vote/item-vote.js index 0b67c39..ced9927 100644 --- a/component/item-vote/item-vote.js +++ b/component/item-vote/item-vote.js @@ -12,11 +12,62 @@ export const itemVote = defineComponent({ type: Object, default: () => {}, }, + page: { + type: String, + default: "", + }, }, setup(props) { + // 处理 截止时间 + const handleDeadline = (dateTimeStamp = "") => { + if (typeof dateTimeStamp == "number") dateTimeStamp = dateTimeStamp ? dateTimeStamp * 1000 : null; + if (typeof dateTimeStamp == "string" && dateTimeStamp.match(/^\d{4}-\d{2}-\d{2}$/)) dateTimeStamp += " 23:59:59"; + const timestamp = new Date(dateTimeStamp.replace(/-/g, "/")).getTime(); + const now = Date.now(); + const diffValue = timestamp - now; + + if (diffValue < 0) return null; + + const units = [ + { + value: 24 * 60 * 60 * 1000, + unit: "天", + }, + { + value: 60 * 60 * 1000, + unit: "小时", + }, + { + value: 60 * 1000, + unit: "分钟", + }, + { + value: 1000, + unit: "秒", + }, + ]; + + for (const { value, unit } of units) { + if (diffValue >= value) { + return { + num: Math.round(diffValue / value), + unit, + }; + } + } + return { + num: 0, + unit: "秒", + }; + }; + let item = ref({ ...props.itemdata }); - item.value['url'] = 'https://vote.gter.net/details/' + item.value.uniqid; + item.value["time"] = handleDeadline(item.value.data.deadline); + item.value["url"] = "/details/" + item.value.uniqid; + const option = item.value.data.option || []; + item.value["isvote"] = option.some((item) => item.selected == 1); + return { item }; }, @@ -25,5 +76,5 @@ export const itemVote = defineComponent({ itemHead, }, - template: ``, + template: ``, }); diff --git a/component/item-vote/item-vote.txt b/component/item-vote/item-vote.txt index 45bb721..929b9d2 100644 --- a/component/item-vote/item-vote.txt +++ b/component/item-vote/item-vote.txt @@ -1,5 +1,5 @@
- +
\ No newline at end of file diff --git a/component/latest-list/latest-list.js b/component/latest-list/latest-list.js index d54df9b..303c070 100644 --- a/component/latest-list/latest-list.js +++ b/component/latest-list/latest-list.js @@ -113,5 +113,5 @@ export const latestList = defineComponent({ itemHead, }, - template: `
最新
精华阅读
最新
精华
`, + template: `
最新
精华阅读
最新
精华
`, }); diff --git a/component/latest-list/latest-list.txt b/component/latest-list/latest-list.txt index 4b194a9..abdabba 100644 --- a/component/latest-list/latest-list.txt +++ b/component/latest-list/latest-list.txt @@ -20,7 +20,7 @@
-
{{ item.title }}
+
{{ item.title || item.content }}
@@ -31,7 +31,7 @@
-
{{ item.title }}
+
{{ item.title || item.content }}
diff --git a/component/load-box/load-box.js b/component/load-box/load-box.js new file mode 100644 index 0000000..6ed35e2 --- /dev/null +++ b/component/load-box/load-box.js @@ -0,0 +1,19 @@ +// my-component.js +// 引入全局 Vue 对象(因在 HTML 中通过 script 引入,Vue 已挂载到 window) +const { defineComponent, ref, onMounted, onUnmounted } = Vue; + +// 定义组件(直接使用模板) +export const loadBox = defineComponent({ + name: "load-box", + props: { + loading: { + type: String, + default: "", + }, + }, + setup(props) { + return { }; + }, + + template: `
加载中
`, +}); diff --git a/css/homepage-other.css b/css/homepage-other.css index 7cef003..86486fb 100644 --- a/css/homepage-other.css +++ b/css/homepage-other.css @@ -209,6 +209,7 @@ border-radius: 10px; padding-left: 95px; padding-right: 40px; + padding-bottom: 50px; } #homepage-other .matter .matter-content .list-area .classify { padding-top: 39px; @@ -254,7 +255,6 @@ border: 1px solid #e9eef2; border-radius: 10px; flex-direction: column; - margin-bottom: 50px; } #homepage-other .matter .matter-content .list-area .empty .empty-icon { width: 80px; diff --git a/css/homepage-other.less b/css/homepage-other.less index 90d85ec..4f57e10 100644 --- a/css/homepage-other.less +++ b/css/homepage-other.less @@ -40,7 +40,7 @@ padding-top: 39px; padding-bottom: 40px; margin-right: 20px; - + .avatar { width: 120px; height: 120px; @@ -243,6 +243,7 @@ border-radius: 10px; padding-left: 95px; padding-right: 40px; + padding-bottom: 50px; .classify { padding-top: 39px; @@ -296,7 +297,7 @@ border: 1px solid rgba(233, 238, 242, 1); border-radius: 10px; flex-direction: column; - margin-bottom: 50px; + // margin-bottom: 50px; .empty-icon { width: 80px; diff --git a/css/index.css b/css/index.css index 4ba1997..5bc17de 100644 --- a/css/index.css +++ b/css/index.css @@ -15,7 +15,10 @@ #appIndex .header-content-box .header-content-left .adv-list .adv-item:not(:last-child) { margin-right: 12px; } -#appIndex .header-content-box .header-content-left .adv-list .adv-item .adv-img { +#appIndex .header-content-box .header-content-left .adv-list .adv-item a { + display: block; +} +#appIndex .header-content-box .header-content-left .adv-list .adv-item img { width: 468px; height: 60px; border-radius: 10px; @@ -283,13 +286,16 @@ height: 16px; margin-right: 6px; } -#appIndex .header-content-box .header-content-right .adv-broadside { +#appIndex .header-content-box .header-content-right .adv { width: 240px; height: 140px; margin-bottom: 10px; display: block; } -#appIndex .header-content-box .header-content-right .adv-broadside .adv-broadside-img { +#appIndex .header-content-box .header-content-right .adv a { + display: block; +} +#appIndex .header-content-box .header-content-right .adv img { width: 240px; height: 140px; border-radius: 10px; diff --git a/css/index.less b/css/index.less index 0a8bc30..258954c 100644 --- a/css/index.less +++ b/css/index.less @@ -18,7 +18,10 @@ &:not(:last-child) { margin-right: 12px; } - .adv-img { + a { + display: block; + } + img { width: 468px; height: 60px; border-radius: 10px; @@ -340,12 +343,15 @@ } } - .adv-broadside { + .adv { width: 240px; height: 140px; margin-bottom: 10px; display: block; - .adv-broadside-img { + a { + display: block; + } + img { width: 240px; height: 140px; border-radius: 10px; diff --git a/css/public.css b/css/public.css index 1d120d8..ce9da62 100644 --- a/css/public.css +++ b/css/public.css @@ -86,6 +86,59 @@ body { font-size: 13px; color: #aaaaaa; } +.item-box .item-head .anonymous-box { + background-color: #f2f2f2; + border-radius: 30px; + font-size: 14px; + color: #333; + height: 28px; + padding: 0 10px; + cursor: pointer; + margin-right: 15px; +} +.item-box .item-head .circlePen { + border-radius: 50%; + background-color: #f2f2f2; + margin-right: 10px; + width: 28px; + height: 28px; + cursor: pointer; +} +.item-box .item-head .circlePen .icon { + width: 20px; + height: 20px; +} +.item-box .item-head .isPublicityBox { + width: 120px; + background-color: #fff; + position: absolute; + top: 34px; + left: 0; + border-radius: 8px; + box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.2); + z-index: 89; +} +.item-box .item-head .isPublicityBox .isPublicity-item { + height: 40px; + line-height: 40px; + text-align: center; + padding: 0 10px; + color: #555555; + font-size: 16px; + display: flex; + justify-content: space-between; + align-items: center; + cursor: pointer; +} +.item-box .item-head .isPublicityBox .isPublicity-item:first-child { + border-bottom: 1px dotted #e3e3e3; +} +.item-box .item-head .isPublicityBox .isPublicity-item.green { + color: #26d79f; +} +.item-box .item-head .isPublicityBox .isPublicity-item .isPublicityIcon { + width: 12px; +} .item-box .item-head .view { font-size: 12px; color: #aaaaaa; @@ -856,7 +909,7 @@ body { .side-box .box { width: 272px; background-color: #ffffff; - border-radius: 8px; + border-radius: 0; } .side-box.thread-side-box .box .item { padding-top: 16px; @@ -1021,7 +1074,7 @@ body { margin-right: 10px; } .side-box.newest-side-box .box .item .dot.dot-green { - background-image: url(https://app.gter.net/image/gter/forum/assets/forum/dot-green.svg); + background-image: url(/img/dot-green.svg); background-repeat: no-repeat; } .side-box.newest-side-box .box .item .text { @@ -1056,7 +1109,7 @@ body { width: 6px; height: 6px; margin-right: 10px; - background-image: url(https://app.gter.net/image/gter/forum/assets/forum/dot-blue.svg); + background-image: url(/img/dot-blue.svg); background-repeat: no-repeat; } .side-box.essence-side-box .box .item .text { @@ -1382,6 +1435,10 @@ body { padding: 0 15px; justify-content: space-between; margin-right: 20px; + transition: all 0.3s; +} +.head-top .input-box.pitch { + border-color: #000; } .head-top .input-box .input { border: none; @@ -1392,7 +1449,7 @@ body { .head-top .input-box .icon { width: 18px; height: 18px; - margin-left: 15rpx; + margin-left: 15px; cursor: pointer; } .head-top .sign-in { @@ -1593,3 +1650,44 @@ td { .templateValue { display: none; } +.list-load-box { + width: 100%; + height: 0; + background-color: #ffffff; + border: 0 solid #e9eef2; + border-radius: 10px; + flex-direction: column; + transition: all 0.3s ease-in-out; + overflow: hidden; +} +.list-load-box.show { + height: 100px; + border-width: 1px; +} +.list-load-box.show .list-load-icon { + width: 30px; + height: 30px; +} +.list-load-box.show .list-load-text { + font-size: 14px; +} +.list-load-box .list-load-icon { + width: 0; + height: 0; + animation: loadingRotate 1s linear infinite; + transition: all 0.3s ease-in-out; +} +.list-load-box .list-load-text { + color: #999999; + font-size: 0; + margin-top: 6px; + transition: all 0.3s ease-in-out; +} +@keyframes loadingRotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/css/public.less b/css/public.less index b80f50a..9511b97 100644 --- a/css/public.less +++ b/css/public.less @@ -102,6 +102,67 @@ body { color: #aaaaaa; } + .anonymous-box { + background-color: #f2f2f2; + border-radius: 30px; + font-size: 14px; + color: #333; + height: 28px; + padding: 0 10px; + cursor: pointer; + margin-right: 15px; + } + + .circlePen { + border-radius: 50%; + background-color: #f2f2f2; + margin-right: 10px; + width: 28px; + height: 28px; + cursor: pointer; + + .icon { + width: 20px; + height: 20px; + } + } + + .isPublicityBox { + width: 120px; + background-color: #fff; + position: absolute; + top: 34px; + left: 0; + border-radius: 8px; + box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.2); + z-index: 89; + + .isPublicity-item { + height: 40px; + line-height: 40px; + text-align: center; + padding: 0 10px; + color: #555555; + font-size: 16px; + display: flex; + justify-content: space-between; + align-items: center; + cursor: pointer; + + &:first-child { + border-bottom: 1px dotted #e3e3e3; + } + + &.green { + color: #26d79f; + } + + .isPublicityIcon { + width: 12px; + } + } + } + .view { font-size: 12px; color: #aaaaaa; @@ -1021,7 +1082,7 @@ body { .side-box .box { width: 272px; background-color: #ffffff; - border-radius: 8px; + border-radius: 0; } .side-box.thread-side-box .box .item { @@ -1220,7 +1281,7 @@ body { } .side-box.newest-side-box .box .item .dot.dot-green { - background-image: url(https://app.gter.net/image/gter/forum/assets/forum/dot-green.svg); + background-image: url(/img/dot-green.svg); background-repeat: no-repeat; } @@ -1263,7 +1324,7 @@ body { width: 6px; height: 6px; margin-right: 10px; - background-image: url(https://app.gter.net/image/gter/forum/assets/forum/dot-blue.svg); + background-image: url(/img/dot-blue.svg); background-repeat: no-repeat; } @@ -1650,6 +1711,11 @@ body { padding: 0 15px; justify-content: space-between; margin-right: 20px; + transition: all 0.3s; + + &.pitch { + border-color: #000; + } .input { border: none; @@ -1661,7 +1727,7 @@ body { .icon { width: 18px; height: 18px; - margin-left: 15rpx; + margin-left: 15px; cursor: pointer; } } @@ -1882,7 +1948,6 @@ td { height: 8px; } - .t_r { -moz-border-radius: 0 8px 0 0; -webkit-border-radius: 0 8px 0 0; @@ -1891,4 +1956,53 @@ td { .templateValue { display: none; -} \ No newline at end of file +} + +.list-load-box { + width: 100%; + height: 0; + background-color: #ffffff; + border: 0 solid #e9eef2; + border-radius: 10px; + flex-direction: column; + transition: all 0.3s ease-in-out; + overflow: hidden; + + &.show { + height: 100px; + border-width: 1px; + + .list-load-icon { + width: 30px; + height: 30px; + } + .list-load-text { + font-size: 14px; + } + } + + .list-load-icon { + width: 0; + height: 0; + + animation: loadingRotate 1s linear infinite; + transition: all 0.3s ease-in-out; + } + + .list-load-text { + color: #999999; + font-size: 0; + + margin-top: 6px; + transition: all 0.3s ease-in-out; + } +} + +@keyframes loadingRotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/img/coin-bj.svg b/img/coin-bj.svg new file mode 100644 index 0000000..aeb83e0 --- /dev/null +++ b/img/coin-bj.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/img/coin-icon.png b/img/coin-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bd5a8dcd200b4d044b46add311e86382434855f9 GIT binary patch literal 16971 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 i?uvPL+I6qDkN-bCCK2_1LDR4R0000 + + + + + + + + + + + + \ No newline at end of file diff --git a/img/dot-green.svg b/img/dot-green.svg new file mode 100644 index 0000000..165857d --- /dev/null +++ b/img/dot-green.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/load-icon.svg b/img/load-icon.svg new file mode 100644 index 0000000..e99d97b --- /dev/null +++ b/img/load-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/img/petal1.png b/img/petal1.png new file mode 100644 index 0000000000000000000000000000000000000000..31433dc0b58f2ea83aab7dc706e3c133808bd17e GIT binary patch literal 554 zcmeAS@N?(olHy`uVBq!ia0vp^GC<73!3HD?Z{OtyQjEnx?oJHr&dIz4a$Hg)JkxxA z8MJ_G4hF{dOa>N^5+IfWVg?501&j>LK$;OGwtxvPE3<$Z&gKCrWQk2y04kf}>Eak- zA^3Kpt+z~|NZWnm@5$c|moDyBP zg0tIcL(uF6K+T)hZT^1FcHYLAWBMC56g&|7erC@1hqY`K^>H^D_Nu&prq8c@Y)W}X zxZj6nyUEoj>%P66eBc{n|Gc^J`rBiSg4c!>mj0E$7B$0(CzUbZ>b0MGcXIMp`}2+V zTsC=stTzR&d}rId#z}=G)wC(c(AXwu#wxbS?5>P1d6_SQ&;Ln&z}~ofHT#|THIADb zjV`H~ada(Ul~FPDeR@ZIbHyn&#))(IYd1D*44t=NedU9g2cehi@Bh9Vv-)OT$Rn;b znhIUq39<)^9n@3qO6Y`cUe>rYQNUoihG?>iC)36I5;LxDz8i4Y_QborkF)01wTgc7 zTRzuJrgK-*76UGU(jb#;MXka>o$1n=H~)6*RNdS^eY*JM%!1N)y17qMpEGs7lbv~Z z>tV~g$I?{(h0JN{`J;Z++9xmZ$?XT{_Z(QBw$p3(bU$-H_7MJM(MNB;{Wbkp?)Ts3 awfmWsmi0XpOme#kiYHH3KbLh*2~7a~ci2Y& literal 0 HcmV?d00001 diff --git a/img/petal2.png b/img/petal2.png new file mode 100644 index 0000000000000000000000000000000000000000..9359c8b9dcbe774401527c3df5e9a1e77650fc54 GIT binary patch literal 549 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9Q!3HFy+4N(86k~CayA#8@b22Z19GBDx&op0O z1}z|)gMqO1uEe2;z!fr8$EL@53>B3uzq^@p7rl`nBJVa-p28$r1(mv zHyz6AdqZU=u=zx@$T5e1d1k+GnSDd{(dmm6(|NdhzCT-3%y)m1CEFa451cN+2bLRe zv5R#8*oSWZaNHWZ-qZP ztB-a3(f-FE`rm!+yM-EO*G|*ou`Ipz_NYh7r8_s)?~{{WzNEak- zA()&X!5YHZc>Mo=@BKgi$4?A7EHTkkCFZ`|k>B$Qb)T23u^GzMwY`6DXSCt(KkMyx z&Kt8v%IcYQCEl8?_UHNkljju9YM(stWqzmQjPB`;-}RZ9kI%2?$>FIt58u7>=R+e7 zmA<5iODB83=G*_x_;LEw$qyf|=PzhH!}Et{4UbKa4^NHG8lE}-B^=t$=N6S8d=(^e z*kRfAIkqb*|GvE)Jpbp83cH%$2M>IC%g?NS!Ou>NkL}(5|B@2->k|_G{%TfKHSxIT z=J7(%gP+IXpoGD$qc{HjirTIam+YFVZO3=*`x_r0p8a)yQht2<%zk)!e!S#9rkC|R z^^$cpzmwT6GcPubVVm4=vGq9LOxqp*6E5$!uRrp?_WwDB1E)?c(9*md{QPMsSFp3# i-p990JvW)~?NDRTH%^mR5nP=D3QA8`KbLh*2~7Zk4Y23{ literal 0 HcmV?d00001 diff --git a/img/sign-go.svg b/img/sign-go.svg new file mode 100644 index 0000000..3aa3524 --- /dev/null +++ b/img/sign-go.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/sign-icon.png b/img/sign-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..49f3b3d697522458231641c7013e24f3b3195bed GIT binary patch literal 3587 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 literal 0 HcmV?d00001 diff --git a/img/sign-in-bj.svg b/img/sign-in-bj.svg new file mode 100644 index 0000000..ca5b43b --- /dev/null +++ b/img/sign-in-bj.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/u1829.svg b/img/u1829.svg new file mode 100644 index 0000000..8b45e04 --- /dev/null +++ b/img/u1829.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html index 650f37d..7996458 100644 --- a/index.html +++ b/index.html @@ -1,273 +1,278 @@ - - - - 论坛首页 - - - - - - -

- + + + + 论坛首页 + + + + + -
-
- - -
-
-
- -
话题
-
-
-
{{ ongoingbj.title }}
-
{{ ongoingbj.description }}
-
-
-
{{ ongoingbj.comments }}
-
人正在讨论
-
-
-
- -
+ +
+ + +
+
+ + +
+
+
+ +
话题
+
+
+
{{ ongoingbj.title }}
+
{{ ongoingbj.description }}
+
+
+
{{ ongoingbj.comments }}
+
人正在讨论
+
+
+
+
-
- - -
- - 26Fall祈福,求offer得offer! - -
- + -
-
-
我要发帖
- -
- - - +
+ + 26Fall祈福,求offer得offer! - -
-
-
-
{{ item.title }}
-
{{ item.subtitle }}
-
- -
微信扫码
-
-
+ - - -
-
- -
- -
论坛版块
-
- -
-
- +
+
+
我要发帖
+
-