no message

This commit is contained in:
A1300399510 2023-12-18 18:47:07 +08:00
parent 8f6393c912
commit 18b3daefde
26 changed files with 493 additions and 226 deletions

View File

@ -1,5 +1,5 @@
{
"date": "2023-12-15T09:06:26.981Z",
"date": "2023-12-18T10:46:23.705Z",
"preset": "node-server",
"framework": {
"name": "nuxt",

View File

@ -1 +1 @@
{"id":"1e6a2d4e-548a-428c-ad50-9848287242f5","timestamp":1702631176566}
{"id":"3f40664d-7f05-422a-965e-10d06a0e6803","timestamp":1702896372708}

View File

@ -1 +0,0 @@
{"id":"1e6a2d4e-548a-428c-ad50-9848287242f5","timestamp":1702631176566,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

View File

@ -0,0 +1 @@
{"id":"3f40664d-7f05-422a-965e-10d06a0e6803","timestamp":1702896372708,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}

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 +1 @@
import{_ as i,t as a,v as r,x as n,y as e,z as s,D as l,E as d}from"./entry.7cbcb895.js";const c=t=>(l("data-v-df79c84d"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(u,b)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(x,[["__scopeId","data-v-df79c84d"]]);export{w as default};
import{_ as i,t as a,v as r,x as n,y as e,z as s,D as l,E as d}from"./entry.f854d2a1.js";const c=t=>(l("data-v-df79c84d"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},f=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),h={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(u,b)=>(r(),n("div",p,[f,e("div",h,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(x,[["__scopeId","data-v-df79c84d"]]);export{w as default};

View File

@ -159,7 +159,7 @@ const client_manifest = {
"prefetch": true,
"preload": true,
"css": [],
"file": "error-404.eb99afb2.js",
"file": "error-404.c0709d99.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
],
@ -185,7 +185,7 @@ const client_manifest = {
"prefetch": true,
"preload": true,
"css": [],
"file": "error-500.a72ffb41.js",
"file": "error-500.799ea7bb.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
],
@ -202,7 +202,7 @@ const client_manifest = {
"resourceType": "style",
"prefetch": true,
"preload": true,
"file": "entry.d0051705.css",
"file": "entry.ed8eded5.css",
"src": "node_modules/nuxt/dist/app/entry.css"
},
"node_modules/nuxt/dist/app/entry.js": {
@ -234,19 +234,19 @@ const client_manifest = {
"triangle-icon.c39ff2e7.svg"
],
"css": [
"entry.d0051705.css"
"entry.ed8eded5.css"
],
"dynamicImports": [
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue",
"node_modules/@nuxt/ui-templates/dist/templates/error-500.vue"
],
"file": "entry.7cbcb895.js",
"file": "entry.f854d2a1.js",
"isEntry": true,
"src": "node_modules/nuxt/dist/app/entry.js",
"_globalCSS": true
},
"entry.d0051705.css": {
"file": "entry.d0051705.css",
"entry.ed8eded5.css": {
"file": "entry.ed8eded5.css",
"resourceType": "style",
"prefetch": true,
"preload": true

View File

@ -1,4 +1,4 @@
import { version, ref, watchEffect, watch, getCurrentInstance, defineComponent, hasInjectionContext, unref, inject, useSSRContext, createApp, effectScope, reactive, onUnmounted, nextTick, defineAsyncComponent, provide, onErrorCaptured, onServerPrefetch, createVNode, resolveDynamicComponent, toRef, h, isReadonly, isRef, isShallow, isReactive, toRaw, withCtx, createTextVNode, toDisplayString, mergeProps } from 'vue';
import { version, ref, watchEffect, watch, getCurrentInstance, defineComponent, hasInjectionContext, unref, inject, useSSRContext, createApp, effectScope, reactive, onUnmounted, toRef, isRef, nextTick, defineAsyncComponent, provide, onErrorCaptured, onServerPrefetch, createVNode, resolveDynamicComponent, h, isReadonly, isShallow, isReactive, toRaw, withCtx, createTextVNode, toDisplayString, mergeProps } from 'vue';
import { d as useRuntimeConfig$1, $ as $fetch, w as withQuery, l as hasProtocol, p as parseURL, m as isScriptProtocol, j as joinURL, h as createError$1, n as sanitizeStatusCode, o as createHooks, q as isEqual, r as stringifyParsedURL, t as stringifyQuery, v as parseQuery } from '../nitro/node-server.mjs';
import { getActiveHead } from 'unhead';
import { defineHeadPlugin, composableNames } from '@unhead/shared';
@ -1002,6 +1002,32 @@ defineComponent({
},
setup: setupForUseMeta((bodyAttrs) => ({ bodyAttrs }), true)
});
const useStateKeyPrefix = "$s";
function useState(...args) {
const autoKey = typeof args[args.length - 1] === "string" ? args.pop() : void 0;
if (typeof args[0] !== "string") {
args.unshift(autoKey);
}
const [_key, init] = args;
if (!_key || typeof _key !== "string") {
throw new TypeError("[nuxt] [useState] key must be a string: " + _key);
}
if (init !== void 0 && typeof init !== "function") {
throw new Error("[nuxt] [useState] init must be a function: " + init);
}
const key = useStateKeyPrefix + _key;
const nuxt = /* @__PURE__ */ useNuxtApp();
const state = toRef(nuxt.payload.state, key);
if (state.value === void 0 && init) {
const initialValue = init();
if (isRef(initialValue)) {
nuxt.payload.state[key] = initialValue;
return initialValue;
}
state.value = initialValue;
}
return state;
}
const _imports_0 = "" + __buildAssetsURL("logo.6622f82d.png");
const _imports_1 = "data:image/png;base64,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";
const _imports_2 = "data:image/png;base64,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";
@ -1115,6 +1141,8 @@ const _sfc_main$2 = {
let isNeedLogin = ref(true);
const goLogin = () => ajax_login();
const route = useRoute();
let detailsInfoDataVuex = useState("detailsInfoData", () => {
});
const baseURL2 = "https://ask.gter.net";
let type = ref("list");
let originUrl = ref("");
@ -1269,7 +1297,6 @@ const _sfc_main$2 = {
detailsToken = data["token"] || "";
detailShare.value = data["share"] || {};
type.value = "details";
closeBottom();
if (index !== null && index !== void 0)
cut(index);
else
@ -1282,14 +1309,11 @@ const _sfc_main$2 = {
openIAnswer();
seo.value = data.seo;
yourAnswer.value = {
// 初始化 我来回答的框
text: "",
anonymous: 0
};
detailsAreaScrollTop();
}).finally(() => {
detailLoading.value = false;
});
nextTick(() => detailsAreaScrollTop());
}).finally(() => detailLoading.value = false);
};
const detailsAreaScrollTop = () => {
let detailsArea = document.querySelector(".details-area-box");
@ -1300,7 +1324,7 @@ const _sfc_main$2 = {
};
const calculateListIndex = (info, uniqid) => {
let targetList = [...list.value];
if (targetList.length == 0 && isSearchMode.value == false) {
if (targetList.length == 0 && isSearchMode.value == false && myModelState.value == false) {
setTimeout(() => calculateListIndex(info, uniqid), 200);
return;
}
@ -1934,11 +1958,9 @@ const _sfc_main$2 = {
if (newtype == "list") {
width = "1200px";
margin = "0 auto";
height = Math.ceil(list.value.length / 2) * 128 + "px";
} else {
width = "calc((100vw - 1200px) / 2 + 512px)";
margin = "initial";
height = list.value.length * 128 + "px";
}
return {
width,
@ -1946,22 +1968,36 @@ const _sfc_main$2 = {
height
};
};
let listHeight = ref(0);
let itemHeightLeft = 0;
let itemHeightRight = 0;
const itemStyle = (index, content) => {
if (index == 0) {
itemHeightLeft = 0;
itemHeightRight = 0;
}
const newtype = type.value;
let obj = {};
if (newtype == "list") {
let top = Math.floor(index / 2) * 128 + "px";
obj["top"] = top;
if (index % 2 == 0)
if (itemHeightLeft <= itemHeightRight) {
obj["top"] = itemHeightLeft + "px";
itemHeightLeft += content == "" ? 107 : 136;
obj["left"] = 0;
else
} else {
obj["top"] = itemHeightRight + "px";
itemHeightRight += content == "" ? 107 : 136;
obj["left"] = "649px";
}
} else {
obj["top"] = index * 128 + "px";
obj["top"] = itemHeightLeft + "px";
itemHeightLeft += content == "" ? 107 : 136;
obj["height"] = content == "" ? "107px" : "136px";
obj["left"] = 0;
obj["width"] = "100%";
obj["paddingLeft"] = "calc((100vw - 1200px) / 2)";
}
if (index + 1 == list.value.length)
listHeight.value = Math.max(itemHeightLeft, itemHeightRight);
return obj;
};
const bottomTpsStyle = (index, content) => {
@ -1971,8 +2007,11 @@ const _sfc_main$2 = {
;
else {
obj["width"] = "calc(50vw - 88px)";
obj["height"] = `calc(100vh - ${list.value.length * 128}px - 268px)`;
obj["paddingLeft"] = "calc((100vw - 1200px) / 2)";
obj["borderRight"] = "1px solid #ebebeb";
obj["borderRight"] = "1px solid #ebebeb";
obj["background"] = "#fff";
}
return obj;
};
@ -2041,6 +2080,10 @@ const _sfc_main$2 = {
$ajaxGET("/api/operate/share?token=" + token);
};
const closeDetailMode = () => {
if (myModelState.value) {
closeMyModel();
return;
}
type.value = "list";
openBottom();
pitchIndex.value = null;
@ -2152,14 +2195,42 @@ const _sfc_main$2 = {
const replaceState = (obj = {}) => {
return;
};
let myModelState = ref(false);
let myModelList = ref([]);
let temporaryData = {};
const myOpenDetails = (uniqid) => {
if (!uniqid) {
handleMsg("error", "没有找到相关提问");
return;
}
if (!myModelState.value) {
temporaryData = {
total: total.value,
keywordText: keywordText.value,
isSearchMode: isSearchMode.value,
type: type.value,
pitchIndex: pitchIndex.value,
listlist: JSON.parse(JSON.stringify(list.value))
};
list.value = JSON.parse(JSON.stringify(myModelList.value));
myModelState.value = true;
pitchIndex.value = null;
}
getDetails(uniqid);
myType.value = "";
};
const closeMyModel = () => {
myModelList.value = JSON.parse(JSON.stringify(list.value));
isSearchMode.value = temporaryData["isSearchMode"];
keywordText.value = temporaryData["keywordText"];
total.value = temporaryData["total"];
type.value = temporaryData["type"];
pitchIndex.value = temporaryData["pitchIndex"];
list.value = JSON.parse(JSON.stringify(temporaryData.listlist));
myModelState.value = false;
let uniqid = list.value[pitchIndex.value]["uniqid"];
getDetails(uniqid);
};
const handleDetailsScroll = (e) => {
const el = e.target;
if (el.scrollHeight - el.scrollTop !== el.clientHeight)
@ -2231,6 +2302,31 @@ const _sfc_main$2 = {
keyword.value = params["keyword"];
if (params["tid"])
typePitch.value = params["tid"];
if (params["uniqid"]) {
if (true) {
await axios.post(baseURL2 + "/api/details", { uniqid: params["uniqid"] }).then((response) => {
let res = response.data;
let data = res.data;
detailsInfoDataVuex.value = data;
detailsInfo.value = data["info"] || {};
detailsIsanswered.value = data["isanswered"] || 0;
detailsIscollection.value = data["iscollection"] || 0;
detailsIsmyself.value = data["ismyself"] || 0;
detailsToken = data["token"] || "";
detailShare.value = data["share"] || {};
type.value = "details";
calculateListIndex(data.info, params["uniqid"]);
answerList.value = [];
answerPage.value = 1;
getAnswerList();
closeAllTransmitState();
replaceState({ uniqid: params["uniqid"] });
seo.value = data.seo;
}).catch((error) => {
console.error(error);
});
}
}
await $ajax("/api/lists", {
page,
limit: 20,
@ -2325,7 +2421,7 @@ const _sfc_main$2 = {
if (answerList.value[index]["uin"] > 0)
answerList.value[index]["avatarState"] = !answerList.value[index]["avatarState"];
} else {
if (detailsInfo["uin"] > 0)
if (detailsInfo.value["uin"] > 0)
avatarState.value = !avatarState.value;
}
};
@ -2341,13 +2437,6 @@ const _sfc_main$2 = {
link.target = "_blank";
link.click();
};
const closeBottom = () => {
const footer = document.querySelector("body .index-footer");
if (footer)
footer.style.display = "none";
else
setTimeout(() => closeBottom(), 1e3);
};
const openBottom = () => {
const footer = document.querySelector("body .index-footer");
if (footer)
@ -2356,6 +2445,10 @@ const _sfc_main$2 = {
setTimeout(() => openBottom(), 1e3);
};
return {
closeMyModel,
myModelList,
myModelState,
listHeight,
bottomTpsStyle,
TAHomePage,
sendMessage,
@ -2555,12 +2648,14 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
_push(`<!--]--><!--]-->`);
});
_push(`<!--]--></div></div></header><div class="${ssrRenderClass([{ "mode-list": $setup.type == "list" }, "main flexflex"])}"><div class="list-box"><div class="main-header" style="${ssrRenderStyle({ paddingLeft: $setup.type == "list" ? 0 : "calc((100vw - 1200px) / 2)" })}">`);
if ($setup.isSearchMode) {
if ($setup.myModelState) {
_push(`<div class="search-keyword flexacenter"><div class="ellipsis">我的收藏/提问/回答</div><img class="search-keyword-cross"${ssrRenderAttr("src", _imports_4)}></div>`);
} else if ($setup.isSearchMode) {
_push(`<!--[--><div class="search-keyword flexacenter"><div class="ellipsis">${ssrInterpolate($setup.keywordText)}</div><img class="search-keyword-cross"${ssrRenderAttr("src", _imports_4)}></div><div class="total grid-item">共 ${ssrInterpolate($setup.total)} 条搜索结果</div><!--]-->`);
} else {
_push(`<div class="total grid-item">共 ${ssrInterpolate($setup.total)} 条问答</div>`);
}
_push(`</div><div class="list" id="list" style="${ssrRenderStyle($setup.listStyle())}"><!--[-->`);
_push(`</div><div class="list" id="list" style="${ssrRenderStyle([$setup.listStyle(), { height: $setup.listHeight + "px" }])}"><!--[-->`);
ssrRenderList($setup.list, (item, index) => {
_push(`<a style="${ssrRenderStyle($setup.itemStyle(index, item["content"]))}" class="${ssrRenderClass([{ pitch: index === $setup.pitchIndex, upLevel: index === $setup.pitchIndex - 1 }, "item grid-item flexflex"])}"${ssrRenderAttr("href", $setup.setItemUrl(item["uniqid"]))}><img class="dot"${ssrRenderAttr("src", _imports_5)}><div class="content" style="${ssrRenderStyle({ width: $setup.type == "list" ? "531px" : "430px" })}"><div class="issue-title flexcenter">`);
if (item["ishot"] == 1) {
@ -2568,9 +2663,19 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
} else {
_push(`<!---->`);
}
_push(`<div class="issue ellipsis flex1">${item["title"]}</div></div><div class="answer ellipsis">${item["content"]}</div><div class="bottom flexacenter">`);
_push(`<div class="recommend flexcenter">推荐阅读</div><div class="issue ellipsis flex1">${item["title"]}</div></div>`);
{
_push(`<!--[-->`);
if (item["content"]) {
_push(`<div class="answer ellipsis">${item["content"]}</div>`);
} else {
_push(`<!---->`);
}
_push(`<!--]-->`);
}
_push(`<div class="bottom flexacenter">`);
if (item["typename"]) {
_push(`<div class="typename">${ssrInterpolate(item["typename"])}</div>`);
_push(`<div class="typename flexcenter">${ssrInterpolate(item["typename"])}</div>`);
} else {
_push(`<div></div>`);
}
@ -2588,6 +2693,11 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
} else {
_push(`<!---->`);
}
if ($setup.myModelState) {
_push(`<div class="bottom-tps" style="${ssrRenderStyle($setup.bottomTpsStyle())}"></div>`);
} else {
_push(`<!---->`);
}
if ($setup.isListEmptyState && $setup.list.length == 0) {
_push(`<div class="empty-box flexcenter"><div class="dot-list flexacenter"><img class="item"${ssrRenderAttr("src", _imports_7)}><img class="item"${ssrRenderAttr("src", _imports_7)}><img class="item"${ssrRenderAttr("src", _imports_7)}><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_8)}><img class="item"${ssrRenderAttr("src", _imports_8)}></div><img class="empty-icon"${ssrRenderAttr("src", _imports_9)}>`);
if ($setup.isSearchMode) {
@ -2607,7 +2717,13 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
} else {
_push(`<!---->`);
}
_push(`<div class="details-box flexflex"><div class="close-box"><div class="close-circle flexcenter"><img class="close-icon"${ssrRenderAttr("src", _imports_10)}><img class="details-cross-icon"${ssrRenderAttr("src", _imports_11)}></div></div><div class="details-issue"><img class="qq"${ssrRenderAttr("src", _imports_12)}><div class="titletitle">${ssrInterpolate($setup.detailsInfo["title"])}</div><div class="hint">${$setup.detailsInfo["content"]}</div><div class="info-box flexacenter"><div class="user-info flexacenter">`);
_push(`<div class="details-box flexflex"><div class="close-box"><div class="close-circle flexcenter"><img class="close-icon"${ssrRenderAttr("src", _imports_10)}><img class="details-cross-icon"${ssrRenderAttr("src", _imports_11)}></div></div><div class="details-issue"><img class="qq"${ssrRenderAttr("src", _imports_12)}><div class="titletitle">${ssrInterpolate($setup.detailsInfo["title"])}</div>`);
if ($setup.detailsInfo["content"]) {
_push(`<div class="hint">${$setup.detailsInfo["content"]}</div>`);
} else {
_push(`<!---->`);
}
_push(`<div class="info-box flexacenter"><div class="user-info flexacenter">`);
if ($setup.detailsInfo["avatar"]) {
_push(`<img class="avatar"${ssrRenderAttr("src", $setup.detailsInfo["avatar"])}>`);
} else {

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"version":3,"file":"entry-styles.01300843.mjs","sources":["../../../../../.nuxt/dist/server/static/entry-styles-1.mjs-0949f21b.js","../../../../../.nuxt/dist/server/static/entry-styles.01300843.mjs"],"sourcesContent":null,"names":["__buildAssetsURL","style_0"],"mappings":";;;;;;;;;;;;;;;;AAAA,MAAA,mCAAA,GAAA,2pMAAA,GAAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,05rCAAA;;ACCA,6BAAe,CAACC,mCAAO;;;;"}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"version":3,"file":"entry-styles.a457ca3a.mjs","sources":["../../../../../.nuxt/dist/server/static/entry-styles-1.mjs-6ea54b9b.js","../../../../../.nuxt/dist/server/static/entry-styles.a457ca3a.mjs"],"sourcesContent":null,"names":["__buildAssetsURL","style_0"],"mappings":";;;;;;;;;;;;;;;;AAAA,MAAA,mCAAA,GAAA,+mMAAA,GAAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,8qsCAAA;;ACCA,6BAAe,CAACC,mCAAO;;;;"}

View File

@ -1,6 +1,6 @@
const interopDefault = r => r.default || r || [];
const styles = {
"node_modules/nuxt/dist/app/entry.js": () => import('./static/entry-styles.01300843.mjs').then(interopDefault),
"node_modules/nuxt/dist/app/entry.js": () => import('./static/entry-styles.a457ca3a.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue": () => import('./static/error-404-styles.1e0dde27.mjs').then(interopDefault),
"node_modules/@nuxt/ui-templates/dist/templates/error-500.vue": () => import('./static/error-500-styles.cf4b3e80.mjs').then(interopDefault)
};

View File

@ -3059,7 +3059,7 @@ function klona(x) {
const inlineAppConfig = {
"nuxt": {
"buildId": "1e6a2d4e-548a-428c-ad50-9848287242f5"
"buildId": "3f40664d-7f05-422a-965e-10d06a0e6803"
}
};
@ -4949,205 +4949,205 @@ const assets = {
"/static/add-icon.0b0b5313.svg": {
"type": "image/svg+xml",
"etag": "\"d67-gajxuGcy6aHIeWAbO0RazX03p90\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.284Z",
"size": 3431,
"path": "../public/static/add-icon.0b0b5313.svg"
},
"/static/arrows-icon.271dd0d3.svg": {
"type": "image/svg+xml",
"etag": "\"5a0-yAit7q5lcKJMd35iOMMifZv2uno\"",
"mtime": "2023-12-15T09:06:20.496Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 1440,
"path": "../public/static/arrows-icon.271dd0d3.svg"
},
"/static/close-icon.86743366.svg": {
"type": "image/svg+xml",
"etag": "\"2d4-QYrulZl33jopLCT37UdJfnzXOVg\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 724,
"path": "../public/static/close-icon.86743366.svg"
},
"/static/collect-icon-colours.6d2ade7f.svg": {
"type": "image/svg+xml",
"etag": "\"7ab-av9D1DgxgD5cvY5wd30haD7c1q0\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 1963,
"path": "../public/static/collect-icon-colours.6d2ade7f.svg"
},
"/static/comment-icon-gray.2c8779f9.svg": {
"type": "image/svg+xml",
"etag": "\"816-HEGvNjvS0TeA/3uJweilvZfCqlk\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 2070,
"path": "../public/static/comment-icon-gray.2c8779f9.svg"
},
"/static/delete-icon.4d386dce.svg": {
"type": "image/svg+xml",
"etag": "\"17fe-RGKa0+MaUqOqlbPlXlig67fGkaY\"",
"mtime": "2023-12-15T09:06:20.499Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 6142,
"path": "../public/static/delete-icon.4d386dce.svg"
},
"/static/dot-gray.86cdd7b5.svg": {
"type": "image/svg+xml",
"etag": "\"2af-sBMsuPZbsh28jzlFWO9lVYMVDk8\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 687,
"path": "../public/static/dot-gray.86cdd7b5.svg"
},
"/static/dot-yellow.4b5e135b.svg": {
"type": "image/svg+xml",
"etag": "\"2af-6L7YsWhGTHBB6NqQztB/l2OFRfE\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 687,
"path": "../public/static/dot-yellow.4b5e135b.svg"
},
"/static/dot.1026a040.svg": {
"type": "image/svg+xml",
"etag": "\"217-dx6xqUT4D9pCoKc6nr20aXeJQXQ\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 535,
"path": "../public/static/dot.1026a040.svg"
},
"/static/edit-icon-white.29b27582.svg": {
"type": "image/svg+xml",
"etag": "\"8be-EnEF3CQI46JkMNAXbPf3H6T7pzU\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 2238,
"path": "../public/static/edit-icon-white.29b27582.svg"
},
"/static/empty-icon.24a01ae2.svg": {
"type": "image/svg+xml",
"etag": "\"d028-Our2UxxUiciRSduORd8JZCt5Prw\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 53288,
"path": "../public/static/empty-icon.24a01ae2.svg"
},
"/static/entry.7cbcb895.js": {
"type": "application/javascript",
"etag": "\"3ae6e-rdRTMu3GqcKv8DlFipBPR16yEuA\"",
"mtime": "2023-12-15T09:06:20.500Z",
"size": 241262,
"path": "../public/static/entry.7cbcb895.js"
},
"/static/entry.d0051705.css": {
"/static/entry.ed8eded5.css": {
"type": "text/css; charset=utf-8",
"etag": "\"af21-CGiztCz4hW+9/5WvV+/bg9wGCGE\"",
"mtime": "2023-12-15T09:06:20.500Z",
"size": 44833,
"path": "../public/static/entry.d0051705.css"
"etag": "\"affc-d0rY1PQKoyVsSBMxQXhALr0um0Q\"",
"mtime": "2023-12-18T10:46:17.287Z",
"size": 45052,
"path": "../public/static/entry.ed8eded5.css"
},
"/static/entry.f854d2a1.js": {
"type": "application/javascript",
"etag": "\"3b725-MNExsXumHo20ja/sdmcuoc/7gUc\"",
"mtime": "2023-12-18T10:46:17.287Z",
"size": 243493,
"path": "../public/static/entry.f854d2a1.js"
},
"/static/error-404.7fc72018.css": {
"type": "text/css; charset=utf-8",
"etag": "\"e2e-iNt1cqPQ0WDudfCTZVQd31BeRGs\"",
"mtime": "2023-12-15T09:06:20.500Z",
"mtime": "2023-12-18T10:46:17.287Z",
"size": 3630,
"path": "../public/static/error-404.7fc72018.css"
},
"/static/error-404.eb99afb2.js": {
"/static/error-404.c0709d99.js": {
"type": "application/javascript",
"etag": "\"18de-qcXEhgABD3i1NKdXbqS2fsR7wZY\"",
"mtime": "2023-12-15T09:06:20.500Z",
"etag": "\"18de-KPf7d/9bilEm75hM7yKrhrhCZag\"",
"mtime": "2023-12-18T10:46:17.287Z",
"size": 6366,
"path": "../public/static/error-404.eb99afb2.js"
"path": "../public/static/error-404.c0709d99.js"
},
"/static/error-500.a72ffb41.js": {
"/static/error-500.799ea7bb.js": {
"type": "application/javascript",
"etag": "\"756-a7AXATacmK9r/Tkrpmzta0evGas\"",
"mtime": "2023-12-15T09:06:20.500Z",
"etag": "\"756-6L8169c2aO0SY4ZeDXiGDxZz664\"",
"mtime": "2023-12-18T10:46:17.287Z",
"size": 1878,
"path": "../public/static/error-500.a72ffb41.js"
"path": "../public/static/error-500.799ea7bb.js"
},
"/static/error-500.c5df6088.css": {
"type": "text/css; charset=utf-8",
"etag": "\"79e-ByRo+49BgcevWdRjJy3CMx2IA5k\"",
"mtime": "2023-12-15T09:06:20.500Z",
"mtime": "2023-12-18T10:46:17.287Z",
"size": 1950,
"path": "../public/static/error-500.c5df6088.css"
},
"/static/issue-bj.44adad8c.svg": {
"type": "image/svg+xml",
"etag": "\"926-lK6rrraYIC+9Yxyy0subzOK8XpE\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 2342,
"path": "../public/static/issue-bj.44adad8c.svg"
},
"/static/logo.6622f82d.png": {
"type": "image/png",
"etag": "\"843f-FSXGFGigIHmtzjdcQzuMz/a7E+o\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 33855,
"path": "../public/static/logo.6622f82d.png"
},
"/static/menu-icon-gray.d61f02b1.svg": {
"type": "image/svg+xml",
"etag": "\"6de-kmXhltPHfF4W1gmV7wT4aZCZ6gg\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 1758,
"path": "../public/static/menu-icon-gray.d61f02b1.svg"
},
"/static/QRCode-icon.a105d5fc.svg": {
"type": "image/svg+xml",
"etag": "\"9c1-qGg9jZ5wmHJGzh2A00nHIGWHMh4\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 2497,
"path": "../public/static/QRCode-icon.a105d5fc.svg"
},
"/static/tick-no.179037b3.svg": {
"type": "image/svg+xml",
"etag": "\"1ea-YISAWqJD56jxoQT8N812fDJfkMw\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 490,
"path": "../public/static/tick-no.179037b3.svg"
},
"/static/tick-option.e092d22f.svg": {
"type": "image/svg+xml",
"etag": "\"29a-UVjuq3WHs6mhu1KGQ7gQmJH2Bc4\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 666,
"path": "../public/static/tick-option.e092d22f.svg"
},
"/static/tick-orange.233abc69.svg": {
"type": "image/svg+xml",
"etag": "\"60a-VrP9K+TQp6JbNcrU5k1Dor/Kq/E\"",
"mtime": "2023-12-15T09:06:20.499Z",
"mtime": "2023-12-18T10:46:17.283Z",
"size": 1546,
"path": "../public/static/tick-orange.233abc69.svg"
},
"/static/title.98892974.png": {
"type": "image/png",
"etag": "\"1723-0OwkVass/2nFB99dRT4w0sPUvI0\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 5923,
"path": "../public/static/title.98892974.png"
},
"/static/triangle-icon.c39ff2e7.svg": {
"type": "image/svg+xml",
"etag": "\"446-ylQ81DOJ3joSbsS9atyrW6pZsBY\"",
"mtime": "2023-12-15T09:06:20.499Z",
"mtime": "2023-12-18T10:46:17.286Z",
"size": 1094,
"path": "../public/static/triangle-icon.c39ff2e7.svg"
},
"/static/view-icon.da7fef35.svg": {
"type": "image/svg+xml",
"etag": "\"f39-5Jwx14wB0jgB0Du25KRZbkEEXvI\"",
"mtime": "2023-12-15T09:06:20.498Z",
"mtime": "2023-12-18T10:46:17.285Z",
"size": 3897,
"path": "../public/static/view-icon.da7fef35.svg"
},
"/static/builds/latest.json": {
"type": "application/json",
"etag": "\"47-enxQSI3dmkBtXQL0IPk/zNDhlH0\"",
"mtime": "2023-12-15T09:06:21.765Z",
"etag": "\"47-C5z9i+BYb5XjsGqRiIxgLsDRH8o\"",
"mtime": "2023-12-18T10:46:18.637Z",
"size": 71,
"path": "../public/static/builds/latest.json"
},
"/static/builds/meta/1e6a2d4e-548a-428c-ad50-9848287242f5.json": {
"/static/builds/meta/3f40664d-7f05-422a-965e-10d06a0e6803.json": {
"type": "application/json",
"etag": "\"8b-uBiV7j+Wbkl8F6q68tYvD8raf2o\"",
"mtime": "2023-12-15T09:06:21.765Z",
"etag": "\"8b-76f5dMii2Mo8XcADbGZ5FPm5dqs\"",
"mtime": "2023-12-18T10:46:18.638Z",
"size": 139,
"path": "../public/static/builds/meta/1e6a2d4e-548a-428c-ad50-9848287242f5.json"
"path": "../public/static/builds/meta/3f40664d-7f05-422a-965e-10d06a0e6803.json"
}
};

249
app.vue
View File

@ -10,6 +10,7 @@
<Meta name="keyword" :content="seo['keyword']" />
<Meta name="description" :content="seo['description']" />
</Head>
<div class="" id="answer-app">
<header class="flexacenter" id="pageHeader">
<div class="flexacenter top">
@ -61,7 +62,13 @@
<div class="main flexflex" :class="{'mode-list': type == 'list'}">
<div class="list-box" @scroll="handleListScroll">
<div class="main-header" :style="{paddingLeft: type == 'list' ? 0 : 'calc((100vw - 1200px) / 2)'}">
<template v-if="isSearchMode">
<template v-if="myModelState">
<div class="search-keyword flexacenter" @click="closeMyModel()">
<div class="ellipsis">我的收藏/提问/回答</div>
<img class="search-keyword-cross" src="./img/cross-circle-icon.png" />
</div>
</template>
<template v-else-if="isSearchMode">
<div class="search-keyword flexacenter" @click="handleClickClear()">
<div class="ellipsis">{{ keywordText }}</div>
<img class="search-keyword-cross" src="./img/cross-circle-icon.png" />
@ -77,9 +84,23 @@
<div class="content" :style="{width: type == 'list' ? '531px' : '430px'}">
<div class="issue-title flexcenter">
<img class="hot-icon" v-if="item['ishot'] == 1" src="./img/hot-icon.png" />
<div class="recommend flexcenter">推荐阅读</div>
<div class="issue ellipsis flex1" v-html="item['title']"></div>
</div>
<div class="answer ellipsis" v-if="item['content']" v-html="item['content']"></div>
<template v-if="true">
<div class="answer ellipsis" v-if="item['content']" v-html="item['content']"></div>
</template>
<template v-else>
<div class="answer ellipsis flexacenter" v-if="item['content']">
Asian Studies
<div class="halving-line">|</div>
MPhil
<div class="halving-line">|</div>
23Fall
<div class="halving-line">|</div>
offer
</div>
</template>
<div class="bottom flexacenter">
<div class="typename flexcenter" v-if="item['typename']">{{ item["typename"] }}</div>
<div v-else></div>
@ -96,6 +117,7 @@
</div>
<div class="bottom-tps" :style="bottomTpsStyle()" v-if="inTheEndState">- 到底了 -</div>
<div class="bottom-tps" :style="bottomTpsStyle()" v-if="myModelState"></div>
<div class="empty-box flexcenter" v-if="isListEmptyState && list.length == 0">
<div class="dot-list flexacenter"><img class="item" src="./img/dot-yellow.svg" /><img class="item" src="./img/dot-yellow.svg" /><img class="item" src="./img/dot-yellow.svg" /><img class="item" src="./img/dot-gray.svg" /><img class="item" src="./img/dot-gray.svg" /><img class="item" src="./img/dot-gray.svg" /></div>
@ -127,7 +149,7 @@
<!-- <div class="icon q flexcenter">Q</div> -->
<img class="qq" src="@/img/Q.png" />
<div class="titletitle">{{ detailsInfo["title"] }}</div>
<div class="hint" @click="handleAnswerText" v-html="detailsInfo['content']"></div>
<div class="hint" @click="handleAnswerText" v-if="detailsInfo['content']" v-html="detailsInfo['content']"></div>
<div class="info-box flexacenter">
<div class="user-info flexacenter" @click="openUserInfo()">
<img class="avatar" v-if="detailsInfo['avatar']" :src="detailsInfo['avatar']" />
@ -775,6 +797,8 @@ export default {
const route = useRoute()
let detailsInfoDataVuex = useState("detailsInfoData", () => {})
const baseURL = "https://ask.gter.net"
let type = ref("list") // list details
@ -794,10 +818,39 @@ export default {
listenPageBack()
const params = route.query
if (params["uniqid"]) getDetails(params["uniqid"])
if (detailsInfoDataVuex.value) hanleServerRequestData()
})
//
const hanleServerRequestData = () => {
const params = route.query
type.value = "details"
let data = detailsInfoDataVuex.value
console.log("data", data)
detailsInfo.value = data["info"] || {}
detailsIsanswered.value = data["isanswered"] || 0
detailsIscollection.value = data["iscollection"] || 0
detailsIsmyself.value = data["ismyself"] || 0
detailsToken = data["token"] || ""
detailShare.value = data["share"] || {}
type.value = "details"
calculateListIndex(data.info, params["uniqid"])
answerList.value = []
answerPage.value = 1
getAnswerList()
closeAllTransmitState()
replaceState({uniqid: params["uniqid"]})
seo.value = data.seo
}
// 退
let isBackState = false
// 退 url
@ -1072,18 +1125,17 @@ export default {
isBackState = false
seo.value = data.seo
//
yourAnswer.value = {
//
text: "",
anonymous: 0,
}
// div
detailsAreaScrollTop()
})
.finally(() => {
detailLoading.value = false
nextTick(() => detailsAreaScrollTop())
})
.finally(() => (detailLoading.value = false))
}
// div
@ -1098,7 +1150,7 @@ export default {
const calculateListIndex = (info, uniqid) => {
let targetList = [...list.value]
if (targetList.length == 0 && isSearchMode.value == false) {
if (targetList.length == 0 && isSearchMode.value == false && myModelState.value == false) {
setTimeout(() => calculateListIndex(info, uniqid), 200)
return
}
@ -1360,7 +1412,6 @@ export default {
return
}
// answerList.value[index]['commentState'] = true
const targetAnswerList = [...answerList.value]
let content = ""
@ -1877,12 +1928,11 @@ export default {
let itemHeightLeft = 0
let itemHeightRight = 0
const itemStyle = computed((index, content) => {
const itemStyle = (index, content) => {
if (index == 0) {
itemHeightLeft = 0
itemHeightRight = 0
}
return
const newtype = type.value
// let itemHeight = content == "" ? 107 : 128
let obj = {}
@ -1902,49 +1952,29 @@ export default {
itemHeightRight += content == "" ? 107 : 136
obj["left"] = 649 + "px"
}
// if (index % 2 == 0) obj["left"] = 0
// else obj["left"] = 649 + "px"
// if (index % 2 == 0) {
// obj["top"] = itemHeightLeft + "px"
// itemHeightLeft += content == "" ? 107 : 136
// } else {
// obj["top"] = itemHeightRight + "px"
// itemHeightRight += content == "" ? 107 : 136
// }
} else {
obj["top"] = index * 128 + "px"
obj["top"] = itemHeightLeft + "px"
itemHeightLeft += content == "" ? 107 : 136
obj["height"] = content == "" ? 107 + "px" : 136 + "px"
obj["left"] = 0
obj["width"] = "100%"
// obj['backgroundColor'] = '#fbfbfb'
obj["paddingLeft"] = "calc((100vw - 1200px) / 2)"
}
console.log(index + 1, list.value.length)
if (index + 1 == list.value.length) {
listHeight.value = Math.max(itemHeightLeft, itemHeightRight)
}
if (index + 1 == list.value.length) listHeight.value = Math.max(itemHeightLeft, itemHeightRight)
return obj
})
}
const bottomTpsStyle = (index, content) => {
const newtype = type.value
// let itemHeight = content == "" ? 106 : 128
let obj = {}
if (newtype == "list") {
// let top = Math.floor(index / 2) * 128 + "px"
// obj["top"] = top
// if (index % 2 == 0) obj["left"] = 0
// else obj["left"] = 649 + "px"
} else {
// obj["top"] = index * 128 + "px"
// obj["left"] = 0
obj["width"] = "calc(50vw - 88px)"
obj["height"] = `calc(100vh - ${list.value.length * 128}px - 268px)`
// obj['backgroundColor'] = '#fbfbfb'
obj["paddingLeft"] = "calc((100vw - 1200px) / 2)"
obj["borderRight"] = "1px solid #ebebeb"
obj["borderRight"] = "1px solid #ebebeb"
@ -2029,6 +2059,11 @@ export default {
//
const closeDetailMode = () => {
if (myModelState.value) {
closeMyModel()
return
}
type.value = "list"
openBottom()
pitchIndex.value = null
@ -2182,6 +2217,11 @@ export default {
window.history.pushState({}, "", `${window.location.pathname}?${params}`)
}
let myModelState = ref(false) //
let myModelList = ref([]) //
// let listlist = [] //
let temporaryData = {} //
//
const myOpenDetails = uniqid => {
if (!uniqid) {
@ -2189,10 +2229,44 @@ export default {
return
}
deleteState(["keyword"])
if (!myModelState.value) {
temporaryData = {
total: total.value,
keywordText: keywordText.value,
isSearchMode: isSearchMode.value,
type: type.value,
pitchIndex: pitchIndex.value,
listlist: JSON.parse(JSON.stringify(list.value)),
}
list.value = JSON.parse(JSON.stringify(myModelList.value))
myModelState.value = true
pitchIndex.value = null
}
getDetails(uniqid)
myType.value = ""
}
//
const closeMyModel = () => {
myModelList.value = JSON.parse(JSON.stringify(list.value))
isSearchMode.value = temporaryData["isSearchMode"]
keywordText.value = temporaryData["keywordText"]
total.value = temporaryData["total"]
type.value = temporaryData["type"]
pitchIndex.value = temporaryData["pitchIndex"]
list.value = JSON.parse(JSON.stringify(temporaryData.listlist))
myModelState.value = false
let uniqid = list.value[pitchIndex.value]["uniqid"]
getDetails(uniqid)
}
//
const handleDetailsScroll = e => {
const el = e.target
@ -2288,41 +2362,73 @@ export default {
const params = route.query
if (params["keyword"]) keyword.value = params["keyword"]
if (params["tid"]) typePitch.value = params["tid"]
// if (params["uniqid"]) {
// getDetails(params["uniqid"])
// return
if (params["uniqid"]) {
if (process.server) {
// const headers = useRequestHeaders(["cookie"])
await axios
.post(baseURL + "/api/details", {uniqid: params["uniqid"]},)
.then(response => {
let res = response.data
let data = res.data
// await $ajax("/api/details", {uniqid: params["uniqid"]})
// .then(res => {
// if (res.code != 200) return
// let data = res.data
detailsInfoDataVuex.value = data
// console.log(new Date().getTime())
detailsInfo.value = data["info"] || {}
detailsIsanswered.value = data["isanswered"] || 0
detailsIscollection.value = data["iscollection"] || 0
detailsIsmyself.value = data["ismyself"] || 0
detailsToken = data["token"] || ""
detailShare.value = data["share"] || {}
// detailsInfo.value = data["info"] || {}
// detailsIsanswered.value = data["isanswered"] || 0
// detailsIscollection.value = data["iscollection"] || 0
// detailsIsmyself.value = data["ismyself"] || 0
// detailsToken = data["token"] || ""
// detailShare.value = data["share"] || {}
type.value = "details"
// type.value = "details"
calculateListIndex(data.info, params["uniqid"])
// calculateListIndex(data.info, params["uniqid"])
answerList.value = []
answerPage.value = 1
getAnswerList()
// answerList.value = []
// answerPage.value = 1
// getAnswerList()
closeAllTransmitState()
// closeAllTransmitState()
replaceState({uniqid: params["uniqid"]})
seo.value = data.seo
})
.catch(error => {
console.error(error)
})
}
// replaceState({uniqid: params["uniqid"]})
// seo.value = data.seo
// })
// .finally(() => {
// detailLoading.value = false
// })
// }
// if (process.server) {
// await $ajax("/api/details", {uniqid: params["uniqid"]})
// .then(res => {
// if (res.code != 200) return
// let data = res.data
// detailsInfo.value = data["info"] || {}
// detailsIsanswered.value = data["isanswered"] || 0
// detailsIscollection.value = data["iscollection"] || 0
// detailsIsmyself.value = data["ismyself"] || 0
// detailsToken = data["token"] || ""
// detailShare.value = data["share"] || {}
// type.value = "details"
// calculateListIndex(data.info, params["uniqid"])
// answerList.value = []
// answerPage.value = 1
// getAnswerList()
// closeAllTransmitState()
// replaceState({uniqid: params["uniqid"]})
// seo.value = data.seo
// })
// .finally(() => {
// detailLoading.value = false
// })
// }
}
await $ajax("/api/lists", {
page,
@ -2428,7 +2534,7 @@ export default {
} else if (index != null) {
if (answerList.value[index]["uin"] > 0) answerList.value[index]["avatarState"] = !answerList.value[index]["avatarState"]
} else {
if (detailsInfo["uin"] > 0) avatarState.value = !avatarState.value
if (detailsInfo.value["uin"] > 0) avatarState.value = !avatarState.value
}
}
@ -2452,6 +2558,8 @@ export default {
//
const closeBottom = () => {
if (process.server) return
const footer = document.querySelector("body .index-footer")
if (footer) footer.style.display = "none"
else setTimeout(() => closeBottom(), 1000)
@ -2464,6 +2572,9 @@ export default {
}
return {
closeMyModel,
myModelList,
myModelState,
listHeight,
bottomTpsStyle,
TAHomePage,

2
components/states.js Normal file
View File

@ -0,0 +1,2 @@
export const useCounter = () => useState('counter', () => 0)
export const useColor = () => useState('color', () => 'pink')

View File

@ -298,7 +298,6 @@ a {
max-width: 400px;
padding-right: 20px;
margin-right: 20px;
border-right: 1px solid #ebebeb;
}
#answer-app .main .main-header .search-keyword .search-keyword-cross {
width: 14px;
@ -397,6 +396,17 @@ a {
#answer-app .main .list-box .list .item .content .issue-title .issue em {
color: #ff0000;
}
#answer-app .main .list-box .list .item .content .issue-title .recommend {
font-size: 12px;
color: #72DB86;
text-align: center;
width: 58px;
height: 21px;
background-color: rgba(114, 219, 134, 0.117647);
padding: 0 5px;
border-radius: 5px;
margin-right: 10px;
}
#answer-app .main .list-box .list .item .content .answer {
color: #555;
height: 22px;
@ -408,6 +418,10 @@ a {
#answer-app .main .list-box .list .item .content .answer em {
color: #ff0000;
}
#answer-app .main .list-box .list .item .content .answer .halving-line {
margin: 0 10px;
color: #D7D7D7;
}
#answer-app .main .list-box .list .item .content .bottom {
margin-top: 18px;
font-size: 12px;

View File

@ -370,7 +370,7 @@ a {
padding-right: 20px;
margin-right: 20px;
border-right: 1px solid #ebebeb;
// border-right: 1px solid #ebebeb;
}
height: 68px;
@ -513,6 +513,18 @@ a {
color: #ff0000;
}
}
.recommend {
font-size: 12px;
color: #72DB86;
text-align: center;
width: 58px;
height: 21px;
background-color: rgba(114, 219, 134, 0.117647);
padding: 0 5px;
border-radius: 5px;
margin-right: 10px;
}
}
.answer {
@ -526,6 +538,11 @@ a {
em {
color: #ff0000;
}
.halving-line {
margin: 0 10px;
color:#D7D7D7;
}
}
.bottom {

View File

@ -1,6 +1,8 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
ssr: true,
components: true,
buildModules: ['@nuxtjs/composition-api/module'],
env: {
baseUrl: process.env.BASE_URL || "http://localhost:3000",
},

53
package-lock.json generated
View File

@ -7,7 +7,8 @@
"name": "nuxt-app",
"hasInstallScript": true,
"dependencies": {
"axios": "^1.6.2"
"axios": "^1.6.2",
"vuex": "^4.1.0"
},
"devDependencies": {
"@nuxt/devtools": "latest",
@ -519,7 +520,6 @@
"version": "7.23.5",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
"integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
},
@ -1223,8 +1223,7 @@
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
"dev": true
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.20",
@ -3149,7 +3148,6 @@
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.9.tgz",
"integrity": "sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.3",
"@vue/shared": "3.3.9",
@ -3160,14 +3158,12 @@
"node_modules/@vue/compiler-core/node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/@vue/compiler-dom": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.9.tgz",
"integrity": "sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==",
"dev": true,
"dependencies": {
"@vue/compiler-core": "3.3.9",
"@vue/shared": "3.3.9"
@ -3177,7 +3173,6 @@
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.9.tgz",
"integrity": "sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.3",
"@vue/compiler-core": "3.3.9",
@ -3194,14 +3189,12 @@
"node_modules/@vue/compiler-sfc/node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/@vue/compiler-ssr": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.9.tgz",
"integrity": "sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==",
"dev": true,
"dependencies": {
"@vue/compiler-dom": "3.3.9",
"@vue/shared": "3.3.9"
@ -3210,14 +3203,12 @@
"node_modules/@vue/devtools-api": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
"integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==",
"dev": true
"integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
},
"node_modules/@vue/reactivity": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.9.tgz",
"integrity": "sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==",
"dev": true,
"dependencies": {
"@vue/shared": "3.3.9"
}
@ -3226,7 +3217,6 @@
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.9.tgz",
"integrity": "sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.3",
"@vue/compiler-core": "3.3.9",
@ -3238,14 +3228,12 @@
"node_modules/@vue/reactivity-transform/node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/@vue/runtime-core": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.9.tgz",
"integrity": "sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==",
"dev": true,
"dependencies": {
"@vue/reactivity": "3.3.9",
"@vue/shared": "3.3.9"
@ -3255,7 +3243,6 @@
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.9.tgz",
"integrity": "sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==",
"dev": true,
"dependencies": {
"@vue/runtime-core": "3.3.9",
"@vue/shared": "3.3.9",
@ -3266,7 +3253,6 @@
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.9.tgz",
"integrity": "sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==",
"dev": true,
"dependencies": {
"@vue/compiler-ssr": "3.3.9",
"@vue/shared": "3.3.9"
@ -3278,8 +3264,7 @@
"node_modules/@vue/shared": {
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.9.tgz",
"integrity": "sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==",
"dev": true
"integrity": "sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA=="
},
"node_modules/abbrev": {
"version": "1.1.1",
@ -4515,8 +4500,7 @@
"node_modules/csstype": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
"dev": true
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/debug": {
"version": "4.3.4",
@ -6256,7 +6240,6 @@
"version": "0.30.5",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
"dev": true,
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
},
@ -7593,8 +7576,7 @@
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"dev": true
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"node_modules/picomatch": {
"version": "2.3.1",
@ -7623,7 +7605,6 @@
"version": "8.4.32",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
"integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
"dev": true,
"funding": [
{
"type": "opencollective",
@ -8077,7 +8058,6 @@
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"dev": true,
"funding": [
{
"type": "github",
@ -8996,7 +8976,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
@ -10729,7 +10708,6 @@
"version": "3.3.9",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.9.tgz",
"integrity": "sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==",
"dev": true,
"dependencies": {
"@vue/compiler-dom": "3.3.9",
"@vue/compiler-sfc": "3.3.9",
@ -10776,6 +10754,17 @@
"vue": "^3.2.0"
}
},
"node_modules/vuex": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz",
"integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
"dependencies": {
"@vue/devtools-api": "^6.0.0-beta.11"
},
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",

View File

@ -18,6 +18,7 @@
"vue-router": "^4.2.5"
},
"dependencies": {
"axios": "^1.6.2"
"axios": "^1.6.2",
"vuex": "^4.1.0"
}
}

15
store/index.js Normal file
View File

@ -0,0 +1,15 @@
// store/index.js
export const state = () => ({
list: [],
info: {},
})
export const mutations = {
// updateList(state, data) {
// state.list = data
// },
updateInfo(state, data) {
// console.log("state",);
state.info = data
},
}