diff --git a/src/assets/img/detail/icon_quote_e.gif b/src/assets/img/detail/icon_quote_e.gif
new file mode 100644
index 0000000..572c35c
Binary files /dev/null and b/src/assets/img/detail/icon_quote_e.gif differ
diff --git a/src/assets/img/detail/icon_quote_s.gif b/src/assets/img/detail/icon_quote_s.gif
new file mode 100644
index 0000000..59087d0
Binary files /dev/null and b/src/assets/img/detail/icon_quote_s.gif differ
diff --git a/src/assets/img/detail/quotation-left.png b/src/assets/img/detail/quotation-left.png
new file mode 100644
index 0000000..b027c97
Binary files /dev/null and b/src/assets/img/detail/quotation-left.png differ
diff --git a/src/assets/img/detail/quotation-right.png b/src/assets/img/detail/quotation-right.png
new file mode 100644
index 0000000..4337352
Binary files /dev/null and b/src/assets/img/detail/quotation-right.png differ
diff --git a/src/components/DetailReply.vue b/src/components/DetailReply.vue
index a49b199..daef92b 100755
--- a/src/components/DetailReply.vue
+++ b/src/components/DetailReply.vue
@@ -13,7 +13,7 @@
                     <div class="discussion-single-content flexacenter flex1">
                         <input class="discussion-single-input flex1" cursor-spacing="5" type="text"
                             :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" :value="commentContent"
-                            @input="inputCommentContent($event)" />
+                            @input="inputCommentContent($event)" v-focus />
                         <img class="discussion-single-input-icom" @click.stop="setValue()"
                             src="@/assets/img/detail/unfold.png" />
                     </div>
@@ -33,16 +33,15 @@
                     <div class="discussion-text one-line">{{ twoCommentData.content }}</div>
                 </div>
                 <div class="discussion-multi-content flexflex flex1">
-                    <textarea class="discussion-multi-textarea flex1" type="text" maxlength="500" :value="commentContent"
-                        :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'" @input="inputCommentContent($event)"></textarea>
+                    <textarea class="discussion-multi-textarea flex1" v-focus type="text" maxlength="500"
+                        :value="commentContent" :placeholder="twoCommentData ? '写回复…' : '想问啥,大胆问…'"
+                        @input="inputCommentContent($event)"></textarea>
                     <img class="discussion-multi-icom" @click.stop="openDiscussionSingle()"
                         src="@/assets/img/detail/pack.png" />
                     <div class="discussion-multi-sum">{{ 500 - commentContent.length }}</div>
                 </div>
                 <div class="discussion-multi-bottom flexflex flexacenter">
-                    <div class="discussion-multi-btn flexcenter" @click.stop="postComment()">
-                        发布
-                    </div>
+                    <div class="discussion-multi-btn flexcenter" @click.stop="postComment()">发布</div>
                 </div>
             </div>
         </div>
