Compare commits

..

3 Commits

Author SHA1 Message Date
A1300399510
83e6db32e0 no message 2024-08-14 17:07:38 +08:00
A1300399510
50cc836b4f 1 2024-08-14 17:04:36 +08:00
A1300399510
9f0dbabd51 详情页加求定位 2024-08-14 16:56:00 +08:00
41 changed files with 503 additions and 1582 deletions

192
01.html Normal file
View 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 &amp;&amp; thread.apply_llm">LL.M</span>
<span v-if="thread.profession_cid &amp;&amp; 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 &amp;&amp; thread.lsat">
<th>LSAT</th>
<td v-text="thread.lsat"></td>
</tr>
<tr v-if="thread.profession_cid==2 &amp;&amp; thread.sex>0">
<th>性别</th>
<td v-text="thread.sex_text"></td>
</tr>
</tbody>
</table>
<table v-if="load &amp;&amp; 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 &amp;&amp; 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 &amp;&amp; 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>

File diff suppressed because one or more lines are too long

1
dist/css/39.c6e7e71d.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.container[data-v-500ea229]{padding-top:1.3rem;padding-bottom:1.3rem}.container .search-input-box[data-v-500ea229]{margin-left:.32rem}.container .search-input-box .search-input[data-v-500ea229]{width:8.2rem;height:.96rem;border-radius:2.56rem;background:#ebebeb}.container .search-input-box .search-input .search-input-cross[data-v-500ea229],.container .search-input-box .search-input .search-input-icon[data-v-500ea229]{width:.4rem;height:.4rem}.container .search-input-box .search-input .search-input-icon[data-v-500ea229]{padding:0 .4rem}.container .search-input-box .search-input .search-input-cross[data-v-500ea229]{padding-right:.4rem}.container .search-input-box .search-input .search-input-input[data-v-500ea229]{height:100%;font-size:.4rem}.container .search-input-box .search-input-cancel[data-v-500ea229]{color:#000;font-size:.36rem;padding-left:.46rem;width:.74rem}.container .numberResults[data-v-500ea229]{font-size:.32rem;color:#555;margin:.64rem .32rem .48rem}.container .numberResults .number[data-v-500ea229]{color:#000;font-weight:650;margin:0 .1667rem}.container .result-box[data-v-500ea229]{justify-content:center;flex-direction:column;overflow:auto}.container .result-box .result-item[data-v-500ea229]{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-500ea229]{margin-bottom:.32rem}.container .result-box .result-item .result-header .result-label[data-v-500ea229]{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-500ea229]{color:#000;font-size:.37333rem;line-height:.65rem;display:inline}.container .result-box .result-item .result-header .result-title[data-v-500ea229] em{color:#f95d5d}.container .result-box .result-item .result-content[data-v-500ea229]{line-height:.52rem;font-size:.3rem;color:#7f7f7f;height:1.04rem}.container .result-box .result-item .reply-visible[data-v-500ea229]{font-size:.32rem;height:1.04rem;background:hsla(0,0%,95%,.7)}.container .result-box .result-item .result-info[data-v-500ea229]{align-items:self-end;justify-content:space-between}.container .result-box .result-item .result-info .user-info .icon-head[data-v-500ea229]{width:.64rem;height:.64rem;border-radius:50%}.container .result-box .result-item .result-info .user-info .user-name[data-v-500ea229]{font-size:.32rem;color:#333;margin-left:.2rem}.container .result-box .result-item .result-info .item-data[data-v-500ea229]{font-size:.28rem}.container .result-box .result-item .result-info .item-data .item-data-item[data-v-500ea229]:last-of-type{margin-left:.4rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-look[data-v-500ea229]{width:.4267rem;height:.18rem;margin-right:.16rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-msg[data-v-500ea229]{width:.32rem;height:.28rem;margin-right:.16rem}.container .paging[data-v-500ea229]{margin-top:.48rem}.container .paging[data-v-500ea229] .el-pagination.is-background .el-pager li:not(.disabled).active{background:#62b1ff;border-radius:50%}.container .paging[data-v-500ea229] .el-pagination .btn-next .el-icon,.container .paging[data-v-500ea229] .el-pagination .btn-prev .el-icon{font-size:.4rem}.container .result-empty-box[data-v-500ea229]{height:70vh;width:9.36rem;background:#fff;margin:0 auto;border-radius:.32rem}.container .result-empty-box .result-empty-icon[data-v-500ea229]{width:2.04rem;height:2.4rem}

1
dist/css/879.b9149ecf.css vendored Normal file
View 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}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

19
dist/index.html vendored

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[124],{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(517),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/233.18adb6c9.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[337],{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(517),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}}]);

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[354],{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(517),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/483.9b9ef662.js vendored Normal file
View 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}}]);

File diff suppressed because one or more lines are too long

1
dist/js/561.862fb303.js vendored Normal file
View 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
View 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}}]);

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunkninepage"]=self["webpackChunkninepage"]||[]).push([[831],{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(517),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}}]);

File diff suppressed because one or more lines are too long

1
dist/js/879.5b9e6015.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/js/917.8692ef86.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/js/94.fc6edfaa.js vendored Normal file
View 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}}]);

File diff suppressed because one or more lines are too long

