no message

This commit is contained in:
A1300399510
2023-12-07 15:11:20 +08:00
parent 896c22af36
commit e1a3d72c25
20 changed files with 447 additions and 242 deletions

2
.gitignore vendored
View File

@@ -22,3 +22,5 @@ logs
.env
.env.*
!.env.example
.output/*

BIN
.output.rar Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
{
"date": "2023-12-07T03:19:59.210Z",
"date": "2023-12-07T06:55:49.996Z",
"preset": "node-server",
"framework": {
"name": "nuxt",

View File

@@ -1 +1 @@
{"id":"b884c653-5389-4b40-87b0-1fdfae30e49e","timestamp":1701919189613}
{"id":"2ff6a7f4-fc51-4a0e-bbd0-e57a280b6571","timestamp":1701932140420}

View File

@@ -1 +0,0 @@
{"id":"b884c653-5389-4b40-87b0-1fdfae30e49e","timestamp":1701919189613,"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

View File

@@ -1 +0,0 @@
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.c6b07a29.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};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"version":3,"file":"entry-styles.d7e5cfd6.mjs","sources":["../../../../../.nuxt/dist/server/_nuxt/entry-styles-1.mjs-075cfc12.js","../../../../../.nuxt/dist/server/_nuxt/entry-styles.d7e5cfd6.mjs"],"sourcesContent":null,"names":["style_0"],"mappings":"AAAA,MAAM,mCAAsC,GAAA,koyCAAA;;ACC5C,6BAAe,CAACA,mCAAO;;;;"}

View File

@@ -145,7 +145,7 @@ const client_manifest = {
"prefetch": true,
"preload": true,
"css": [],
"file": "error-404.4bb2e545.js",
"file": "error-404.31b6f4e9.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
],
@@ -171,7 +171,7 @@ const client_manifest = {
"prefetch": true,
"preload": true,
"css": [],
"file": "error-500.0e5c6232.js",
"file": "error-500.94ef7d80.js",
"imports": [
"node_modules/nuxt/dist/app/entry.js"
],
@@ -188,7 +188,7 @@ const client_manifest = {
"resourceType": "style",
"prefetch": true,
"preload": true,
"file": "entry.e8059532.css",
"file": "entry.7a3b5e14.css",
"src": "node_modules/nuxt/dist/app/entry.css"
},
"node_modules/nuxt/dist/app/entry.js": {
@@ -218,19 +218,19 @@ const client_manifest = {
"issue-bj.44adad8c.svg"
],
"css": [
"entry.e8059532.css"
"entry.7a3b5e14.css"
],
"dynamicImports": [
"node_modules/@nuxt/ui-templates/dist/templates/error-404.vue",
"node_modules/@nuxt/ui-templates/dist/templates/error-500.vue"
],
"file": "entry.c6b07a29.js",
"file": "entry.33c46080.js",
"isEntry": true,
"src": "node_modules/nuxt/dist/app/entry.js",
"_globalCSS": true
},
"entry.e8059532.css": {
"file": "entry.e8059532.css",
"entry.7a3b5e14.css": {
"file": "entry.7a3b5e14.css",
"resourceType": "style",
"prefetch": true,
"preload": true

View File

@@ -2,7 +2,7 @@ import { version, ref, watchEffect, watch, getCurrentInstance, defineComponent,
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';
import { ssrRenderSuspense, ssrRenderComponent, ssrRenderVNode, ssrRenderAttrs, ssrInterpolate, ssrRenderAttr, ssrRenderList, ssrRenderClass, ssrRenderStyle, ssrIncludeBooleanAttr } from 'vue/server-renderer';
import { ssrRenderSuspense, ssrRenderComponent, ssrRenderVNode, ssrInterpolate, ssrRenderAttr, ssrRenderList, ssrRenderClass, ssrRenderStyle, ssrIncludeBooleanAttr } from 'vue/server-renderer';
import axios from 'axios';
import 'node:http';
import 'node:https';
@@ -213,8 +213,8 @@ async function applyPlugin(nuxtApp, plugin) {
if (typeof plugin === "function") {
const { provide: provide2 } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};
if (provide2 && typeof provide2 === "object") {
for (const key in provide2) {
nuxtApp.provide(key, provide2[key]);
for (const key2 in provide2) {
nuxtApp.provide(key2, provide2[key2]);
}
}
}
@@ -276,8 +276,8 @@ function useNuxtApp() {
function useRuntimeConfig() {
return (/* @__PURE__ */ useNuxtApp()).$config;
}
function defineGetter(obj, key, val) {
Object.defineProperty(obj, key, { get: () => val });
function defineGetter(obj, key2, val) {
Object.defineProperty(obj, key2, { get: () => val });
}
version.startsWith("3");
function resolveUnref(r) {
@@ -554,12 +554,12 @@ function createContext(opts = {}) {
function createNamespace(defaultOpts = {}) {
const contexts = {};
return {
get(key, opts = {}) {
if (!contexts[key]) {
contexts[key] = createContext({ ...defaultOpts, ...opts });
get(key2, opts = {}) {
if (!contexts[key2]) {
contexts[key2] = createContext({ ...defaultOpts, ...opts });
}
contexts[key];
return contexts[key];
contexts[key2];
return contexts[key2];
}
};
}
@@ -1033,8 +1033,8 @@ const _imports_27 = "" + __buildAssetsURL("tick-orange.233abc69.svg");
const _imports_28 = "" + __buildAssetsURL("issue-bj.44adad8c.svg");
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
for (const [key2, val] of props) {
target[key2] = val;
}
return target;
};
@@ -1048,26 +1048,28 @@ const _sfc_main$2 = {
emulateJSON: true,
withCredentials: true,
headers: {
authorization: "017189d7d01fa8ccf649f36e82807937"
// 头部标记
// authorization: "017189d7d01fa8ccf649f36e82807937", // 头部标记
}
}).then(function(res) {
var data2 = null;
try {
data2 = typeof res.data == "string" ? JSON.parse(res.data) : res.data;
if (data2["code"] == 401)
islogin = false;
if (data2["code"] != 200)
handleMsg("error", data2["message"] || "报错了,请重试!!!");
if (data2["code"] == 401)
window.location.href = "https://passport.gter.net";
} catch (error) {
}
resolve(data2);
}).catch((err) => {
if (err.response.status == 401)
window.location.href = "https://passport.gter.net";
islogin = false;
resolve(err);
});
});
};
let islogin = true;
const goLogin = () => ajax_login();
const route = useRoute();
const baseURL2 = "https://ask.gter.net";
let type = ref("list");
@@ -1080,6 +1082,17 @@ const _sfc_main$2 = {
return window.location.href;
};
let myCount = ref({});
const getUserData = () => {
$ajax("/api/user").then((res) => {
if (res.code == 401)
islogin = false;
if (res.code != 200)
return;
let data = res.data;
myCount.value = data.count;
handleMy(key);
});
};
let isSearchMode = ref(false);
const setHistoricalSearchList = () => {
historicalSearchList.value.unshift(keyword.value);
@@ -1278,6 +1291,10 @@ const _sfc_main$2 = {
}).finally(() => answerLoading = false);
};
const operateLike = (token, index) => {
if (!islogin) {
goLogin();
return;
}
$ajax("/api/operate/like", {
token
}).then((res) => {
@@ -1290,6 +1307,10 @@ const _sfc_main$2 = {
});
};
const operateCollect = (token = detailsToken, index) => {
if (!islogin) {
goLogin();
return;
}
$ajax("/api/operate/collect", {
token
}).then((res) => {
@@ -1316,6 +1337,10 @@ const _sfc_main$2 = {
let IAnswerEditState = ref(false);
let IAnswerInfo = ref({});
const openIAnswer = (index, type2) => {
if (!islogin) {
goLogin();
return;
}
if (index == null) {
IAnswerInfo.value = {
title: detailsInfo.value["title"],
@@ -1354,6 +1379,10 @@ const _sfc_main$2 = {
IAnswerInfo.value["anonymous"] = IAnswerInfo.value["anonymous"] == 0 ? 1 : 0;
};
const submitAnswer = (type2) => {
if (!islogin) {
goLogin();
return;
}
let questionTextarea = null;
if (type2 == "you")
questionTextarea = document.querySelector(".your-answer-textarea");
@@ -1426,6 +1455,10 @@ const _sfc_main$2 = {
});
};
const submitAnswerComments = (index, ind, i) => {
if (!islogin) {
goLogin();
return;
}
const targetAnswerList = [...answerList.value];
let content = "";
let parentid = null;
@@ -1491,6 +1524,10 @@ const _sfc_main$2 = {
});
};
const operateAnswerCommentsLike = (token, index, ind, i) => {
if (!islogin) {
goLogin();
return;
}
$ajax("/api/comment/like", {
token
}).then((res) => {
@@ -1510,6 +1547,10 @@ const _sfc_main$2 = {
});
};
const openAnswerCommentsChild = (index, ind, i) => {
if (!islogin) {
goLogin();
return;
}
closeAnswerCommentsChild();
if (i == null)
answerList.value[index].commentList[ind]["childState"] = true;
@@ -1552,16 +1593,24 @@ const _sfc_main$2 = {
});
};
let myType = ref("");
const handleMy = (key) => {
if (key == "collect") {
const handleMy = (key2) => {
if (!islogin) {
goLogin();
return;
}
if (Object.keys(myCount.value).length === 0) {
getUserData();
return;
}
if (key2 == "collect") {
myCollectionList.value = [];
myCollectionPage = 1;
getMyCollection();
} else if (key == "answers") {
} else if (key2 == "answers") {
myAnswerList.value = [];
myAnswerPage = 1;
getMyAnswer();
} else if (key == "questions") {
} else if (key2 == "questions") {
myQuestionsList.value = [];
myQuestionsPage = 1;
getMyQuestions();
@@ -1737,6 +1786,10 @@ const _sfc_main$2 = {
anonymous: 0
});
const questionsInit = () => {
if (!islogin) {
goLogin();
return;
}
$ajax("/api/publish/questions").then((res) => {
if (res.code != 200)
return;
@@ -1754,6 +1807,10 @@ const _sfc_main$2 = {
questionsObj.value.anonymous = questionsObj.value.anonymous == 0 ? 1 : 0;
};
const postingIssue = () => {
if (!islogin) {
goLogin();
return;
}
$ajax("/api/publish/questionsSubmit", questionsObj.value).then((res) => {
if (res.code == 200) {
myCount.value["questions"]++;
@@ -2032,6 +2089,10 @@ const _sfc_main$2 = {
getList();
};
const handleMenuState = (index, ind, i) => {
if (!islogin) {
goLogin();
return;
}
if (i === void 0)
reportToken = answerList.value[index].commentList[ind]["token"];
else
@@ -2119,9 +2180,9 @@ const _sfc_main$2 = {
const setItemUrl = (uniqid) => {
let url = `./index.html?uniqid=${uniqid}`;
let query = route.query;
for (const key in query) {
if (key != "uniqid")
url += `&${key}=${query[key]}`;
for (const key2 in query) {
if (key2 != "uniqid")
url += `&${key2}=${query[key2]}`;
}
return url;
};
@@ -2136,6 +2197,10 @@ const _sfc_main$2 = {
yourAnswer.value["anonymous"] = yourAnswer.value["anonymous"] ? 0 : 1;
};
const handleYourAnswer = () => {
if (!islogin) {
goLogin();
return;
}
IAnswerInfo.value = { ...yourAnswer.value };
submitAnswer("you");
yourAnswer.value = {
@@ -2282,7 +2347,7 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
const _component_Head = Head;
const _component_Title = Title;
const _component_Meta = Meta;
_push(`<div${ssrRenderAttrs(_attrs)}>`);
_push(`<!--[--><div id="append_parent"></div><div id="ajaxwaitid"></div><div>`);
_push(ssrRenderComponent(_component_Head, null, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
@@ -2648,7 +2713,7 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
ssrRenderList($setup.reasonList, (s, i) => {
_push(`<div class="${ssrRenderClass([{ pitch: $setup.checkList.includes(s) }, "radio-area-item flexacenter"])}"><div class="radio-area-frame"></div> ${ssrInterpolate(s)}</div>`);
});
_push(`<!--]--></div><div class="text-box"><textarea placeholder="请输入举报原因" maxlength="200">${ssrInterpolate($setup.alertText)}</textarea><div class="text-num">${ssrInterpolate(200 - $setup.alertText.length)}</div></div><div class="footer"><button type="button">取消</button><button type="submit"${ssrIncludeBooleanAttr($setup.checkList.length == 0) ? " disabled" : ""}>提交</button></div></div></div></div></div></div>`);
_push(`<!--]--></div><div class="text-box"><textarea placeholder="请输入举报原因" maxlength="200">${ssrInterpolate($setup.alertText)}</textarea><div class="text-num">${ssrInterpolate(200 - $setup.alertText.length)}</div></div><div class="footer"><button type="button">取消</button><button type="submit"${ssrIncludeBooleanAttr($setup.checkList.length == 0) ? " disabled" : ""}>提交</button></div></div></div></div></div></div><!--]-->`);
}
const _sfc_setup$2 = _sfc_main$2.setup;
_sfc_main$2.setup = (props, ctx) => {

View File

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

View File

@@ -99,7 +99,7 @@ function createServerHead(options = {}) {
const unheadPlugins = [];
const appHead = {"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1"},{"charset":"utf-8"}],"link":[],"style":[],"script":[{"src":"https://app.gter.net/bottom?tpl=header&menukey=ask"},{"src":"https://app.gter.net/bottom?tpl=footer","body":true}],"noscript":[]};
const appHead = {"meta":[{"name":"viewport","content":"width=device-width, initial-scale=1"},{"charset":"utf-8"}],"link":[{"rel":"stylesheet","href":"//bbs.gter.net/data/cache/style_2_common.css?Z62"}],"style":[],"script":[{"src":"https://app.gter.net/bottom?tpl=header&menukey=ask"},{"src":"https://app.gter.net/bottom?tpl=footer","body":true},{"src":"//bbs.gter.net/static/js/common.js","body":true,"charset":"gb2312"},{"innerHTML":"\n window.userInfoWin = {}\n STYLEID = \"2\";\n STATICURL = \"static/\";\n IMGDIR = \"https://bbs.gter.net/template/archy_plt8/image\";\n VERHASH = \"Z62\";\n charset = \"gbk\";\n discuz_uid = \"0\";\n cookiepre = \"4B5x_c0ae_\";\n cookiedomain = \"gter.net\";\n cookiepath = \"/\";\n showusercard = \"1\";\n attackevasive = \"0\";\n disallowfloat = \"\";\n creditnotice = \",\";\n defaultstyle = \"\";\n REPORTURL = \"aHR0cDovL2Jicy5ndGVyLm5ldC9mb3J1bS5waHA/dGlkPTI0MDYzNTYmZ290bz1sYXN0cG9zdA==\";\n SITEURL = \"https://ask.gter.net/\";\n JSPATH = \"static/js/\";\n ","type":"text/javascript","charset":"utf-8"}],"noscript":[]};
const appRootId = "__nuxt";

View File

@@ -3059,7 +3059,7 @@ function klona(x) {
const inlineAppConfig = {
"nuxt": {
"buildId": "b884c653-5389-4b40-87b0-1fdfae30e49e"
"buildId": "2ff6a7f4-fc51-4a0e-bbd0-e57a280b6571"
}
};
@@ -4946,181 +4946,6 @@ const assets = {
"size": 2238,
"path": "../public/favicon.ico"
},
"/_nuxt/add-icon.0b0b5313.svg": {
"type": "image/svg+xml",
"etag": "\"d67-gajxuGcy6aHIeWAbO0RazX03p90\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 3431,
"path": "../public/_nuxt/add-icon.0b0b5313.svg"
},
"/_nuxt/arrows-icon.271dd0d3.svg": {
"type": "image/svg+xml",
"etag": "\"5a0-yAit7q5lcKJMd35iOMMifZv2uno\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 1440,
"path": "../public/_nuxt/arrows-icon.271dd0d3.svg"
},
"/_nuxt/close-icon.86743366.svg": {
"type": "image/svg+xml",
"etag": "\"2d4-QYrulZl33jopLCT37UdJfnzXOVg\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 724,
"path": "../public/_nuxt/close-icon.86743366.svg"
},
"/_nuxt/comment-icon-gray.2c8779f9.svg": {
"type": "image/svg+xml",
"etag": "\"816-HEGvNjvS0TeA/3uJweilvZfCqlk\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 2070,
"path": "../public/_nuxt/comment-icon-gray.2c8779f9.svg"
},
"/_nuxt/delete-icon.4d386dce.svg": {
"type": "image/svg+xml",
"etag": "\"17fe-RGKa0+MaUqOqlbPlXlig67fGkaY\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 6142,
"path": "../public/_nuxt/delete-icon.4d386dce.svg"
},
"/_nuxt/dot-gray.86cdd7b5.svg": {
"type": "image/svg+xml",
"etag": "\"2af-sBMsuPZbsh28jzlFWO9lVYMVDk8\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 687,
"path": "../public/_nuxt/dot-gray.86cdd7b5.svg"
},
"/_nuxt/dot-yellow.4b5e135b.svg": {
"type": "image/svg+xml",
"etag": "\"2af-6L7YsWhGTHBB6NqQztB/l2OFRfE\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 687,
"path": "../public/_nuxt/dot-yellow.4b5e135b.svg"
},
"/_nuxt/dot.1026a040.svg": {
"type": "image/svg+xml",
"etag": "\"217-dx6xqUT4D9pCoKc6nr20aXeJQXQ\"",
"mtime": "2023-12-07T03:19:53.033Z",
"size": 535,
"path": "../public/_nuxt/dot.1026a040.svg"
},
"/_nuxt/edit-icon-white.29b27582.svg": {
"type": "image/svg+xml",
"etag": "\"8be-EnEF3CQI46JkMNAXbPf3H6T7pzU\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 2238,
"path": "../public/_nuxt/edit-icon-white.29b27582.svg"
},
"/_nuxt/empty-icon.24a01ae2.svg": {
"type": "image/svg+xml",
"etag": "\"d028-Our2UxxUiciRSduORd8JZCt5Prw\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 53288,
"path": "../public/_nuxt/empty-icon.24a01ae2.svg"
},
"/_nuxt/entry.c6b07a29.js": {
"type": "application/javascript",
"etag": "\"35dfa-JEsRdQE+zhFbFjby5MFNYh0K/KQ\"",
"mtime": "2023-12-07T03:19:53.036Z",
"size": 220666,
"path": "../public/_nuxt/entry.c6b07a29.js"
},
"/_nuxt/entry.e8059532.css": {
"type": "text/css; charset=utf-8",
"etag": "\"a3bc-NP6Y9Ebbj3v/Iv5EWxRM716U4PQ\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 41916,
"path": "../public/_nuxt/entry.e8059532.css"
},
"/_nuxt/error-404.4bb2e545.js": {
"type": "application/javascript",
"etag": "\"18de-fJWAJ/r3iWb26/jqen9LWjGa24A\"",
"mtime": "2023-12-07T03:19:53.036Z",
"size": 6366,
"path": "../public/_nuxt/error-404.4bb2e545.js"
},
"/_nuxt/error-404.7fc72018.css": {
"type": "text/css; charset=utf-8",
"etag": "\"e2e-iNt1cqPQ0WDudfCTZVQd31BeRGs\"",
"mtime": "2023-12-07T03:19:53.036Z",
"size": 3630,
"path": "../public/_nuxt/error-404.7fc72018.css"
},
"/_nuxt/error-500.0e5c6232.js": {
"type": "application/javascript",
"etag": "\"756-UeRnzsDBVN+z5pUS8ehT20nue+I\"",
"mtime": "2023-12-07T03:19:53.036Z",
"size": 1878,
"path": "../public/_nuxt/error-500.0e5c6232.js"
},
"/_nuxt/error-500.c5df6088.css": {
"type": "text/css; charset=utf-8",
"etag": "\"79e-ByRo+49BgcevWdRjJy3CMx2IA5k\"",
"mtime": "2023-12-07T03:19:53.036Z",
"size": 1950,
"path": "../public/_nuxt/error-500.c5df6088.css"
},
"/_nuxt/issue-bj.44adad8c.svg": {
"type": "image/svg+xml",
"etag": "\"926-lK6rrraYIC+9Yxyy0subzOK8XpE\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 2342,
"path": "../public/_nuxt/issue-bj.44adad8c.svg"
},
"/_nuxt/logo.6622f82d.png": {
"type": "image/png",
"etag": "\"843f-FSXGFGigIHmtzjdcQzuMz/a7E+o\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 33855,
"path": "../public/_nuxt/logo.6622f82d.png"
},
"/_nuxt/menu-icon-gray.d61f02b1.svg": {
"type": "image/svg+xml",
"etag": "\"6de-kmXhltPHfF4W1gmV7wT4aZCZ6gg\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 1758,
"path": "../public/_nuxt/menu-icon-gray.d61f02b1.svg"
},
"/_nuxt/mini-code.71ebcc53.png": {
"type": "image/png",
"etag": "\"27ef-bwkVF55+sU0FBZ7eCqai2Zd0ZQs\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 10223,
"path": "../public/_nuxt/mini-code.71ebcc53.png"
},
"/_nuxt/QRCode-icon.a105d5fc.svg": {
"type": "image/svg+xml",
"etag": "\"9c1-qGg9jZ5wmHJGzh2A00nHIGWHMh4\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 2497,
"path": "../public/_nuxt/QRCode-icon.a105d5fc.svg"
},
"/_nuxt/tick-no.179037b3.svg": {
"type": "image/svg+xml",
"etag": "\"1ea-YISAWqJD56jxoQT8N812fDJfkMw\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 490,
"path": "../public/_nuxt/tick-no.179037b3.svg"
},
"/_nuxt/tick-option.e092d22f.svg": {
"type": "image/svg+xml",
"etag": "\"29a-UVjuq3WHs6mhu1KGQ7gQmJH2Bc4\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 666,
"path": "../public/_nuxt/tick-option.e092d22f.svg"
},
"/_nuxt/tick-orange.233abc69.svg": {
"type": "image/svg+xml",
"etag": "\"60a-VrP9K+TQp6JbNcrU5k1Dor/Kq/E\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 1546,
"path": "../public/_nuxt/tick-orange.233abc69.svg"
},
"/_nuxt/title.98892974.png": {
"type": "image/png",
"etag": "\"1723-0OwkVass/2nFB99dRT4w0sPUvI0\"",
"mtime": "2023-12-07T03:19:53.035Z",
"size": 5923,
"path": "../public/_nuxt/title.98892974.png"
},
"/img/add-icon.svg": {
"type": "image/svg+xml",
"etag": "\"d67-gajxuGcy6aHIeWAbO0RazX03p90\"",
@@ -5387,19 +5212,194 @@ const assets = {
"size": 207187,
"path": "../public/img/u4494.png"
},
"/_nuxt/add-icon.0b0b5313.svg": {
"type": "image/svg+xml",
"etag": "\"d67-gajxuGcy6aHIeWAbO0RazX03p90\"",
"mtime": "2023-12-07T06:55:43.900Z",
"size": 3431,
"path": "../public/_nuxt/add-icon.0b0b5313.svg"
},
"/_nuxt/arrows-icon.271dd0d3.svg": {
"type": "image/svg+xml",
"etag": "\"5a0-yAit7q5lcKJMd35iOMMifZv2uno\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 1440,
"path": "../public/_nuxt/arrows-icon.271dd0d3.svg"
},
"/_nuxt/close-icon.86743366.svg": {
"type": "image/svg+xml",
"etag": "\"2d4-QYrulZl33jopLCT37UdJfnzXOVg\"",
"mtime": "2023-12-07T06:55:43.900Z",
"size": 724,
"path": "../public/_nuxt/close-icon.86743366.svg"
},
"/_nuxt/comment-icon-gray.2c8779f9.svg": {
"type": "image/svg+xml",
"etag": "\"816-HEGvNjvS0TeA/3uJweilvZfCqlk\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 2070,
"path": "../public/_nuxt/comment-icon-gray.2c8779f9.svg"
},
"/_nuxt/delete-icon.4d386dce.svg": {
"type": "image/svg+xml",
"etag": "\"17fe-RGKa0+MaUqOqlbPlXlig67fGkaY\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 6142,
"path": "../public/_nuxt/delete-icon.4d386dce.svg"
},
"/_nuxt/dot-gray.86cdd7b5.svg": {
"type": "image/svg+xml",
"etag": "\"2af-sBMsuPZbsh28jzlFWO9lVYMVDk8\"",
"mtime": "2023-12-07T06:55:43.900Z",
"size": 687,
"path": "../public/_nuxt/dot-gray.86cdd7b5.svg"
},
"/_nuxt/dot-yellow.4b5e135b.svg": {
"type": "image/svg+xml",
"etag": "\"2af-6L7YsWhGTHBB6NqQztB/l2OFRfE\"",
"mtime": "2023-12-07T06:55:43.900Z",
"size": 687,
"path": "../public/_nuxt/dot-yellow.4b5e135b.svg"
},
"/_nuxt/dot.1026a040.svg": {
"type": "image/svg+xml",
"etag": "\"217-dx6xqUT4D9pCoKc6nr20aXeJQXQ\"",
"mtime": "2023-12-07T06:55:43.900Z",
"size": 535,
"path": "../public/_nuxt/dot.1026a040.svg"
},
"/_nuxt/edit-icon-white.29b27582.svg": {
"type": "image/svg+xml",
"etag": "\"8be-EnEF3CQI46JkMNAXbPf3H6T7pzU\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 2238,
"path": "../public/_nuxt/edit-icon-white.29b27582.svg"
},
"/_nuxt/empty-icon.24a01ae2.svg": {
"type": "image/svg+xml",
"etag": "\"d028-Our2UxxUiciRSduORd8JZCt5Prw\"",
"mtime": "2023-12-07T06:55:43.900Z",
"size": 53288,
"path": "../public/_nuxt/empty-icon.24a01ae2.svg"
},
"/_nuxt/entry.33c46080.js": {
"type": "application/javascript",
"etag": "\"35fd4-zakxaHI2Wvb5rkTag4vnKLGdUn8\"",
"mtime": "2023-12-07T06:55:43.902Z",
"size": 221140,
"path": "../public/_nuxt/entry.33c46080.js"
},
"/_nuxt/entry.7a3b5e14.css": {
"type": "text/css; charset=utf-8",
"etag": "\"a464-QLZTDzJX2913JeUgOcQW9vrN3Ac\"",
"mtime": "2023-12-07T06:55:43.898Z",
"size": 42084,
"path": "../public/_nuxt/entry.7a3b5e14.css"
},
"/_nuxt/error-404.31b6f4e9.js": {
"type": "application/javascript",
"etag": "\"18de-PN+7R9LQBRowF7NvBJt12TaR9Ds\"",
"mtime": "2023-12-07T06:55:43.902Z",
"size": 6366,
"path": "../public/_nuxt/error-404.31b6f4e9.js"
},
"/_nuxt/error-404.7fc72018.css": {
"type": "text/css; charset=utf-8",
"etag": "\"e2e-iNt1cqPQ0WDudfCTZVQd31BeRGs\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 3630,
"path": "../public/_nuxt/error-404.7fc72018.css"
},
"/_nuxt/error-500.94ef7d80.js": {
"type": "application/javascript",
"etag": "\"756-2Dbg8BDI6OSYoF7bJ7Y3gv2yWao\"",
"mtime": "2023-12-07T06:55:43.902Z",
"size": 1878,
"path": "../public/_nuxt/error-500.94ef7d80.js"
},
"/_nuxt/error-500.c5df6088.css": {
"type": "text/css; charset=utf-8",
"etag": "\"79e-ByRo+49BgcevWdRjJy3CMx2IA5k\"",
"mtime": "2023-12-07T06:55:43.902Z",
"size": 1950,
"path": "../public/_nuxt/error-500.c5df6088.css"
},
"/_nuxt/issue-bj.44adad8c.svg": {
"type": "image/svg+xml",
"etag": "\"926-lK6rrraYIC+9Yxyy0subzOK8XpE\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 2342,
"path": "../public/_nuxt/issue-bj.44adad8c.svg"
},
"/_nuxt/logo.6622f82d.png": {
"type": "image/png",
"etag": "\"843f-FSXGFGigIHmtzjdcQzuMz/a7E+o\"",
"mtime": "2023-12-07T06:55:43.899Z",
"size": 33855,
"path": "../public/_nuxt/logo.6622f82d.png"
},
"/_nuxt/menu-icon-gray.d61f02b1.svg": {
"type": "image/svg+xml",
"etag": "\"6de-kmXhltPHfF4W1gmV7wT4aZCZ6gg\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 1758,
"path": "../public/_nuxt/menu-icon-gray.d61f02b1.svg"
},
"/_nuxt/mini-code.71ebcc53.png": {
"type": "image/png",
"etag": "\"27ef-bwkVF55+sU0FBZ7eCqai2Zd0ZQs\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 10223,
"path": "../public/_nuxt/mini-code.71ebcc53.png"
},
"/_nuxt/QRCode-icon.a105d5fc.svg": {
"type": "image/svg+xml",
"etag": "\"9c1-qGg9jZ5wmHJGzh2A00nHIGWHMh4\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 2497,
"path": "../public/_nuxt/QRCode-icon.a105d5fc.svg"
},
"/_nuxt/tick-no.179037b3.svg": {
"type": "image/svg+xml",
"etag": "\"1ea-YISAWqJD56jxoQT8N812fDJfkMw\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 490,
"path": "../public/_nuxt/tick-no.179037b3.svg"
},
"/_nuxt/tick-option.e092d22f.svg": {
"type": "image/svg+xml",
"etag": "\"29a-UVjuq3WHs6mhu1KGQ7gQmJH2Bc4\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 666,
"path": "../public/_nuxt/tick-option.e092d22f.svg"
},
"/_nuxt/tick-orange.233abc69.svg": {
"type": "image/svg+xml",
"etag": "\"60a-VrP9K+TQp6JbNcrU5k1Dor/Kq/E\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 1546,
"path": "../public/_nuxt/tick-orange.233abc69.svg"
},
"/_nuxt/title.98892974.png": {
"type": "image/png",
"etag": "\"1723-0OwkVass/2nFB99dRT4w0sPUvI0\"",
"mtime": "2023-12-07T06:55:43.901Z",
"size": 5923,
"path": "../public/_nuxt/title.98892974.png"
},
"/_nuxt/builds/latest.json": {
"type": "application/json",
"etag": "\"47-BuDnf7U6kHsbM/qTW1A8SgW/KFI\"",
"mtime": "2023-12-07T03:19:54.226Z",
"etag": "\"47-5NIP5UjrzxwCbvBDxjd+8Z3/aTo\"",
"mtime": "2023-12-07T06:55:45.075Z",
"size": 71,
"path": "../public/_nuxt/builds/latest.json"
},
"/_nuxt/builds/meta/b884c653-5389-4b40-87b0-1fdfae30e49e.json": {
"/_nuxt/builds/meta/2ff6a7f4-fc51-4a0e-bbd0-e57a280b6571.json": {
"type": "application/json",
"etag": "\"8b-75ibbAYmKNk+my0xnFLNOZc5dU4\"",
"mtime": "2023-12-07T03:19:54.226Z",
"etag": "\"8b-H2mR0oAfBDEACOjjKAVW3Ux7NEk\"",
"mtime": "2023-12-07T06:55:45.076Z",
"size": 139,
"path": "../public/_nuxt/builds/meta/b884c653-5389-4b40-87b0-1fdfae30e49e.json"
"path": "../public/_nuxt/builds/meta/2ff6a7f4-fc51-4a0e-bbd0-e57a280b6571.json"
}
};

106
app.vue
View File

@@ -2,6 +2,8 @@
新增的回答款需要输入图片
-->
<template>
<div id="append_parent"></div>
<div id="ajaxwaitid"></div>
<div>
<Head>
<Title>{{ `${seo["title"] || "问答"} - 寄托天下出国留学网` }}</Title>
@@ -519,7 +521,7 @@
</div>
<textarea class="issue-replenish" v-model="questionsObj.content" placeholder="欢迎补充,清晰表达问题的关键点,可获得更有效的解答(非必填;请正确填写,发布后将不能修改)"></textarea>
<div class="issue-bottom flexacenter">
<div class="option-box flexacenter" @click="cutAnonymous" style="color:#333;">
<div class="option-box flexacenter" @click="cutAnonymous" style="color: #333;">
<img class="option-icon" v-if="questionsObj.anonymous == 0" src="./img/tick-no.svg" />
<img class="option-icon" v-else src="./img/tick-option.svg" />
匿名发表
@@ -617,6 +619,7 @@
</div>
</div>
</template>
<script>
import {onMounted, onUnmounted, ref, nextTick, watchEffect} from "vue"
import axios from "axios"
@@ -632,24 +635,33 @@ export default {
emulateJSON: true,
withCredentials: true,
headers: {
authorization: "017189d7d01fa8ccf649f36e82807937", // 头部标记
// authorization: "017189d7d01fa8ccf649f36e82807937", // 头部标记
},
})
.then(function (res) {
var data = null
try {
data = typeof res.data == "string" ? JSON.parse(res.data) : res.data
if (data["code"] == 401) islogin = false
if (data["code"] != 200) handleMsg("error", data["message"] || "报错了,请重试!!!")
if (data["code"] == 401) window.location.href = "https://passport.gter.net"
// if (data["code"] == 401) window.location.href = "https://passport.gter.net"
} catch (error) {}
resolve(data)
})
.catch(err => {
if (err.response.status == 401) window.location.href = "https://passport.gter.net"
// if (err.response.status == 401) window.location.href = "https://passport.gter.net"
if (err.response.status == 401) islogin = false
resolve(err)
})
})
}
let islogin = true // 是否有登录 默认登录的 报 401 后直接 没有登录
// 跳转登录
const goLogin = () => ajax_login()
const route = useRoute()
const baseURL = "https://ask.gter.net"
@@ -658,7 +670,8 @@ export default {
onMounted(() => {
// getUrlParams()
getUserData()
// getUserData()
determineIsLogin()
getListClass()
window.addEventListener("scroll", handleScroll)
getHistoricalSearchList()
@@ -667,6 +680,22 @@ export default {
if (process.client) originUrl.value = window.location.origin
})
// 判断是否登录状态
const determineIsLogin = () => {
let count = 0
let timer = setInterval(() => {
if (Object.keys(window["userInfoWin"]).length !== 0) {
clearInterval(timer)
if (!window["userInfoWin"]["uid"]) islogin = false
}
count++
if (count >= 3) {
clearInterval(timer)
islogin = false
}
}, 1000)
}
let originUrl = ref("")
onUnmounted(() => {
@@ -685,9 +714,11 @@ export default {
// 获取用户数据
const getUserData = () => {
$ajax("/api/user").then(res => {
if (res.code == 401) islogin = false
if (res.code != 200) return
let data = res.data
myCount.value = data.count
handleMy(key)
})
}
@@ -964,6 +995,11 @@ export default {
// 操作 - 点赞
const operateLike = (token, index) => {
if (!islogin) {
goLogin()
return
}
$ajax("/api/operate/like", {
token,
}).then(res => {
@@ -979,6 +1015,11 @@ export default {
// 操作 - 收藏
const operateCollect = (token = detailsToken, index) => {
if (!islogin) {
goLogin()
return
}
$ajax("/api/operate/collect", {
token,
}).then(res => {
@@ -1008,6 +1049,11 @@ export default {
let IAnswerInfo = ref({}) // 我来回答-弹窗的信息
// 开启我来回答 type: my 表示
const openIAnswer = (index, type) => {
if (!islogin) {
goLogin()
return
}
if (index == null) {
IAnswerInfo.value = {
title: detailsInfo.value["title"],
@@ -1056,6 +1102,11 @@ export default {
// 提交回答
const submitAnswer = type => {
if (!islogin) {
goLogin()
return
}
let questionTextarea = null
if (type == "you") questionTextarea = document.querySelector(".your-answer-textarea")
@@ -1089,6 +1140,7 @@ export default {
// 打开回答的评论
const openCommentState = index => {
if (answerList.value[index]["commentState"]) answerList.value[index]["commentState"] = false
else answerList.value[index]["commentState"] = true
@@ -1138,6 +1190,11 @@ export default {
// 提交回答-评论
const submitAnswerComments = (index, ind, i) => {
if (!islogin) {
goLogin()
return
}
// answerList.value[index]['commentState'] = true
const targetAnswerList = [...answerList.value]
@@ -1212,6 +1269,11 @@ export default {
// 回答-评论 点赞
const operateAnswerCommentsLike = (token, index, ind, i) => {
if (!islogin) {
goLogin()
return
}
$ajax("/api/comment/like", {
token,
}).then(res => {
@@ -1235,6 +1297,11 @@ export default {
// 打开 回答-评论 的子评论
const openAnswerCommentsChild = (index, ind, i) => {
if (!islogin) {
goLogin()
return
}
closeAnswerCommentsChild()
if (i == null) answerList.value[index].commentList[ind]["childState"] = true
@@ -1287,6 +1354,16 @@ export default {
let myType = ref("") // collect answers questions
// 专门处理 我的 弹窗数据
const handleMy = key => {
if (!islogin) {
goLogin()
return
}
if (Object.keys(myCount.value).length === 0) {
getUserData(key)
return
}
if (key == "collect") {
myCollectionList.value = []
myCollectionPage = 1
@@ -1498,6 +1575,11 @@ export default {
// 报 提问的初始化
const questionsInit = () => {
if (!islogin) {
goLogin()
return
}
$ajax("/api/publish/questions").then(res => {
if (res.code != 200) return
let data = res.data
@@ -1521,6 +1603,11 @@ export default {
// 发布问题
const postingIssue = () => {
if (!islogin) {
goLogin()
return
}
$ajax("/api/publish/questionsSubmit", questionsObj.value).then(res => {
if (res.code == 200) {
myCount.value["questions"]++
@@ -1885,6 +1972,10 @@ export default {
// 打开举报
const handleMenuState = (index, ind, i) => {
if (!islogin) {
goLogin()
return
}
if (i === undefined) reportToken = answerList.value[index].commentList[ind]["token"]
else reportToken = answerList.value[index].commentList[ind]["child"][i]["token"]
alertShow.value = true
@@ -2011,6 +2102,11 @@ export default {
// 处理 您的答案的点击提交
const handleYourAnswer = () => {
if (!islogin) {
goLogin()
return
}
IAnswerInfo.value = {...yourAnswer.value}
submitAnswer("you")

View File

@@ -1,3 +1,6 @@
.register * {
box-sizing: content-box;
}
.index-footer {
margin-top: 0 !important;
}
@@ -27,6 +30,9 @@ body::-webkit-scrollbar {
box-sizing: border-box;
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
}
a {
text-decoration: none !important;
}
/* Webkit浏览器Chrome、Safari等 */
*::-webkit-scrollbar {
width: 8px;
@@ -354,6 +360,9 @@ body::-webkit-scrollbar {
#answer-app .main .list-box .list .item.pitch .content {
border: none;
}
#answer-app .main .list-box .list .item:hover .issue {
text-decoration: underline;
}
#answer-app .main .list-box .list .item .dot {
width: 6px;
height: 6px;
@@ -387,6 +396,7 @@ body::-webkit-scrollbar {
line-height: 22px;
font-size: 13px;
margin-bottom: 18px;
text-decoration: none;
}
#answer-app .main .list-box .list .item .content .answer em {
color: #ff0000;

View File

@@ -1,3 +1,7 @@
.register * {
box-sizing: content-box;
}
.index-footer {
margin-top: 0 !important;
}
@@ -35,6 +39,11 @@ body {
// font-style: normal;
}
a {
text-decoration: none !important;
}
/* Webkit浏览器Chrome、Safari等 */
*::-webkit-scrollbar {
width: 8px;
@@ -443,6 +452,10 @@ body {
}
}
&:hover .issue {
text-decoration: underline;
}
// background-color: rgba(251, 251, 251, 1);
// position: relative;
@@ -498,6 +511,7 @@ body {
line-height: 22px;
font-size: 13px;
margin-bottom: 18px;
text-decoration: none;
em {
color: #ff0000;

View File

@@ -1,3 +1,4 @@
import {Link} from "./.nuxt/components.d"
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
ssr: true,
@@ -6,9 +7,44 @@ export default defineNuxtConfig({
},
app: {
head: {
link: [
{
rel: "stylesheet",
href: "//bbs.gter.net/data/cache/style_2_common.css?Z62",
},
],
script: [
{src: "https://app.gter.net/bottom?tpl=header&menukey=ask"},
{src: "https://app.gter.net/bottom?tpl=footer", body: true},
{
src: "//bbs.gter.net/static/js/common.js",
body: true,
charset: "gb2312",
},
{
innerHTML: `
window.userInfoWin = {}
STYLEID = "2";
STATICURL = "static/";
IMGDIR = "https://bbs.gter.net/template/archy_plt8/image";
VERHASH = "Z62";
charset = "gbk";
discuz_uid = "0";
cookiepre = "4B5x_c0ae_";
cookiedomain = "gter.net";
cookiepath = "/";
showusercard = "1";
attackevasive = "0";
disallowfloat = "";
creditnotice = ",";
defaultstyle = "";
REPORTURL = "aHR0cDovL2Jicy5ndGVyLm5ldC9mb3J1bS5waHA/dGlkPTI0MDYzNTYmZ290bz1sYXN0cG9zdA==";
SITEURL = "https://ask.gter.net/";
JSPATH = "static/js/";
`,
type: "text/javascript",
charset: "utf-8",
},
],
},
},