@@ -64,7 +63,6 @@ export default {
     },
 
     methods: {
-
         // 提交回复
         postComment() {
             this.$parent.postComment()
diff --git a/src/components/PlateNavigation.vue b/src/components/PlateNavigation.vue
index 5587f0e..874bacb 100755
--- a/src/components/PlateNavigation.vue
+++ b/src/components/PlateNavigation.vue
@@ -97,4 +97,6 @@ export default {
     }
 
 }
+
+
 </style>
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index 9ece1ac..015065a 100755
--- a/src/main.js
+++ b/src/main.js
@@ -50,8 +50,17 @@ Vue.use(Pagination);
 Vue.use(VueSanitize);
 
 
+Vue.directive('focus', {
+  // 当绑定元素插入到 DOM 中。
+  inserted: function (el) {
+    // 聚焦元素
+    el.focus()
+  }
+})
+
 new Vue({
   router,
   store,
-  render: h => h(App)
+  render: h => h(App),
+
 }).$mount('#app')
diff --git a/src/utils/request.js b/src/utils/request.js
index d82daf2..f016b0b 100755
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -11,7 +11,8 @@ axios.defaults.withCredentials = true
 axios.defaults.emulateJSON = true
 
 baseURL = {
-    forum: "https://forum.gter.net",
+    // forum: "https://forum.gter.net",
+    forum: "https://app.gter.net/forum",
     offer: "https://offer.gter.net",
     tenement: "https://app.gter.net",
 
diff --git a/src/views/detail/detailIndex.vue b/src/views/detail/detailIndex.vue
index c906c5e..4aa28c3 100755
--- a/src/views/detail/detailIndex.vue
+++ b/src/views/detail/detailIndex.vue
@@ -18,7 +18,6 @@
             {{ info.subject }}
         </div>
 
-
         <!--  -->
         <div class="card flexcenter">
             <div class="card-item shadow" v-if="postList.page == 1">
@@ -146,7 +145,7 @@
                             index + 2}楼` }}</div>
                         <div class="card-head-fool" v-else>{{ `${(postList.page - 1) * postList.limit + index + 1}楼` }}
                         </div>
-                        <div class="edit-box flexcenter" v-if="item.ismyself == 1" @click.stop="handleIsmyself(item)">
+                        <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="card-head-fool">{{ index == 0 ? '楼主' : `${index}楼` }}</div> -->
@@ -169,8 +168,7 @@
                                         <svg-icon icon-class="quotation-right" class-name="quotation-icon"></svg-icon>
                                     </div>
                                 </div>
-                            </div>
-                            之前申请永久居民,参考了不少寄托的帖子和经验,现在回馈给大家,积攒RP。
+                            </div> 之前申请永久居民,参考了不少寄托的帖子和经验,现在回馈给大家,积攒RP。
                             <!-- 未解锁区域 -->
                             <div class="flexcenter content-unlock content-unlock-no" v-if="index == 3 || index == 4">
                                 <img class="unlock-icom" src="@/assets/img/detail/unlock.png">
@@ -337,6 +335,7 @@ export default {
             // avatar: "https://oss.gter.net/avatar/97KwEWANd_4DHWiY6VbnSUFSCKroYWFjYQ~~/middle",
             // content: "评论回复",
             // },
+            editCommentPid: null,
             popState: "",  // discussionSingle    discussionMulti
             coinConfig: {
                 strategy: {
@@ -493,18 +492,13 @@ export default {
                     return match.replace(/width="[^"]*"/g, '').replace(/height="[^"]*"/g, '');
                 })
 
-                info["messageList"] = []
-
                 info['message'] = info['message'].replaceAll("[hide]作者设置了回复可见[/hide]", `<div class="flexcenter content-unlock content-unlock-no  replyVisible" @click="aa()"><img class="unlock-icom" src="./img/unlock.png"/>作者设置了回复可见</div>`)
 
                 // if (info.message.indexOf("[hide]作者设置了回复可见[/hide]")) {
                 //     `<div class="flexcenter content-unlock content-unlock-no"><img class="unlock-icom" src="@/assets/img/detail/unlock.png">作者设置了回复可见</div>`
                 // }
 
-                // console.log(info['message']);
-
                 // info['message'] = this.$sanitize(info['message'])
-                // console.log(info['message']);
 
                 data.type == 0 ? this.$refs['vHtmlMessage'] ? this.$refs.vHtmlMessage.innerHTML = info['message'] : "" : ""
 
@@ -531,7 +525,8 @@ export default {
                 else if (this.type == 3) this.getTenementDetails()
                 else if (this.type == 2) this.getInterviewDetails()
 
-                info['ispost'] != 0 ? this.getPostList() : ''
+                // info['ispost'] != 0 ? this.getPostList() : ''
+                this.getPostList()
 
             }).finally(() => {
                 this.$closeUnderLoading(this)
@@ -629,6 +624,7 @@ export default {
                 // tid: 2322145,
                 // uniqid: "--G1tS2SCTOQyoOMiedlLKxTnFvHWjBwQezsJjvVJFwgqOtOFeYr4_LAAG5RV37ETvMl2Zd4tSCc-_dqeKpERxXsx-tPfXrUs0kUysTGLzgxYzU~",
                 // token: "5e3c42209eebfbab66e6f0d6c70a53c7",
+                tid: this.tid,
                 token: this.token
             }, "tenement").then(res => {
                 // console.log(res);
@@ -654,25 +650,52 @@ export default {
                 this.postList.count = data.count
             })
 
+        },
 
 
+        // 打开编辑评论
+        openEditPop(item) {
+            console.log(item);
+            let message = item.message
+            message = message.replace(/<div[^>]*>[\s\S]*?<\/div>/gi, '');
+            message = message.trim()
+            this.commentContent = message
+            this.editCommentPid = item.pid
+
+            this.popState = "discussionMulti"
         },
 
         // 处理回复点击弹出弹窗
         handleReplyPop(item) {
+            this.twoCommentData = {
+                avatar: item.avatar,
+                content: item.message,
+                pid: item.pid
+            }
             this.popState = "discussionSingle"
         },
 
         // 集中处理回复帖子
         postComment(message) {
-            this.$http.post("/api/operation/reply", {
+            let url = ""
+
+            if (this.editCommentPid) url = "/api/operation/redactPost"   // 回复评论或者评论
+            else url = "/api/operation/reply"   // 编辑评论
+
+            this.$http.post(url, {
                 token: this.token,
-                message: this.commentContent
+                message: this.commentContent,
+                pid: this.editCommentPid || (this.twoCommentData && this.twoCommentData.pid)
             }).then(res => {
                 if (res.code != 200) return
-                // let data = res.data
-                // console.log(data);
                 this.popState = ""
+                this.twoCommentData = null
+                if (this.editCommentPid) this.$router.go(0)
+
+                this.editCommentPid = null
+
+
+
                 let { count, limit } = this.postList
 
                 let page = Math.ceil((count + 1) / limit)
@@ -714,7 +737,6 @@ export default {
             else if (key == "uncollect") url = "/api/operation/threadunFav"
 
             this.$http.post(url, { tid: this.tid }).then(res => {
-                console.log(res);
                 if (res.code != 200) return
                 if (key == "like") this.info.islike = 1
                 if (key == "collect") this.info.isfav = 1
@@ -903,7 +925,6 @@ export default {
 
                     .edit-icom {
                         width: .4rem;
-                        // height: .4rem;
                     }
                 }
             }
@@ -921,44 +942,54 @@ export default {
                         width: 100% !important;
                         height: auto !important;
                     }
-                }
 
-                .quotation {
-                    width: 100%;
-                    color: #333;
-                    font-size: .32rem;
-                    border-radius: .16rem;
-                    background: rgb(246, 246, 246);
-                    padding: .36rem .24rem;
-                    box-sizing: border-box;
-                    margin-bottom: .48rem;
+                    .quote {
+                        width: 100%;
+                        color: #333;
+                        font-size: .32rem;
+                        border-radius: .16rem;
+                        background: rgb(246, 246, 246) url(@/assets/img/detail/quotation-left.png) no-repeat .4rem .2666rem;
 
-                    .quotation-wenzi {
-                        line-height: .52rem;
-                    }
+                        padding: .1333rem .1333rem .1333rem 1rem;
 
-                    .quotation-icon {
-                        width: .32rem;
-                        height: .26rem;
-                    }
+                        // padding: .36rem .24rem;
+                        box-sizing: border-box;
+                        margin-bottom: .48rem;
 
-                    .quotation-right {
-                        flex-direction: column;
-                        margin-left: .28rem;
+                        blockquote {
+                            margin: 0;
+                            padding: 0 .8667rem .0667rem 0;
+                            background: url(@/assets/img/detail/quotation-right.png) no-repeat 100% 100%;
+                            line-height: 1.6;
+                            zoom: 1;
+                            display: inline;
+                        }
 
-                        .quotation-bottom {
-                            color: #7F7F7F;
-                            font-size: .28rem;
-                            margin-top: .258rem;
+                        .quotation-wenzi {
+                            line-height: .52rem;
+                        }
 
-                            .quotation-icon {
-                                margin-left: .2rem;
+                        .quotation-icon {
+                            width: .32rem;
+                            height: .26rem;
+                        }
+
+                        .quotation-right {
+                            flex-direction: column;
+                            margin-left: .28rem;
+
+                            .quotation-bottom {
+                                color: #7F7F7F;
+                                font-size: .28rem;
+                                margin-top: .258rem;
+
+                                .quotation-icon {
+                                    margin-left: .2rem;
+                                }
                             }
                         }
                     }
-                }
 
-                /deep/ {
                     .content-unlock {
                         &.content-unlock-no {
                             height: 3.2rem;
@@ -1000,6 +1031,8 @@ export default {
                         }
 
                     }
+
+
                 }
 
 
diff --git a/src/views/index/allSections/AllSections.vue b/src/views/index/allSections/AllSections.vue
index 58bea61..83f2cb5 100755
--- a/src/views/index/allSections/AllSections.vue
+++ b/src/views/index/allSections/AllSections.vue
@@ -100,7 +100,6 @@ export default {
 	methods: {
 		// 处理 query 的参数
 		handQuery() {
-			console.log(this.list);
 			if (this.list.length >= 2) {
 				let list = this.list
 				list.forEach((el, index) => {
@@ -119,10 +118,6 @@ export default {
 
 				})
 
-				console.log(this.allActive, "allActive");
-
-
-
 			} else {
 				setTimeout(() => {
 					this.handQuery()
@@ -196,8 +191,8 @@ export default {
 			this.$router.push({ path: `/allSections`, query: { fid: this.fid, invitationPage: this.invitationPage } })
 		},
 
+		// 点击回归板块列表
 		flybackAll() {
-			console.log("jkldfgjklfggfdjklgfjkl");
 			this.isPlateListState = true
 		},