1
dist/js/app~42f9d7e6.eaa8d909.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,545 +0,0 @@
;((e, n) => {
"function" == typeof define && (define.amd || define.cmd)
? define(function () {
return n(e)
})
: n(e, !0)
})(this, function (r, e) {
var a, c, n, i, t, s, d, o, l, u, p, f, m, g, h, I, S, y, v, _, w, T
if (!r.jWeixin)
return (
(a = { config: "preVerifyJSAPI", onMenuShareTimeline: "menu:share:timeline", onMenuShareAppMessage: "menu:share:appmessage", onMenuShareQQ: "menu:share:qq", onMenuShareWeibo: "menu:share:weiboApp", onMenuShareQZone: "menu:share:QZone", previewImage: "imagePreview", getLocation: "geoLocation", openProductSpecificView: "openProductViewWithPid", addCard: "batchAddCard", openCard: "batchViewCard", chooseWXPay: "getBrandWCPayRequest", openEnterpriseRedPacket: "getRecevieBizHongBaoRequest", startSearchBeacons: "startMonitoringBeacons", stopSearchBeacons: "stopMonitoringBeacons", onSearchBeacons: "onBeaconsInRange", consumeAndShareCard: "consumedShareCard", openAddress: "editAddress" }),
(c = (() => {
var e,
n = {}
for (e in a) n[a[e]] = e
return n
})()),
(i = (n = r.document).title),
(t = navigator.userAgent.toLowerCase()),
(f = navigator.platform.toLowerCase()),
(s = !(!f.match("mac") && !f.match("win"))),
(d = -1 != t.indexOf("wxdebugger")),
(o = -1 != t.indexOf("micromessenger")),
(l = -1 != t.indexOf("android")),
(u = -1 != t.indexOf("iphone") || -1 != t.indexOf("ipad")),
(p = (f = t.match(/micromessenger\/(\d+\.\d+\.\d+)/) || t.match(/micromessenger\/(\d+\.\d+)/)) ? f[1] : ""),
(m = { initStartTime: L(), initEndTime: 0, preVerifyStartTime: 0, preVerifyEndTime: 0 }),
(g = { version: 1, appId: "", initTime: 0, preVerifyTime: 0, networkType: "", isPreVerifyOk: 1, systemType: u ? 1 : l ? 2 : -1, clientVersion: p, url: encodeURIComponent(location.href) }),
(h = {}),
(I = { _completes: [] }),
(S = { state: 0, data: {} }),
B(function () {
m.initEndTime = L()
}),
(y = !1),
(v = []),
(_ = {
config: function (e) {
C("config", (h = e))
var o = !1 !== h.check
B(function () {
if (o)
k(
a.config,
{ verifyJsApiList: V(h.jsApiList) },
((I._complete = function (e) {
;(m.preVerifyEndTime = L()), (S.state = 1), (S.data = e)
}),
(I.success = function (e) {
g.isPreVerifyOk = 0
}),
(I.fail = function (e) {
I._fail ? I._fail(e) : (S.state = -1)
}),
(t = I._completes).push(function () {
var n
s ||
d ||
h.debug ||
p < "6.0.2" ||
g.systemType < 0 ||
((n = new Image()),
(g.appId = h.appId),
(g.initTime = m.initEndTime - m.initStartTime),
(g.preVerifyTime = m.preVerifyEndTime - m.preVerifyStartTime),
_.getNetworkType({
isInnerInvoke: !0,
success: function (e) {
;(g.networkType = e.networkType), (n.src = "https://open.weixin.qq.com/sdk/report?v=" + g.version + "&o=" + g.isPreVerifyOk + "&s=" + g.systemType + "&c=" + g.clientVersion + "&a=" + g.appId + "&n=" + g.networkType + "&i=" + g.initTime + "&p=" + g.preVerifyTime + "&u=" + g.url)
},
}))
}),
(I.complete = function (e) {
for (var n = 0, i = t.length; n < i; ++n) t[n]()
I._completes = []
}),
I)
),
(m.preVerifyStartTime = L())
else {
S.state = 1
for (var e = I._completes, n = 0, i = e.length; n < i; ++n) e[n]()
I._completes = []
}
var t
}),
_.invoke ||
((_.invoke = function (e, n, i) {
r.WeixinJSBridge && WeixinJSBridge.invoke(e, P(n), i)
}),
(_.on = function (e, n) {
r.WeixinJSBridge && WeixinJSBridge.on(e, n)
}))
},
ready: function (e) {
;(0 != S.state || (I._completes.push(e), !o && h.debug)) && e()
},
error: function (e) {
p < "6.0.2" || (-1 == S.state ? e(S.data) : (I._fail = e))
},
checkJsApi: function (e) {
k(
"checkJsApi",
{ jsApiList: V(e.jsApiList) },
((e._complete = function (e) {
l && (i = e.checkResult) && (e.checkResult = JSON.parse(i))
var n,
i = e,
t = i.checkResult
for (n in t) {
var o = c[n]
o && ((t[o] = t[n]), delete t[n])
}
}),
e)
)
},
onMenuShareTimeline: function (e) {
M(
a.onMenuShareTimeline,
{
complete: function () {
k("shareTimeline", { title: e.title || i, desc: e.title || i, img_url: e.imgUrl || "", link: e.link || location.href, type: e.type || "link", data_url: e.dataUrl || "" }, e)
},
},
e
)
},
onMenuShareAppMessage: function (n) {
M(
a.onMenuShareAppMessage,
{
complete: function (e) {
"favorite" === e.scene ? k("sendAppMessage", { title: n.title || i, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", data_url: n.dataUrl || "" }) : k("sendAppMessage", { title: n.title || i, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", data_url: n.dataUrl || "" }, n)
},
},
n
)
},
onMenuShareQQ: function (e) {
M(
a.onMenuShareQQ,
{
complete: function () {
k("shareQQ", { title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e)
},
},
e
)
},
onMenuShareWeibo: function (e) {
M(
a.onMenuShareWeibo,
{
complete: function () {
k("shareWeiboApp", { title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e)
},
},
e
)
},
onMenuShareQZone: function (e) {
M(
a.onMenuShareQZone,
{
complete: function () {
k("shareQZone", { title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e)
},
},
e
)
},
startRecord: function (e) {
k("startRecord", {}, e)
},
stopRecord: function (e) {
k("stopRecord", {}, e)
},
onVoiceRecordEnd: function (e) {
M("onVoiceRecordEnd", e)
},
playVoice: function (e) {
k("playVoice", { localId: e.localId }, e)
},
pauseVoice: function (e) {
k("pauseVoice", { localId: e.localId }, e)
},
stopVoice: function (e) {
k("stopVoice", { localId: e.localId }, e)
},
onVoicePlayEnd: function (e) {
M("onVoicePlayEnd", e)
},
uploadVoice: function (e) {
k("uploadVoice", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
downloadVoice: function (e) {
k("downloadVoice", { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
translateVoice: function (e) {
k("translateVoice", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
chooseImage: function (e) {
k(
"chooseImage",
{ scene: "1|2", count: e.count || 9, sizeType: e.sizeType || ["original", "compressed"], sourceType: e.sourceType || ["album", "camera"] },
((e._complete = function (e) {
if (l) {
var n = e.localIds
try {
n && (e.localIds = JSON.parse(n))
} catch (e) {}
}
}),
e)
)
},
getLocation: function (e) {},
getLocation: function (e) {
;(e = e || {}),
k(
a.getLocation,
{ type: e.type || "wgs84" },
((e._complete = function (e) {
delete e.type
}),
e)
)
},
previewImage: function (e) {
k(a.previewImage, { current: e.current, urls: e.urls }, e)
},
uploadImage: function (e) {
k("uploadImage", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
downloadImage: function (e) {
k("downloadImage", { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
getLocalImgData: function (e) {
!1 === y
? ((y = !0),
k(
"getLocalImgData",
{ localId: e.localId },
((e._complete = function (e) {
var n
;(y = !1), 0 < v.length && ((n = v.shift()), wx.getLocalImgData(n))
}),
e)
))
: v.push(e)
},
getNetworkType: function (e) {
k(
"getNetworkType",
{},
((e._complete = function (e) {
var n = e,
e = n.errMsg,
i = ((n.errMsg = "getNetworkType:ok"), n.subtype)
if ((delete n.subtype, i)) n.networkType = i
else {
var i = e.indexOf(":"),
t = e.substring(i + 1)
switch (t) {
case "wifi":
case "edge":
case "wwan":
n.networkType = t
break
default:
n.errMsg = "getNetworkType:fail"
}
}
}),
e)
)
},
openLocation: function (e) {
k("openLocation", { latitude: e.latitude, longitude: e.longitude, name: e.name || "", address: e.address || "", scale: e.scale || 28, infoUrl: e.infoUrl || "" }, e)
},
hideOptionMenu: function (e) {
k("hideOptionMenu", {}, e)
},
showOptionMenu: function (e) {
k("showOptionMenu", {}, e)
},
closeWindow: function (e) {
k("closeWindow", {}, (e = e || {}))
},
hideMenuItems: function (e) {
k("hideMenuItems", { menuList: e.menuList }, e)
},
showMenuItems: function (e) {
k("showMenuItems", { menuList: e.menuList }, e)
},
hideAllNonBaseMenuItem: function (e) {
k("hideAllNonBaseMenuItem", {}, e)
},
showAllNonBaseMenuItem: function (e) {
k("showAllNonBaseMenuItem", {}, e)
},
scanQRCode: function (e) {
k(
"scanQRCode",
{ needResult: (e = e || {}).needResult || 0, scanType: e.scanType || ["qrCode", "barCode"] },
((e._complete = function (e) {
var n
u && (n = e.resultStr) && ((n = JSON.parse(n)), (e.resultStr = n && n.scan_code && n.scan_code.scan_result))
}),
e)
)
},
openAddress: function (e) {
k(
a.openAddress,
{},
((e._complete = function (e) {
;((e = e).postalCode = e.addressPostalCode), delete e.addressPostalCode, (e.provinceName = e.proviceFirstStageName), delete e.proviceFirstStageName, (e.cityName = e.addressCitySecondStageName), delete e.addressCitySecondStageName, (e.countryName = e.addressCountiesThirdStageName), delete e.addressCountiesThirdStageName, (e.detailInfo = e.addressDetailInfo), delete e.addressDetailInfo
}),
e)
)
},
openProductSpecificView: function (e) {
k(a.openProductSpecificView, { pid: e.productId, view_type: e.viewType || 0, ext_info: e.extInfo }, e)
},
addCard: function (e) {
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
var r = n[t],
r = { card_id: r.cardId, card_ext: r.cardExt }
i.push(r)
}
k(
a.addCard,
{ card_list: i },
((e._complete = function (e) {
if ((n = e.card_list)) {
for (var n, i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
var o = n[i]
;(o.cardId = o.card_id), (o.cardExt = o.card_ext), (o.isSuccess = !!o.is_succ), delete o.card_id, delete o.card_ext, delete o.is_succ
}
;(e.cardList = n), delete e.card_list
}
}),
e)
)
},
chooseCard: function (e) {
k(
"chooseCard",
{ app_id: h.appId, location_id: e.shopId || "", sign_type: e.signType || "SHA1", card_id: e.cardId || "", card_type: e.cardType || "", card_sign: e.cardSign, time_stamp: e.timestamp + "", nonce_str: e.nonceStr },
((e._complete = function (e) {
;(e.cardList = e.choose_card_info), delete e.choose_card_info
}),
e)
)
},
openCard: function (e) {
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
var r = n[t],
r = { card_id: r.cardId, code: r.code }
i.push(r)
}
k(a.openCard, { card_list: i }, e)
},
consumeAndShareCard: function (e) {
k(a.consumeAndShareCard, { consumedCardId: e.cardId, consumedCode: e.code }, e)
},
chooseWXPay: function (e) {
k(a.chooseWXPay, x(e), e)
},
openEnterpriseRedPacket: function (e) {
k(a.openEnterpriseRedPacket, x(e), e)
},
startSearchBeacons: function (e) {
k(a.startSearchBeacons, { ticket: e.ticket }, e)
},
stopSearchBeacons: function (e) {
k(a.stopSearchBeacons, {}, e)
},
onSearchBeacons: function (e) {
M(a.onSearchBeacons, e)
},
openEnterpriseChat: function (e) {
k("openEnterpriseChat", { useridlist: e.userIds, chatname: e.groupName }, e)
},
launchMiniProgram: function (e) {
k(
"launchMiniProgram",
{
targetAppId: e.targetAppId,
path: (e => {
var n
if ("string" == typeof e && 0 < e.length) return (n = e.split("?")[0]), (n += ".html"), void 0 !== (e = e.split("?")[1]) ? n + "?" + e : n
})(e.path),
envVersion: e.envVersion,
},
e
)
},
miniProgram: {
navigateBack: function (e) {
;(e = e || {}),
B(function () {
k("invokeMiniProgramAPI", { name: "navigateBack", arg: { delta: e.delta || 1 } }, e)
})
},
navigateTo: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "navigateTo", arg: { url: e.url } }, e)
})
},
redirectTo: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "redirectTo", arg: { url: e.url } }, e)
})
},
switchTab: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "switchTab", arg: { url: e.url } }, e)
})
},
reLaunch: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "reLaunch", arg: { url: e.url } }, e)
})
},
postMessage: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "postMessage", arg: e.data || {} }, e)
})
},
getEnv: function (e) {
B(function () {
e({ miniprogram: "miniprogram" === r.__wxjs_environment })
})
},
},
}),
(w = 1),
(T = {}),
n.addEventListener(
"error",
function (e) {
var n, i, t
l ||
((t = (n = e.target).tagName), (i = n.src), "IMG" != t && "VIDEO" != t && "AUDIO" != t && "SOURCE" != t) ||
(-1 != i.indexOf("wxlocalresource://") &&
(e.preventDefault(),
e.stopPropagation(),
(t = n["wx-id"]) || ((t = w++), (n["wx-id"] = t)),
T[t] ||
((T[t] = !0),
wx.ready(function () {
wx.getLocalImgData({
localId: i,
success: function (e) {
n.src = e.localData
},
})
}))))
},
!0
),
n.addEventListener(
"load",
function (e) {
var n
l || ((n = (e = e.target).tagName), "IMG" != n && "VIDEO" != n && "AUDIO" != n && "SOURCE" != n) || ((n = e["wx-id"]) && (T[n] = !1))
},
!0
),
e && (r.wx = r.jWeixin = _),
_
)
function k(n, e, i) {
r.WeixinJSBridge
? WeixinJSBridge.invoke(n, P(e), function (e) {
A(n, e, i)
})
: C(n, i)
}
function M(n, i, t) {
r.WeixinJSBridge
? WeixinJSBridge.on(n, function (e) {
t && t.trigger && t.trigger(e), A(n, e, i)
})
: C(n, t || i)
}
function P(e) {
return ((e = e || {}).appId = h.appId), (e.verifyAppId = h.appId), (e.verifySignType = "sha1"), (e.verifyTimestamp = h.timestamp + ""), (e.verifyNonceStr = h.nonceStr), (e.verifySignature = h.signature), e
}
function x(e) {
return { timeStamp: e.timestamp + "", nonceStr: e.nonceStr, package: e.package, paySign: e.paySign, signType: e.signType || "SHA1" }
}
function A(e, n, i) {
"openEnterpriseChat" == e && (n.errCode = n.err_code), delete n.err_code, delete n.err_desc, delete n.err_detail
var t = n.errMsg,
e =
(t ||
((t = n.err_msg),
delete n.err_msg,
(t = ((e, n) => {
var i,
t = c[e]
return t && (e = t), (t = "ok"), n && ((i = n.indexOf(":")), ("access denied" != (t = (t = (t = -1 != (t = -1 != (t = "failed" == (t = "confirm" == (t = n.substring(i + 1)) ? "ok" : t) ? "fail" : t).indexOf("failed_") ? t.substring(7) : t).indexOf("fail_") ? t.substring(5) : t).replace(/_/g, " ")).toLowerCase()) && "no permission to execute" != t) || (t = "permission denied"), "" == (t = "config" == e && "function not exist" == t ? "ok" : t)) && (t = "fail"), (n = e + ":" + t)
})(e, t)),
(n.errMsg = t)),
(i = i || {})._complete && (i._complete(n), delete i._complete),
(t = n.errMsg || ""),
h.debug && !i.isInnerInvoke && alert(JSON.stringify(n)),
t.indexOf(":"))
switch (t.substring(e + 1)) {
case "ok":
i.success && i.success(n)
break
case "cancel":
i.cancel && i.cancel(n)
break
default:
i.fail && i.fail(n)
}
i.complete && i.complete(n)
}
function V(e) {
if (e) {
for (var n = 0, i = e.length; n < i; ++n) {
var t = e[n],
t = a[t]
t && (e[n] = t)
}
return e
}
}
function C(e, n) {
var i
!h.debug || (n && n.isInnerInvoke) || ((i = c[e]) && (e = i), n && n._complete && delete n._complete, console.log('"' + e + '",', n || ""))
}
function L() {
return new Date().getTime()
}
function B(e) {
o && (r.WeixinJSBridge ? e() : n.addEventListener && n.addEventListener("WeixinJSBridgeReady", e, !1))
}
})

