提交测试
This commit is contained in:
parent
1ecc639410
commit
34d052255f
21
.vscode/tasks.json
vendored
Normal file
21
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [{
|
||||||
|
"label": "save",
|
||||||
|
"command": "git",
|
||||||
|
"type": "shell",
|
||||||
|
"args": [
|
||||||
|
"commit",
|
||||||
|
"-a",
|
||||||
|
"-m",
|
||||||
|
"auto commit",
|
||||||
|
"&&",
|
||||||
|
"git",
|
||||||
|
"push",
|
||||||
|
"origin",
|
||||||
|
"master"
|
||||||
|
],
|
||||||
|
"problemMatcher": []
|
||||||
|
}],
|
||||||
|
"preShutdownTask": "save"
|
||||||
|
}
|
3
package-lock.json
generated
3
package-lock.json
generated
@ -25,7 +25,8 @@
|
|||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.21",
|
||||||
"sass-loader": "^13.2.0",
|
"sass-loader": "^13.2.0",
|
||||||
"vue-template-compiler": "^2.6.14",
|
"vue-template-compiler": "^2.6.14",
|
||||||
"vue2-svg-icon": "^1.3.2"
|
"vue2-svg-icon": "^1.3.2",
|
||||||
|
"webpack-bundle-analyzer": "^4.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@achrinza/node-ipc": {
|
"node_modules/@achrinza/node-ipc": {
|
||||||
|
@ -24,7 +24,8 @@
|
|||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.21",
|
||||||
"sass-loader": "^13.2.0",
|
"sass-loader": "^13.2.0",
|
||||||
"vue-template-compiler": "^2.6.14",
|
"vue-template-compiler": "^2.6.14",
|
||||||
"vue2-svg-icon": "^1.3.2"
|
"vue2-svg-icon": "^1.3.2",
|
||||||
|
"webpack-bundle-analyzer": "^4.8.0"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 1%",
|
"> 1%",
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
// 热门版块标签
|
// 热门版块标签
|
||||||
.hot-box {
|
.hot-box {
|
||||||
// padding: .34rem 0 0.3rem;
|
|
||||||
padding: .34rem 0 0;
|
padding: .34rem 0 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
@ -13,7 +12,6 @@
|
|||||||
font-size: 0.3rem;
|
font-size: 0.3rem;
|
||||||
margin: 0 .16rem .24rem 0;
|
margin: 0 .16rem .24rem 0;
|
||||||
padding: 0 0.15rem;
|
padding: 0 0.15rem;
|
||||||
// height: 0.72rem;
|
|
||||||
line-height: 0.72rem;
|
line-height: 0.72rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
@ -103,7 +101,7 @@ section {
|
|||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&:first-of-type{
|
&:first-of-type {
|
||||||
margin-right: .2rem;
|
margin-right: .2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,10 +121,8 @@ section {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
// padding-left: 0.25rem;
|
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
// margin-left: 0.133333rem;
|
|
||||||
margin-left: .4rem;
|
margin-left: .4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -170,7 +166,6 @@ section {
|
|||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
transform-origin: bottom;
|
transform-origin: bottom;
|
||||||
margin-top: 0.05rem;
|
margin-top: 0.05rem;
|
||||||
// margin-top: 0.01rem;
|
|
||||||
margin-left: 0.25rem;
|
margin-left: 0.25rem;
|
||||||
width: 0.9rem;
|
width: 0.9rem;
|
||||||
font-size: 0.3rem;
|
font-size: 0.3rem;
|
||||||
@ -183,15 +178,10 @@ section {
|
|||||||
|
|
||||||
// 广告
|
// 广告
|
||||||
.banner-box {
|
.banner-box {
|
||||||
|
margin-bottom: 0.32rem;
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
border-radius: 0.32rem;
|
border-radius: 0.32rem;
|
||||||
margin-bottom: 0.2rem;
|
|
||||||
|
|
||||||
// 广告图
|
|
||||||
.banner {
|
|
||||||
width: 100%;
|
|
||||||
display: block;
|
|
||||||
border-radius: 0.32rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分页
|
// 分页
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 21 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1011 B |
Binary file not shown.
Before Width: | Height: | Size: 6.7 KiB |
@ -33,7 +33,8 @@
|
|||||||
<div class="head-more-right">
|
<div class="head-more-right">
|
||||||
<!-- 消息 -->
|
<!-- 消息 -->
|
||||||
<div class="information-box" v-if="userInfo.messagenum">
|
<div class="information-box" v-if="userInfo.messagenum">
|
||||||
<img class="information-icon" src="@/assets/img/headerNav/information.png" />
|
<!-- <img class="information-icon" src="@/assets/img/headerNav/information.png" /> -->
|
||||||
|
<img class="information-icon" src="@/assets/img/icon/email.png" />
|
||||||
<div class="red-dot flexcenter">{{ userInfo.messagenum }}</div>
|
<div class="red-dot flexcenter">{{ userInfo.messagenum }}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 登录按钮 -->
|
<!-- 登录按钮 -->
|
||||||
|
@ -1,37 +1,44 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<!-- 帖子 -->
|
<!-- 帖子 -->
|
||||||
<div class="card-box" v-for="(item,index) in list" :key="index" @click.stop="toDetail(item.tid)">
|
<div v-for="(item, index) in list" :key="index">
|
||||||
<div class="top moreEllipsis">
|
<template v-if="item.type == 'ad'">
|
||||||
<div class="top-label">{{ item.typename }}</div>
|
<a :href="item.url"><img class="banner-box" :src="item.image"></a>
|
||||||
<div class="top-title">{{ item.subject }}</div>
|
</template>
|
||||||
</div>
|
|
||||||
<div class="center">
|
<div class="card-box" v-else @click.stop="toDetail(item.tid)">
|
||||||
<div class="center-text moreEllipsis">{{ item.message }}</div>
|
<div class="top moreEllipsis">
|
||||||
</div>
|
<div class="top-label">{{ item.typename }}</div>
|
||||||
<div class="bottom">
|
<div class="top-title">{{ item.subject }}</div>
|
||||||
<div class="bottom-box">
|
|
||||||
<!-- <svg-icon icon-class="test-head" class-name="icon-head"></svg-icon> -->
|
|
||||||
<img class="icon-head" :src="item.avatar">
|
|
||||||
<div class="bottom-name">{{ item.author }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-box">
|
<div class="center">
|
||||||
<div class="bottom-right">
|
<div class="center-text moreEllipsis">{{ item.message }}</div>
|
||||||
<svg-icon icon-class="look" class-name="icon-look"></svg-icon>
|
</div>
|
||||||
<div>{{ item.views }}</div>
|
<div class="bottom">
|
||||||
|
<div class="bottom-box">
|
||||||
|
<img class="icon-head" :src="item.avatar">
|
||||||
|
<div class="bottom-name">{{ item.author }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-right">
|
<div class="bottom-box">
|
||||||
<svg-icon icon-class="msg" class-name="icon-msg"></svg-icon>
|
<div class="bottom-right">
|
||||||
<div>{{ item.replies }}</div>
|
<svg-icon icon-class="look" class-name="icon-look"></svg-icon>
|
||||||
|
<div>{{ item.views }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-right">
|
||||||
|
<svg-icon icon-class="msg" class-name="icon-msg"></svg-icon>
|
||||||
|
<div>{{ item.replies }}</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- 精华 -->
|
||||||
<!-- 精华 -->
|
<div class="rightTop" v-if="item.digest > 0">
|
||||||
<div class="rightTop" v-if="item.digest>0">
|
<img class="rightTop-img" src="@/assets/img/icon/topRight .png">
|
||||||
<img class="rightTop-img" src="@/assets/img/icon/topRight .png">
|
<span>精华</span>
|
||||||
<span>精华</span>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- <div class="card-box">
|
<!-- <div class="card-box">
|
||||||
<div class="top moreEllipsis">
|
<div class="top moreEllipsis">
|
||||||
<div class="top-label">经验</div>
|
<div class="top-label">经验</div>
|
||||||
@ -81,10 +88,9 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
// 跳转详细
|
// 跳转详细
|
||||||
toDetail(tid){
|
toDetail(tid) {
|
||||||
this.$router.push(`/detail?tid=${tid}`)
|
this.$router.push(`/detail?tid=${tid}`)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
17
src/main.js
17
src/main.js
@ -2,15 +2,11 @@ import Vue from 'vue'
|
|||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import router from './router'
|
import router from './router'
|
||||||
import store from './store'
|
import store from './store'
|
||||||
import ElementUI, { Message, Pagination, loading } from 'element-ui';
|
import { Message, Pagination, Alert, Loading } from 'element-ui';
|
||||||
import 'element-ui/lib/theme-chalk/index.css';
|
import 'element-ui/lib/theme-chalk/index.css';
|
||||||
import { skipUrl, pageStop, pageMove, goTologin, copy, startupUnderLoading, closeUnderLoading, formattedDate, updateURLSearchParams, clearCookies } from "@/utils/common.js"
|
import { skipUrl, pageStop, pageMove, goTologin, copy, startupUnderLoading, closeUnderLoading, formattedDate, updateURLSearchParams, clearCookies } from "@/utils/common.js"
|
||||||
import http from "@/utils/request"
|
import http from "@/utils/request"
|
||||||
|
|
||||||
|
|
||||||
import hintBox from '@/components/Hintbox'
|
|
||||||
|
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
Vue.prototype.$loginUrl = "https://passport.gter.net/" // 跳转登录的url
|
Vue.prototype.$loginUrl = "https://passport.gter.net/" // 跳转登录的url
|
||||||
@ -23,7 +19,7 @@ Vue.prototype.$goTologin = goTologin // 跳转登录页面的方法
|
|||||||
Vue.prototype.$pageStop = pageStop // 页面禁止滑动
|
Vue.prototype.$pageStop = pageStop // 页面禁止滑动
|
||||||
Vue.prototype.$pageMove = pageMove // 页面可以滑动
|
Vue.prototype.$pageMove = pageMove // 页面可以滑动
|
||||||
Vue.prototype.$Message = Message // 消息提示框
|
Vue.prototype.$Message = Message // 消息提示框
|
||||||
Vue.prototype.$loading = loading // 消息提示框
|
Vue.prototype.$loading = Loading // 消息提示框
|
||||||
Vue.prototype.$copy = copy // 复制
|
Vue.prototype.$copy = copy // 复制
|
||||||
Vue.prototype.$startupUnderLoading = startupUnderLoading // 开启加载提示 element的
|
Vue.prototype.$startupUnderLoading = startupUnderLoading // 开启加载提示 element的
|
||||||
Vue.prototype.$closeUnderLoading = closeUnderLoading // 关闭加载提示 element的
|
Vue.prototype.$closeUnderLoading = closeUnderLoading // 关闭加载提示 element的
|
||||||
@ -31,14 +27,11 @@ Vue.prototype.$formattedDate = formattedDate // 时间戳转格式
|
|||||||
Vue.prototype.$updateURLSearchParams = updateURLSearchParams // 不刷新的情况下修改url
|
Vue.prototype.$updateURLSearchParams = updateURLSearchParams // 不刷新的情况下修改url
|
||||||
Vue.prototype.$clearCookies = clearCookies // 清空Cookies
|
Vue.prototype.$clearCookies = clearCookies // 清空Cookies
|
||||||
|
|
||||||
|
|
||||||
//svg文件引入
|
//svg文件引入
|
||||||
import './icons'
|
import './icons'
|
||||||
//动态设置fontsize
|
//动态设置fontsize
|
||||||
import './utils/fontSize.js'
|
import './utils/fontSize.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 判断是否是数组的 ,兼容操作
|
// 判断是否是数组的 ,兼容操作
|
||||||
if (!Array.isArray) {
|
if (!Array.isArray) {
|
||||||
Array.isArray = function (arg) {
|
Array.isArray = function (arg) {
|
||||||
@ -46,10 +39,10 @@ if (!Array.isArray) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//ElementUI
|
// Vue.use(ElementUI);
|
||||||
Vue.use(ElementUI);
|
|
||||||
Vue.use(Pagination);
|
Vue.use(Pagination);
|
||||||
|
Vue.use(Alert);
|
||||||
|
Vue.use(Loading);
|
||||||
|
|
||||||
// v-focus
|
// v-focus
|
||||||
Vue.directive('focus', {
|
Vue.directive('focus', {
|
||||||
|
@ -91,7 +91,6 @@ export default new Vuex.Store({
|
|||||||
getUserInfo({ state, commit }, that) {
|
getUserInfo({ state, commit }, that) {
|
||||||
if (state.getUserInfoState) return
|
if (state.getUserInfoState) return
|
||||||
commit('setgetUserInfoState', true)
|
commit('setgetUserInfoState', true)
|
||||||
// that.$startupUnderLoading(that)
|
|
||||||
that.$http.post("/api/home").then(res => {
|
that.$http.post("/api/home").then(res => {
|
||||||
if (res.code != 200) return;
|
if (res.code != 200) return;
|
||||||
let data = res.data
|
let data = res.data
|
||||||
|
@ -27,21 +27,20 @@ function goTologin() {
|
|||||||
|
|
||||||
// 点击复制
|
// 点击复制
|
||||||
function copy(value, message) {
|
function copy(value, message) {
|
||||||
let copyInput = document.createElement('input');//创建input元素
|
let copyInput = document.createElement('input');//创建input元素
|
||||||
document.body.appendChild(copyInput);//向页面底部追加输入框
|
document.body.appendChild(copyInput);//向页面底部追加输入框
|
||||||
copyInput.setAttribute('value', value);//添加属性,将url赋值给input元素的value属性
|
copyInput.setAttribute('value', value);//添加属性,将url赋值给input元素的value属性
|
||||||
copyInput.select();//选择input元素
|
copyInput.select();//选择input元素
|
||||||
document.execCommand("Copy");//执行复制命令
|
document.execCommand("Copy");//执行复制命令
|
||||||
//复制之后再删除元素,否则无法成功赋值
|
//复制之后再删除元素,否则无法成功赋值
|
||||||
copyInput.remove();//删除动态创建的节点
|
copyInput.remove();//删除动态创建的节点
|
||||||
if (message) this.$message.success(message);
|
|
||||||
|
|
||||||
|
if (message) this.$Message.success(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 启动加载中
|
// 启动加载中
|
||||||
function startupUnderLoading(that) {
|
function startupUnderLoading(that) {
|
||||||
that.loading = that.$loading({
|
that.loading = this.$loading({
|
||||||
lock: true,
|
lock: true,
|
||||||
text: '加载中...',
|
text: '加载中...',
|
||||||
background: 'rgba(0, 0, 0, 0.7)'
|
background: 'rgba(0, 0, 0, 0.7)'
|
||||||
@ -50,7 +49,7 @@ function startupUnderLoading(that) {
|
|||||||
|
|
||||||
// 关闭加载中
|
// 关闭加载中
|
||||||
function closeUnderLoading(that) {
|
function closeUnderLoading(that) {
|
||||||
that.loading && that.loading.close();
|
that.loading && this.loading.close();
|
||||||
that.loading = null
|
that.loading = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ const service = axios.create({
|
|||||||
service.interceptors.request.use(config => {
|
service.interceptors.request.use(config => {
|
||||||
//发请求前做的一些处理,数据转化,配置请求头,设置token,设置loading等,根据需求去添加
|
//发请求前做的一些处理,数据转化,配置请求头,设置token,设置loading等,根据需求去添加
|
||||||
//注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie
|
//注意使用token的时候需要引入cookie方法或者用本地localStorage等方法,推荐js-cookie
|
||||||
config['headers']['authorization'] = "qj2q1qk1on0curclipghjtv5ja1g9eq2"
|
// config['headers']['authorization'] = "qj2q1qk1on0curclipghjtv5ja1g9eq2"
|
||||||
// config['headers']['authorization'] = "661aiz52k5e6vqgmkxnz0wvbv8nciz8h"
|
// config['headers']['authorization'] = "661aiz52k5e6vqgmkxnz0wvbv8nciz8h"
|
||||||
return config
|
return config
|
||||||
}, error => {
|
}, error => {
|
||||||
|
@ -16,9 +16,6 @@
|
|||||||
<div class="detail-title-item detail-title-jinghua flexcenter" v-if="info.digest > 0">精华</div>
|
<div class="detail-title-item detail-title-jinghua flexcenter" v-if="info.digest > 0">精华</div>
|
||||||
<div class="detail-title-item detail-title-label flexcenter" v-if="info.typename">{{ info.typename }}</div>
|
<div class="detail-title-item detail-title-label flexcenter" v-if="info.typename">{{ info.typename }}</div>
|
||||||
{{ info.subject }}
|
{{ info.subject }}
|
||||||
|
|
||||||
|
|
||||||
<!-- {{ info.subject }} -->
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
@ -219,8 +216,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="alert" :class="{ 'alertState' : alertState }">
|
<div class="alert" :class="{ 'alertState': alert.state }">
|
||||||
<el-alert title="消息提示的文案" type="info" center show-icon :closable="false"></el-alert>
|
<el-alert :title="alert.message" type="info" center show-icon :closable="false"></el-alert>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -367,7 +364,12 @@ export default {
|
|||||||
|
|
||||||
islogin: false, // 登录状态
|
islogin: false, // 登录状态
|
||||||
|
|
||||||
alertState: false,
|
alert: {
|
||||||
|
state: false,
|
||||||
|
message: ""
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -391,24 +393,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
this.alertState = true
|
|
||||||
console.log(this.alertState);
|
|
||||||
}, 3000)
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
this.alertState = false
|
|
||||||
console.log(this.alertState);
|
|
||||||
}, 6000)
|
|
||||||
|
|
||||||
// this.tid = this.$route.query['tid']
|
|
||||||
// this.page = this.$route.query['page'] || 1
|
|
||||||
// let url = `https://bbs.gter.net/thread-${tid}-${page}-1.html`
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
window.scrollTo(0, 0);
|
window.scrollTo(0, 0);
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -595,7 +579,6 @@ export default {
|
|||||||
})
|
})
|
||||||
|
|
||||||
offerinfo['useperformanceStr'] = useperformanceStr
|
offerinfo['useperformanceStr'] = useperformanceStr
|
||||||
|
|
||||||
this.offerinfo = offerinfo
|
this.offerinfo = offerinfo
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -776,9 +759,6 @@ export default {
|
|||||||
this.getPostList()
|
this.getPostList()
|
||||||
|
|
||||||
this.$updateURLSearchParams(query)
|
this.$updateURLSearchParams(query)
|
||||||
|
|
||||||
|
|
||||||
// this.$router.push({ path: `/detailIndex`, query })
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 点击点赞和收藏操作
|
// 点击点赞和收藏操作
|
||||||
@ -797,7 +777,8 @@ export default {
|
|||||||
if (key == "like") this.info.islike = 1, this.info.recommends + 1
|
if (key == "like") this.info.islike = 1, this.info.recommends + 1
|
||||||
if (key == "collect") this.info.isfav = 1
|
if (key == "collect") this.info.isfav = 1
|
||||||
if (key == "uncollect") this.info.isfav = 0
|
if (key == "uncollect") this.info.isfav = 0
|
||||||
this.$message(res.message)
|
// this.$message(res.message)
|
||||||
|
this.openHintBox(res.message)
|
||||||
|
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.operateState = false
|
this.operateState = false
|
||||||
@ -827,6 +808,7 @@ export default {
|
|||||||
this.commentContent = item.message
|
this.commentContent = item.message
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 投币
|
||||||
postCoin() {
|
postCoin() {
|
||||||
console.log("点击解锁");
|
console.log("点击解锁");
|
||||||
|
|
||||||
@ -835,12 +817,26 @@ export default {
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code != 200) return
|
if (res.code != 200) return
|
||||||
|
|
||||||
this.$message.success(res.message)
|
// this.$message.success(res.message)
|
||||||
|
this.openHintBox(res.message)
|
||||||
|
|
||||||
// return
|
// return
|
||||||
this.popState = ""
|
this.popState = ""
|
||||||
|
|
||||||
this.$router.go(0)
|
this.$router.go(0)
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 提示框 自定义
|
||||||
|
openHintBox(message) {
|
||||||
|
this.alert.state = true
|
||||||
|
this.alert.message = message
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
this.alert.state = false
|
||||||
|
}, 1500)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -854,18 +850,16 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.alert {
|
.alert {
|
||||||
|
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
background: #f4f4f5;
|
background: #f4f4f5;
|
||||||
border: 1px solid #ebeef5;
|
border: 1px solid #ebeef5;
|
||||||
// padding: .2rem .2rem .2rem .2667rem;
|
border-radius: .2rem;
|
||||||
// border-radius: .9533rem;
|
|
||||||
width: 50%;
|
width: 50%;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transition: opacity .5s;
|
transition: opacity .3s;
|
||||||
|
|
||||||
&.alertState {
|
&.alertState {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
@ -241,24 +241,39 @@ export default {
|
|||||||
margin: .64rem 0.35rem;
|
margin: .64rem 0.35rem;
|
||||||
|
|
||||||
height: calc(100vh - 3rem);
|
height: calc(100vh - 3rem);
|
||||||
// overflow: auto;
|
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
top: 0;
|
||||||
|
left: .17rem;
|
||||||
|
width: 3.4rem;
|
||||||
|
// width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 0.32rem 0 0 0.32rem;
|
||||||
|
// background: #62b1ff;
|
||||||
|
border-left: 0.013333rem solid #ddd;
|
||||||
|
background-color: rgba(235, 235, 235, 0.556862745098039);
|
||||||
|
position: absolute;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.allSections-left {
|
.allSections-left {
|
||||||
width: 3.4rem;
|
width: 3.57rem;
|
||||||
border-left: 0.013333rem solid #ddd;
|
|
||||||
background-color: rgba(235, 235, 235, 0.556862745098039);
|
|
||||||
border-radius: 0.32rem 0 0 0.32rem;
|
border-radius: 0.32rem 0 0 0.32rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
// overflow-y: auto;
|
|
||||||
// overflow-x: hidden;
|
|
||||||
|
|
||||||
-ms-overflow-style: none;
|
-ms-overflow-style: none;
|
||||||
overflow: -moz-scrollbars-none;
|
overflow: -moz-scrollbars-none;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
display: none;
|
display: none;
|
||||||
@ -316,7 +331,6 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.allSections-right {
|
.allSections-right {
|
||||||
// width: 65%;
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 0 0.32rem 0.32rem 0;
|
border-radius: 0 0.32rem 0.32rem 0;
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
<section>
|
<section>
|
||||||
<template v-if="favorite.list.length != 0 || loading">
|
<template v-if="favorite.list.length != 0 || loading">
|
||||||
<index-list :list="favorite.list"></index-list>
|
<index-list :list="favorite.list"></index-list>
|
||||||
<div class="paging flexcenter">
|
<div class="paging flexcenter" v-if="!loading">
|
||||||
<el-pagination small background layout="prev, pager, next" @current-change="currentChange"
|
<el-pagination small background layout="prev, pager, next" @current-change="currentChange"
|
||||||
:current-page.sync="favorite.page" :page-size="favorite.limit" :total="favorite.count">
|
:current-page.sync="favorite.page" :page-size="favorite.limit" :total="favorite.count">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<template v-if="list.length != 0 || loading">
|
<template v-if="list.length != 0 || loading">
|
||||||
<index-list :list="list"></index-list>
|
<index-list :list="list"></index-list>
|
||||||
|
|
||||||
<div class="paging flexcenter">
|
<div class="paging flexcenter" v-if="!loading">
|
||||||
<el-pagination small background layout="prev, pager, next" @current-change="currentChange"
|
<el-pagination small background layout="prev, pager, next" @current-change="currentChange"
|
||||||
:current-page.sync="page" :page-size="limit" :total="count">
|
:current-page.sync="page" :page-size="limit" :total="count">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
<div class="operation-box shadow">
|
<div class="operation-box shadow">
|
||||||
<a class="operation-item flexacenter" href="https://www.gter.net/bbs/user/pm.html?mobile=yes">
|
<a class="operation-item flexacenter" href="https://www.gter.net/bbs/user/pm.html?mobile=yes">
|
||||||
<div class="operation-left flexacenter">
|
<div class="operation-left flexacenter">
|
||||||
<img class="operation-icom" mode="widthFix" src="@/assets/img/user/information.png">消息
|
<img class="operation-icom" mode="widthFix" src="@/assets/img/icon/email.png">消息
|
||||||
|
<!-- <img class="operation-icom" mode="widthFix" src="@/assets/img/user/information.png">消息 -->
|
||||||
</div>
|
</div>
|
||||||
<div class="operation-right flexacenter">
|
<div class="operation-right flexacenter">
|
||||||
<div v-if="user.messagenum == 0" class="operation-data flexcenter">{{ count.message }}</div>
|
<div v-if="user.messagenum == 0" class="operation-data flexcenter">{{ count.message }}</div>
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
const { defineConfig } = require('@vue/cli-service')
|
const { defineConfig } = require('@vue/cli-service')
|
||||||
|
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
|
||||||
|
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
|
||||||
function resolve(dir) {
|
function resolve(dir) {
|
||||||
@ -18,6 +20,26 @@ module.exports = defineConfig({
|
|||||||
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
|
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
|
||||||
|
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
|
optimization: {
|
||||||
|
splitChunks: {
|
||||||
|
chunks: 'all',
|
||||||
|
minSize: 20000,
|
||||||
|
maxSize: 50000,
|
||||||
|
minChunks: 1,
|
||||||
|
maxAsyncRequests: 30,
|
||||||
|
maxInitialRequests: 30,
|
||||||
|
automaticNameDelimiter: '~',
|
||||||
|
enforceSizeThreshold: 50000,
|
||||||
|
cacheGroups: {
|
||||||
|
vendors: {
|
||||||
|
test: /[\\/]node_modules[\\/]/,
|
||||||
|
priority: -10,
|
||||||
|
filename: 'js/chunk-vendors.[contenthash].js',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'assets': '@/assets',
|
'assets': '@/assets',
|
||||||
@ -26,7 +48,10 @@ module.exports = defineConfig({
|
|||||||
'network': '@/network',
|
'network': '@/network',
|
||||||
'views': '@/views'
|
'views': '@/views'
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
plugins: [
|
||||||
|
// new BundleAnalyzerPlugin(),
|
||||||
|
],
|
||||||
},
|
},
|
||||||
// svg图片配置
|
// svg图片配置
|
||||||
lintOnSave: false,
|
lintOnSave: false,
|
||||||
@ -47,5 +72,6 @@ module.exports = defineConfig({
|
|||||||
})
|
})
|
||||||
.end()
|
.end()
|
||||||
|
|
||||||
}
|
},
|
||||||
|
productionSourceMap: false,
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user