no message

This commit is contained in:
A1300399510
2023-11-29 12:28:01 +08:00
parent 59acdf68dd
commit c27e4a5420
643 changed files with 75279 additions and 243 deletions

View File

@@ -7,13 +7,14 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/index.css">
<script src="../js文件/vue@3.2.36.js"></script>
<!-- <script src="./js/masonry.pkgd.min.js"></script> -->
<script src="./js/vue@3.2.36.js"></script>
<script src="https://app.gter.net/bottom?tpl=header&menukey=ask"></script>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
</head>
<body>
<div class="" id="answer-app">
<!-- <video poster="https://oss.gter.net/avatar/97KwEWQHYuMQGDnFqkimXF9SHKuGwVV5zW-tYWFjYQ~~/middle?istype=1&t=20231123103322" src="null" autoplay></video> -->
<header class="flexacenter" id="pageHeader">
<div class="flexacenter top">
<img class="logo" src="./img/logo.png">
@@ -24,7 +25,7 @@
<div class="history-box" v-if="historicalSearchState" @click.stop="">
<div class="history-title">历史搜索</div>
<div class="history-list">
<div class="history-item" v-for="(item,index) in historicalSearchList" :key="index" @click.stop="handleClickHistoricalItem(item)">{{ item }}</div>
<div class="history-item ellipsis" v-for="(item,index) in historicalSearchList" :key="index" @click.stop="handleClickHistoricalItem(item)">{{ item }}</div>
</div>
</div>
</div>
@@ -41,32 +42,37 @@
</div>
<div class="tab-box flexcenter" :class="{'tab-list-fixed': tabListFixeState}">
<div class="tab-list flexacenter">
<div class="item flexcenter" :class="{'pitch': typePitch === item['id'] }" v-for="(item,index) in typeList" :key="index">{{ item['name'] }}</div>
<div class="item flexcenter" :class="{'pitch': typePitch === null }" @click="cutType(null)">All</div>
<template v-for="(item,index) in typeList" :key="index">
<div class="halving-line">|</div>
<div class="item flexcenter" :class="{'pitch': typePitch === it['id'] }" v-for="(it,i) in item" :key="it" @click="cutType(it.id)">{{ it['name'] }}</div>
</template>
</div>
</div>
</header>
<!-- <div class="" v-if="keyword && list.length == 0">搜索为空</div> -->
<div class="main flexflex" :class="{'mode-list': type == 'list'}">
<div class="list-box" :style="listBoxStyle()" @scroll="handleListScroll">
<div class="list-box" @scroll="handleListScroll">
<div class="main-header " :style="{paddingLeft: type == 'list' ? 0 : 'calc((100vw - 1200px) / 2)'}">
<div class="search-keyword flexacenter" v-if="isSearchMode" @click="handleClickClear()">
{{ keyword }}<img class="search-keyword-cross" src="./img/cross-circle-icon.png">
<div class="flex1 ellipsis">{{ keywordText }}</div>
<img class="search-keyword-cross" src="./img/cross-circle-icon.png">
</div>
<div class="total grid-item" @click="cut">共 {{ total }} 条</div>
<div class="total grid-item" @click="cut">共 {{ total }} 条</div>
</div>
<div class="list" id="list" :style="listStyle()">
<div class="item grid-item flexflex" v-for="(item, index) in list" :key="index" :style="itemStyle(index,item['content'])" :class="{'pitch': index === pitchIndex,'upLevel': index === pitchIndex - 1}">
<div class="item grid-item flexflex" v-for="(item, index) in list" :key="index" :style="itemStyle(index,item['content'])" :class="{'pitch': index === pitchIndex,'upLevel': index === pitchIndex - 1}" @click.stop="getDetails(item['uniqid'],index)">
<img class="dot" src="./img/dot.svg">
<div class="content" :style="{width: type == 'list' ? '531px' : '430px'}">
<div class="issue ellipsis" v-html="item['title']"></div>
<div class="answer ellipsis">{{ item['content'] || '' }}</div>
<div class="issue-title flexcenter">
<img class="hot-icon" src="./img/hot-icon.png">
<div class="issue ellipsis flex1" v-html="item['title']"></div>
</div>
<div class="answer ellipsis" v-html="item['content']"></div>
<div class="bottom flexacenter">
<div class="quantity">{{ item['answers'] == 0 ? '暂无回答' : `共${ item['answers'] }个回答` }}</div>
<div class="longString"></div>
<div class="answer-btn" @click.stop="getDetails(item['uniqid'],index)">我来回答</div>
<div class="answer-btn" @click.stop="getDetails(item['uniqid'],index,true)">我来回答</div>
</div>
</div>
</div>
@@ -78,9 +84,10 @@
</div>
</div>
<!-- <div class="details-area-box flexflex" v-if="type == 'details'" :style="{height: 'calc(100vh - ' + pageHeaderHeight + 'px)'}"> -->
<div class="details-area-box flexflex" v-if="type == 'details'" :style="{height: pageListHeight + 'px'}">
<div class="details-area-box flexflex" v-if="type == 'details'" @scroll="handleDetailsScroll">
<div class="details-box flexflex">
<div class="transmit-mask" v-if="questionsTransmitMaskState" @click="closeAllTransmitState()"></div>
<div class="close-box">
<div class="close-circle flexcenter" @click="closeDetailMode()">
<img class="close-icon" src="./img/close-icon.svg" />
@@ -92,7 +99,7 @@
<div class="icon q flexcenter">Q</div>
<div class="title">{{ detailsInfo['title'] }}</div>
<div class="hint" v-html="detailsInfo['content']"></div>
<div class="hint" @click="handleAnswerText" v-html="detailsInfo['content']"></div>
<div class="info-box flexacenter">
<div class="user-info flexacenter">
<img class="avatar" :src="detailsInfo['avatar']">
@@ -111,18 +118,17 @@
<img class="operate-icon operate-collect-icon" :src="detailsIscollection == 0 ? './img/collect-icon.png' : './img/collect-icon-colours.svg'">
收藏
</div>
<div class="operate-item flexacenter operate-transmit" style="z-index: 2;" @click="closeTransmitState()">
<div class="operate-item flexacenter operate-transmit" @click="closeTransmitState()">
<img class="operate-icon operate-transmit-icon" src="./img/transmit-icon.png">
转发
<div class="transmit-box flexflex" v-if="questionsTransmitState" @click.stop="">
<!-- <div class="transmit-mask" @click="closeTransmitState()"></div> -->
<div class="transmit-box flexflex" v-if="questionsTransmitState" @click.stop="" style="z-index: 1;">
<div class="transmit-left transmit-web">
<div class="transmit-title">转发网页版</div>
<div class="transmit-content">
<div class="transmit-headline">25fall!求定位,大佬帮忙解答一下~ (港,新,美)</div>
<div class="transmit-url">https://ask.gter.net/jb179020.html</div>
<div class="transmit-headline">{{ detailsInfo['title'] }}</div>
<div class="transmit-url">{{ getCurrentUrl() }}</div>
</div>
<div class="transmit-web-btn flexcenter">复制链接</div>
<div class="transmit-web-btn flexcenter" @click="copyText(detailsInfo['title'] + getCurrentUrl())">复制链接</div>
</div>
<div class="transmit-right transmit-mini">
<div class="transmit-title">转发小程序版</div>
@@ -143,7 +149,7 @@
<div class="answer-total-amount">共 {{ detailsInfo['answers'] }} 个回答</div>
<!-- 回答-没有数据 -->
<div class="answer-empty-box flexcenter" v-if="answerList.length == 0">
<div class="answer-empty-box flexcenter" v-if="answerList.length == 0 && answerPage == 0">
<div class="empty-box flexcenter">
<div class="dot-list flexacenter">
<img class="dot-item" src="./img/dot-yellow.svg" v-for="item in 3">
@@ -155,9 +161,13 @@
</div>
<!-- 回答-数据 -->
<div class="answer-box-item" v-for="(item,index) in answerList" :style="{zIndex: item['transmitState'] ? 1 : 0}">
<div class="answer-text" v-html="item['content']"></div>
<!-- <div class="answer-box-item" v-for="(item,index) in answerList" :style="{zIndex: item['transmitState'] ? 1 : 0}"> -->
<div class="answer-box-item" v-for="(item,index) in answerList">
<div class="icon-circle-box">
<div class="icon-box flexcenter">A</div>
</div>
<div class="answer-text" v-html="item['content']" @click="handleAnswerText"></div>
<div class="info-box flexacenter">
<div class="user-info flexacenter">
<img class="avatar" :src="item['avatar']">
@@ -194,10 +204,10 @@
<div class="transmit-left transmit-web">
<div class="transmit-title">转发网页版</div>
<div class="transmit-content">
<div class="transmit-headline">25fall!求定位,大佬帮忙解答一下~ (港,新,美)</div>
<div class="transmit-url">https://ask.gter.net/jb179020.html</div>
<div class="transmit-headline">{{ detailsInfo['title'] }}</div>
<div class="transmit-url">{{ getCurrentUrl() }}</div>
</div>
<div class="transmit-web-btn flexcenter">复制链接</div>
<div class="transmit-web-btn flexcenter" @click="copyText(detailsInfo['title'] + getCurrentUrl())">复制链接</div>
</div>
<div class="transmit-right transmit-mini">
<div class="transmit-title">转发小程序版</div>
@@ -289,7 +299,7 @@
</div>
</div>
<div class="comments-also flexacenter" v-if="it['childnum'] >= 3 && it['childnum'] != it['child'].length" @click="alsoCommentsData(index,ind)">
<div class="">还有{{ it['childnum'] - 3 }}条回复</div>
<div class="">还有{{ it['childnum'] - 1 }}条回复</div>
<img class="also-icon" src="./img/arrow-circular-gray.png" />
</div>
</div>
@@ -313,9 +323,6 @@
</div>
<div class="empty-hint">和我说说你的想法或疑问吧</div>
</div>
</template>
</div>
@@ -346,13 +353,13 @@
<div class="popover-box flexflex">
<img class="cross-icon" src="./img/cross-icon.png" @click="myType = ''">
<div class="tab-list flexcenter">
<div class="tab-item flexacenter" :class="{'pitch': myType == 'collect'}" @click="handleMy('collect')">我的收藏 <div class="quantity">{{ myCollectionCount || 0}}</div>
<div class="tab-item flexacenter" :class="{'pitch': myType == 'collect'}" @click="handleMy('collect')">我的收藏 <div class="quantity">{{ myCollectionCount || myCount['collect'] || 0 }}</div>
</div>
<div class="long-string"></div>
<div class="tab-item flexacenter" :class="{'pitch': myType == 'answers'}" @click="handleMy('answers')">我的回答 <div class="quantity">{{ myAnswerCount }}</div>
<div class="tab-item flexacenter" :class="{'pitch': myType == 'answers'}" @click="handleMy('answers')">我的回答 <div class="quantity">{{ myAnswerCount || myCount['answer'] || 0 }}</div>
</div>
<div class="long-string"></div>
<div class="tab-item flexacenter" :class="{'pitch': myType == 'questions'}" @click="handleMy('questions')">我的提问 <div class="quantity">{{ myQuestionsCount }}</div>
<div class="tab-item flexacenter" :class="{'pitch': myType == 'questions'}" @click="handleMy('questions')">我的提问 <div class="quantity">{{ myQuestionsCount || myCount['questions'] || 0 }}</div>
</div>
</div>
<div class="empty-box flexcenter" v-if="(myType == 'collect' && myCollectionList.length == 0) || (myType == 'answers' && myAnswerList.length == 0) || (myType == 'questions' && myQuestionsList.length == 0)">
@@ -367,8 +374,8 @@
<img class="empty-icon" src="./img/empty-icon.svg">
<div class="empty-hint">暂无内容</div>
</div>
<div class="content-box collect-list" v-if="myType == 'collect'" @scroll="handleCollectionScroll">
<div class="item flexflex" v-for="(item,index) in myCollectionList" :key="item">
<div class="content-box collect-list" v-if="myType == 'collect' && myCollectionList.length != 0" @scroll="handleCollectionScroll">
<div class="item flexflex" v-for="(item,index) in myCollectionList" :key="item" @click.stop="myOpenDetails(item)">
<template v-if="item.type == 'askanswercollection'">
<div class="icon a flexcenter">A</div>
<div class="centre flexflex flex1">
@@ -376,7 +383,7 @@
<div class="text ellipsis">提问:{{ item['data']['title'] }}</div>
</div>
<div class="delete-box flexacenter">
<img class="delete-icon" @click="cancelCollection(item['token'],index)" src="./img/delete-icon.svg">
<img class="delete-icon" @click.stop="cancelCollection(item['token'],index)" src="./img/delete-icon.svg">
</div>
</template>
<template v-else>
@@ -386,14 +393,14 @@
<div class="text ellipsis">{{ item['data']['answers'] > 0 ? `共${ item['data']['answers'] }个回答` : '暂无回答'}}</div>
</div>
<div class="delete-box flexacenter">
<img class="delete-icon" @click="cancelCollection(item['token'],index)" src="./img/delete-icon.svg">
<img class="delete-icon" @click.stop="cancelCollection(item['token'],index)" src="./img/delete-icon.svg">
</div>
</template>
</div>
</div>
<div class="content-box answers-list" v-if="myType == 'answers'" @scroll="handleAnswersScroll">
<div class="item flexflex" v-for="(item,index) in myAnswerList" :key="item">
<div class="content-box answers-list" v-if="myType == 'answers' && myAnswerList.length != 0" @scroll="handleAnswersScroll">
<div class="item flexflex" v-for="(item,index) in myAnswerList" :key="item" @click.stop="myOpenDetails(item)">
<div class="icon a flexcenter">A</div>
<!-- <div class="icon a flexcenter">A</div> -->
<div class="centre flexflex flex1">
@@ -405,7 +412,7 @@
<div class="text ellipsis">提问:{{ item['title'] }}</div>
</div>
<div class="operate-box flexacenter">
<div class="state-box flexacenter" @click="cutAnswerPopupState(index)">
<div class="state-box flexacenter" @click.stop="cutAnswerPopupState(index)">
<div class="text">{{ item['anonymous'] == 0 ? '公开' : '匿名' }}</div>
<img class="arrows" src="./img/arrows-icon.svg">
<div class="state-popup flexflex" v-if="item['popupState']">
@@ -420,37 +427,37 @@
</div>
</div>
</div>
<img class="edit-icon" @click="openIAnswer(index,'my')" src="./img/edit-icon.png">
<img class="edit-icon" @click.stop="openIAnswer(index,'my')" src="./img/edit-icon.png">
</div>
</div>
</div>
<div class="content-box questions-list" v-if="myType == 'questions' && myQuestionsList.length != 0">
<div class="item flexflex" v-for="item in myQuestionsList" :key="item">
<div class="content-box questions-list" v-if="myType == 'questions' && myQuestionsList.length != 0" @scroll="handleQuestionsScroll">
<div class="item flexflex" v-for="(item,index) in myQuestionsList" :key="item" @click.stop="myOpenDetails(item)">
<div class="icon q flexcenter">Q</div>
<!-- <div class="icon a flexcenter">A</div> -->
<div class="centre flexflex flex1">
<div class="info flexacenter">
<div class="name">Ada.Wu</div>
<div class="time">1小时前</div>
<div class="name">{{ item['nickname'] }}</div>
<div class="time">{{ handleDate(item['publicationdate']) }}</div>
</div>
<div class="title ellipsis">关于港大RP和HKFPS的RP部分能否有相同的部分内容</div>
<div class="title ellipsis">{{ item['title'] }}</div>
<div class="text flexacenter">
<div class="new-answer flexacenter">有1个新回答 <div class="long-string"></div>
<div class="new-answer flexacenter" v-if="item['authornewnum'] > 0">有{{ item['authornewnum'] }}个新回答 <div class="long-string"></div>
</div>
暂无回答
{{ item['answers'] == 0 ? '暂无回答' : `共${item['answers']}个回答`}}
</div>
</div>
<div class="operate-box flexacenter">
<div class="state-box flexacenter">
<div class="text">公开</div>
<div class="state-box flexacenter" @click.stop="cutQuestionsPopupState(index)">
<div class="text">{{ item['anonymous'] == 0 ? '公开' : '匿名' }}</div>
<img class="arrows" src="./img/arrows-icon.svg">
<div class="state-popup flexflex" v-if="false">
<div class="state-popup-item flexacenter flex1 pitch">
<div class="state-popup flexflex" v-if="item['popupState']">
<div class="state-popup-item flexacenter flex1" :class="{'pitch': item['anonymous'] == 0 }" @click.stop="changeAnonymousQuestions(item['token'], 0,index)">
<div class="">公开发表</div>
<img class="state-popup-icon" src="./img/tick-orange.svg">
</div>
<div class="state-popup-item flexacenter flex1">
<div class="">公开发表</div>
<div class="state-popup-item flexacenter flex1" :class="{'pitch': item['anonymous'] == 1 }" @click.stop="changeAnonymousQuestions(item['token'], 1,index)">
<div class="">匿名发表</div>
<img class="state-popup-icon" src="./img/tick-orange.svg">
</div>
</div>
@@ -464,20 +471,32 @@
<!-- 我要提问 -->
<div class="popover-mask flexcenter issue-box" v-if="questionsSetp">
<!-- 第一步 -->
<div class="choosing-theme" v-if="questionsSetp == 1">
<!-- <div class="choosing-theme" v-if="questionsSetp == 1">
<div class="title">选择提问所属主题</div>
<div class="theme-list flexflex">
<div class="theme-item flexcenter" v-for="item in questionsTypeList" :key="item.id" @click="choosingTheme(item.id)">{{ item.name }}</div>
</div>
</div> -->
<div class="choosing-theme" v-if="questionsSetp == 1">
<div class="title">选择提问所属主题</div>
<div class="theme-list flexflex">
<div class="theme-stair-box flexflex" v-for="(item,index) in questionsTypeList">
<div class="theme-item flexcenter" v-for="item in item" :key="item.id" @click="choosingTheme(item.id)">{{ item.name }}</div>
<!-- <div class="halving-line"></div> -->
</div>
</div>
</div>
<!-- 第二步 -->
<div class="issue-form" v-else>
<!-- <img class="issue-bj" src="./img/issue-bj.svg"> -->
<!-- <div class="flexcenter q">Q</div> -->
<!-- <img class="issue-bj" src="./img/issue-bj.png"> -->
<img class="issue-bj" src="./img/issue-bj.svg">
<div class="flexcenter q">Q</div>
<img class="cross-icon" @click="cutQuestionsSetp(0)" src="./img/cross-icon.png">
<div class="issue-input">
<input class="" v-model="questionsObj.title" placeholder="一句话描述问题,以问号结尾" />
<textarea v-model="questionsObj.title" placeholder="一句话描述问题,以问号结尾"></textarea>
<!-- <input class="" v-model="questionsObj.title" placeholder="一句话描述问题,以问号结尾" /> -->
</div>
<textarea class="issue-replenish" v-model="questionsObj.content" placeholder="欢迎对问题补充说明,清晰表达问题的关键点,可获得更有效的解答(非必填)"></textarea>
<div class="issue-bottom flexacenter">
@@ -497,9 +516,10 @@
<div class="edit-answers">
<img class="close-icon" src="./img/cross-icon.png" @click="closeIAnswer">
<div class="title">编辑回答</div>
<textarea placeholder="输入图文内容回答提问" v-model="IAnswerInfo['text']"></textarea>
<!-- <textarea placeholder="输入图文内容回答提问" v-model="IAnswerInfo['text']"></textarea> -->
<div class="question-textarea" :class="{'placeholder': questionPlaceholderState}" contenteditable="true" @paste="handlePaste" v-html="IAnswerInfo['text']" @input="handleInput"></div>
<div class="issue-bottom flexacenter">
<div class="option-box flexacenter">
<div class="option-box flexacenter" @click="amendIAnswer">
<img class="option-icon" v-if="IAnswerInfo['anonymous'] == 0" src="./img/tick-no.svg">
<img class="option-icon" v-else src="./img/tick-option.svg">
匿名发表
@@ -522,7 +542,6 @@
</div>
<div class="question-middle flexflex">
<div class="question-icon flexcenter">A</div>
<!-- <textarea class="question-textarea flex1" placeholder="输入图文内容回答提问" v-model="IAnswerInfo['text']"></textarea> -->
<div class="question-textarea" :class="{'placeholder': questionPlaceholderState}" contenteditable="true" @paste="handlePaste" v-html="IAnswerInfo['text']" @input="handleInput"></div>
</div>
@@ -539,9 +558,31 @@
</div>
<!-- 提示框 -->
<transition name="msg" appear v-show="msg['state']">
<!-- <div :class="['box-item', boxClass]" v-if="" :style="{top: info.top + 'px'}"> -->
<div class="box-item" :class="boxClass()" :style="{top: 20 + 'px'}">
<div class="msg-container">
<!-- <i :class="['iconfont', iconClass]"></i> -->
{{ msg['text'] }}
</div>
</div>
</transition>
<!-- 大图 -->
<div class="detail-image-mask flexcenter" v-if="dialogSrc" @click="dialogSrc = ''">
<div class="detail-image flexcenter">
<img class="detail-img" :src="dialogSrc">
</div>
</div>
</div>
<script src="../js文件/axios.min.js"></script>
<script src="./js/axios.min.js"></script>
<script src="./js/index.js"></script>
<script src="https://app.gter.net/bottom?tpl=footer"></script>
</body>
</html>