View File

@ -1,51 +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 %>/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>
<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的学习心得。无论你留学在美国、加拿大、英国还是澳洲都能在留学论坛上找到寄托情感的归宿。">
<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&amp;web_id=1281224882"></script> -->
<script>
let $baseURL = "https://framework.x-php.com/forum/"
document.addEventListener("DOMContentLoaded", function () {
const script = document.createElement("script")
script.src = (["localhost"].includes(location.hostname) ? "" : $baseURL) + "/js/jweixin-1.3.2.js"
document.head.appendChild(script)
})
</script>
<title>寄托论坛</title>
</head>
<script defer src="//stat.gter.net/script.js" data-website-id="28aa17dc7c163e7e7cf88d0c556a729b"></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>
<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&amp;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>
<!-- 这个统计代码 明天加在H5论坛页面 -->
<!-- built files will be auto injected -->
</body>
</html>

View File

@ -1,545 +0,0 @@
;((e, n) => {
"function" == typeof define && (define.amd || define.cmd)
? define(function () {
return n(e)
})
: n(e, !0)
})(this, function (r, e) {
var a, c, n, i, t, s, d, o, l, u, p, f, m, g, h, I, S, y, v, _, w, T
if (!r.jWeixin)
return (
(a = { config: "preVerifyJSAPI", onMenuShareTimeline: "menu:share:timeline", onMenuShareAppMessage: "menu:share:appmessage", onMenuShareQQ: "menu:share:qq", onMenuShareWeibo: "menu:share:weiboApp", onMenuShareQZone: "menu:share:QZone", previewImage: "imagePreview", getLocation: "geoLocation", openProductSpecificView: "openProductViewWithPid", addCard: "batchAddCard", openCard: "batchViewCard", chooseWXPay: "getBrandWCPayRequest", openEnterpriseRedPacket: "getRecevieBizHongBaoRequest", startSearchBeacons: "startMonitoringBeacons", stopSearchBeacons: "stopMonitoringBeacons", onSearchBeacons: "onBeaconsInRange", consumeAndShareCard: "consumedShareCard", openAddress: "editAddress" }),
(c = (() => {
var e,
n = {}
for (e in a) n[a[e]] = e
return n
})()),
(i = (n = r.document).title),
(t = navigator.userAgent.toLowerCase()),
(f = navigator.platform.toLowerCase()),
(s = !(!f.match("mac") && !f.match("win"))),
(d = -1 != t.indexOf("wxdebugger")),
(o = -1 != t.indexOf("micromessenger")),
(l = -1 != t.indexOf("android")),
(u = -1 != t.indexOf("iphone") || -1 != t.indexOf("ipad")),
(p = (f = t.match(/micromessenger\/(\d+\.\d+\.\d+)/) || t.match(/micromessenger\/(\d+\.\d+)/)) ? f[1] : ""),
(m = { initStartTime: L(), initEndTime: 0, preVerifyStartTime: 0, preVerifyEndTime: 0 }),
(g = { version: 1, appId: "", initTime: 0, preVerifyTime: 0, networkType: "", isPreVerifyOk: 1, systemType: u ? 1 : l ? 2 : -1, clientVersion: p, url: encodeURIComponent(location.href) }),
(h = {}),
(I = { _completes: [] }),
(S = { state: 0, data: {} }),
B(function () {
m.initEndTime = L()
}),
(y = !1),
(v = []),
(_ = {
config: function (e) {
C("config", (h = e))
var o = !1 !== h.check
B(function () {
if (o)
k(
a.config,
{ verifyJsApiList: V(h.jsApiList) },
((I._complete = function (e) {
;(m.preVerifyEndTime = L()), (S.state = 1), (S.data = e)
}),
(I.success = function (e) {
g.isPreVerifyOk = 0
}),
(I.fail = function (e) {
I._fail ? I._fail(e) : (S.state = -1)
}),
(t = I._completes).push(function () {
var n
s ||
d ||
h.debug ||
p < "6.0.2" ||
g.systemType < 0 ||
((n = new Image()),
(g.appId = h.appId),
(g.initTime = m.initEndTime - m.initStartTime),
(g.preVerifyTime = m.preVerifyEndTime - m.preVerifyStartTime),
_.getNetworkType({
isInnerInvoke: !0,
success: function (e) {
;(g.networkType = e.networkType), (n.src = "https://open.weixin.qq.com/sdk/report?v=" + g.version + "&o=" + g.isPreVerifyOk + "&s=" + g.systemType + "&c=" + g.clientVersion + "&a=" + g.appId + "&n=" + g.networkType + "&i=" + g.initTime + "&p=" + g.preVerifyTime + "&u=" + g.url)
},
}))
}),
(I.complete = function (e) {
for (var n = 0, i = t.length; n < i; ++n) t[n]()
I._completes = []
}),
I)
),
(m.preVerifyStartTime = L())
else {
S.state = 1
for (var e = I._completes, n = 0, i = e.length; n < i; ++n) e[n]()
I._completes = []
}
var t
}),
_.invoke ||
((_.invoke = function (e, n, i) {
r.WeixinJSBridge && WeixinJSBridge.invoke(e, P(n), i)
}),
(_.on = function (e, n) {
r.WeixinJSBridge && WeixinJSBridge.on(e, n)
}))
},
ready: function (e) {
;(0 != S.state || (I._completes.push(e), !o && h.debug)) && e()
},
error: function (e) {
p < "6.0.2" || (-1 == S.state ? e(S.data) : (I._fail = e))
},
checkJsApi: function (e) {
k(
"checkJsApi",
{ jsApiList: V(e.jsApiList) },
((e._complete = function (e) {
l && (i = e.checkResult) && (e.checkResult = JSON.parse(i))
var n,
i = e,
t = i.checkResult
for (n in t) {
var o = c[n]
o && ((t[o] = t[n]), delete t[n])
}
}),
e)
)
},
onMenuShareTimeline: function (e) {
M(
a.onMenuShareTimeline,
{
complete: function () {
k("shareTimeline", { title: e.title || i, desc: e.title || i, img_url: e.imgUrl || "", link: e.link || location.href, type: e.type || "link", data_url: e.dataUrl || "" }, e)
},
},
e
)
},
onMenuShareAppMessage: function (n) {
M(
a.onMenuShareAppMessage,
{
complete: function (e) {
"favorite" === e.scene ? k("sendAppMessage", { title: n.title || i, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", data_url: n.dataUrl || "" }) : k("sendAppMessage", { title: n.title || i, desc: n.desc || "", link: n.link || location.href, img_url: n.imgUrl || "", type: n.type || "link", data_url: n.dataUrl || "" }, n)
},
},
n
)
},
onMenuShareQQ: function (e) {
M(
a.onMenuShareQQ,
{
complete: function () {
k("shareQQ", { title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e)
},
},
e
)
},
onMenuShareWeibo: function (e) {
M(
a.onMenuShareWeibo,
{
complete: function () {
k("shareWeiboApp", { title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e)
},
},
e
)
},
onMenuShareQZone: function (e) {
M(
a.onMenuShareQZone,
{
complete: function () {
k("shareQZone", { title: e.title || i, desc: e.desc || "", img_url: e.imgUrl || "", link: e.link || location.href }, e)
},
},
e
)
},
startRecord: function (e) {
k("startRecord", {}, e)
},
stopRecord: function (e) {
k("stopRecord", {}, e)
},
onVoiceRecordEnd: function (e) {
M("onVoiceRecordEnd", e)
},
playVoice: function (e) {
k("playVoice", { localId: e.localId }, e)
},
pauseVoice: function (e) {
k("pauseVoice", { localId: e.localId }, e)
},
stopVoice: function (e) {
k("stopVoice", { localId: e.localId }, e)
},
onVoicePlayEnd: function (e) {
M("onVoicePlayEnd", e)
},
uploadVoice: function (e) {
k("uploadVoice", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
downloadVoice: function (e) {
k("downloadVoice", { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
translateVoice: function (e) {
k("translateVoice", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
chooseImage: function (e) {
k(
"chooseImage",
{ scene: "1|2", count: e.count || 9, sizeType: e.sizeType || ["original", "compressed"], sourceType: e.sourceType || ["album", "camera"] },
((e._complete = function (e) {
if (l) {
var n = e.localIds
try {
n && (e.localIds = JSON.parse(n))
} catch (e) {}
}
}),
e)
)
},
getLocation: function (e) {},
getLocation: function (e) {
;(e = e || {}),
k(
a.getLocation,
{ type: e.type || "wgs84" },
((e._complete = function (e) {
delete e.type
}),
e)
)
},
previewImage: function (e) {
k(a.previewImage, { current: e.current, urls: e.urls }, e)
},
uploadImage: function (e) {
k("uploadImage", { localId: e.localId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
downloadImage: function (e) {
k("downloadImage", { serverId: e.serverId, isShowProgressTips: 0 == e.isShowProgressTips ? 0 : 1 }, e)
},
getLocalImgData: function (e) {
!1 === y
? ((y = !0),
k(
"getLocalImgData",
{ localId: e.localId },
((e._complete = function (e) {
var n
;(y = !1), 0 < v.length && ((n = v.shift()), wx.getLocalImgData(n))
}),
e)
))
: v.push(e)
},
getNetworkType: function (e) {
k(
"getNetworkType",
{},
((e._complete = function (e) {
var n = e,
e = n.errMsg,
i = ((n.errMsg = "getNetworkType:ok"), n.subtype)
if ((delete n.subtype, i)) n.networkType = i
else {
var i = e.indexOf(":"),
t = e.substring(i + 1)
switch (t) {
case "wifi":
case "edge":
case "wwan":
n.networkType = t
break
default:
n.errMsg = "getNetworkType:fail"
}
}
}),
e)
)
},
openLocation: function (e) {
k("openLocation", { latitude: e.latitude, longitude: e.longitude, name: e.name || "", address: e.address || "", scale: e.scale || 28, infoUrl: e.infoUrl || "" }, e)
},
hideOptionMenu: function (e) {
k("hideOptionMenu", {}, e)
},
showOptionMenu: function (e) {
k("showOptionMenu", {}, e)
},
closeWindow: function (e) {
k("closeWindow", {}, (e = e || {}))
},
hideMenuItems: function (e) {
k("hideMenuItems", { menuList: e.menuList }, e)
},
showMenuItems: function (e) {
k("showMenuItems", { menuList: e.menuList }, e)
},
hideAllNonBaseMenuItem: function (e) {
k("hideAllNonBaseMenuItem", {}, e)
},
showAllNonBaseMenuItem: function (e) {
k("showAllNonBaseMenuItem", {}, e)
},
scanQRCode: function (e) {
k(
"scanQRCode",
{ needResult: (e = e || {}).needResult || 0, scanType: e.scanType || ["qrCode", "barCode"] },
((e._complete = function (e) {
var n
u && (n = e.resultStr) && ((n = JSON.parse(n)), (e.resultStr = n && n.scan_code && n.scan_code.scan_result))
}),
e)
)
},
openAddress: function (e) {
k(
a.openAddress,
{},
((e._complete = function (e) {
;((e = e).postalCode = e.addressPostalCode), delete e.addressPostalCode, (e.provinceName = e.proviceFirstStageName), delete e.proviceFirstStageName, (e.cityName = e.addressCitySecondStageName), delete e.addressCitySecondStageName, (e.countryName = e.addressCountiesThirdStageName), delete e.addressCountiesThirdStageName, (e.detailInfo = e.addressDetailInfo), delete e.addressDetailInfo
}),
e)
)
},
openProductSpecificView: function (e) {
k(a.openProductSpecificView, { pid: e.productId, view_type: e.viewType || 0, ext_info: e.extInfo }, e)
},
addCard: function (e) {
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
var r = n[t],
r = { card_id: r.cardId, card_ext: r.cardExt }
i.push(r)
}
k(
a.addCard,
{ card_list: i },
((e._complete = function (e) {
if ((n = e.card_list)) {
for (var n, i = 0, t = (n = JSON.parse(n)).length; i < t; ++i) {
var o = n[i]
;(o.cardId = o.card_id), (o.cardExt = o.card_ext), (o.isSuccess = !!o.is_succ), delete o.card_id, delete o.card_ext, delete o.is_succ
}
;(e.cardList = n), delete e.card_list
}
}),
e)
)
},
chooseCard: function (e) {
k(
"chooseCard",
{ app_id: h.appId, location_id: e.shopId || "", sign_type: e.signType || "SHA1", card_id: e.cardId || "", card_type: e.cardType || "", card_sign: e.cardSign, time_stamp: e.timestamp + "", nonce_str: e.nonceStr },
((e._complete = function (e) {
;(e.cardList = e.choose_card_info), delete e.choose_card_info
}),
e)
)
},
openCard: function (e) {
for (var n = e.cardList, i = [], t = 0, o = n.length; t < o; ++t) {
var r = n[t],
r = { card_id: r.cardId, code: r.code }
i.push(r)
}
k(a.openCard, { card_list: i }, e)
},
consumeAndShareCard: function (e) {
k(a.consumeAndShareCard, { consumedCardId: e.cardId, consumedCode: e.code }, e)
},
chooseWXPay: function (e) {
k(a.chooseWXPay, x(e), e)
},
openEnterpriseRedPacket: function (e) {
k(a.openEnterpriseRedPacket, x(e), e)
},
startSearchBeacons: function (e) {
k(a.startSearchBeacons, { ticket: e.ticket }, e)
},
stopSearchBeacons: function (e) {
k(a.stopSearchBeacons, {}, e)
},
onSearchBeacons: function (e) {
M(a.onSearchBeacons, e)
},
openEnterpriseChat: function (e) {
k("openEnterpriseChat", { useridlist: e.userIds, chatname: e.groupName }, e)
},
launchMiniProgram: function (e) {
k(
"launchMiniProgram",
{
targetAppId: e.targetAppId,
path: (e => {
var n
if ("string" == typeof e && 0 < e.length) return (n = e.split("?")[0]), (n += ".html"), void 0 !== (e = e.split("?")[1]) ? n + "?" + e : n
})(e.path),
envVersion: e.envVersion,
},
e
)
},
miniProgram: {
navigateBack: function (e) {
;(e = e || {}),
B(function () {
k("invokeMiniProgramAPI", { name: "navigateBack", arg: { delta: e.delta || 1 } }, e)
})
},
navigateTo: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "navigateTo", arg: { url: e.url } }, e)
})
},
redirectTo: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "redirectTo", arg: { url: e.url } }, e)
})
},
switchTab: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "switchTab", arg: { url: e.url } }, e)
})
},
reLaunch: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "reLaunch", arg: { url: e.url } }, e)
})
},
postMessage: function (e) {
B(function () {
k("invokeMiniProgramAPI", { name: "postMessage", arg: e.data || {} }, e)
})
},
getEnv: function (e) {
B(function () {
e({ miniprogram: "miniprogram" === r.__wxjs_environment })
})
},
},
}),
(w = 1),
(T = {}),
n.addEventListener(
"error",
function (e) {
var n, i, t
l ||
((t = (n = e.target).tagName), (i = n.src), "IMG" != t && "VIDEO" != t && "AUDIO" != t && "SOURCE" != t) ||
(-1 != i.indexOf("wxlocalresource://") &&
(e.preventDefault(),
e.stopPropagation(),
(t = n["wx-id"]) || ((t = w++), (n["wx-id"] = t)),
T[t] ||
((T[t] = !0),
wx.ready(function () {
wx.getLocalImgData({
localId: i,
success: function (e) {
n.src = e.localData
},
})
}))))
},
!0
),
n.addEventListener(
"load",
function (e) {
var n
l || ((n = (e = e.target).tagName), "IMG" != n && "VIDEO" != n && "AUDIO" != n && "SOURCE" != n) || ((n = e["wx-id"]) && (T[n] = !1))
},
!0
),
e && (r.wx = r.jWeixin = _),
_
)
function k(n, e, i) {
r.WeixinJSBridge
? WeixinJSBridge.invoke(n, P(e), function (e) {
A(n, e, i)
})
: C(n, i)
}
function M(n, i, t) {
r.WeixinJSBridge
? WeixinJSBridge.on(n, function (e) {
t && t.trigger && t.trigger(e), A(n, e, i)
})
: C(n, t || i)
}
function P(e) {
return ((e = e || {}).appId = h.appId), (e.verifyAppId = h.appId), (e.verifySignType = "sha1"), (e.verifyTimestamp = h.timestamp + ""), (e.verifyNonceStr = h.nonceStr), (e.verifySignature = h.signature), e
}
function x(e) {
return { timeStamp: e.timestamp + "", nonceStr: e.nonceStr, package: e.package, paySign: e.paySign, signType: e.signType || "SHA1" }
}
function A(e, n, i) {
"openEnterpriseChat" == e && (n.errCode = n.err_code), delete n.err_code, delete n.err_desc, delete n.err_detail
var t = n.errMsg,
e =
(t ||
((t = n.err_msg),
delete n.err_msg,
(t = ((e, n) => {
var i,
t = c[e]
return t && (e = t), (t = "ok"), n && ((i = n.indexOf(":")), ("access denied" != (t = (t = (t = -1 != (t = -1 != (t = "failed" == (t = "confirm" == (t = n.substring(i + 1)) ? "ok" : t) ? "fail" : t).indexOf("failed_") ? t.substring(7) : t).indexOf("fail_") ? t.substring(5) : t).replace(/_/g, " ")).toLowerCase()) && "no permission to execute" != t) || (t = "permission denied"), "" == (t = "config" == e && "function not exist" == t ? "ok" : t)) && (t = "fail"), (n = e + ":" + t)
})(e, t)),
(n.errMsg = t)),
(i = i || {})._complete && (i._complete(n), delete i._complete),
(t = n.errMsg || ""),
h.debug && !i.isInnerInvoke && alert(JSON.stringify(n)),
t.indexOf(":"))
switch (t.substring(e + 1)) {
case "ok":
i.success && i.success(n)
break
case "cancel":
i.cancel && i.cancel(n)
break
default:
i.fail && i.fail(n)
}
i.complete && i.complete(n)
}
function V(e) {
if (e) {
for (var n = 0, i = e.length; n < i; ++n) {
var t = e[n],
t = a[t]
t && (e[n] = t)
}
return e
}
}
function C(e, n) {
var i
!h.debug || (n && n.isInnerInvoke) || ((i = c[e]) && (e = i), n && n._complete && delete n._complete, console.log('"' + e + '",', n || ""))
}
function L() {
return new Date().getTime()
}
function B(e) {
o && (r.WeixinJSBridge ? e() : n.addEventListener && n.addEventListener("WeixinJSBridgeReady", e, !1))
}
})

