作者 韩昌

我又优化了一次评论

@@ -209,9 +209,13 @@ export default { @@ -209,9 +209,13 @@ export default {
209 // console.log(options.itemId) 209 // console.log(options.itemId)
210 this.itemId = options.itemId 210 this.itemId = options.itemId
211 this.getDetail() 211 this.getDetail()
212 - this.getCommentList() 212 +
213 // this.userInfo = JSON.parse(options.userInfo) 213 // this.userInfo = JSON.parse(options.userInfo)
214 }, 214 },
  215 + onShow() {
  216 + this.pingList = []
  217 + this.getCommentList()
  218 + },
215 onReachBottom() { 219 onReachBottom() {
216 if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' }) 220 if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' })
217 this.curPage += 1 221 this.curPage += 1
@@ -172,6 +172,7 @@ export default { @@ -172,6 +172,7 @@ export default {
172 this.huiState = false 172 this.huiState = false
173 this.curPage = 1 173 this.curPage = 1
174 this.getCommentList() 174 this.getCommentList()
  175 + this.huiValue = ''
175 uni.showToast({ title: '回复成功~' }) 176 uni.showToast({ title: '回复成功~' })
176 }, 177 },
177 huiHandler(pid, name) { 178 huiHandler(pid, name) {
1 -{"version":3,"sources":["uni-app:///main.js",null,"webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?5149","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?8471","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?b779","uni-app:///pages/index/detail.vue","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?b87b","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?cb05"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"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","file":"pages/index/detail.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/detail.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./detail.vue?vue&type=template&id=5166ee27&\"\nvar renderjs\nimport script from \"./detail.vue?vue&type=script&lang=js&\"\nexport * from \"./detail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./detail.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/detail.vue\"\nexport default component.exports","export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=template&id=5166ee27&\"","var components\ntry {\n components = {\n uDivider: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-divider/u-divider\" */ \"uview-ui/components/u-divider/u-divider.vue\"\n )\n },\n uIcon: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-icon/u-icon\" */ \"uview-ui/components/u-icon/u-icon.vue\"\n )\n },\n uSearch: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n )\n },\n uPopup: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-popup/u-popup\" */ \"uview-ui/components/u-popup/u-popup.vue\"\n )\n },\n \"u-Textarea\": function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u--textarea/u--textarea\" */ \"uview-ui/components/u--textarea/u--textarea.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var l1 = _vm.__map(_vm.pingList, function(item, index) {\n var $orig = _vm.__get_orig(item)\n\n var g0 = item.create_time.slice(5, 16)\n var l0 = item.child.length ? item.child.slice(0, 2) : null\n return {\n $orig: $orig,\n g0: g0,\n l0: l0\n }\n })\n\n if (!_vm._isMounted) {\n _vm.e0 = function($event) {\n _vm.rightCate = true\n }\n\n _vm.e1 = function($event) {\n _vm.inputState = true\n }\n\n _vm.e2 = function($event) {\n _vm.inputState = true\n }\n\n _vm.e3 = function($event) {\n _vm.huiState = false\n }\n\n _vm.e4 = function($event) {\n _vm.inputState = false\n }\n }\n\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n l1: l1\n }\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=script&lang=js&\"","<template>\r\n <view>\r\n <view class=\"topInfoBox flexA\">\r\n <view class=\"flexA\">\r\n <image :src=\"itemlist.user.avatar\" mode=\"scaleToFill\" />\r\n <view class=\"timeText\">\r\n <view>{{ itemlist.user.user_name }}</view>\r\n <view>{{ itemlist.update_time }}</view>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <swiper :autoplay=\"true\" :interval=\"3000\" style=\"height: 420rpx\" class=\"swiper\" @change=\"changeSwiperHandler\">\r\n <swiper-item v-for=\"item in bannerList\" :key=\"item\" class=\"flexC\" @click=\"prevViewImageHandler(item)\">\r\n <video v-if=\"item.type == 'video'\" style=\"width: 100%; height: 100%\" :src=\"item.url\" />\r\n <image v-if=\"item.type == 'img'\" :src=\"item.url\" mode=\"heightFix\" />\r\n </swiper-item>\r\n </swiper>\r\n\r\n <view slot=\"indicator\" class=\"indicator\">\r\n <view\r\n class=\"indicator__dot\"\r\n v-for=\"(item, index) in bannerList\"\r\n :key=\"index\"\r\n :class=\"[index === current && 'indicator__dot--active']\"\r\n ></view>\r\n </view>\r\n\r\n <!-- 内容 -->\r\n <view class=\"mainBox\">\r\n <view class=\"titleText\">{{ itemlist.title }}</view>\r\n <view class=\"centerText\">{{ itemlist.content }}</view>\r\n </view>\r\n\r\n <!-- 评论 -->\r\n <view class=\"mainBox2\">\r\n <u-divider></u-divider>\r\n <view class=\"flexJ topBox\" style=\"margin-top: 32rpx\">\r\n <view class=\"pingNumText\">共{{ total || '0' }}条评论</view>\r\n <image style=\"width: 32rpx; height: 32rpx\" src=\"/static/toggle.png\" mode=\"scaleToFill\" @click=\"rightCate = true\" />\r\n <view class=\"xia\" v-if=\"rightCate\">\r\n <view class=\"flexC\" @click=\"sortHandler(0)\">时间排序</view>\r\n <view class=\"flexC\" @click=\"sortHandler(1)\">热度排序</view>\r\n </view>\r\n </view>\r\n\r\n <!-- 评论数据 -->\r\n <view class=\"pingBox\" v-for=\"(item, index) in pingList\" :key=\"item.id\">\r\n <!-- 头像和点赞 -->\r\n <view class=\"pTopBox flexJ\">\r\n <view class=\"avatarBox flexA\">\r\n <image :src=\"item.user_avatar\" mode=\"scaleToFill\" />\r\n <view>{{ item.username }}</view>\r\n </view>\r\n <view class=\"zanBox flexA\">\r\n <image\r\n @click=\"getCommentFavorite(item.is_favorite, index, item.id)\"\r\n :src=\"item.is_favorite == 0 ? '/static/zan1.png' : '/static/zan11.png'\"\r\n mode=\"scaleToFill\"\r\n />\r\n <view>{{ item.favorite_num }}</view>\r\n </view>\r\n </view>\r\n <!-- 内容 -->\r\n <view class=\"contentBox\">{{ item.comment }}</view>\r\n <!-- 回复和时间 -->\r\n <view class=\"timeBox flexA\">\r\n <view>{{ item.create_time.slice(5, 16) }}</view>\r\n <view class=\"flexC\" @click=\"huiHandler(item.id, item.username, index)\">回复</view>\r\n </view>\r\n\r\n <!-- 回复评论 -->\r\n <view class=\"hPBox\" v-if=\"item.child.length\">\r\n <view v-for=\"it in item.child.slice(0, 2)\" :key=\"item.id\">\r\n <view class=\"huifu chao\">\r\n <text class=\"nameText\">{{ it.username }}</text>\r\n <text class=\"huifuText\">回复</text>\r\n <text class=\"nameText\">{{ it.tousername }}:</text>\r\n <text>{{ it.comment }}</text>\r\n <!-- <text >哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</text> -->\r\n </view>\r\n <!-- <view class=\"huifuText\">展开</view> -->\r\n </view>\r\n <view v-if=\"item.child_num >= 2\" class=\"flexA huifuText1Box\" @click=\"toPingDetail(item.id)\">\r\n <view class=\"huifuText1\">查看全部{{ item.child_num }}条回复</view>\r\n <image style=\"width: 16rpx; height: 24rpx\" src=\"/static/blueRIght.png\" mode=\"scaleToFill\" />\r\n </view>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <!-- 底部点赞评论收藏 -->\r\n <view class=\"bottomBtnBox flexA\" v-if=\"!huiState\">\r\n <view class=\"favoriteBox flexA\" @click=\"inputState = true\">\r\n <image class=\"xImg\" src=\"/static/xie.png\" mode=\"scaleToFill\" />\r\n <view>我来说两句...</view>\r\n </view>\r\n\r\n <!-- 点赞 -->\r\n <view class=\"likeBox flexA\" style=\"margin-right: 40rpx\">\r\n <image\r\n :src=\"userFavorite_zan == '1' ? '/static/zan11.png' : '/static/zan1.png'\"\r\n mode=\"scaleToFill\"\r\n @click=\"favoriteHandler(1)\"\r\n />\r\n <view>{{ zanNum }}</view>\r\n </view>\r\n\r\n <!-- 评论 -->\r\n <view class=\"likeBox flexA\" style=\"margin-right: 40rpx\" @click=\"inputState = true\">\r\n <image src=\"/static/icon1.png\" mode=\"scaleToFill\" />\r\n <view>{{ total }}</view>\r\n </view>\r\n\r\n <!-- 收藏 -->\r\n <view class=\"likeBox flexA\">\r\n <image v-if=\"userFavorite_cang == '0'\" src=\"/static/icon2.png\" mode=\"scaleToFill\" @click=\"favoriteHandler(3)\" />\r\n <u-icon v-else name=\"star-fill\" color=\"#6e15ff\" size=\"22\" @click=\"favoriteHandler(3)\"></u-icon>\r\n <view>{{ cangNum }}</view>\r\n </view>\r\n </view>\r\n\r\n <!-- 回复 -->\r\n <view class=\"maskBox flexC\" v-if=\"huiState\" @click=\"huiState = false\">\r\n <view class=\"huiBox1\">\r\n <view class=\"huiBox flexA\" @click.stop=\"abb\">\r\n <view class=\"zIndex\">回复{{ huiName }}:</view>\r\n <view style=\"margin-left: -84rpx\">\r\n <u-search\r\n searchIconColor=\"#F7F8FA\"\r\n placeholder=\" \"\r\n bgColor=\"#F7F8FA\"\r\n :clearabled=\"false\"\r\n @search=\"huifuHandler\"\r\n :showAction=\"false\"\r\n v-model=\"huiValue\"\r\n ></u-search>\r\n </view>\r\n <!-- <input type=\"text\" v-model=\"huiValue\" @input=\"huifuHandler\" /> -->\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <!-- 底部白盒子 -->\r\n <view class=\"fffBox\"></view>\r\n\r\n <u-popup :show=\"inputState\">\r\n <view class=\"inputBox\">\r\n <view class=\"flexJ selectBox\">\r\n <view @click=\"inputState = false\">取消</view>\r\n <view @click=\"pingZHandler\">发送</view>\r\n </view>\r\n <u--textarea\r\n v-model=\"value2\"\r\n maxlength=\"300\"\r\n :showConfirmBar=\"false\"\r\n focus\r\n adjustPosition\r\n placeholder=\"请输入内容\"\r\n count\r\n ></u--textarea>\r\n </view>\r\n </u-popup>\r\n <view style=\"height: 120rpx\"></view>\r\n </view>\r\n</template>\r\n<script>\r\nimport { getDetail, getCommentList, getFavorite, getCommentFavorite, getComment } from '@/api'\r\nexport default {\r\n data() {\r\n return {\r\n value2: '',\r\n inputState: false,\r\n huiState: false,\r\n huiValue: '',\r\n huiName: '',\r\n itemId: '',\r\n itemlist: {},\r\n // 当前指示器\r\n current: 0,\r\n // 轮播图数据\r\n bannerList: [],\r\n // 右侧筛选状态\r\n rightCate: false,\r\n order: 1,\r\n // 用户是否点赞\r\n userFavorite_zan: 0,\r\n // 点赞数量\r\n zanNum: 0,\r\n // 用户是否收藏\r\n userFavorite_cang: 0,\r\n // 收藏数量\r\n cangNum: 0,\r\n // 评论数据\r\n pingList: [],\r\n // 一共多少条评论\r\n total: 0,\r\n // 最后一页\r\n lastPage: 0,\r\n // 当前页\r\n curPage: 1,\r\n // 回复人员id\r\n pid: 0,\r\n // 回复评论索引\r\n huiIdx: ''\r\n }\r\n },\r\n onLoad(options) {\r\n // console.log(options.itemId)\r\n this.itemId = options.itemId\r\n this.getDetail()\r\n this.getCommentList()\r\n // this.userInfo = JSON.parse(options.userInfo)\r\n },\r\n onReachBottom() {\r\n if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' })\r\n this.curPage += 1\r\n this.getCommentList()\r\n },\r\n methods: {\r\n // 切换轮播图\r\n changeSwiperHandler(e) {\r\n // console.log(e)\r\n this.current = e.detail.current\r\n },\r\n\r\n // 获取详情数据\r\n async getDetail() {\r\n const res = await getDetail({ id: this.itemId })\r\n this.itemlist = res.data\r\n const list = JSON.parse(this.itemlist.file)\r\n if (list.video) {\r\n this.bannerList.push({ url: JSON.parse(this.itemlist.file).video, type: 'video' })\r\n }\r\n list.imgList.forEach(item => {\r\n this.bannerList.push({ url: item, type: 'img' })\r\n })\r\n this.userFavorite_zan = res.data.userFavorite_zan\r\n this.userFavorite_cang = res.data.userFavorite_cang\r\n this.zanNum = res.data.favorite.like_num\r\n this.cangNum = res.data.favorite.collection_num\r\n },\r\n\r\n // 预览轮播图\r\n prevViewImageHandler(item) {\r\n console.log(item)\r\n const list3 = this.bannerList.filter(item => item.type == 'img').map(item => item.url)\r\n uni.previewImage({\r\n urls: list3,\r\n longPressActions: {\r\n itemList: ['发送给朋友', '保存图片', '收藏'],\r\n success: function (data) {\r\n console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片')\r\n },\r\n fail: function (err) {\r\n console.log(err.errMsg)\r\n },\r\n },\r\n })\r\n },\r\n\r\n // 筛选排序\r\n sortHandler(type) {\r\n this.rightCate = !this.rightCate\r\n this.order = type\r\n this.curPage = 1\r\n this.pingList = []\r\n this.getCommentList()\r\n },\r\n\r\n // 获取评论列表\r\n async getCommentList() {\r\n const res = await getCommentList({\r\n id: this.itemId, //\tinteger\t是\t论坛id\r\n order: this.order, //\tinteger\t是\t排序 0:时间,1:热度\r\n page: this.curPage || 1, //\tinteger\t是\t页码\r\n rows: 6, //\tinteger\t是\t条数\r\n })\r\n\r\n console.log(res, '1122')\r\n this.lastPage = res.data.last_page\r\n this.total = res.data.total\r\n // this.pingList = []\r\n this.pingList = this.pingList.concat(res.data.data)\r\n },\r\n\r\n // 详情点赞收藏\r\n async getFavorite(type, set) {\r\n const res = await getFavorite({\r\n id: this.itemId, //\tinteger\t是\t论坛ID\r\n type: type, //\tinteger\t是\t1:点赞,3:收藏\r\n set: set, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n },\r\n\r\n // 点赞收藏操作\r\n favoriteHandler(type) {\r\n // 点赞\r\n if (type == 1) {\r\n // 确认点赞\r\n if (this.userFavorite_zan == 1) {\r\n this.userFavorite_zan = 0\r\n this.getFavorite(1, 0)\r\n this.zanNum = this.zanNum - 1\r\n } else {\r\n // 取消点赞\r\n this.userFavorite_zan = 1\r\n this.getFavorite(1, 1)\r\n this.zanNum = this.zanNum + 1\r\n }\r\n }\r\n // 收藏\r\n if (type == 3) {\r\n if (this.userFavorite_cang == 1) {\r\n this.userFavorite_cang = 0\r\n this.getFavorite(3, 0)\r\n this.cangNum = this.cangNum - 1\r\n } else {\r\n this.userFavorite_cang = 1\r\n this.getFavorite(3, 1)\r\n this.cangNum = this.cangNum + 1\r\n }\r\n }\r\n // this.getDetail()\r\n },\r\n\r\n // 评论点赞操作\r\n async getCommentFavorite(isF, index, id) {\r\n // console.log(isF, index)\r\n try {\r\n const res = await getCommentFavorite({\r\n id: id, //\tinteger\t是\t评论主键ID\r\n set: isF == 1 ? 0 : 1, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n if (isF == 1) {\r\n this.pingList[index].favorite_num -= 1\r\n } else {\r\n this.pingList[index].favorite_num += 1\r\n }\r\n this.pingList[index].is_favorite = this.pingList[index].is_favorite == 1 ? 0 : 1\r\n console.log(res)\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n\r\n // 回复\r\n huifuHandler() {\r\n this.huiState = false\r\n uni.showToast({ title: '回复成功~' })\r\n this.huiValue = ''\r\n this.curPage = 1\r\n // this.pingList = []\r\n // this.getCommentList()\r\n this.pingList[this.huiIdx].child_num += 1\r\n this.getComment(this.huiValue, this.pid)\r\n },\r\n\r\n pingZHandler() {\r\n console.log(this.value2)\r\n this.getComment(this.value2, 0)\r\n this.inputState = false\r\n uni.showToast({ title: '评论成功~' })\r\n this.curPage = 1\r\n // this.pingList = []\r\n // this.getCommentList()\r\n },\r\n // 防止穿透点击事件\r\n abb() {},\r\n\r\n huiHandler(pid, name,index) {\r\n this.huiIdx = index\r\n // console.log(index)\r\n this.pid = pid\r\n this.huiName = name\r\n this.huiState = true\r\n },\r\n\r\n // 评论\r\n async getComment(value, pid) {\r\n try {\r\n const res = await getComment({\r\n id: this.itemId, //\tinteger\t是\t论坛ID\r\n pid: pid, //\tinteger\t是\t回复id,首次评论传0\r\n comment: value, //\tstring\t是\t评论内容\r\n })\r\n\r\n this.getCommentList()\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n\r\n // 跳转评论\r\n toPingDetail(com_id) {\r\n uni.navigateTo({ url: `/pages/index/pingDetail?comId=${com_id}&itemId=${this.itemId}` })\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.indicator {\r\n /* @include flex(row); */\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 40rpx;\r\n margin-bottom: 62rpx;\r\n\r\n &__dot {\r\n height: 6px;\r\n width: 6px;\r\n border-radius: 100px;\r\n background-color: rgba(0, 0, 0, 0.4);\r\n margin: 0 5px;\r\n transition: background-color 0.3s;\r\n\r\n &--active {\r\n background: rgba(0, 0, 0, 0.6);\r\n }\r\n }\r\n}\r\n.inputBox {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n padding: 24rpx 32rpx 32rpx;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 24rpx 24rpx 0 0;\r\n > .selectBox {\r\n margin-bottom: 16rpx;\r\n view:nth-child(1) {\r\n color: rgba(0, 0, 0, 1);\r\n font-size: 32rpx;\r\n }\r\n view:nth-child(2) {\r\n color: rgba(33, 83, 212, 1);\r\n font-size: 32rpx;\r\n }\r\n }\r\n}\r\n.topInfoBox {\r\n padding: 24rpx;\r\n box-sizing: border-box;\r\n image {\r\n width: 72rpx;\r\n height: 72rpx;\r\n border-radius: 50%;\r\n margin-right: 24rpx;\r\n }\r\n}\r\n.timeText {\r\n :nth-child(1) {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 26rpx;\r\n font-weight: 700;\r\n }\r\n :nth-child(2) {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 24rpx;\r\n }\r\n}\r\n.mainBox {\r\n padding: 0 24rpx;\r\n box-sizing: border-box;\r\n > .titleText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 36rpx;\r\n font-weight: 700;\r\n margin-bottom: 24rpx;\r\n }\r\n > .centerText {\r\n color: rgba(0, 0, 0, 0.6);\r\n font-size: 28rpx;\r\n }\r\n margin-bottom: 40rpx;\r\n}\r\n.mainBox2 {\r\n padding: 32rpx;\r\n box-sizing: border-box;\r\n}\r\n.pingNumText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 32rpx;\r\n font-weight: 700;\r\n}\r\n.topBox {\r\n position: relative;\r\n margin-bottom: 40rpx;\r\n .xia {\r\n width: 256rpx;\r\n height: 188rpx;\r\n padding: 24rpx 32rpx;\r\n box-sizing: border-box;\r\n border-radius: 20rpx;\r\n /* flex-direction: column; */\r\n background: #fff;\r\n position: absolute;\r\n top: 70rpx;\r\n right: 0rpx;\r\n box-shadow: 0 4rpx 24rpx 0 rgba(0, 0, 0, 0.2);\r\n view {\r\n color: rgba(50, 50, 51, 1);\r\n font-size: 28rpx;\r\n }\r\n :nth-child(1) {\r\n padding-bottom: 22rpx;\r\n border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);\r\n }\r\n :nth-child(2) {\r\n padding-top: 22rpx;\r\n }\r\n }\r\n}\r\n.bottomBtnBox {\r\n background: #fff;\r\n image {\r\n width: 40rpx;\r\n height: 40rpx;\r\n }\r\n position: fixed;\r\n bottom: 60rpx;\r\n left: 0;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n > .favoriteBox {\r\n margin-right: 24rpx;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n border-radius: 38rpx;\r\n background: rgba(247, 248, 250, 1);\r\n view {\r\n color: rgba(179, 179, 179, 1);\r\n font-size: 28rpx;\r\n margin-left: 24rpx;\r\n }\r\n }\r\n > .likeBox {\r\n view {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n margin-left: 8rpx;\r\n min-width: 42rpx;\r\n }\r\n }\r\n}\r\n.fffBox {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 60rpx;\r\n background: #fff;\r\n}\r\n.xImg {\r\n width: 32rpx;\r\n height: 32rpx;\r\n}\r\n.huifuText1Box {\r\n margin-top: 16rpx;\r\n}\r\n.huifuText1 {\r\n color: rgba(33, 83, 212, 1);\r\n font-size: 28rpx;\r\n margin-right: 10rpx;\r\n}\r\n.pingBox {\r\n padding-bottom: 32rpx;\r\n border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);\r\n margin-bottom: 32rpx;\r\n\r\n > .pTopBox {\r\n > .avatarBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 32rpx;\r\n font-weight: 700;\r\n image {\r\n width: 64rpx;\r\n height: 64rpx;\r\n border-radius: 50%;\r\n margin-right: 16rpx;\r\n }\r\n }\r\n > .zanBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n image {\r\n width: 40rpx;\r\n margin-right: 8rpx;\r\n height: 40rpx;\r\n }\r\n }\r\n }\r\n > .contentBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n margin-bottom: 16rpx;\r\n margin-left: 80rpx;\r\n }\r\n > .timeBox {\r\n margin-left: 80rpx;\r\n margin-bottom: 24rpx;\r\n view:nth-child(1) {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 24rpx;\r\n margin-right: 48rpx;\r\n }\r\n view:nth-child(2) {\r\n width: 114rpx;\r\n height: 48rpx;\r\n border-radius: 56rpx;\r\n border: 1rpx solid #b88dff;\r\n color: rgba(110, 22, 255, 1);\r\n font-size: 24rpx;\r\n }\r\n }\r\n > .hPBox {\r\n padding: 24rpx;\r\n box-sizing: border-box;\r\n background: #f7f8fa;\r\n margin-left: 80rpx;\r\n }\r\n}\r\n.huifu {\r\n > .nameText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n font-weight: 700;\r\n margin-right: 10rpx;\r\n }\r\n > .huifuText {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n margin-right: 10rpx;\r\n }\r\n text {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.chao {\r\n max-width: 600rpx;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n}\r\n.maskBox {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: transparent;\r\n}\r\n.huiBox {\r\n z-index: 999;\r\n position: fixed;\r\n bottom: 60rpx;\r\n left: 0;\r\n width: 686rpx;\r\n height: 72rpx;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 38rpx;\r\n background: rgba(247, 248, 250, 1);\r\n /* margin: 0 auto; */\r\n margin-left: 32rpx;\r\n > .zIndex {\r\n z-index: 999;\r\n }\r\n view {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.huiBox1 {\r\n width: 100%;\r\n height: 80rpx;\r\n background: #fff;\r\n position: fixed;\r\n bottom: 50rpx;\r\n left: 0;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1670312678521\n var cssReload = require(\"D:/高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}  
  1 +{"version":3,"sources":["uni-app:///main.js",null,"webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?5149","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?8471","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?b779","uni-app:///pages/index/detail.vue","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?b87b","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/detail.vue?cb05"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"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","file":"pages/index/detail.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/detail.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./detail.vue?vue&type=template&id=5166ee27&\"\nvar renderjs\nimport script from \"./detail.vue?vue&type=script&lang=js&\"\nexport * from \"./detail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./detail.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/detail.vue\"\nexport default component.exports","export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=template&id=5166ee27&\"","var components\ntry {\n components = {\n uDivider: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-divider/u-divider\" */ \"uview-ui/components/u-divider/u-divider.vue\"\n )\n },\n uIcon: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-icon/u-icon\" */ \"uview-ui/components/u-icon/u-icon.vue\"\n )\n },\n uSearch: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n )\n },\n uPopup: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-popup/u-popup\" */ \"uview-ui/components/u-popup/u-popup.vue\"\n )\n },\n \"u-Textarea\": function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u--textarea/u--textarea\" */ \"uview-ui/components/u--textarea/u--textarea.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var l1 = _vm.__map(_vm.pingList, function(item, index) {\n var $orig = _vm.__get_orig(item)\n\n var g0 = item.create_time.slice(5, 16)\n var l0 = item.child.length ? item.child.slice(0, 2) : null\n return {\n $orig: $orig,\n g0: g0,\n l0: l0\n }\n })\n\n if (!_vm._isMounted) {\n _vm.e0 = function($event) {\n _vm.rightCate = true\n }\n\n _vm.e1 = function($event) {\n _vm.inputState = true\n }\n\n _vm.e2 = function($event) {\n _vm.inputState = true\n }\n\n _vm.e3 = function($event) {\n _vm.huiState = false\n }\n\n _vm.e4 = function($event) {\n _vm.inputState = false\n }\n }\n\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n l1: l1\n }\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=script&lang=js&\"","<template>\r\n <view>\r\n <view class=\"topInfoBox flexA\">\r\n <view class=\"flexA\">\r\n <image :src=\"itemlist.user.avatar\" mode=\"scaleToFill\" />\r\n <view class=\"timeText\">\r\n <view>{{ itemlist.user.user_name }}</view>\r\n <view>{{ itemlist.update_time }}</view>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <swiper :autoplay=\"true\" :interval=\"3000\" style=\"height: 420rpx\" class=\"swiper\" @change=\"changeSwiperHandler\">\r\n <swiper-item v-for=\"item in bannerList\" :key=\"item\" class=\"flexC\" @click=\"prevViewImageHandler(item)\">\r\n <video v-if=\"item.type == 'video'\" style=\"width: 100%; height: 100%\" :src=\"item.url\" />\r\n <image v-if=\"item.type == 'img'\" :src=\"item.url\" mode=\"heightFix\" />\r\n </swiper-item>\r\n </swiper>\r\n\r\n <view slot=\"indicator\" class=\"indicator\">\r\n <view\r\n class=\"indicator__dot\"\r\n v-for=\"(item, index) in bannerList\"\r\n :key=\"index\"\r\n :class=\"[index === current && 'indicator__dot--active']\"\r\n ></view>\r\n </view>\r\n\r\n <!-- 内容 -->\r\n <view class=\"mainBox\">\r\n <view class=\"titleText\">{{ itemlist.title }}</view>\r\n <view class=\"centerText\">{{ itemlist.content }}</view>\r\n </view>\r\n\r\n <!-- 评论 -->\r\n <view class=\"mainBox2\">\r\n <u-divider></u-divider>\r\n <view class=\"flexJ topBox\" style=\"margin-top: 32rpx\">\r\n <view class=\"pingNumText\">共{{ total || '0' }}条评论</view>\r\n <image style=\"width: 32rpx; height: 32rpx\" src=\"/static/toggle.png\" mode=\"scaleToFill\" @click=\"rightCate = true\" />\r\n <view class=\"xia\" v-if=\"rightCate\">\r\n <view class=\"flexC\" @click=\"sortHandler(0)\">时间排序</view>\r\n <view class=\"flexC\" @click=\"sortHandler(1)\">热度排序</view>\r\n </view>\r\n </view>\r\n\r\n <!-- 评论数据 -->\r\n <view class=\"pingBox\" v-for=\"(item, index) in pingList\" :key=\"item.id\">\r\n <!-- 头像和点赞 -->\r\n <view class=\"pTopBox flexJ\">\r\n <view class=\"avatarBox flexA\">\r\n <image :src=\"item.user_avatar\" mode=\"scaleToFill\" />\r\n <view>{{ item.username }}</view>\r\n </view>\r\n <view class=\"zanBox flexA\">\r\n <image\r\n @click=\"getCommentFavorite(item.is_favorite, index, item.id)\"\r\n :src=\"item.is_favorite == 0 ? '/static/zan1.png' : '/static/zan11.png'\"\r\n mode=\"scaleToFill\"\r\n />\r\n <view>{{ item.favorite_num }}</view>\r\n </view>\r\n </view>\r\n <!-- 内容 -->\r\n <view class=\"contentBox\">{{ item.comment }}</view>\r\n <!-- 回复和时间 -->\r\n <view class=\"timeBox flexA\">\r\n <view>{{ item.create_time.slice(5, 16) }}</view>\r\n <view class=\"flexC\" @click=\"huiHandler(item.id, item.username, index)\">回复</view>\r\n </view>\r\n\r\n <!-- 回复评论 -->\r\n <view class=\"hPBox\" v-if=\"item.child.length\">\r\n <view v-for=\"it in item.child.slice(0, 2)\" :key=\"item.id\">\r\n <view class=\"huifu chao\">\r\n <text class=\"nameText\">{{ it.username }}</text>\r\n <text class=\"huifuText\">回复</text>\r\n <text class=\"nameText\">{{ it.tousername }}:</text>\r\n <text>{{ it.comment }}</text>\r\n <!-- <text >哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈</text> -->\r\n </view>\r\n <!-- <view class=\"huifuText\">展开</view> -->\r\n </view>\r\n <view v-if=\"item.child_num >= 2\" class=\"flexA huifuText1Box\" @click=\"toPingDetail(item.id)\">\r\n <view class=\"huifuText1\">查看全部{{ item.child_num }}条回复</view>\r\n <image style=\"width: 16rpx; height: 24rpx\" src=\"/static/blueRIght.png\" mode=\"scaleToFill\" />\r\n </view>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <!-- 底部点赞评论收藏 -->\r\n <view class=\"bottomBtnBox flexA\" v-if=\"!huiState\">\r\n <view class=\"favoriteBox flexA\" @click=\"inputState = true\">\r\n <image class=\"xImg\" src=\"/static/xie.png\" mode=\"scaleToFill\" />\r\n <view>我来说两句...</view>\r\n </view>\r\n\r\n <!-- 点赞 -->\r\n <view class=\"likeBox flexA\" style=\"margin-right: 40rpx\">\r\n <image\r\n :src=\"userFavorite_zan == '1' ? '/static/zan11.png' : '/static/zan1.png'\"\r\n mode=\"scaleToFill\"\r\n @click=\"favoriteHandler(1)\"\r\n />\r\n <view>{{ zanNum }}</view>\r\n </view>\r\n\r\n <!-- 评论 -->\r\n <view class=\"likeBox flexA\" style=\"margin-right: 40rpx\" @click=\"inputState = true\">\r\n <image src=\"/static/icon1.png\" mode=\"scaleToFill\" />\r\n <view>{{ total }}</view>\r\n </view>\r\n\r\n <!-- 收藏 -->\r\n <view class=\"likeBox flexA\">\r\n <image v-if=\"userFavorite_cang == '0'\" src=\"/static/icon2.png\" mode=\"scaleToFill\" @click=\"favoriteHandler(3)\" />\r\n <u-icon v-else name=\"star-fill\" color=\"#6e15ff\" size=\"22\" @click=\"favoriteHandler(3)\"></u-icon>\r\n <view>{{ cangNum }}</view>\r\n </view>\r\n </view>\r\n\r\n <!-- 回复 -->\r\n <view class=\"maskBox flexC\" v-if=\"huiState\" @click=\"huiState = false\">\r\n <view class=\"huiBox1\">\r\n <view class=\"huiBox flexA\" @click.stop=\"abb\">\r\n <view class=\"zIndex\">回复{{ huiName }}:</view>\r\n <view style=\"margin-left: -84rpx\">\r\n <u-search\r\n searchIconColor=\"#F7F8FA\"\r\n placeholder=\" \"\r\n bgColor=\"#F7F8FA\"\r\n :clearabled=\"false\"\r\n @search=\"huifuHandler\"\r\n :showAction=\"false\"\r\n v-model=\"huiValue\"\r\n ></u-search>\r\n </view>\r\n <!-- <input type=\"text\" v-model=\"huiValue\" @input=\"huifuHandler\" /> -->\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <!-- 底部白盒子 -->\r\n <view class=\"fffBox\"></view>\r\n\r\n <u-popup :show=\"inputState\">\r\n <view class=\"inputBox\">\r\n <view class=\"flexJ selectBox\">\r\n <view @click=\"inputState = false\">取消</view>\r\n <view @click=\"pingZHandler\">发送</view>\r\n </view>\r\n <u--textarea\r\n v-model=\"value2\"\r\n maxlength=\"300\"\r\n :showConfirmBar=\"false\"\r\n focus\r\n adjustPosition\r\n placeholder=\"请输入内容\"\r\n count\r\n ></u--textarea>\r\n </view>\r\n </u-popup>\r\n <view style=\"height: 120rpx\"></view>\r\n </view>\r\n</template>\r\n<script>\r\nimport { getDetail, getCommentList, getFavorite, getCommentFavorite, getComment } from '@/api'\r\nexport default {\r\n data() {\r\n return {\r\n value2: '',\r\n inputState: false,\r\n huiState: false,\r\n huiValue: '',\r\n huiName: '',\r\n itemId: '',\r\n itemlist: {},\r\n // 当前指示器\r\n current: 0,\r\n // 轮播图数据\r\n bannerList: [],\r\n // 右侧筛选状态\r\n rightCate: false,\r\n order: 1,\r\n // 用户是否点赞\r\n userFavorite_zan: 0,\r\n // 点赞数量\r\n zanNum: 0,\r\n // 用户是否收藏\r\n userFavorite_cang: 0,\r\n // 收藏数量\r\n cangNum: 0,\r\n // 评论数据\r\n pingList: [],\r\n // 一共多少条评论\r\n total: 0,\r\n // 最后一页\r\n lastPage: 0,\r\n // 当前页\r\n curPage: 1,\r\n // 回复人员id\r\n pid: 0,\r\n // 回复评论索引\r\n huiIdx: ''\r\n }\r\n },\r\n onLoad(options) {\r\n // console.log(options.itemId)\r\n this.itemId = options.itemId\r\n this.getDetail()\r\n \r\n // this.userInfo = JSON.parse(options.userInfo)\r\n },\r\n onShow() {\r\n this.pingList = []\r\n this.getCommentList()\r\n },\r\n onReachBottom() {\r\n if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' })\r\n this.curPage += 1\r\n this.getCommentList()\r\n },\r\n methods: {\r\n // 切换轮播图\r\n changeSwiperHandler(e) {\r\n // console.log(e)\r\n this.current = e.detail.current\r\n },\r\n\r\n // 获取详情数据\r\n async getDetail() {\r\n const res = await getDetail({ id: this.itemId })\r\n this.itemlist = res.data\r\n const list = JSON.parse(this.itemlist.file)\r\n if (list.video) {\r\n this.bannerList.push({ url: JSON.parse(this.itemlist.file).video, type: 'video' })\r\n }\r\n list.imgList.forEach(item => {\r\n this.bannerList.push({ url: item, type: 'img' })\r\n })\r\n this.userFavorite_zan = res.data.userFavorite_zan\r\n this.userFavorite_cang = res.data.userFavorite_cang\r\n this.zanNum = res.data.favorite.like_num\r\n this.cangNum = res.data.favorite.collection_num\r\n },\r\n\r\n // 预览轮播图\r\n prevViewImageHandler(item) {\r\n console.log(item)\r\n const list3 = this.bannerList.filter(item => item.type == 'img').map(item => item.url)\r\n uni.previewImage({\r\n urls: list3,\r\n longPressActions: {\r\n itemList: ['发送给朋友', '保存图片', '收藏'],\r\n success: function (data) {\r\n console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片')\r\n },\r\n fail: function (err) {\r\n console.log(err.errMsg)\r\n },\r\n },\r\n })\r\n },\r\n\r\n // 筛选排序\r\n sortHandler(type) {\r\n this.rightCate = !this.rightCate\r\n this.order = type\r\n this.curPage = 1\r\n this.pingList = []\r\n this.getCommentList()\r\n },\r\n\r\n // 获取评论列表\r\n async getCommentList() {\r\n const res = await getCommentList({\r\n id: this.itemId, //\tinteger\t是\t论坛id\r\n order: this.order, //\tinteger\t是\t排序 0:时间,1:热度\r\n page: this.curPage || 1, //\tinteger\t是\t页码\r\n rows: 6, //\tinteger\t是\t条数\r\n })\r\n\r\n console.log(res, '1122')\r\n this.lastPage = res.data.last_page\r\n this.total = res.data.total\r\n // this.pingList = []\r\n this.pingList = this.pingList.concat(res.data.data)\r\n },\r\n\r\n // 详情点赞收藏\r\n async getFavorite(type, set) {\r\n const res = await getFavorite({\r\n id: this.itemId, //\tinteger\t是\t论坛ID\r\n type: type, //\tinteger\t是\t1:点赞,3:收藏\r\n set: set, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n },\r\n\r\n // 点赞收藏操作\r\n favoriteHandler(type) {\r\n // 点赞\r\n if (type == 1) {\r\n // 确认点赞\r\n if (this.userFavorite_zan == 1) {\r\n this.userFavorite_zan = 0\r\n this.getFavorite(1, 0)\r\n this.zanNum = this.zanNum - 1\r\n } else {\r\n // 取消点赞\r\n this.userFavorite_zan = 1\r\n this.getFavorite(1, 1)\r\n this.zanNum = this.zanNum + 1\r\n }\r\n }\r\n // 收藏\r\n if (type == 3) {\r\n if (this.userFavorite_cang == 1) {\r\n this.userFavorite_cang = 0\r\n this.getFavorite(3, 0)\r\n this.cangNum = this.cangNum - 1\r\n } else {\r\n this.userFavorite_cang = 1\r\n this.getFavorite(3, 1)\r\n this.cangNum = this.cangNum + 1\r\n }\r\n }\r\n // this.getDetail()\r\n },\r\n\r\n // 评论点赞操作\r\n async getCommentFavorite(isF, index, id) {\r\n // console.log(isF, index)\r\n try {\r\n const res = await getCommentFavorite({\r\n id: id, //\tinteger\t是\t评论主键ID\r\n set: isF == 1 ? 0 : 1, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n if (isF == 1) {\r\n this.pingList[index].favorite_num -= 1\r\n } else {\r\n this.pingList[index].favorite_num += 1\r\n }\r\n this.pingList[index].is_favorite = this.pingList[index].is_favorite == 1 ? 0 : 1\r\n console.log(res)\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n\r\n // 回复\r\n huifuHandler() {\r\n this.huiState = false\r\n uni.showToast({ title: '回复成功~' })\r\n this.huiValue = ''\r\n this.curPage = 1\r\n // this.pingList = []\r\n // this.getCommentList()\r\n this.pingList[this.huiIdx].child_num += 1\r\n this.getComment(this.huiValue, this.pid)\r\n },\r\n\r\n pingZHandler() {\r\n console.log(this.value2)\r\n this.getComment(this.value2, 0)\r\n this.inputState = false\r\n uni.showToast({ title: '评论成功~' })\r\n this.curPage = 1\r\n // this.pingList = []\r\n // this.getCommentList()\r\n },\r\n // 防止穿透点击事件\r\n abb() {},\r\n\r\n huiHandler(pid, name,index) {\r\n this.huiIdx = index\r\n // console.log(index)\r\n this.pid = pid\r\n this.huiName = name\r\n this.huiState = true\r\n },\r\n\r\n // 评论\r\n async getComment(value, pid) {\r\n try {\r\n const res = await getComment({\r\n id: this.itemId, //\tinteger\t是\t论坛ID\r\n pid: pid, //\tinteger\t是\t回复id,首次评论传0\r\n comment: value, //\tstring\t是\t评论内容\r\n })\r\n\r\n this.getCommentList()\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n\r\n // 跳转评论\r\n toPingDetail(com_id) {\r\n uni.navigateTo({ url: `/pages/index/pingDetail?comId=${com_id}&itemId=${this.itemId}` })\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.indicator {\r\n /* @include flex(row); */\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 40rpx;\r\n margin-bottom: 62rpx;\r\n\r\n &__dot {\r\n height: 6px;\r\n width: 6px;\r\n border-radius: 100px;\r\n background-color: rgba(0, 0, 0, 0.4);\r\n margin: 0 5px;\r\n transition: background-color 0.3s;\r\n\r\n &--active {\r\n background: rgba(0, 0, 0, 0.6);\r\n }\r\n }\r\n}\r\n.inputBox {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n padding: 24rpx 32rpx 32rpx;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 24rpx 24rpx 0 0;\r\n > .selectBox {\r\n margin-bottom: 16rpx;\r\n view:nth-child(1) {\r\n color: rgba(0, 0, 0, 1);\r\n font-size: 32rpx;\r\n }\r\n view:nth-child(2) {\r\n color: rgba(33, 83, 212, 1);\r\n font-size: 32rpx;\r\n }\r\n }\r\n}\r\n.topInfoBox {\r\n padding: 24rpx;\r\n box-sizing: border-box;\r\n image {\r\n width: 72rpx;\r\n height: 72rpx;\r\n border-radius: 50%;\r\n margin-right: 24rpx;\r\n }\r\n}\r\n.timeText {\r\n :nth-child(1) {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 26rpx;\r\n font-weight: 700;\r\n }\r\n :nth-child(2) {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 24rpx;\r\n }\r\n}\r\n.mainBox {\r\n padding: 0 24rpx;\r\n box-sizing: border-box;\r\n > .titleText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 36rpx;\r\n font-weight: 700;\r\n margin-bottom: 24rpx;\r\n }\r\n > .centerText {\r\n color: rgba(0, 0, 0, 0.6);\r\n font-size: 28rpx;\r\n }\r\n margin-bottom: 40rpx;\r\n}\r\n.mainBox2 {\r\n padding: 32rpx;\r\n box-sizing: border-box;\r\n}\r\n.pingNumText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 32rpx;\r\n font-weight: 700;\r\n}\r\n.topBox {\r\n position: relative;\r\n margin-bottom: 40rpx;\r\n .xia {\r\n width: 256rpx;\r\n height: 188rpx;\r\n padding: 24rpx 32rpx;\r\n box-sizing: border-box;\r\n border-radius: 20rpx;\r\n /* flex-direction: column; */\r\n background: #fff;\r\n position: absolute;\r\n top: 70rpx;\r\n right: 0rpx;\r\n box-shadow: 0 4rpx 24rpx 0 rgba(0, 0, 0, 0.2);\r\n view {\r\n color: rgba(50, 50, 51, 1);\r\n font-size: 28rpx;\r\n }\r\n :nth-child(1) {\r\n padding-bottom: 22rpx;\r\n border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);\r\n }\r\n :nth-child(2) {\r\n padding-top: 22rpx;\r\n }\r\n }\r\n}\r\n.bottomBtnBox {\r\n background: #fff;\r\n image {\r\n width: 40rpx;\r\n height: 40rpx;\r\n }\r\n position: fixed;\r\n bottom: 60rpx;\r\n left: 0;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n > .favoriteBox {\r\n margin-right: 24rpx;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n border-radius: 38rpx;\r\n background: rgba(247, 248, 250, 1);\r\n view {\r\n color: rgba(179, 179, 179, 1);\r\n font-size: 28rpx;\r\n margin-left: 24rpx;\r\n }\r\n }\r\n > .likeBox {\r\n view {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n margin-left: 8rpx;\r\n min-width: 42rpx;\r\n }\r\n }\r\n}\r\n.fffBox {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 60rpx;\r\n background: #fff;\r\n}\r\n.xImg {\r\n width: 32rpx;\r\n height: 32rpx;\r\n}\r\n.huifuText1Box {\r\n margin-top: 16rpx;\r\n}\r\n.huifuText1 {\r\n color: rgba(33, 83, 212, 1);\r\n font-size: 28rpx;\r\n margin-right: 10rpx;\r\n}\r\n.pingBox {\r\n padding-bottom: 32rpx;\r\n border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);\r\n margin-bottom: 32rpx;\r\n\r\n > .pTopBox {\r\n > .avatarBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 32rpx;\r\n font-weight: 700;\r\n image {\r\n width: 64rpx;\r\n height: 64rpx;\r\n border-radius: 50%;\r\n margin-right: 16rpx;\r\n }\r\n }\r\n > .zanBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n image {\r\n width: 40rpx;\r\n margin-right: 8rpx;\r\n height: 40rpx;\r\n }\r\n }\r\n }\r\n > .contentBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n margin-bottom: 16rpx;\r\n margin-left: 80rpx;\r\n }\r\n > .timeBox {\r\n margin-left: 80rpx;\r\n margin-bottom: 24rpx;\r\n view:nth-child(1) {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 24rpx;\r\n margin-right: 48rpx;\r\n }\r\n view:nth-child(2) {\r\n width: 114rpx;\r\n height: 48rpx;\r\n border-radius: 56rpx;\r\n border: 1rpx solid #b88dff;\r\n color: rgba(110, 22, 255, 1);\r\n font-size: 24rpx;\r\n }\r\n }\r\n > .hPBox {\r\n padding: 24rpx;\r\n box-sizing: border-box;\r\n background: #f7f8fa;\r\n margin-left: 80rpx;\r\n }\r\n}\r\n.huifu {\r\n > .nameText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n font-weight: 700;\r\n margin-right: 10rpx;\r\n }\r\n > .huifuText {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n margin-right: 10rpx;\r\n }\r\n text {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.chao {\r\n max-width: 600rpx;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n}\r\n.maskBox {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: transparent;\r\n}\r\n.huiBox {\r\n z-index: 999;\r\n position: fixed;\r\n bottom: 60rpx;\r\n left: 0;\r\n width: 686rpx;\r\n height: 72rpx;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n background: #fff;\r\n border-radius: 38rpx;\r\n background: rgba(247, 248, 250, 1);\r\n /* margin: 0 auto; */\r\n margin-left: 32rpx;\r\n > .zIndex {\r\n z-index: 999;\r\n }\r\n view {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.huiBox1 {\r\n width: 100%;\r\n height: 80rpx;\r\n background: #fff;\r\n position: fixed;\r\n bottom: 50rpx;\r\n left: 0;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./detail.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1670313436691\n var cssReload = require(\"D:/高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
1 -{"version":3,"sources":["uni-app:///main.js",null,"webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?3f35","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?8fc2","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?d115","uni-app:///pages/index/pingDetail.vue","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?5fb0","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?a019"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"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","file":"pages/index/pingDetail.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/pingDetail.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./pingDetail.vue?vue&type=template&id=eb88d38e&\"\nvar renderjs\nimport script from \"./pingDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./pingDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./pingDetail.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/pingDetail.vue\"\nexport default component.exports","export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=template&id=eb88d38e&\"","var components\ntry {\n components = {\n uNavbar: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n uDivider: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-divider/u-divider\" */ \"uview-ui/components/u-divider/u-divider.vue\"\n )\n },\n uSearch: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var l1 = _vm.__map(_vm.pingList, function(item, index) {\n var $orig = _vm.__get_orig(item)\n\n var g0 = item.create_time.slice(5, 16)\n var l0 = item.child.length\n ? _vm.__map(item.child, function(it, idx) {\n var $orig = _vm.__get_orig(it)\n\n var g1 = it.create_time.slice(5, 16)\n return {\n $orig: $orig,\n g1: g1\n }\n })\n : null\n return {\n $orig: $orig,\n g0: g0,\n l0: l0\n }\n })\n\n if (!_vm._isMounted) {\n _vm.e0 = function($event) {\n _vm.huiState = false\n }\n }\n\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n l1: l1\n }\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=script&lang=js&\"","<template>\r\n <view>\r\n <u-navbar title=\"评论详情\" :autoBack=\"true\" placeholder></u-navbar>\r\n <u-divider></u-divider>\r\n\r\n <!-- 评论数据 -->\r\n <view class=\"pingBox\" v-for=\"(item, index) in pingList\" :key=\"item.id\">\r\n <!-- 头像和点赞 -->\r\n <view class=\"pTopBox flexJ\">\r\n <view class=\"avatarBox flexA\">\r\n <image :src=\"item.user_avatar\" mode=\"scaleToFill\" />\r\n <view>{{ item.username }}</view>\r\n </view>\r\n <view class=\"zanBox flexA\">\r\n <image\r\n @click=\"getCommentFavorite(item.is_favorite, index, item.id)\"\r\n :src=\"item.is_favorite == 0 ? '/static/zan1.png' : '/static/zan11.png'\"\r\n mode=\"scaleToFill\"\r\n />\r\n <view>{{ item.favorite_num }}</view>\r\n </view>\r\n </view>\r\n <!-- 内容 -->\r\n <view class=\"contentBox\">{{ item.comment }}</view>\r\n <!-- 回复和时间 -->\r\n <view class=\"timeBox flexA\">\r\n <view>{{ item.create_time.slice(5, 16) }}</view>\r\n <view class=\"flexC\" style=\"margin-left: 34rpx\" @click=\"huiHandler(item.id, item.username)\">回复</view>\r\n </view>\r\n <u-divider text=\"全部回复\"></u-divider>\r\n\r\n <!-- 回复评论 -->\r\n <view class=\"hPBox\" v-if=\"item.child.length\">\r\n <view v-for=\"(it,idx) in item.child\" :key=\"it.id\">\r\n <view class=\"pTopBox flexJ\">\r\n <view class=\"avatarBox flexA\">\r\n <image :src=\"it.user_avatar\" mode=\"scaleToFill\" />\r\n <view>{{ it.username }}</view>\r\n </view>\r\n <view class=\"zanBox flexA\">\r\n <image\r\n @click=\"getCommentFavoriteZZ(it.is_favorite, idx, it.id, item)\"\r\n :src=\"it.is_favorite == 0 ? '/static/zan1.png' : '/static/zan11.png'\"\r\n mode=\"scaleToFill\"\r\n />\r\n <view>{{ it.favorite_num }}</view>\r\n </view>\r\n </view>\r\n\r\n <view class=\"huifu chao\">\r\n <text style=\"margin-right: 8rpx\">{{ it.comment }}</text>\r\n <text class=\"huifuText\">回复</text>\r\n <text class=\"nameText\">{{ it.tousername }}:</text>\r\n <text>{{ it.comment }}</text>\r\n </view>\r\n <view class=\"timeBox flexA\" style=\"margin-top: 24rpx\">\r\n <view>{{ it.create_time.slice(5, 16) }}</view>\r\n <view class=\"flexC\" style=\"margin-left: 16rpx\" @click=\"huiHandler(it.id, it.username)\">回复</view>\r\n </view>\r\n <u-divider></u-divider>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <view class=\"maskBox flexC\" v-if=\"huiState\" @click=\"huiState = false\">\r\n <view class=\"huiBox flexA\" @click.stop=\"abb\">\r\n <view class=\"zIndex\">回复{{ huiName }}:</view>\r\n <view style=\"margin-left: -84rpx\">\r\n <u-search\r\n searchIconColor=\"#F7F8FA\"\r\n placeholder=\" \"\r\n bgColor=\"#F7F8FA\"\r\n :clearabled=\"false\"\r\n @search=\"huifuHandler\"\r\n :showAction=\"false\"\r\n v-model=\"huiValue\"\r\n ></u-search>\r\n </view>\r\n <!-- <input type=\"text\" v-model=\"huiValue\" @input=\"huifuHandler\" /> -->\r\n </view>\r\n </view>\r\n <!-- 底部白盒子 -->\r\n <view class=\"fffBox\"></view>\r\n </view>\r\n</template>\r\n\r\n<script>\r\nimport { getCommentList, getCommentFavorite, getComment } from '@/api'\r\nexport default {\r\n data() {\r\n return {\r\n comId: '',\r\n itemId: '',\r\n curPage: 1,\r\n lastPage: 0,\r\n total: '',\r\n pingList: [],\r\n pid: '',\r\n huiName: '',\r\n huiState: false,\r\n huiValue: ''\r\n }\r\n },\r\n onLoad(e) {\r\n this.comId = e.comId\r\n this.itemId = e.itemId\r\n this.getCommentList()\r\n },\r\n onReachBottom() {\r\n if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' })\r\n this.curPage += 1\r\n this.getCommentList()\r\n },\r\n methods: {\r\n // 评论点赞操作\r\n async getCommentFavorite(isF, index, id) {\r\n // console.log(isF, index)\r\n try {\r\n const res = await getCommentFavorite({\r\n id: id, //\tinteger\t是\t评论主键ID\r\n set: isF == 1 ? 0 : 1, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n if (isF == 1) {\r\n this.pingList[index].favorite_num -= 1\r\n } else {\r\n this.pingList[index].favorite_num += 1\r\n }\r\n this.pingList[index].is_favorite = this.pingList[index].is_favorite == 1 ? 0 : 1\r\n console.log(res)\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n async getCommentFavoriteZZ(isF, index, id, item) {\r\n console.log(isF,index,id)\r\n try {\r\n const res = await getCommentFavorite({\r\n id: id, //\tinteger\t是\t评论主键ID\r\n set: isF == 1 ? 0 : 1, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n if (isF == 1) {\r\n this.pingList[0].child[index].favorite_num -= 1\r\n } else {\r\n this.pingList[0].child[index].favorite_num += 1\r\n }\r\n this.pingList[0].child[index].is_favorite = this.pingList[0].child[index].is_favorite == 1 ? 0 : 1\r\n console.log(res)\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n async getCommentList() {\r\n const res = await getCommentList({\r\n id: this.itemId, //\tinteger\t是\t论坛id\r\n comment_id: this.comId, //\tinteger\t否\t评论ID\r\n order: 1, //\tinteger\t是\t排序 0:时间,1:热度\r\n page: this.curPage, //\tinteger\t是\t页码\r\n rows: 4, //\tinteger\t是\t条数\r\n })\r\n console.log(res)\r\n this.lastPage = res.data.last_page\r\n this.total = res.data.total\r\n this.pingList = []\r\n this.pingList = this.pingList.concat(res.data.data)\r\n },\r\n // 防止穿透点击事件\r\n abb() {},\r\n // 回复\r\n huifuHandler(){\r\n this.pingList = []\r\n this.getComment(this.huiValue, this.pid)\r\n this.huiState = false\r\n this.curPage = 1\r\n this.getCommentList()\r\n uni.showToast({ title: '回复成功~' })\r\n },\r\n huiHandler(pid, name) {\r\n this.pid = pid\r\n this.huiName = name\r\n this.huiState = true\r\n },\r\n // 评论\r\n async getComment(value, pid) {\r\n try {\r\n const res = await getComment({\r\n id: this.itemId, //\tinteger\t是\t论坛ID\r\n pid: pid, //\tinteger\t是\t回复id,首次评论传0\r\n comment: value, //\tstring\t是\t评论内容\r\n })\r\n \r\n this.getCommentList()\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.pingBox {\r\n /* padding-bottom: 32rpx; */\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);\r\n margin-bottom: 32rpx;\r\n\r\n > .hPBox {\r\n padding: 24rpx;\r\n box-sizing: border-box;\r\n background: #fff;\r\n /* margin-left: 80rpx; */\r\n }\r\n}\r\n.timeBox {\r\n margin-left: 80rpx;\r\n margin-bottom: 24rpx;\r\n view:nth-child(1) {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 24rpx;\r\n margin-right: 48rpx;\r\n }\r\n view:nth-child(2) {\r\n width: 114rpx;\r\n height: 48rpx;\r\n border-radius: 56rpx;\r\n border: 1rpx solid #b88dff;\r\n color: rgba(110, 22, 255, 1);\r\n font-size: 24rpx;\r\n }\r\n}\r\n.contentBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n margin-bottom: 16rpx;\r\n margin-left: 80rpx;\r\n}\r\n.pTopBox {\r\n > .avatarBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 32rpx;\r\n font-weight: 700;\r\n image {\r\n width: 64rpx;\r\n height: 64rpx;\r\n border-radius: 50%;\r\n margin-right: 16rpx;\r\n }\r\n }\r\n > .zanBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n image {\r\n width: 40rpx;\r\n margin-right: 8rpx;\r\n height: 40rpx;\r\n }\r\n }\r\n}\r\n.huifu {\r\n margin-left: 80rpx;\r\n > .nameText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n font-weight: 700;\r\n margin-right: 10rpx;\r\n }\r\n > .huifuText {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n margin-right: 10rpx;\r\n }\r\n text {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.maskBox {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: transparent;\r\n}\r\n.huiBox {\r\n z-index: 999;\r\n position: fixed;\r\n bottom: 60rpx;\r\n left: 0;\r\n width: 686rpx;\r\n height: 72rpx;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n /* background: #fff !important; */\r\n border-radius: 38rpx;\r\n background: rgba(247, 248, 250, 1);\r\n /* margin: 0 auto; */\r\n margin-top: 16rpx;\r\n margin-left: 32rpx;\r\n > .zIndex {\r\n z-index: 999;\r\n }\r\n view {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.fffBox {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 60rpx;\r\n background: #fff;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1670312079782\n var cssReload = require(\"D:/高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}  
  1 +{"version":3,"sources":["uni-app:///main.js",null,"webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?3f35","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?8fc2","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?d115","uni-app:///pages/index/pingDetail.vue","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?5fb0","webpack:///D:/vue/kaoshi3-fangweishangcheng/pages/index/pingDetail.vue?a019"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":"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","file":"pages/index/pingDetail.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/pingDetail.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./pingDetail.vue?vue&type=template&id=eb88d38e&\"\nvar renderjs\nimport script from \"./pingDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./pingDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./pingDetail.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/pingDetail.vue\"\nexport default component.exports","export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=template&id=eb88d38e&\"","var components\ntry {\n components = {\n uNavbar: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-navbar/u-navbar\" */ \"uview-ui/components/u-navbar/u-navbar.vue\"\n )\n },\n uDivider: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-divider/u-divider\" */ \"uview-ui/components/u-divider/u-divider.vue\"\n )\n },\n uSearch: function() {\n return import(\n /* webpackChunkName: \"node-modules/uview-ui/components/u-search/u-search\" */ \"uview-ui/components/u-search/u-search.vue\"\n )\n }\n }\n} catch (e) {\n if (\n e.message.indexOf(\"Cannot find module\") !== -1 &&\n e.message.indexOf(\".vue\") !== -1\n ) {\n console.error(e.message)\n console.error(\"1. 排查组件名称拼写是否正确\")\n console.error(\n \"2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom\"\n )\n console.error(\n \"3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件\"\n )\n } else {\n throw e\n }\n}\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var l1 = _vm.__map(_vm.pingList, function(item, index) {\n var $orig = _vm.__get_orig(item)\n\n var g0 = item.create_time.slice(5, 16)\n var l0 = item.child.length\n ? _vm.__map(item.child, function(it, idx) {\n var $orig = _vm.__get_orig(it)\n\n var g1 = it.create_time.slice(5, 16)\n return {\n $orig: $orig,\n g1: g1\n }\n })\n : null\n return {\n $orig: $orig,\n g0: g0,\n l0: l0\n }\n })\n\n if (!_vm._isMounted) {\n _vm.e0 = function($event) {\n _vm.huiState = false\n }\n }\n\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n l1: l1\n }\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=script&lang=js&\"","<template>\r\n <view>\r\n <u-navbar title=\"评论详情\" :autoBack=\"true\" placeholder></u-navbar>\r\n <u-divider></u-divider>\r\n\r\n <!-- 评论数据 -->\r\n <view class=\"pingBox\" v-for=\"(item, index) in pingList\" :key=\"item.id\">\r\n <!-- 头像和点赞 -->\r\n <view class=\"pTopBox flexJ\">\r\n <view class=\"avatarBox flexA\">\r\n <image :src=\"item.user_avatar\" mode=\"scaleToFill\" />\r\n <view>{{ item.username }}</view>\r\n </view>\r\n <view class=\"zanBox flexA\">\r\n <image\r\n @click=\"getCommentFavorite(item.is_favorite, index, item.id)\"\r\n :src=\"item.is_favorite == 0 ? '/static/zan1.png' : '/static/zan11.png'\"\r\n mode=\"scaleToFill\"\r\n />\r\n <view>{{ item.favorite_num }}</view>\r\n </view>\r\n </view>\r\n <!-- 内容 -->\r\n <view class=\"contentBox\">{{ item.comment }}</view>\r\n <!-- 回复和时间 -->\r\n <view class=\"timeBox flexA\">\r\n <view>{{ item.create_time.slice(5, 16) }}</view>\r\n <view class=\"flexC\" style=\"margin-left: 34rpx\" @click=\"huiHandler(item.id, item.username)\">回复</view>\r\n </view>\r\n <u-divider text=\"全部回复\"></u-divider>\r\n\r\n <!-- 回复评论 -->\r\n <view class=\"hPBox\" v-if=\"item.child.length\">\r\n <view v-for=\"(it,idx) in item.child\" :key=\"it.id\">\r\n <view class=\"pTopBox flexJ\">\r\n <view class=\"avatarBox flexA\">\r\n <image :src=\"it.user_avatar\" mode=\"scaleToFill\" />\r\n <view>{{ it.username }}</view>\r\n </view>\r\n <view class=\"zanBox flexA\">\r\n <image\r\n @click=\"getCommentFavoriteZZ(it.is_favorite, idx, it.id, item)\"\r\n :src=\"it.is_favorite == 0 ? '/static/zan1.png' : '/static/zan11.png'\"\r\n mode=\"scaleToFill\"\r\n />\r\n <view>{{ it.favorite_num }}</view>\r\n </view>\r\n </view>\r\n\r\n <view class=\"huifu chao\">\r\n <text style=\"margin-right: 8rpx\">{{ it.comment }}</text>\r\n <text class=\"huifuText\">回复</text>\r\n <text class=\"nameText\">{{ it.tousername }}:</text>\r\n <text>{{ it.comment }}</text>\r\n </view>\r\n <view class=\"timeBox flexA\" style=\"margin-top: 24rpx\">\r\n <view>{{ it.create_time.slice(5, 16) }}</view>\r\n <view class=\"flexC\" style=\"margin-left: 16rpx\" @click=\"huiHandler(it.id, it.username)\">回复</view>\r\n </view>\r\n <u-divider></u-divider>\r\n </view>\r\n </view>\r\n </view>\r\n\r\n <view class=\"maskBox flexC\" v-if=\"huiState\" @click=\"huiState = false\">\r\n <view class=\"huiBox flexA\" @click.stop=\"abb\">\r\n <view class=\"zIndex\">回复{{ huiName }}:</view>\r\n <view style=\"margin-left: -84rpx\">\r\n <u-search\r\n searchIconColor=\"#F7F8FA\"\r\n placeholder=\" \"\r\n bgColor=\"#F7F8FA\"\r\n :clearabled=\"false\"\r\n @search=\"huifuHandler\"\r\n :showAction=\"false\"\r\n v-model=\"huiValue\"\r\n ></u-search>\r\n </view>\r\n <!-- <input type=\"text\" v-model=\"huiValue\" @input=\"huifuHandler\" /> -->\r\n </view>\r\n </view>\r\n <!-- 底部白盒子 -->\r\n <view class=\"fffBox\"></view>\r\n </view>\r\n</template>\r\n\r\n<script>\r\nimport { getCommentList, getCommentFavorite, getComment } from '@/api'\r\nexport default {\r\n data() {\r\n return {\r\n comId: '',\r\n itemId: '',\r\n curPage: 1,\r\n lastPage: 0,\r\n total: '',\r\n pingList: [],\r\n pid: '',\r\n huiName: '',\r\n huiState: false,\r\n huiValue: ''\r\n }\r\n },\r\n onLoad(e) {\r\n this.comId = e.comId\r\n this.itemId = e.itemId\r\n this.getCommentList()\r\n },\r\n onReachBottom() {\r\n if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' })\r\n this.curPage += 1\r\n this.getCommentList()\r\n },\r\n methods: {\r\n // 评论点赞操作\r\n async getCommentFavorite(isF, index, id) {\r\n // console.log(isF, index)\r\n try {\r\n const res = await getCommentFavorite({\r\n id: id, //\tinteger\t是\t评论主键ID\r\n set: isF == 1 ? 0 : 1, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n if (isF == 1) {\r\n this.pingList[index].favorite_num -= 1\r\n } else {\r\n this.pingList[index].favorite_num += 1\r\n }\r\n this.pingList[index].is_favorite = this.pingList[index].is_favorite == 1 ? 0 : 1\r\n console.log(res)\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n async getCommentFavoriteZZ(isF, index, id, item) {\r\n console.log(isF,index,id)\r\n try {\r\n const res = await getCommentFavorite({\r\n id: id, //\tinteger\t是\t评论主键ID\r\n set: isF == 1 ? 0 : 1, //\tinteger\t是\t0:取消,1:确认\r\n })\r\n if (isF == 1) {\r\n this.pingList[0].child[index].favorite_num -= 1\r\n } else {\r\n this.pingList[0].child[index].favorite_num += 1\r\n }\r\n this.pingList[0].child[index].is_favorite = this.pingList[0].child[index].is_favorite == 1 ? 0 : 1\r\n console.log(res)\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n async getCommentList() {\r\n const res = await getCommentList({\r\n id: this.itemId, //\tinteger\t是\t论坛id\r\n comment_id: this.comId, //\tinteger\t否\t评论ID\r\n order: 1, //\tinteger\t是\t排序 0:时间,1:热度\r\n page: this.curPage, //\tinteger\t是\t页码\r\n rows: 4, //\tinteger\t是\t条数\r\n })\r\n console.log(res)\r\n this.lastPage = res.data.last_page\r\n this.total = res.data.total\r\n this.pingList = []\r\n this.pingList = this.pingList.concat(res.data.data)\r\n },\r\n // 防止穿透点击事件\r\n abb() {},\r\n // 回复\r\n huifuHandler(){\r\n this.pingList = []\r\n this.getComment(this.huiValue, this.pid)\r\n this.huiState = false\r\n this.curPage = 1\r\n this.getCommentList()\r\n this.huiValue = ''\r\n uni.showToast({ title: '回复成功~' })\r\n },\r\n huiHandler(pid, name) {\r\n this.pid = pid\r\n this.huiName = name\r\n this.huiState = true\r\n },\r\n // 评论\r\n async getComment(value, pid) {\r\n try {\r\n const res = await getComment({\r\n id: this.itemId, //\tinteger\t是\t论坛ID\r\n pid: pid, //\tinteger\t是\t回复id,首次评论传0\r\n comment: value, //\tstring\t是\t评论内容\r\n })\r\n \r\n this.getCommentList()\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.pingBox {\r\n /* padding-bottom: 32rpx; */\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);\r\n margin-bottom: 32rpx;\r\n\r\n > .hPBox {\r\n padding: 24rpx;\r\n box-sizing: border-box;\r\n background: #fff;\r\n /* margin-left: 80rpx; */\r\n }\r\n}\r\n.timeBox {\r\n margin-left: 80rpx;\r\n margin-bottom: 24rpx;\r\n view:nth-child(1) {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 24rpx;\r\n margin-right: 48rpx;\r\n }\r\n view:nth-child(2) {\r\n width: 114rpx;\r\n height: 48rpx;\r\n border-radius: 56rpx;\r\n border: 1rpx solid #b88dff;\r\n color: rgba(110, 22, 255, 1);\r\n font-size: 24rpx;\r\n }\r\n}\r\n.contentBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n margin-bottom: 16rpx;\r\n margin-left: 80rpx;\r\n}\r\n.pTopBox {\r\n > .avatarBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 32rpx;\r\n font-weight: 700;\r\n image {\r\n width: 64rpx;\r\n height: 64rpx;\r\n border-radius: 50%;\r\n margin-right: 16rpx;\r\n }\r\n }\r\n > .zanBox {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n image {\r\n width: 40rpx;\r\n margin-right: 8rpx;\r\n height: 40rpx;\r\n }\r\n }\r\n}\r\n.huifu {\r\n margin-left: 80rpx;\r\n > .nameText {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n font-weight: 700;\r\n margin-right: 10rpx;\r\n }\r\n > .huifuText {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n margin-right: 10rpx;\r\n }\r\n text {\r\n color: rgba(0, 0, 0, 0.9);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.maskBox {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: transparent;\r\n}\r\n.huiBox {\r\n z-index: 999;\r\n position: fixed;\r\n bottom: 60rpx;\r\n left: 0;\r\n width: 686rpx;\r\n height: 72rpx;\r\n padding: 16rpx 32rpx;\r\n box-sizing: border-box;\r\n /* background: #fff !important; */\r\n border-radius: 38rpx;\r\n background: rgba(247, 248, 250, 1);\r\n /* margin: 0 auto; */\r\n margin-top: 16rpx;\r\n margin-left: 32rpx;\r\n > .zIndex {\r\n z-index: 999;\r\n }\r\n view {\r\n color: rgba(0, 0, 0, 0.4);\r\n font-size: 28rpx;\r\n }\r\n}\r\n.fffBox {\r\n position: fixed;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 60rpx;\r\n background: #fff;\r\n}\r\n</style>\r\n","import mod from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./pingDetail.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1670313341822\n var cssReload = require(\"D:/高级前台制作/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
@@ -418,9 +418,13 @@ var _api = __webpack_require__(/*! @/api */ 142);function _interopRequireDefault @@ -418,9 +418,13 @@ var _api = __webpack_require__(/*! @/api */ 142);function _interopRequireDefault
418 // console.log(options.itemId) 418 // console.log(options.itemId)
419 this.itemId = options.itemId; 419 this.itemId = options.itemId;
420 this.getDetail(); 420 this.getDetail();
421 - this.getCommentList(); 421 +
422 // this.userInfo = JSON.parse(options.userInfo) 422 // this.userInfo = JSON.parse(options.userInfo)
423 }, 423 },
  424 + onShow: function onShow() {
  425 + this.pingList = [];
  426 + this.getCommentList();
  427 + },
424 onReachBottom: function onReachBottom() { 428 onReachBottom: function onReachBottom() {
425 if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' }); 429 if (this.curPage == this.lastPage) return uni.showToast({ title: '没有更多回复了~', icon: 'none' });
426 this.curPage += 1; 430 this.curPage += 1;
@@ -369,6 +369,7 @@ var _api = __webpack_require__(/*! @/api */ 142);function _interopRequireDefault @@ -369,6 +369,7 @@ var _api = __webpack_require__(/*! @/api */ 142);function _interopRequireDefault
369 this.huiState = false; 369 this.huiState = false;
370 this.curPage = 1; 370 this.curPage = 1;
371 this.getCommentList(); 371 this.getCommentList();
  372 + this.huiValue = '';
372 uni.showToast({ title: '回复成功~' }); 373 uni.showToast({ title: '回复成功~' });
373 }, 374 },
374 huiHandler: function huiHandler(pid, name) { 375 huiHandler: function huiHandler(pid, name) {