Compare commits
54 Commits
d5ab2ca459
...
HongKongPr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83e6db32e0 | ||
|
|
50cc836b4f | ||
|
|
9f0dbabd51 | ||
|
|
deffec9e26 | ||
|
|
1abc53b06d | ||
|
|
e29e0e36b9 | ||
|
|
7563c6c30e | ||
|
|
4d520f5665 | ||
|
|
6501d55e4f | ||
|
|
da5e80313b | ||
|
|
22ff67243f | ||
|
|
094aac1ac7 | ||
|
|
3df8333302 | ||
|
|
983ec684ce | ||
|
|
725786811a | ||
|
|
4e3046596e | ||
|
|
0425959db4 | ||
|
|
c791f02ee4 | ||
|
|
46a14bea6c | ||
|
|
e0af963c4a | ||
|
|
1138eac28f | ||
|
|
72aa4006b7 | ||
|
|
3c35324cfa | ||
|
|
b7fc627226 | ||
|
|
59d40d3609 | ||
|
|
bc778c3a48 | ||
|
|
bd0beb426b | ||
|
|
c0bc6c5431 | ||
|
|
442ad9ff31 | ||
|
|
462aefb7b9 | ||
|
|
98d53ad45e | ||
|
|
07b7eb2471 | ||
|
|
562481d08c | ||
|
|
7dc3c78715 | ||
|
|
9fe6c9046b | ||
|
|
4b9614be25 | ||
|
|
2c601cf573 | ||
|
|
7d3a84d6ae | ||
|
|
517d4803c3 | ||
|
|
126fb7355c | ||
|
|
e1bcfc00c5 | ||
|
|
787f4e8094 | ||
|
|
2f3e1198e6 | ||
|
|
25b6e6128d | ||
|
|
79405f8853 | ||
|
|
261a6c61c4 | ||
|
|
bcfaa0b260 | ||
|
|
39456715c8 | ||
|
|
7b2c4584b4 | ||
|
|
4e228cadd1 | ||
|
|
808baf798b | ||
|
|
34d052255f | ||
|
|
1ecc639410 | ||
|
|
bb952fc553 |
2
.gitignore
vendored
@@ -3,5 +3,5 @@ logs
|
||||
*.log
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
# dist
|
||||
*.local
|
||||
|
||||
4
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"editor.suggest.snippetsPreventQuickSuggestions": false,
|
||||
"aiXcoder.showTrayIcon": true
|
||||
}
|
||||
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"
|
||||
}
|
||||
192
01.html
Normal file
@@ -0,0 +1,192 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="typeoption" id="position_thread">
|
||||
<table class="cgtl mbm" v-if="load">
|
||||
<caption>
|
||||
个人信息
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr v-if="info.profession">
|
||||
<th>目前专业:</th>
|
||||
<td v-text="info.profession"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.estate">
|
||||
<th>目前状态:</th>
|
||||
<td v-text="info.estate_text"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.undergraduate_school">
|
||||
<th>本科学校:</th>
|
||||
<td v-text="info.undergraduate_school"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.gpa_score">
|
||||
<th>GPA:</th>
|
||||
<td v-text="info.gpa_score"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.gpa_ranking">
|
||||
<th>排名:</th>
|
||||
<td v-text="info.gpa_ranking"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.master_school">
|
||||
<th>硕士学校:</th>
|
||||
<td v-text="info.master_school"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.master_achievement">
|
||||
<th>成绩:</th>
|
||||
<td v-text="info.master_achievement"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.gre_total">
|
||||
<th>GRE</th>
|
||||
<td>总分: <span v-text="info.gre_total"></span> V: <span v-text="info.gre_v"></span> Q: <span v-text="info.gre_q"></span> AW: <span v-text="info.gre_aw"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.ielts_total">
|
||||
<th>IELTS</th>
|
||||
<td>总分:<span v-text="info.ielts_total"></span> R:<span v-text="info.ielts_r"></span> L:<span v-text="info.ielts_l"></span> S:<span v-text="info.ielts_s"></span> W:<span v-text="info.ielts_w"></span></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="info.toefl_total">
|
||||
<th>TOEFL</th>
|
||||
<td>总分:<span v-text="info.toefl_total"></span> R:<span v-text="info.toefl_r"></span> L:<span v-text="info.toefl_l"></span> S:<span v-text="info.toefl_s"></span> W:<span v-text="info.toefl_w"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="cgtl mbm" v-else="">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>数据加载中.. <img src="http://www.gter.net/static/img/loading-black.gif" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="cgtl mbm" v-if="load">
|
||||
<caption>
|
||||
申请信息
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr v-if="thread.profession">
|
||||
<th>申请专业</th>
|
||||
<td v-text="thread.profession"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.profession_cid">
|
||||
<th>专业分类</th>
|
||||
<td>
|
||||
<span v-text="thread.profession_text"></span>
|
||||
<span v-if="thread.profession_cid && thread.apply_llm">LL.M</span>
|
||||
<span v-if="thread.profession_cid && thread.apply_jd">J.D</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.apply_doctor || thread.apply_master">
|
||||
<th>学位</th>
|
||||
<td>
|
||||
<span v-if="thread.apply_doctor">申博</span>
|
||||
<span v-if="thread.apply_master" v-text="thread.apply_master_text"></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.country">
|
||||
<th>国家或地区</th>
|
||||
<td v-text="thread.country"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.experience">
|
||||
<th>科研经验</th>
|
||||
<td v-text="thread.experience_text"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.scholarship">
|
||||
<th>是否要奖学金</th>
|
||||
<td>是</td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.profession_cid==2 && thread.lsat">
|
||||
<th>LSAT</th>
|
||||
<td v-text="thread.lsat"></td>
|
||||
</tr>
|
||||
|
||||
<tr v-if="thread.profession_cid==2 && thread.sex>0">
|
||||
<th>性别</th>
|
||||
<td v-text="thread.sex_text"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table v-if="load && thread.paper" cellpadding="0" cellspacing="0" class="cgtl mbm">
|
||||
<caption>
|
||||
论文发表
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td v-html="thread.paper">...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table v-if="load && thread.recommendation" cellpadding="0" cellspacing="0" class="cgtl mbm">
|
||||
<caption>
|
||||
推荐信
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td v-html="thread.recommendation">...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table v-if="load && thread.hope" cellpadding="0" cellspacing="0" class="cgtl mbm">
|
||||
<caption>
|
||||
定位期望
|
||||
</caption>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td v-html="thread.hope">...</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<script>
|
||||
new Vue({
|
||||
el:'#position_thread',
|
||||
data:{
|
||||
key: '0f3949ebfda1e40e21ce37526326c0d8',
|
||||
tid: '2613455',
|
||||
session: '3d3ecbefcf5b45c59c66327135cc263d',
|
||||
load: false,
|
||||
info: [],
|
||||
thread: [],
|
||||
},
|
||||
ready: function() {
|
||||
this.loaddata()
|
||||
},
|
||||
methods: {
|
||||
loaddata: function()
|
||||
{
|
||||
this.load = false;
|
||||
this.$http.post('//www.gter.net/position_thread.json', {tid: this.tid, session: this.session, key: this.key }, {emulateJSON: true}).then(function(res) {
|
||||
var data = typeof res.data=='string' ? JSON.parse(res.data) : res.data;
|
||||
this.thread = data.thread
|
||||
this.info = data.info
|
||||
if (this.thread.id) {
|
||||
this.load = true;
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
1
dist/css/217.0fc0e835.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.path-box[data-v-07dc0a79]{display:flex;flex-direction:row;height:1.28rem;line-height:1.28rem;margin:.5rem .35rem 0;padding:0 .4rem;border-radius:1.68rem 1.68rem 0 1.68rem;background-color:#fff;font-size:.32rem;box-shadow:0 0 .16rem rgba(0,0,0,.1);position:relative}.path-box .path-slash[data-v-07dc0a79]{color:#d7d7d7;font-size:.32rem;margin:0 .18rem}.path-box div[data-v-07dc0a79]{color:#7f7f7f;max-width:2.5rem}.path-box div[data-v-07dc0a79]:last-child{max-width:50%;color:#000;font-weight:700}.path-box[data-v-07dc0a79]:after{content:"";width:0;height:0;position:absolute;bottom:0;right:0;border-top:.24rem solid #62b1ff;border-left:.24rem solid transparent;transform:rotateX(180deg);margin:0 .09rem .09rem 0}.result-empty-box[data-v-02de74be]{height:10.3333rem}.allSections[data-v-02de74be]{display:flex;flex-direction:row;margin-top:.666667rem;filter:drop-shadow(.05rem 0 .09rem rgba(0,0,0,.1));margin:.64rem .35rem;height:calc(100vh - 3rem);position:relative}.allSections[data-v-02de74be]:after{content:"";top:0;left:.17rem;width:3.4rem;height:100%;border-radius:.32rem 0 0 .32rem;border-left:.013333rem solid #ddd;background-color:hsla(0,0%,92%,.557);position:absolute;z-index:-1}.allSections-left[data-v-02de74be]{width:3.57rem;border-radius:.32rem 0 0 .32rem;display:flex;flex-direction:column;text-align:center;-ms-overflow-style:none;overflow:-moz-scrollbars-none;-webkit-overflow-scrolling:touch;position:relative;overflow-x:hidden;overflow-y:auto}.allSections-left[data-v-02de74be]::-webkit-scrollbar{display:none}.allSections-left span[data-v-02de74be]{height:1.28rem;line-height:1.28rem;border-radius:.32rem;font-size:.32rem;position:relative}.allSections-left span.active[data-v-02de74be]{background-color:#fff;font-weight:bolder;border-radius:.32rem 0 0 .32rem;color:#000;width:101%;filter:drop-shadow(0 0 .08rem rgba(0,0,0,.1))}.allSections-left span.active[data-v-02de74be]:before{content:"";width:.36rem;height:101%;position:absolute;right:0;top:-100%;box-shadow:.14rem .14rem #fff;border-radius:0 0 .32rem 0}.allSections-left span.active[data-v-02de74be]:after{content:"";width:.36rem;height:101%;position:absolute;right:0;bottom:-100%;box-shadow:.14rem -.14rem #fff;border-radius:0 .32rem 0 0}.allSections-left span:first-child.active[data-v-02de74be]:before,.allSections-left span:last-child.active[data-v-02de74be]:after{display:none}.allSections-right[data-v-02de74be]{flex:1;background-color:#fff;border-radius:0 .32rem .32rem 0;display:flex;flex-direction:column;z-index:1;padding-bottom:.4rem;overflow-x:hidden;overflow-y:auto}.allSections-right.active[data-v-02de74be]{display:block}.allSections-right .allSections-right-item[data-v-02de74be]{padding:.4rem 0;margin:0 .32rem 0 .7rem;border-bottom:.013333rem solid #ddd;display:flex;justify-content:space-between;position:relative}.allSections-right .allSections-right-item .item-content[data-v-02de74be]{width:80%}.allSections-right .allSections-right-item .item-title[data-v-02de74be]{color:#000;font-size:.32rem}.allSections-right .allSections-right-item .item-text[data-v-02de74be]{margin:.266667rem 0;color:#aaa;font-size:.28rem;word-wrap:break-word}.allSections-right .allSections-right-item .item-star[data-v-02de74be]{display:flex;align-items:center}.allSections-right .allSections-right-item .item-star img[data-v-02de74be]{width:.48rem;height:.46rem}.allSections-right .allSections-right-item[data-v-02de74be]:before{content:"";width:.12rem;height:.32rem;border-radius:.16rem;position:absolute;top:.48rem;left:-.35rem;background-color:#62b1ff}.paging[data-v-02de74be]{margin-top:.48rem}.paging[data-v-02de74be] .el-pagination.is-background .el-pager li:not(.disabled).active{background:#62b1ff;border-radius:50%}.paging[data-v-02de74be] .el-pagination .btn-next .el-icon,.paging[data-v-02de74be] .el-pagination .btn-prev .el-icon{font-size:.4rem}
|
||||
1
dist/css/280.0915ca91.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.path-box[data-v-07dc0a79]{display:flex;flex-direction:row;height:1.28rem;line-height:1.28rem;margin:.5rem .35rem 0;padding:0 .4rem;border-radius:1.68rem 1.68rem 0 1.68rem;background-color:#fff;font-size:.32rem;box-shadow:0 0 .16rem rgba(0,0,0,.1);position:relative}.path-box .path-slash[data-v-07dc0a79]{color:#d7d7d7;font-size:.32rem;margin:0 .18rem}.path-box div[data-v-07dc0a79]{color:#7f7f7f;max-width:2.5rem}.path-box div[data-v-07dc0a79]:last-child{max-width:50%;color:#000;font-weight:700}.path-box[data-v-07dc0a79]:after{content:"";width:0;height:0;position:absolute;bottom:0;right:0;border-top:.24rem solid #62b1ff;border-left:.24rem solid transparent;transform:rotateX(180deg);margin:0 .09rem .09rem 0}.paging[data-v-28440cd8]{margin-top:.48rem;padding-bottom:1rem}.paging[data-v-28440cd8] .el-pagination.is-background .el-pager li.active{background:#62b1ff;border-radius:50%}.paging[data-v-28440cd8] .el-pagination .btn-next .el-icon,.paging[data-v-28440cd8] .el-pagination .btn-prev .el-icon{font-size:.4rem}.paging[data-v-28440cd8] .is-background.el-pagination--small .el-pager li{border-radius:50%!important}.paging[data-v-28440cd8] .el-pagination.is-background.el-pagination--small .btn-next,.paging[data-v-28440cd8] .el-pagination.is-background.el-pagination--small .btn-prev,.paging[data-v-28440cd8] .el-pagination.is-background.el-pagination--small .el-pager li{border-radius:50%}section[data-v-28440cd8]{padding-top:.45rem}
|
||||
1
dist/css/336.7f7c43de.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.container[data-v-5e99c0b6]{padding-top:1.3rem}.container .header[data-v-5e99c0b6]{padding:1rem 0 .8rem}.container .header .portrait[data-v-5e99c0b6]{width:2rem;height:2rem;border-radius:50%;background-color:#fff;position:relative}.container .header .portrait-icom[data-v-5e99c0b6]{width:1.8rem;height:1.8rem;border-radius:50%}.container .header .header-username[data-v-5e99c0b6]{color:#000;font-size:.48rem;line-height:normal;margin-top:.24rem;font-weight:650}.container .header .header-uid[data-v-5e99c0b6]{color:#7f7f7f;font-weight:400;margin-top:.12rem}.container .operation-box[data-v-5e99c0b6]{background-color:#fff;margin:0 .2933rem .4rem;border-radius:.4rem}.container .operation-box .operation-item[data-v-5e99c0b6]{height:1.8rem;justify-content:space-between;padding:0 .4rem}.container .operation-box .operation-item[data-v-5e99c0b6]:not(:first-of-type){border-top:.0133rem dotted #d7d7d7}.container .operation-box .operation-item .operation-left[data-v-5e99c0b6]{color:#333;font-size:.36rem;line-height:.6rem}.container .operation-box .operation-item .operation-icom[data-v-5e99c0b6]{width:.48rem;margin-right:.32rem}.container .operation-box .operation-item .operation-data[data-v-5e99c0b6]{background-color:#f6f6f6;border-radius:.64rem;font-size:.28rem;color:#555;min-width:.9rem;text-align:center;padding:0 .2rem;box-sizing:border-box}.container .operation-box .operation-item .unread-info[data-v-5e99c0b6]{background:#fd3f5d;height:.42rem;border-radius:.64rem;color:#fff;font-size:.28rem;text-align:center;padding:0 .1rem;box-sizing:border-box}.container .operation-box .operation-item .operation-right-icom[data-v-5e99c0b6]{width:.12rem;height:.22rem;margin-left:.2rem}.container .operation-box.data-presentation[data-v-5e99c0b6]{padding-top:.4rem;padding-bottom:.4rem}.container .operation-box.data-presentation .data-presentation-item[data-v-5e99c0b6]{flex-direction:column}.container .operation-box.data-presentation .data-presentation-item[data-v-5e99c0b6]:not(:last-of-type){border-right:.0133rem solid #ebebeb}.container .operation-box.data-presentation .data-presentation-item .data-presentation-number[data-v-5e99c0b6]{color:#000;line-height:.6rem;font-size:.4rem;font-weight:900}.container .operation-box.data-presentation .data-presentation-item .data-presentation-name[data-v-5e99c0b6]{color:#333;line-height:.6rem;font-size:.32rem}.container .log-out[data-v-5e99c0b6]{font-size:.36rem;line-height:.6rem;color:#555;border-bottom:.0133rem solid #797979;width:1.46rem;margin:.6rem auto 1rem}
|
||||
1
dist/css/39.c6e7e71d.css
vendored
Normal file
1
dist/css/483.8c066913.css
vendored
Normal file
1
dist/css/561.8c066913.css
vendored
Normal file
1
dist/css/584.8c066913.css
vendored
Normal file
1
dist/css/879.b9149ecf.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.container[data-v-128503e4]{padding-top:1.3rem;padding-bottom:1.3rem}.container .search-input-box[data-v-128503e4]{margin-left:.32rem}.container .search-input-box .search-input[data-v-128503e4]{width:8.2rem;height:.96rem;border-radius:2.56rem;background:#ebebeb}.container .search-input-box .search-input .search-input-cross[data-v-128503e4],.container .search-input-box .search-input .search-input-icon[data-v-128503e4]{width:.4rem;height:.4rem}.container .search-input-box .search-input .search-input-icon[data-v-128503e4]{padding:0 .4rem}.container .search-input-box .search-input .search-input-cross[data-v-128503e4]{padding-right:.4rem}.container .search-input-box .search-input .search-input-input[data-v-128503e4]{height:100%;font-size:.4rem}.container .search-input-box .search-input-cancel[data-v-128503e4]{color:#000;font-size:.36rem;padding-left:.46rem;width:.74rem}.container .numberResults[data-v-128503e4]{font-size:.32rem;color:#555;margin:.64rem .32rem .48rem}.container .numberResults .number[data-v-128503e4]{color:#000;font-weight:650;margin:0 .1667rem}.container .result-box[data-v-128503e4]{justify-content:center;flex-direction:column;overflow:auto}.container .result-box .result-item[data-v-128503e4]{margin-bottom:.32rem;width:9.36rem;height:3.96rem;background-color:#fff;border:none;border-radius:.32rem;box-shadow:0 0 .16rem rgba(0,0,0,.08);padding:.4rem;box-sizing:border-box;flex-direction:column;position:relative}.container .result-box .result-item .result-header[data-v-128503e4]{margin-bottom:.32rem}.container .result-box .result-item .result-header .result-label[data-v-128503e4]{font-size:.28rem;height:.52rem;line-height:.52rem;background:#333;color:#fff;display:inline-block;border-radius:.16rem;padding:0 .12rem;margin-right:.12rem}.container .result-box .result-item .result-header .result-title[data-v-128503e4]{color:#000;font-size:.37333rem;line-height:.65rem;display:inline}.container .result-box .result-item .result-header .result-title[data-v-128503e4] em{color:#f95d5d}.container .result-box .result-item .result-content[data-v-128503e4]{line-height:.52rem;font-size:.3rem;color:#7f7f7f;height:1.04rem}.container .result-box .result-item .reply-visible[data-v-128503e4]{font-size:.32rem;height:1.04rem;background:hsla(0,0%,95%,.7)}.container .result-box .result-item .result-info[data-v-128503e4]{align-items:self-end;justify-content:space-between}.container .result-box .result-item .result-info .user-info .icon-head[data-v-128503e4]{width:.64rem;height:.64rem;border-radius:50%}.container .result-box .result-item .result-info .user-info .user-name[data-v-128503e4]{font-size:.32rem;color:#333;margin-left:.2rem}.container .result-box .result-item .result-info .item-data[data-v-128503e4]{font-size:.28rem}.container .result-box .result-item .result-info .item-data .item-data-item[data-v-128503e4]:last-of-type{margin-left:.4rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-look[data-v-128503e4]{width:.4267rem;height:.18rem;margin-right:.16rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-msg[data-v-128503e4]{width:.32rem;height:.28rem;margin-right:.16rem}.container .paging[data-v-128503e4]{margin-top:.48rem}.container .paging[data-v-128503e4] .el-pagination.is-background .el-pager li:not(.disabled).active{background:#62b1ff;border-radius:50%}.container .paging[data-v-128503e4] .el-pagination .btn-next .el-icon,.container .paging[data-v-128503e4] .el-pagination .btn-prev .el-icon{font-size:.4rem}.container .result-empty-box[data-v-128503e4]{height:70vh;width:9.36rem;background:#fff;margin:0 auto;border-radius:.32rem}.container .result-empty-box .result-empty-icon[data-v-128503e4]{width:2.04rem;height:2.4rem}
|
||||
1
dist/css/884.9aa3ed80.css
vendored
Normal file
1
dist/css/94.c58bb57f.css
vendored
Normal file
1
dist/css/app~189e7968.8b7662a1.css
vendored
Normal file
1
dist/css/chunk-vendors~7b6a7b5f.6f1d11ce.css
vendored
Normal file
BIN
dist/fonts/element-icons.f1a45d74.ttf
vendored
Normal file
BIN
dist/fonts/element-icons.ff18efd1.woff
vendored
Normal file
BIN
dist/img/defaultAvatar.jpg
vendored
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
dist/img/empty.698c52d4.png
vendored
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
dist/img/favicon.ico
vendored
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
dist/img/notCollect.698c52d4.png
vendored
Normal file
|
After Width: | Height: | Size: 82 KiB |
0
src/assets/img/detail/unlock.png → dist/img/unlock.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
BIN
dist/img/user/avatarsetting.png
vendored
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
dist/img/user/bindemail.png
vendored
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
dist/img/user/bindingthird-party.png
vendored
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
dist/img/user/bindmobile.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
dist/img/user/changepassword.png
vendored
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
dist/img/user/collect.png
vendored
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
0
src/assets/img/user/information.png → dist/img/user/information.png
vendored
Executable file → Normal file
|
Before Width: | Height: | Size: 1011 B After Width: | Height: | Size: 1011 B |
BIN
dist/img/user/mystatus.png
vendored
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
dist/img/user/personaldata.png
vendored
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
dist/img/user/postmessage.png
vendored
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
dist/img/user/replymessage.png
vendored
Normal file
|
After Width: | Height: | Size: 968 B |
BIN
dist/img/user/visithomepage.png
vendored
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
7
dist/index.html
vendored
Normal file
1
dist/js/217.d1ddcd5f.js
vendored
Normal file
1
dist/js/233.18adb6c9.js
vendored
Normal file
1
dist/js/280.ed574ed9.js
vendored
Normal file
1
dist/js/336.52ad8d34.js
vendored
Normal file
1
dist/js/483.9b9ef662.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[483],{5817:function(e,t,n){n.r(t),n.d(t,{default:function(){return h}});var r=function(){var e=this,t=e._self._c;return t("div",[t("header-nav",{attrs:{issearch:!1,needgetuser:!0}},[t("template",{slot:"header-title"},[e._v("搜索帖子")])],2),t("router-view",{key:e.key})],1)},a=[],u=n(4917),s={name:"search",data(){return{}},computed:{key(){return this.$route.path+Math.random()}},mounted(){},methods:{},components:{HeaderNav:u.Z}},o=s,c=n(1001),d=(0,c.Z)(o,r,a,!1,null,"24c9f798",null),h=d.exports}}]);
|
||||
1
dist/js/561.862fb303.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[561],{9143:function(e,t,n){n.r(t),n.d(t,{default:function(){return l}});var a=function(){var e=this,t=e._self._c;return t("div",[t("header-nav",{attrs:{issearch:!0,needgetuser:!0}},[t("template",{slot:"header-title"},[e._v("帖子详情")])],2),t("router-view",{key:e.key})],1)},r=[],u=n(4917),s={name:"detail",data(){return{}},computed:{key(){return this.$route.path+Math.random()}},mounted(){},methods:{},components:{HeaderNav:u.Z}},d=s,i=n(1001),o=(0,i.Z)(d,a,r,!1,null,"10593ad7",null),l=o.exports}}]);
|
||||
1
dist/js/584.43395d1c.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[584],{6170:function(e,t,n){n.r(t),n.d(t,{default:function(){return o}});var r=function(){var e=this,t=e._self._c;return t("div",[t("header-nav",{attrs:{issearch:!0,needgetuser:!0}},[t("template",{slot:"header-title"},[e._v("我的寄托")])],2),t("router-view")],1)},a=[],u=n(4917),s={name:"user",data(){return{}},mounted(){},methods:{},components:{HeaderNav:u.Z}},d=s,i=n(1001),l=(0,i.Z)(d,r,a,!1,null,"7090fd6a",null),o=l.exports}}]);
|
||||
1
dist/js/879.5b9e6015.js
vendored
Normal file
1
dist/js/884.b48d5ca7.js
vendored
Normal file
1
dist/js/917.8692ef86.js
vendored
Normal file
1
dist/js/94.fc6edfaa.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[94],{2013:function(e,t,n){n.r(t),n.d(t,{default:function(){return u}});var a=function(){var e=this,t=e._self._c;return t("div",[t("header-nav",{attrs:{issearch:!0,needgetuser:!0}},[t("template",{slot:"header-title"},[e._v("寄托天下论坛")])],2),t("nav",[t("router-link",{attrs:{to:e.recommendURl,exact:""}},[e._v("推荐阅读")]),t("router-link",{attrs:{to:e.collect,exact:""}},[e._v("收藏的版块")]),t("router-link",{attrs:{to:e.allSections,exact:""}},[e._v("全部版块")])],1),t("div",{staticClass:"publish flexcolumn flexcenter",on:{click:function(t){return t.stopPropagation(),e.$skipUrl(e.invitationPost)}}},[t("svg-icon",{attrs:{"icon-class":"add","class-name":"icon-publish"}}),e._v(" 发帖 ")],1),t("router-view",{key:e.key})],1)},l=[],o=n(4917),i=n(6799),r={name:"Index",data(){return{favorite:[],recommend:[],fid:null,allSections:"/allSections",collect:"/collect",recommendURl:"/recommend",invitationPost:i.a}},computed:{key(){return this.$route.path+Math.random()}},watch:{"$store.state.homeRequestState":{handler(e,t){let{favoriteList:n,recommendList:a}=this.$store.state;this.favorite=n,this.recommend=a},immediate:!0},$route:{handler(e,t){let n=e.fullPath;-1!=n.indexOf("allSections")&&(this.allSections=n),-1!=n.indexOf("collect")&&(this.collect=n),-1!=n.indexOf("recommend")&&(this.recommendURl=n)},immediate:!0}},mounted(){},components:{HeaderNav:o.Z},methods:{}},s=r,c=n(1001),d=(0,c.Z)(s,a,l,!1,null,null,null),u=d.exports}}]);
|
||||
1
dist/js/app~42f9d7e6.eaa8d909.js
vendored
Normal file
1
dist/js/app~449a49d2.7db7a012.js
vendored
Normal file
1
dist/js/app~d363ae0c.341d27ce.js
vendored
Normal file
1
dist/js/app~d92c34c1.f3d32b35.js
vendored
Normal file
1
dist/js/chunk-vendors~060599a5.24f19e49.js
vendored
Normal file
1
dist/js/chunk-vendors~200a565d.39847fe1.js
vendored
Normal file
1
dist/js/chunk-vendors~25e64ae6.c55fb344.js
vendored
Normal file
1
dist/js/chunk-vendors~2882e66b.2c8093d6.js
vendored
Normal file
1
dist/js/chunk-vendors~3430543d.cf0009ef.js
vendored
Normal file
1
dist/js/chunk-vendors~439af1fa.860dcae1.js
vendored
Normal file
1
dist/js/chunk-vendors~5551fa64.bd95ba0f.js
vendored
Normal file
1
dist/js/chunk-vendors~5c533fba.9bf46ea1.js
vendored
Normal file
1
dist/js/chunk-vendors~6012a5e8.fad4069d.js
vendored
Normal file
1
dist/js/chunk-vendors~61c4e7a6.414f2dab.js
vendored
Normal file
1
dist/js/chunk-vendors~7a6313df.5ee224e3.js
vendored
Normal file
1
dist/js/chunk-vendors~7bad1921.83749175.js
vendored
Normal file
1
dist/js/chunk-vendors~842dc778.64dc62a7.js
vendored
Normal file
1
dist/js/chunk-vendors~8787c537.316fdd09.js
vendored
Normal file
16
dist/js/chunk-vendors~89d5c698.efc5b497.js
vendored
Normal file
1
dist/js/chunk-vendors~8e64475f.812b7299.js
vendored
Normal file
1
dist/js/chunk-vendors~92ecdc2e.3a846b57.js
vendored
Normal file
1
dist/js/chunk-vendors~9b5e7775.6adfbd8e.js
vendored
Normal file
1
dist/js/chunk-vendors~b64a843a.c93ce69d.js
vendored
Normal file
1
dist/js/chunk-vendors~bb5633b7.bff7c084.js
vendored
Normal file
1
dist/js/chunk-vendors~bc050c32.2a84bea8.js
vendored
Normal file
1
dist/js/chunk-vendors~c08e88ca.200eba88.js
vendored
Normal file
7
dist/js/chunk-vendors~c3943e85.8bc853d5.js
vendored
Normal file
9
dist/js/chunk-vendors~c7cbfa4b.cdfe4d69.js
vendored
Normal file
5
dist/js/chunk-vendors~eb2fbf4c.11aa1638.js
vendored
Normal file
1
dist/js/chunk-vendors~f1d6293b.12e3b1ae.js
vendored
Normal file
1
dist/js/chunk-vendors~f7b4906f.b7dd6763.js
vendored
Normal file
17111
package-lock.json
generated
Executable file → Normal file
@@ -14,7 +14,6 @@
|
||||
"svg-sprite-loader": "^6.0.11",
|
||||
"vue": "^2.6.14",
|
||||
"vue-router": "^3.5.1",
|
||||
"vue-sanitize": "^0.2.3",
|
||||
"vuex": "^3.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -22,9 +21,11 @@
|
||||
"@vue/cli-plugin-router": "~5.0.0",
|
||||
"@vue/cli-plugin-vuex": "~5.0.0",
|
||||
"@vue/cli-service": "~5.0.0",
|
||||
"postcss": "^8.4.21",
|
||||
"sass-loader": "^13.2.0",
|
||||
"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": [
|
||||
"> 1%",
|
||||
|
||||
|
Before Width: | Height: | Size: 4.2 KiB |
BIN
public/img/favicon.ico
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
@@ -1,17 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"/>
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
|
||||
name="viewport" />
|
||||
<!-- <link rel="icon" href="<%= BASE_URL %>/img/favicon.ico"> -->
|
||||
<!-- <link rel="icon" href="<%= BASE_URL %>/img/favicon.ico"> -->
|
||||
<link rel="icon" href="https://ansnid.oss-cn-shenzhen.aliyuncs.com/forum/img/favicon.ico">
|
||||
<!-- <title><%= htmlWebpackPlugin.options.title %></title> -->
|
||||
<title>寄托家园留学论坛_出国留学经验分享|留学申请|留学考试|DIY留学 </title>
|
||||
<meta name="application-name" content="寄托家园留学论坛" />
|
||||
<meta name="msapplication-tooltip" content="寄托家园留学论坛" />
|
||||
<meta name="Keywords"
|
||||
content="美国留学,加拿大留学,香港留学,新加坡留学,英国留学,欧洲留学, 留学经验分享,DIY留学,留学申请,留学流程,留学费用,出国留学,留学论坛, 留学网站,留学考试,GRE,TOEFL,IBT,GMAT,IELTS,SAT,VISA,文书,签证">
|
||||
<meta name="Description"
|
||||
content="提供最有用的出国留学资讯和最热心的留学交流论坛。在BBS上,你可以咨询签证,面试,机经,offer,奖学金,名校专业等,也可以分享雅思、托福、GRE的学习心得。无论你留学在美国、加拿大、英国还是澳洲,都能在留学论坛上找到寄托情感的归宿。">
|
||||
|
||||
<title>寄托论坛</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
|
||||
Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<div style="display:none;">
|
||||
<script type="text/javascript" src="//v1.cnzz.com/z_stat.php?id=1281224882&web_id=1281224882"></script>
|
||||
<script type="text/javascript">
|
||||
var _hmt = _hmt || [];
|
||||
(function () {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "//hm.baidu.com/hm.js?4bd66cbe45a640b607fe46c48f658746";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
</div>
|
||||
|
||||
<!-- 这个统计代码 明天加在H5论坛页面 -->
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
307
src/App.vue
@@ -1,139 +1,296 @@
|
||||
<!-- node 版本是18.20.0 -->
|
||||
<template>
|
||||
<div id="app">
|
||||
<div class="container">
|
||||
<router-view />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="app">
|
||||
<div class="container">
|
||||
<router-view />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
export default {
|
||||
name: "App",
|
||||
data() {
|
||||
return {
|
||||
loading: null,
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
name: "App",
|
||||
data() {
|
||||
return {
|
||||
loading: null,
|
||||
pathname: "",
|
||||
parameterObject: {},
|
||||
isPc: false,
|
||||
socketTask: null,
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// "$route": {
|
||||
// handler(to, from) {
|
||||
// console.log("1111111");
|
||||
// //避免首次获取不到window._czc
|
||||
// if (window._czc) {
|
||||
// let location = window.location
|
||||
// let contentUrl = location.pathname + location.hash
|
||||
// let refererUrl = "/"
|
||||
|
||||
},
|
||||
// window._czc.push(["_trackPageview", contentUrl, refererUrl])
|
||||
// window._czc.push(["_setAutoPageview", false])
|
||||
// }
|
||||
// if (window._hmt) {
|
||||
// if (to["path"]) window._hmt.push(["_trackPageview", to["fullPath"]])
|
||||
// }
|
||||
// },
|
||||
// // immediate: true, // 首次进入页面即执行
|
||||
// },
|
||||
},
|
||||
mounted() {
|
||||
// console.log(new Date());
|
||||
console.log("初始化");
|
||||
|
||||
mounted() {
|
||||
this.$store.dispatch('fetchHistoricalSearch') // 获取历史搜索记录
|
||||
this.$store.dispatch('getAllForum', this) // 获取全部板块
|
||||
// this.$store.dispatch('getUserInfo', this) /// 获取用户信息
|
||||
},
|
||||
this.$store.dispatch("fetchHistoricalSearch") // 获取历史搜索记录
|
||||
this.$store.dispatch("getAllForum", this) // 获取全部板块
|
||||
|
||||
// this.isJudgePc()
|
||||
// this.$skipUrl("gggg", false)
|
||||
// setTimeout(() => {
|
||||
// // this.hasMiucmsSessionCookie()
|
||||
// // this.useSocket
|
||||
// console.log(this.$store.state['user']);
|
||||
// }, 1000)
|
||||
|
||||
let timer = setInterval(() => {
|
||||
if (Object.keys(this.$store.state.user).length !== 0) {
|
||||
this.useSocket()
|
||||
clearInterval(timer)
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 开启socket
|
||||
useSocket() {
|
||||
let token = this.getMiucmsSessionCookie() || ""
|
||||
this.socketTask = new WebSocket(`wss://app.gter.net/socket?token=${token}`)
|
||||
this.socketTask.onopen = () => {
|
||||
let user = this.$store.state.user || {}
|
||||
if (user && token) {
|
||||
this.socketTask.send(
|
||||
JSON.stringify({
|
||||
type: "bind",
|
||||
data: {
|
||||
token,
|
||||
uid: user.uid || 0,
|
||||
},
|
||||
})
|
||||
)
|
||||
}
|
||||
setTimeout(() => this.timedTransmission(), 50000)
|
||||
}
|
||||
this.socketTask.onclose = () => {
|
||||
console.log("socket关闭了", new Date())
|
||||
}
|
||||
},
|
||||
|
||||
// 定时发送
|
||||
timedTransmission() {
|
||||
if (this.socketTask.readyState != 1) return
|
||||
this.socketTask.send(JSON.stringify({type: "ping"}))
|
||||
setTimeout(() => this.timedTransmission(), 50000)
|
||||
},
|
||||
|
||||
getMiucmsSessionCookie() {
|
||||
let cookies = document.cookie.split(";")
|
||||
for (let i = 0; i < cookies.length; i++) {
|
||||
let cookie = cookies[i].split("=")
|
||||
if (cookie[0].trim() === "miucms_session") {
|
||||
return cookie[1]
|
||||
}
|
||||
}
|
||||
return null
|
||||
},
|
||||
isJudgePc() {
|
||||
const userAgentInfo = navigator.userAgent
|
||||
const Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]
|
||||
let flag = true
|
||||
for (let i = 0; i < Agents.length; i++) {
|
||||
if (userAgentInfo.indexOf(Agents[i]) > 0) {
|
||||
flag = false
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
console.log("flag", flag)
|
||||
let pathname = window.location.pathname
|
||||
|
||||
const queryString = window.location.search
|
||||
const parameters = queryString.substring(1)
|
||||
let parameterObject = Object.fromEntries(new URLSearchParams(parameters))
|
||||
this.pathname = pathname
|
||||
this.parameterObject = parameterObject
|
||||
|
||||
if (this.pathname.indexOf("allSections") != -1 && this.parameterObject["fid"]) {
|
||||
this.handleNeedAllSkipPc()
|
||||
return
|
||||
}
|
||||
if (this.pathname.indexOf("userIndex") != -1) {
|
||||
this.handleNeedInfo()
|
||||
return
|
||||
}
|
||||
|
||||
let url = ""
|
||||
|
||||
if (pathname.indexOf("detailIndex") != -1) url = `https://bbs.gter.net/thread-${parameterObject["tid"]}-${parameterObject["page"] || 1}-1.html`
|
||||
if (pathname.indexOf("searchResult") != -1) url = `https://search.gter.net/index.html?type=forum${parameterObject["kw"] ? `&kw=${parameterObject["kw"]}` : ""}`
|
||||
if (pathname.indexOf("allSections") != -1 && !parameterObject["fid"]) url = `https://bbs.gter.net/forum.php`
|
||||
if (pathname.indexOf("recommend") != -1) url = `https://bbs.gter.net/forum.php`
|
||||
if (pathname.indexOf("collect") != -1) url = `https://bbs.gter.net/forum.php`
|
||||
if (pathname == "/" || pathname == "" || !pathname) url = `https://bbs.gter.net/forum.php`
|
||||
|
||||
if (url) this.$skipUrl(url, false)
|
||||
}
|
||||
},
|
||||
|
||||
// 处理需要user信息的跳转PC端
|
||||
handleNeedInfo() {
|
||||
let user = this.$store.state.user || {}
|
||||
let url = ""
|
||||
if (JSON.stringify(user) != "{}") {
|
||||
url = `https://bbs.gter.net/home.php?mod=space&uid=${user.uin}`
|
||||
this.$skipUrl(url, false)
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
this.handleNeedInfo()
|
||||
}, 300)
|
||||
}
|
||||
},
|
||||
|
||||
// 处理需要全部板块的跳转PC端
|
||||
handleNeedAllSkipPc() {
|
||||
let allForumList = this.$store.state.allForumList || []
|
||||
|
||||
let url = ""
|
||||
let fid = this.parameterObject["fid"] || null
|
||||
|
||||
if (allForumList.length != 0) {
|
||||
allForumList.forEach((element, index) => {
|
||||
if (element.fid == fid) url = `https://bbs.gter.net/forum.php?gid=${element.fid}`
|
||||
element.data.forEach((el, i) => {
|
||||
if (el.fid == fid) url = `https://bbs.gter.net/forum-${el.fid}-${this.parameterObject["page"] || 1}.html`
|
||||
})
|
||||
})
|
||||
this.$skipUrl(url, false)
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
this.handleNeedAllSkipPc()
|
||||
}, 300)
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import 'assets/css/normalize.css';
|
||||
@import 'assets/css/public.scss'; //帖子内容样式
|
||||
@import "assets/css/normalize.css";
|
||||
@import "assets/css/public.scss"; //帖子内容样式
|
||||
|
||||
#app {
|
||||
font-family: Avenir, Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
// overflow: hidden;
|
||||
font-family: Avenir, Helvetica, Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
// overflow: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
text-decoration: none;
|
||||
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
// padding: 0 0.35rem;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
min-height: 100vh;
|
||||
// padding: 0 0.35rem;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.flexflex {
|
||||
display: flex;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.flexcenter {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flexacenter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flexcolumn {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.flex1 {
|
||||
flex: 1;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.el-message {
|
||||
min-width: 7rem !important;
|
||||
min-width: 7rem !important;
|
||||
}
|
||||
|
||||
// 文字一行显示
|
||||
.one-line {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -moz-box;
|
||||
-moz-box-orient: vertical;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -moz-box;
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
// 文字两行显示
|
||||
.two-lines {
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
// 文章三行显示
|
||||
.three-lines {
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 3;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 3;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
// 阴影
|
||||
.shadow {
|
||||
-webkit-box-shadow: 0 0 .3rem rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 0 .3rem rgba(0, 0, 0, .1);
|
||||
-webkit-box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
// 弹窗公共类 蒙版
|
||||
.pop-box {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: rgba(0, 0, 0, 0.64);
|
||||
z-index: 100;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
overflow: auto;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: rgba(0, 0, 0, 0.64);
|
||||
z-index: 100;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
// 清除 input 和 textarea 的默认样式
|
||||
input,
|
||||
textarea {
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
resize: none;
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
resize: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// 热门版块标签
|
||||
.hot-box {
|
||||
padding: .34rem 0 0.3rem;
|
||||
padding: .34rem 0 0;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
flex-wrap: wrap;
|
||||
@@ -12,9 +12,9 @@
|
||||
font-size: 0.3rem;
|
||||
margin: 0 .16rem .24rem 0;
|
||||
padding: 0 0.15rem;
|
||||
height: 0.72rem;
|
||||
line-height: 0.72rem;
|
||||
text-align: center;
|
||||
word-break: break-word;
|
||||
|
||||
&.active {
|
||||
border: 0.02rem solid #62B1FF;
|
||||
@@ -93,12 +93,18 @@ section {
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
|
||||
|
||||
|
||||
.bottom-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
&:first-of-type {
|
||||
margin-right: .2rem;
|
||||
}
|
||||
|
||||
.icon-head {
|
||||
width: 0.64rem;
|
||||
height: 0.64rem;
|
||||
@@ -108,16 +114,15 @@ section {
|
||||
.bottom-name {
|
||||
margin-left: 0.15rem;
|
||||
font-size: 0.32rem;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.bottom-right {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
// padding-left: 0.25rem;
|
||||
|
||||
&:last-child {
|
||||
// margin-left: 0.133333rem;
|
||||
margin-left: .4rem;
|
||||
}
|
||||
|
||||
@@ -161,7 +166,6 @@ section {
|
||||
transform: rotate(45deg);
|
||||
transform-origin: bottom;
|
||||
margin-top: 0.05rem;
|
||||
// margin-top: 0.01rem;
|
||||
margin-left: 0.25rem;
|
||||
width: 0.9rem;
|
||||
font-size: 0.3rem;
|
||||
@@ -174,15 +178,10 @@ section {
|
||||
|
||||
// 广告
|
||||
.banner-box {
|
||||
margin-bottom: 0.32rem;
|
||||
width: 100%;
|
||||
display: block;
|
||||
border-radius: 0.32rem;
|
||||
margin-bottom: 0.2rem;
|
||||
|
||||
// 广告图
|
||||
.banner {
|
||||
width: 100%;
|
||||
display: block;
|
||||
border-radius: 0.32rem;
|
||||
}
|
||||
}
|
||||
|
||||
// 分页
|
||||
@@ -249,7 +248,7 @@ section {
|
||||
.el-pagination.is-background.el-pagination--small .btn-prev,
|
||||
.el-pagination.is-background.el-pagination--small .el-pager li {
|
||||
border-radius: 50%;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
9
src/assets/emojiList.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"{:1_1:}": "https://bbs.gter.net/static/image/smiley/default/smile.gif",
|
||||
":(": "https://bbs.gter.net/static/image/smiley/default/frown.gif",
|
||||
":@": "https://bbs.gter.net/static/image/smiley/default/default.gif",
|
||||
":O": "https://bbs.gter.net/static/image/smiley/default/shocked.gif",
|
||||
":p": "https://bbs.gter.net/static/image/smiley/default/frown.gif",
|
||||
":(": "https://bbs.gter.net/static/image/smiley/default/frown.gif",
|
||||
":(": "https://bbs.gter.net/static/image/smiley/default/frown.gif"
|
||||
}
|
||||
|
Before Width: | Height: | Size: 6.7 KiB |
@@ -12,14 +12,12 @@
|
||||
<div class="discussion-single-box flexflex flex1">
|
||||
<div class="discussion-single-content flexacenter flex1">
|
||||
<input class="discussion-single-input flex1" cursor-spacing="5" type="text"
|
||||
:placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" :value="commentContent"
|
||||
:placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" maxlength="500" :value="commentContent"
|
||||
@input="inputCommentContent($event)" v-focus />
|
||||
<img class="discussion-single-input-icom" @click.stop="setValue()"
|
||||
src="@/assets/img/detail/unfold.png" />
|
||||
</div>
|
||||
<div class="discussion-single-btn flexcenter" @click.stop="postComment()">
|
||||
发布
|
||||
</div>
|
||||
<div class="discussion-single-btn flexcenter" @click.stop="postComment()">发布</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -59,7 +57,6 @@ export default {
|
||||
props: ["twoCommentData", "popState", "commentContent"],
|
||||
|
||||
mounted() {
|
||||
// console.log("子组件");
|
||||
},
|
||||
|
||||
methods: {
|
||||
@@ -73,8 +70,6 @@ export default {
|
||||
this.$parent.twoCommentData = null
|
||||
this.$parent.popState = ""
|
||||
this.$parent.commentContent = ""
|
||||
|
||||
|
||||
},
|
||||
|
||||
// 清空
|
||||
@@ -107,11 +102,17 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.pop-box {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.pop-box-box {
|
||||
width: 100vw;
|
||||
background-color: #fff;
|
||||
border-radius: .64rem .64rem 0 0;
|
||||
position: relative;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.discussion-single-box {
|
||||
@@ -148,6 +149,7 @@ export default {
|
||||
|
||||
.discussion-single-input {
|
||||
height: 100%;
|
||||
font-size: 0.4rem;
|
||||
}
|
||||
|
||||
.discussion-header {
|
||||
@@ -189,7 +191,8 @@ export default {
|
||||
|
||||
.discussion-multi-content {
|
||||
position: relative;
|
||||
height: 8.84rem;
|
||||
// height: 8.84rem;
|
||||
max-height: 40vh;
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
@@ -198,7 +201,8 @@ export default {
|
||||
font-size: .4rem;
|
||||
padding: .32rem;
|
||||
box-sizing: border-box;
|
||||
height: 50vh;
|
||||
// height: 50vh;
|
||||
height: 40vh;
|
||||
|
||||
overflow: auto;
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@ export default {
|
||||
},
|
||||
|
||||
mounted() {
|
||||
console.log(this.messagehint, "messagehint");
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
@@ -1,37 +1,44 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 帖子 -->
|
||||
<div class="card-box" v-for="(item,index) in list" :key="index" @click.stop="toDetail(item.tid)">
|
||||
<div class="top moreEllipsis">
|
||||
<div class="top-label">{{ item.typename }}</div>
|
||||
<div class="top-title">{{ item.subject }}</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
<div class="center-text moreEllipsis">{{ item.message }}</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<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 v-for="(item, index) in list" :key="index">
|
||||
<template v-if="item.type == 'ad'">
|
||||
<a :href="item.url"><img class="banner-box" :src="item.image"></a>
|
||||
</template>
|
||||
|
||||
<div class="card-box" v-else @click.stop="toDetail(item.tid)">
|
||||
<div class="top moreEllipsis">
|
||||
<div class="top-label" v-if="item.typename">{{ item.typename }}</div>
|
||||
<div class="top-title">{{ item.subject }}</div>
|
||||
</div>
|
||||
<div class="bottom-box">
|
||||
<div class="bottom-right">
|
||||
<svg-icon icon-class="look" class-name="icon-look"></svg-icon>
|
||||
<div>{{ item.views }}</div>
|
||||
<div class="center">
|
||||
<div class="center-text moreEllipsis">{{ item.message }}</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="bottom-box">
|
||||
<img class="icon-head" :src="item.avatar">
|
||||
<div class="bottom-name">{{ item.author }}</div>
|
||||
</div>
|
||||
<div class="bottom-right">
|
||||
<svg-icon icon-class="msg" class-name="icon-msg"></svg-icon>
|
||||
<div>{{ item.replies }}</div>
|
||||
<div class="bottom-box">
|
||||
<div class="bottom-right">
|
||||
<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 class="rightTop" v-if="item.digest>0">
|
||||
<img class="rightTop-img" src="@/assets/img/icon/topRight .png">
|
||||
<span>精华</span>
|
||||
<!-- 精华 -->
|
||||
<div class="rightTop" v-if="item.digest > 0">
|
||||
<img class="rightTop-img" src="@/assets/img/icon/topRight .png">
|
||||
<span>精华</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="card-box">
|
||||
<div class="top moreEllipsis">
|
||||
<div class="top-label">经验</div>
|
||||
@@ -81,10 +88,9 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
// 跳转详细
|
||||
toDetail(tid){
|
||||
this.$router.push(`/detail?tid=${tid}`)
|
||||
toDetail(tid) {
|
||||
this.$router.push(`/detail?tid=${tid}`)
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
<!-- 板块导航 头部 点击板块后的头部导航 -->
|
||||
<template>
|
||||
<div class="path-box">
|
||||
<router-link class="path-box" :to="`/allSections?fid=${fid}`">
|
||||
<div>论坛</div>
|
||||
<span class="path-slash">/</span>
|
||||
<div class="oneEllipsis">{{ stairname }}</div>
|
||||
<span class="path-slash">/</span>
|
||||
<div class="oneEllipsis">{{ subsectionsname }}</div>
|
||||
<router-link v-if="isskip" class="path-box-a" :to="path"></router-link>
|
||||
</div>
|
||||
</router-link>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -19,7 +18,7 @@ export default {
|
||||
path: "/allSections",
|
||||
};
|
||||
},
|
||||
props: ["stairname", "subsectionsname", "isskip"],
|
||||
props: ["stairname", "subsectionsname", "fid"],
|
||||
mounted() {
|
||||
|
||||
},
|
||||
@@ -37,8 +36,7 @@ export default {
|
||||
flex-direction: row;
|
||||
height: 1.28rem;
|
||||
line-height: 1.28rem;
|
||||
margin: 0.2rem 0.35rem 0;
|
||||
// padding: 0 0.25rem;
|
||||
margin: 0.5rem 0.35rem 0;
|
||||
padding: 0 .4rem;
|
||||
border-radius: 1.68rem 1.68rem 0 1.68rem;
|
||||
background-color: #fff;
|
||||
@@ -47,14 +45,6 @@ export default {
|
||||
box-shadow: 0 0 0.16rem rgba(0, 0, 0, 0.1);
|
||||
position: relative;
|
||||
|
||||
.path-box-a {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.path-slash {
|
||||
color: #D7D7D7;
|
||||
font-size: .32rem;
|
||||
@@ -65,22 +55,11 @@ export default {
|
||||
color: #7F7F7F;
|
||||
max-width: 2.5rem;
|
||||
|
||||
// &::before {
|
||||
// content: "/";
|
||||
// width: 0.2rem;
|
||||
// padding: 0 0.07rem;
|
||||
// color: #7F7F7F;
|
||||
// }
|
||||
|
||||
&:last-child {
|
||||
max-width: 50%;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// &:first-child::before {
|
||||
// content: "";
|
||||
// }
|
||||
}
|
||||
|
||||
&::after {
|
||||
@@ -97,6 +76,4 @@ export default {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@@ -12,7 +12,7 @@
|
||||
<div class="form flexacenter">
|
||||
<img class="search-icon" src="@/assets/img/headerNav/search.png">
|
||||
<input class="flex1" ref="searchInput" v-model="searchText" type="text" placeholder="请输入搜索关键词"
|
||||
@keydown.enter="toSearchResult(searchText)" />
|
||||
@keydown.enter="toSearchResult(searchText)" maxlength="20" />
|
||||
<img v-if="searchText" @click.stop="clearText()" class="clear-text" src="@/assets/img/icon/clear.png">
|
||||
</div>
|
||||
|
||||
@@ -22,8 +22,9 @@
|
||||
<div class="search-content flexcolumn" v-if="$store.state.historicalSearch.length != 0">
|
||||
<div class="search-text">历史搜索</div>
|
||||
<div class="search-label">
|
||||
<span v-for="(item, index) in $store.state.historicalSearch" :key="index" @click.stop="toSearchResult(item)">{{ item
|
||||
}}</span>
|
||||
<span v-for="(item, index) in $store.state.historicalSearch" :key="index"
|
||||
@click.stop="toSearchResult(item)">{{ item
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 热门搜索 -->
|
||||
@@ -49,12 +50,13 @@ export default {
|
||||
}
|
||||
},
|
||||
props: ["issearch", "hotSearchkeywords"],
|
||||
|
||||
|
||||
mounted() {
|
||||
if (this.searchText.length > 0) this.showClear = true
|
||||
else this.showClear = false
|
||||
},
|
||||
|
||||
|
||||
methods: {
|
||||
collapseClick() {
|
||||
if (this.collapseShow == true) this.collapseShow = false;
|
||||
@@ -145,7 +147,7 @@ export default {
|
||||
}
|
||||
|
||||
input {
|
||||
font-size: 0.36rem;
|
||||
font-size: 0.40rem;
|
||||
border: none;
|
||||
outline: 0;
|
||||
color: #000;
|
||||
@@ -185,7 +187,7 @@ export default {
|
||||
|
||||
span {
|
||||
padding: 0 0.2rem;
|
||||
height: 0.96rem;
|
||||
// height: 0.96rem;
|
||||
line-height: 0.96rem;
|
||||
background-color: #fff;
|
||||
border-radius: 0.16rem;
|
||||
@@ -194,6 +196,7 @@ export default {
|
||||
font-size: 0.36rem;
|
||||
margin-right: .2rem;
|
||||
margin-bottom: .24rem;
|
||||
word-break: break-word;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<div class="unlockCoin-hint flexacenter" style="font-size: .36rem;">作者设置了阅读限制,解锁所有内容仅需 <div
|
||||
class="unlockCoin-hint-sum">{{ info.price }}</div> 寄托币</div>
|
||||
<div class="unlockCoin-btn flexcenter" @click="postCoin(defaultcoinnum)">立即解锁
|
||||
<div class="unlockCoin-btn flexcenter" @click="postCoin()">立即解锁
|
||||
</div>
|
||||
<div class="unlockCoin-hint flexcenter">你共有 {{ mybalance }} 个寄托币</div>
|
||||
</div>
|
||||
@@ -44,14 +44,12 @@ export default {
|
||||
props: ["popState", "coinConfig", "info", "mybalance"],
|
||||
data() {
|
||||
return {
|
||||
defaultcoinnum: 1
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
@@ -59,6 +57,11 @@ export default {
|
||||
this.$parent.popState = ""
|
||||
},
|
||||
|
||||
// 点击投币解锁
|
||||
postCoin() {
|
||||
this.$parent.postCoin()
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
};
|
||||
@@ -69,7 +72,9 @@ export default {
|
||||
width: 100vw;
|
||||
background-color: #fff;
|
||||
border-radius: .64rem .64rem 0 0;
|
||||
position: relative;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.coin-insufficient {
|
||||
|
||||
22
src/main.js
@@ -2,17 +2,13 @@ import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
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 { skipUrl, pageStop, pageMove, goTologin, copy, startupUnderLoading, closeUnderLoading, formattedDate, updateURLSearchParams, clearCookies } from "@/utils/common.js"
|
||||
import http from "@/utils/request"
|
||||
import VueSanitize from 'vue-sanitize'
|
||||
|
||||
import hintBox from '@/components/Hintbox'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
Vue.prototype.$baseURL = "https://forum.gter.net/api" // 请求接口的共 url
|
||||
Vue.prototype.$loginUrl = "https://passport.gter.net/" // 跳转登录的url
|
||||
|
||||
Vue.prototype.$http = http // 跳转登录页面的方法
|
||||
@@ -23,20 +19,20 @@ Vue.prototype.$goTologin = goTologin // 跳转登录页面的方法
|
||||
Vue.prototype.$pageStop = pageStop // 页面禁止滑动
|
||||
Vue.prototype.$pageMove = pageMove // 页面可以滑动
|
||||
Vue.prototype.$Message = Message // 消息提示框
|
||||
Vue.prototype.$loading = loading // 消息提示框
|
||||
Vue.prototype.$loading = Loading // 消息提示框
|
||||
Vue.prototype.$copy = copy // 复制
|
||||
Vue.prototype.$startupUnderLoading = startupUnderLoading // 开启加载提示 element的
|
||||
Vue.prototype.$closeUnderLoading = closeUnderLoading // 关闭加载提示 element的
|
||||
Vue.prototype.$formattedDate = formattedDate // 时间戳转格式
|
||||
Vue.prototype.$updateURLSearchParams = updateURLSearchParams // 不刷新的情况下修改url
|
||||
Vue.prototype.$clearCookies = clearCookies // 清空Cookies
|
||||
Vue.prototype.$baseURL = "https://ansnid.oss-cn-shenzhen.aliyuncs.com/forum" // 清空Cookies
|
||||
|
||||
//svg文件引入
|
||||
//svg文件引入
|
||||
import './icons'
|
||||
//动态设置fontsize
|
||||
import './utils/fontSize.js'
|
||||
|
||||
|
||||
// 判断是否是数组的 ,兼容操作
|
||||
if (!Array.isArray) {
|
||||
Array.isArray = function (arg) {
|
||||
@@ -44,14 +40,10 @@ if (!Array.isArray) {
|
||||
}
|
||||
}
|
||||
|
||||
//ElementUI
|
||||
Vue.use(ElementUI);
|
||||
// Vue.use(ElementUI);
|
||||
Vue.use(Pagination);
|
||||
|
||||
// 不要的
|
||||
Vue.use(VueSanitize);
|
||||
|
||||
|
||||
Vue.use(Alert);
|
||||
Vue.use(Loading);
|
||||
|
||||
// v-focus
|
||||
Vue.directive('focus', {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import Vue from 'vue'
|
||||
import VueRouter from 'vue-router'
|
||||
// import Recommend from "views/recommend/Recommend.vue"
|
||||
|
||||
Vue.use(VueRouter)
|
||||
|
||||
@@ -8,10 +7,10 @@ const VueRouterPush = VueRouter.prototype.push
|
||||
VueRouter.prototype.push = function push(to) {
|
||||
return VueRouterPush.call(this, to).catch(err => err)
|
||||
}
|
||||
|
||||
//标题js
|
||||
import getPageTitle from "@/utils/title-config";
|
||||
|
||||
|
||||
const Index = () => import('views/index/index')
|
||||
const Recommend = () => import('views/index/recommend/Recommend')
|
||||
const Collect = () => import('views/index/collect/Collect')
|
||||
@@ -26,6 +25,7 @@ const detailIndex = () => import('views/detail/detailIndex')
|
||||
const routes = [
|
||||
{
|
||||
// 首页
|
||||
// path: '*',
|
||||
path: '/',
|
||||
name: 'Index',
|
||||
redirect: "/recommend",
|
||||
@@ -55,7 +55,6 @@ const routes = [
|
||||
title: "全部版块"
|
||||
}
|
||||
},
|
||||
|
||||
]
|
||||
}, {
|
||||
path: '/searchResult', // 搜索结果
|
||||
@@ -103,17 +102,41 @@ const routes = [
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
const router = new VueRouter({
|
||||
mode: 'history',
|
||||
base: process.env.BASE_URL,
|
||||
// mode: 'hash',
|
||||
// mode: process.env.NODE_ENV == "development" ? 'hash' : 'history',
|
||||
// base: process.env.BASE_URL,
|
||||
routes
|
||||
})
|
||||
|
||||
// 判断是不是首次 加载
|
||||
let isInitialNavigation = true
|
||||
|
||||
router.beforeEach(async (to, from, next) => {
|
||||
if (to.meta.title) document.title = getPageTitle(to.meta.title);
|
||||
|
||||
if (isInitialNavigation) {
|
||||
isInitialNavigation = false
|
||||
} else {
|
||||
if (window._hmt) {
|
||||
if (to.path) {
|
||||
window._hmt.push(['_trackPageview', '/#' + to.fullPath])
|
||||
}
|
||||
}
|
||||
|
||||
if (window._czc) {
|
||||
let location = window.location
|
||||
let contentUrl = location.pathname + location.hash
|
||||
let refererUrl = "/"
|
||||
// 用于发送某个URL的PV统计请求
|
||||
window._czc.push(["_trackPageview", contentUrl, refererUrl])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
next();
|
||||
});
|
||||
|
||||
|
||||
@@ -72,17 +72,12 @@ export default new Vuex.Store({
|
||||
|
||||
// 获取全部板块的数据
|
||||
getAllForum({ commit }, that) {
|
||||
// getAllForum(commit, that) {
|
||||
that.$startupUnderLoading(that)
|
||||
that.$http.get("/api/home/allForum").then(res => {
|
||||
if (res.code != 200) return;
|
||||
let allForumList = res.data
|
||||
commit('setAllForumList', allForumList)
|
||||
|
||||
}).catch(err => {
|
||||
that.$message.error(err.message)
|
||||
}).finally(() => {
|
||||
that.$closeUnderLoading(that)
|
||||
})
|
||||
|
||||
},
|
||||
@@ -91,7 +86,6 @@ export default new Vuex.Store({
|
||||
getUserInfo({ state, commit }, that) {
|
||||
if (state.getUserInfoState) return
|
||||
commit('setgetUserInfoState', true)
|
||||
// that.$startupUnderLoading(that)
|
||||
that.$http.post("/api/home").then(res => {
|
||||
if (res.code != 200) return;
|
||||
let data = res.data
|
||||
|
||||
11
src/utils/bizarreUrl.js
Normal file
@@ -0,0 +1,11 @@
|
||||
// 稀奇古怪的url 都是一些写固定的 url 不确定什么时候修改
|
||||
|
||||
// 帖子发布的链接 在头部弹出栏 首页上下角使用
|
||||
const invitationPost = "https://www.gter.net/bbs/post.html"
|
||||
|
||||
// 投币帖子不够寄托币的
|
||||
const coinNo = "https://bbs.gter.net/thread-2543548-1-1.html"
|
||||
|
||||
|
||||
|
||||
export { invitationPost, coinNo }
|
||||