View File

@ -6,10 +6,7 @@
</div>
</div>
</template>
<script src="../public/js/jweixin-1.3.2.js"></script>
<script>
export default {
name: "App",
data() {
@ -60,7 +57,7 @@ export default {
if (Object.keys(this.$store.state.user).length !== 0) {
this.useSocket()
clearInterval(timer)
}
}
}, 1000)
},
@ -68,7 +65,7 @@ export default {
// socket
useSocket() {
let token = this.getMiucmsSessionCookie() || ""
this.socketTask = new WebSocket(`wss://socket.gter.net?token=${token}`)
this.socketTask = new WebSocket(`wss://app.gter.net/socket?token=${token}`)
this.socketTask.onopen = () => {
let user = this.$store.state.user || {}
if (user && token) {

View File

@ -18,8 +18,8 @@
</div>
</div>
<div class="head-arrows" :class="{ animation: headMorePopState }" v-if="headMorePopState"></div>
<div class="head-more-pop" :class="{ animation: headMorePopState }">
<div class="head-arrows" :class="{animation: headMorePopState}" v-if="headMorePopState"></div>
<div class="head-more-pop" :class="{animation: headMorePopState}">
<div class="head-more-userinfo flex1 flexacenter">
<div class="head-more-left flexacenter" v-if="islogin">
<router-link class="flexacenter" to="/user" @click.native="headMorePopState = !headMorePopState">
@ -46,7 +46,7 @@
</div>
<div class="tab-list">
<a class="tab-item flexacenter" :href="item.url" target="_blank" :class="{ pitch: item.current == 1 }" v-for="(item, index) in menu" :key="index">{{ item.name }}</a>
<a class="tab-item flexacenter" :href="item.url" target="_blank" :class="{pitch: item.current == 1}" v-for="(item, index) in menu" :key="index">{{ item.name }}</a>
</div>
<div class="head-more-post flexcenter" @click.stop="$skipUrl(invitationPost, false)">
@ -69,7 +69,7 @@
<script>
import SearchBox from "../components/SearchBox.vue"
import { invitationPost } from "@/utils/bizarreUrl"
import {invitationPost} from "@/utils/bizarreUrl"
export default {
name: "HeaderNav",
@ -98,10 +98,11 @@ export default {
if (JSON.stringify(user) === "{}") this.$store.dispatch("getUserInfo", this)
else {
this.userInfo = user
this.islogin = user.uid > 0 || user.uin > 0 ? true : false
this.islogin = user.uid > 0 ? true : false
this.hotSearchkeywords = this.$store.state.hotSearchkeywords
this.menu = this.$store.state.menu
}
},
methods: {

View File

@ -2,12 +2,11 @@ import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { Message, Pagination, Alert, Loading, Dialog } 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"
Vue.config.productionTip = false
Vue.prototype.$loginUrl = "https://passport.gter.net/" // 跳转登录的url
@ -27,8 +26,7 @@ Vue.prototype.$closeUnderLoading = closeUnderLoading // 关闭加载提示 elem
Vue.prototype.$formattedDate = formattedDate // 时间戳转格式
Vue.prototype.$updateURLSearchParams = updateURLSearchParams // 不刷新的情况下修改url
Vue.prototype.$clearCookies = clearCookies // 清空Cookies
Vue.prototype.$baseURL = $baseURL // 清空Cookies
Vue.prototype.$baseURL = "https://ansnid.oss-cn-shenzhen.aliyuncs.com/forum" // 清空Cookies
//svg文件引入
import './icons'
@ -46,7 +44,6 @@ if (!Array.isArray) {
Vue.use(Pagination);
Vue.use(Alert);
Vue.use(Loading);
Vue.use(Dialog);
// v-focus
Vue.directive('focus', {

View File

@ -1,158 +1,143 @@
import Vue from "vue"
import VueRouter from "vue-router"
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const VueRouterPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(to) {
return VueRouterPush.call(this, to).catch(err => err)
return VueRouterPush.call(this, to).catch(err => err)
}
//标题js
import getPageTitle from "@/utils/title-config"
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")
const AllSections = () => import("views/index/allSections/AllSections")
const search = () => import("views/search/search")
const SearchResult = () => import("views/search/searchResult/SearchResult")
const user = () => import("views/user/user")
const userIndex = () => import("views/user/UserIndex")
const detail = () => import("views/detail/detail")
const detailIndex = () => import("views/detail/detailIndex")
const Index = () => import('views/index/index')
const Recommend = () => import('views/index/recommend/Recommend')
const Collect = () => import('views/index/collect/Collect')
const AllSections = () => import('views/index/allSections/AllSections')
const search = () => import('views/search/search')
const SearchResult = () => import('views/search/searchResult/SearchResult')
const user = () => import('views/user/user')
const userIndex = () => import('views/user/UserIndex')
const detail = () => import('views/detail/detail')
const detailIndex = () => import('views/detail/detailIndex')
const routes = [
{
// 首页
// path: '*',
path: "/",
name: "Index",
redirect: "/recommend",
component: Index,
children: [
{
path: "/recommend",
name: "Recommend",
component: Recommend,
meta: {
title: "推荐版块",
},
},
{
path: "/collect",
name: "Collect",
component: Collect,
meta: {
title: "收藏的版块",
},
},
{
path: "/allSections",
name: "AllSections",
component: AllSections,
meta: {
title: "全部版块",
},
},
],
},
{
path: "/searchResult", // 搜索结果
name: "search",
redirect: "/searchResult",
component: search,
children: [
{
path: "/searchResult",
name: "Recommend",
component: SearchResult,
meta: {
title: "搜索帖子",
},
},
],
},
{
path: "/user", // 我的
name: "user",
redirect: "/userIndex",
component: user,
children: [
{
path: "/userIndex",
name: "userIndex",
component: userIndex,
meta: {
title: "我的寄托",
},
},
],
},
{
path: "/detail", // 帖子详情
name: "detail",
redirect: "/detailIndex",
component: detail,
children: [
{
path: "/detailIndex",
name: "detailIndex",
component: detailIndex,
meta: {
title: "帖子详情",
},
},
],
},
{
// 首页
// path: '*',
path: '/',
name: 'Index',
redirect: "/recommend",
component: Index,
children: [
{
path: '/recommend',
name: 'Recommend',
component: Recommend,
meta: {
title: "推荐版块"
}
},
{
path: '/collect',
name: 'Collect',
component: Collect,
meta: {
title: "收藏的版块"
}
},
{
path: '/allSections',
name: 'AllSections',
component: AllSections,
meta: {
title: "全部版块"
}
},
]
}, {
path: '/searchResult', // 搜索结果
name: 'search',
redirect: "/searchResult",
component: search,
children: [
{
path: '/searchResult',
name: 'Recommend',
component: SearchResult,
meta: {
title: "搜索帖子"
}
},
]
}, {
path: '/user', // 我的
name: 'user',
redirect: "/userIndex",
component: user,
children: [
{
path: '/userIndex',
name: 'userIndex',
component: userIndex,
meta: {
title: "我的寄托"
}
},
]
}, {
path: '/detail', // 帖子详情
name: 'detail',
redirect: "/detailIndex",
component: detail,
children: [
{
path: '/detailIndex',
name: 'detailIndex',
component: detailIndex,
meta: {
title: "帖子详情"
}
},
]
}
]
const router = new VueRouter({
mode: "history",
// mode: 'hash',
// mode: process.env.NODE_ENV == "development" ? 'hash' : 'history',
// base: process.env.BASE_URL,
routes,
mode: 'history',
// 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 (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 (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])
// }
}
if (window._czc) {
let location = window.location
let contentUrl = location.pathname + location.hash
let refererUrl = "/"
// 用于发送某个URL的PV统计请求
window._czc.push(["_trackPageview", contentUrl, refererUrl])
}
if (typeof wx !== "undefined") {
// console.log("to.fullPath", to.fullPath)
}
setTimeout(() => {
wx.miniProgram.postMessage({
data: location.href,
})
}, 200)
// wx.miniProgram.postMessage({
// data: to.fullPath,
// })
}
next()
})
next();
});
export default router

View File

@ -1,135 +1,122 @@
import Vue from "vue"
import Vuex from "vuex"
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
historicalSearch: [], // 历史数据
allForumList: [], // 全部板块数据
homeRequestState: false, // 首页推荐和收藏接口的数据请求状态 这个是是否需要发送请求,因为用户点击收藏后需要重新获取
getUserInfoState: false, // 这个是是否在请求状态
favoriteList: [], // 收藏板块 数据
recommendList: [], // 推荐板块数据
menu: [],
user: {}, // 用户信息
hotSearchkeywords: [], // 热门搜索
loading: null,
},
getters: {},
state: {
historicalSearch: [], // 历史数据
allForumList: [], // 全部板块数据
homeRequestState: false, // 首页推荐和收藏接口的数据请求状态 这个是是否需要发送请求,因为用户点击收藏后需要重新获取
getUserInfoState: false, // 这个是是否在请求状态
favoriteList: [], // 收藏板块 数据
recommendList: [], // 推荐板块数据
menu: [],
user: {}, // 用户信息
hotSearchkeywords: [], // 热门搜索
loading: null,
},
getters: {
},
mutations: {
setHistoricalSearch(state, payload) {
if (!Array.isArray(payload)) payload = [payload]
let targetArr = [...new Set([...payload, ...state.historicalSearch])]
if (targetArr.length > 10) targetArr = targetArr.slice(0, 10)
mutations: {
setHistoricalSearch(state, payload) {
if (!Array.isArray(payload)) payload = [payload]
let targetArr = [...new Set([...payload, ...state.historicalSearch])]
if (targetArr.length > 10) targetArr = targetArr.slice(0, 10)
state.historicalSearch = targetArr
localStorage.setItem("historicalSearch", JSON.stringify(targetArr))
},
setAllForumList(state, payload) {
state.allForumList = payload
},
setHomeRequestState(state, payload) {
state.homeRequestState = payload
},
setFavoriteList(state, payload) {
state.favoriteList = payload
},
setRecommendList(state, payload) {
state.recommendList = payload
},
setUser(state, payload) {
state.user = payload
},
setHotSearchkeywords(state, payload) {
state.hotSearchkeywords = payload
},
setgetUserInfoState(state, payload) {
state.getUserInfoState = payload
},
setMenu(state, payload) {
state.menu = payload
},
state.historicalSearch = targetArr
localStorage.setItem('historicalSearch', JSON.stringify(targetArr))
},
actions: {
// 获取历史搜索的数据
fetchHistoricalSearch({ commit }) {
let historicalSearch = JSON.parse(localStorage.getItem("historicalSearch")) || []
commit("setHistoricalSearch", historicalSearch)
},
// 获取全部板块的数据
getAllForum({ commit }, 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)
})
},
// 获取用户信息 获取收藏信息那些数据
getUserInfo({ state, commit }, that) {
if (state.getUserInfoState) return
commit("setgetUserInfoState", true)
that.$http
.post("/api/home")
.then(res => {
if (res.code != 200) return
let data = res.data
let { config, favorite, hotSearchkeywords, recommend, user, menu } = data
const islogin = user.uin > 0 || user.uid > 0 ? true : false
// console.log("islogin", islogin)
commit("setHomeRequestState", true)
commit("setUser", user)
commit("setFavoriteList", favorite)
commit("setRecommendList", recommend)
commit("setHotSearchkeywords", hotSearchkeywords)
commit("setMenu", menu)
if (user.uid > 0 || user.uin > 0) {
// 这个是顶部用户数据的 这样不用监听是否请求成功
setTimeout(() => {
if (typeof xstat !== "undefined") {
xstat.identify({
uid: user.uid,
uin: user.uin,
})
}
}, 600)
}
if (that.userInfo) {
// 这个是顶部用户数据的 这样不用监听是否请求成功
that.userInfo = user
that.islogin = user.uid > 0 || user.uin > 0 ? true : false
that.hotSearchkeywords = hotSearchkeywords
that.menu = menu
}
})
.catch(err => {
that.$message.error(err.message)
})
.finally(() => {
// that.$closeUnderLoading(that)
commit("setgetUserInfoState", false)
})
},
setAllForumList(state, payload) {
state.allForumList = payload
},
modules: {},
setHomeRequestState(state, payload) {
state.homeRequestState = payload
},
setFavoriteList(state, payload) {
state.favoriteList = payload
},
setRecommendList(state, payload) {
state.recommendList = payload
},
setUser(state, payload) {
state.user = payload
},
setHotSearchkeywords(state, payload) {
state.hotSearchkeywords = payload
},
setgetUserInfoState(state, payload) {
state.getUserInfoState = payload
},
setMenu(state, payload) {
state.menu = payload
}
},
actions: {
// 获取历史搜索的数据
fetchHistoricalSearch({ commit }) {
let historicalSearch = JSON.parse(localStorage.getItem('historicalSearch')) || []
commit('setHistoricalSearch', historicalSearch)
},
// 获取全部板块的数据
getAllForum({ commit }, 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)
})
},
// 获取用户信息 获取收藏信息那些数据
getUserInfo({ state, commit }, that) {
if (state.getUserInfoState) return
commit('setgetUserInfoState', true)
that.$http.post("/api/home").then(res => {
if (res.code != 200) return;
let data = res.data
let { config, favorite, hotSearchkeywords, recommend, user, menu } = data
commit('setHomeRequestState', true)
commit('setUser', user)
commit('setFavoriteList', favorite)
commit('setRecommendList', recommend)
commit('setHotSearchkeywords', hotSearchkeywords)
commit('setMenu', menu)
if (that.userInfo) { // 这个是顶部用户数据的 这样不用监听是否请求成功
that.userInfo = user
that.islogin = user.uid > 0 ? true : false;
that.hotSearchkeywords = hotSearchkeywords
that.menu = menu
}
}).catch(err => {
that.$message.error(err.message)
}).finally(() => {
// that.$closeUnderLoading(that)
commit('setgetUserInfoState', false)
})
},
},
modules: {
}
})

View File

@ -32,7 +32,7 @@ service.interceptors.request.use(
// config['headers']['authorization'] = "661aiz52k5e6vqgmkxnz0wvbv8nciz8h"
// if (process.env.NODE_ENV == "development") config['headers']['authorization'] = "0h870ovk2xckoqfsh8a3t3sg4sg5z7eg"
if (process.env.NODE_ENV == "development") config["headers"]["authorization"] = "fed3c5700b07f543d336c9efe03c82c2"
if (process.env.NODE_ENV == "development") config["headers"]["authorization"] = "95paemsnrr393p9vikpp16qo72"
return config
},

View File

@ -29,21 +29,6 @@
<a class="edit-box flexcenter" v-if="info.isauthor == 1" :href="`https://www.gter.net/bbs/post/edit.html?tid=${tid}&pid=${info.pid}`">
<img class="edit-icom" src="@/assets/img/detail/edit.png" />
</a>
<div class="manager-box" v-if="managementauthority">
<div class="dot-box flexflex" @click="openAdminOperate(null)">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<template v-if="adminOperateState">
<div class="operate-mask" @click="closeAdminOperate"></div>
<div class="operate">
<div class="item" @click="popUupDialog(0)">删除该帖</div>
<div class="item" @click="popUupDialog(1)">删帖且禁言</div>
</div>
</template>
</div>
</div>
<template v-if="type == 5">
<div class="summary-content">
@ -180,20 +165,6 @@
<div class="edit-box flexcenter" v-if="item.ismyself == 1" @click.stop="openEditPop(item)">
<img class="edit-icom" src="@/assets/img/detail/edit.png" />
</div>
<div class="manager-box" v-if="managementauthority">
<div class="dot-box flexflex" @click="openAdminOperate(index)">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<template v-if="item.adminOperateState">
<div class="operate-mask" @click="closeAdminOperate"></div>
<div class="operate">
<div class="item" @click="popUupDialog(0)">删除该楼</div>
<div class="item" @click="popUupDialog(1)">删楼且禁言</div>
</div>
</template>
</div>
</div>
<div class="card-content flex1" @click.stop="handleReplyPop(item)" v-html="item.message"></div>
@ -556,11 +527,6 @@ export default {
9: "CS/EE",
10: "生农医药",
},
adminOperateState: false, //
deletePostToken: "",
managementauthority: 0, //
adminOperateListIndex: null, //
}
},
@ -572,7 +538,7 @@ export default {
"$store.state.user": {
handler(newV, oldV) {
if (JSON.stringify(newV) != "{}") {
this.islogin = newV.uid > 0 || newV.uin > 0 ? true : false
this.islogin = newV.uid > 0 ? true : false
this.tid = this.$route.query["tid"]
this.postList.page = this.$route.query["page"] || 1
@ -603,7 +569,7 @@ export default {
let data = res.data
let info = data.info
this.managementauthority = data.managementauthority
console.log(data.type)
info["message"] = info["message"].trim()
@ -1168,8 +1134,8 @@ export default {
if (thread.apply_llm) value += " LL.M"
if (thread.apply_jd) value += " J.D"
} else if (key == "country") {
thread.country.forEach((element, i) => {
value += element.name + (i > 1 ? "、" : "")
thread.country.forEach(element => {
value += element.name + "、"
})
} else if (key == "scholarship") {
value = "是"
@ -1177,7 +1143,7 @@ export default {
if (thread.profession_cid == 2) value = thread[key] == 1 ? "男" : "女"
else value = null
} else if (key == "lsat") {
if (thread.profession_cid == 2) value = thread["lsat"]
if (thread.profession_cid == 2) value = thread['lsat']
else value = null
} else if (key == "experience") {
value = experience[thread[key]]
@ -1199,60 +1165,6 @@ export default {
this.locationThreadData = obj1
})
},
//
openAdminOperate(index) {
this.deletePostToken = ""
this.adminOperateListIndex = null
if (index == null) {
this.adminOperateState = true
this.deletePostToken = this.token
return
}
this.postList.list[index]["adminOperateState"] = true
this.deletePostToken = this.postList.list[index].token
this.adminOperateListIndex = index
this.$forceUpdate()
// this.postList = this.token
},
//
closeAdminOperate() {
this.adminOperateState = false
this.postList.list.forEach(element => {
element["adminOperateState"] = false
})
this.$forceUpdate()
},
//
popUupDialog(hackinguser) {
this.closeAdminOperate()
const userConfirmed = confirm(`确定要${hackinguser ? "删除且禁言" : "删除"}?`)
if (userConfirmed) this.deletePost(hackinguser)
},
//
deletePost(hackinguser) {
console.log(this.adminOperateListIndex, "this.adminOperateListIndex")
// return
this.$http.post("/api/manage/delete", { token: this.deletePostToken, hackinguser }).then(res => {
if (res.code != 200) return
console.log(this.adminOperateListIndex)
if (this.adminOperateListIndex != null) {
location.reload()
return
}
if (document.referrer) window.history.back()
else window.location.href = "/"
this.openHintBox(res.message)
this.deletePostToken = ""
})
},
},
components: {
@ -1426,57 +1338,6 @@ export default {
width: 0.4rem;
}
}
.manager-box {
position: relative;
.dot-box {
margin-left: 0.4533rem;
height: 0.8rem;
align-items: center;
.item {
width: 0.0667rem;
height: 0.0667rem;
border-radius: 50%;
background: #8a8a8a;
border: 0.0133rem #7f7f7f solid;
&:not(:last-of-type) {
margin-right: 0.04rem;
}
}
}
.operate-mask {
width: 100vw;
height: 100vh;
// background: rgba(138, 138, 138, 0.6);
position: fixed;
top: 0;
left: 0;
}
.operate {
box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.1);
background: #fff;
position: absolute;
top: 0.8rem;
right: 0;
font-size: 0.36rem;
width: 2.9067rem;
border-radius: 0.1rem;
.item {
height: 1.0667rem;
line-height: 1.0667rem;
text-align: center;
color: #333;
&:not(:last-of-type) {
border-bottom: 0.0133rem solid #f0f0f0;
}
}
}
}
}
.card-content {

View File

@ -55,7 +55,7 @@
<div v-if="count > limit" class="paging flexcenter">
<el-pagination small background layout="prev, pager, next" @current-change="currentChange()"
:current-page.sync="page" :page-size="limit" :total="count * 1">
:current-page.sync="page" :page-size="limit" :total="count">
</el-pagination>
</div>

View File

@ -8,7 +8,7 @@ function resolve(dir) {
}
module.exports = defineConfig({
transpileDependencies: true,
publicPath: process.env.NODE_ENV === 'production' ? "https://framework.x-php.com/forum/" : '/',
publicPath: process.env.NODE_ENV === 'production' ? "https://ansnid.oss-cn-shenzhen.aliyuncs.com/forum" : '/',
// publicPath: "https://x-cloud-project.oss-cn-guangzhou.aliyuncs.com/forum",
configureWebpack: {
optimization: {