作者 吴孟雨

优化搜索页、详情页

1 <!--pages/my/myindex/myindex.wxml--> 1 <!--pages/my/myindex/myindex.wxml-->
2 <block wx:if='{{userId==user.id}}'> 2 <block wx:if='{{userId==user.id}}'>
3 -<view class='bannr_box' bindtap='uoloadImg'> 3 +<view class='banner_box' bindtap='uoloadImg'>
4 <image class='banner_img' src='{{user.thumbnail}}'></image> 4 <image class='banner_img' src='{{user.thumbnail}}'></image>
5 </view> 5 </view>
6 </block> 6 </block>
7 <block wx:else> 7 <block wx:else>
8 -<view class='bannr_box' > 8 +<view class='banner_box' >
9 <image class='banner_img' src='{{user.thumbnail}}'></image> 9 <image class='banner_img' src='{{user.thumbnail}}'></image>
10 </view> 10 </view>
11 </block> 11 </block>
@@ -17,11 +17,15 @@ @@ -17,11 +17,15 @@
17 </view> 17 </view>
18 </view> 18 </view>
19 <view class='content_box'> 19 <view class='content_box'>
20 - <view class='item_list' wx:for='{{portal_post}}' wx:key=''> 20 + <view wx:if="{{portal_post.length === 0}}" class="no-post">Ta还没有发表过文章~</view>
  21 + <view class='item_list' wx:for='{{portal_post}}' wx:key='' wx:if="{{portal_post.length > 0}}">
21 <block wx:if='{{item.is_top==1}}'> 22 <block wx:if='{{item.is_top==1}}'>
22 <view class='list_title'>置顶</view> 23 <view class='list_title'>置顶</view>
23 </block> 24 </block>
24 <block wx:else=''> 25 <block wx:else=''>
  26 + <!--<block wx:if="{{item.time === '昨天' || item.time === '今天'||item.time === '前天'}}">-->
  27 + <!--<view class='list_title'>{{item.time}}</view>-->
  28 + <!--</block>-->
25 <block wx:if="{{item.time === '昨天' || item.time === '今天'||item.time === '前天'}}"> 29 <block wx:if="{{item.time === '昨天' || item.time === '今天'||item.time === '前天'}}">
26 <view class='list_title'>{{item.time}}</view> 30 <view class='list_title'>{{item.time}}</view>
27 </block> 31 </block>
@@ -70,7 +70,7 @@ Page({ @@ -70,7 +70,7 @@ Page({
70 }, 70 },
71 getPost(url,params,header) { 71 getPost(url,params,header) {
72 app.post(url,params,header).then((res) => { 72 app.post(url,params,header).then((res) => {
73 - // console.log('三级分类', res); 73 + console.log('三级分类', res);
74 this.setData({ 74 this.setData({
75 portal_three: res, 75 portal_three: res,
76 // postImg: postImg 76 // postImg: postImg
@@ -90,10 +90,18 @@ Page({ @@ -90,10 +90,18 @@ Page({
90 }; 90 };
91 self.getPost(url,params,header) 91 self.getPost(url,params,header)
92 }else { 92 }else {
93 - let params = {  
94 - id: self.data.portal_two.category[self.data.value[1]].id,  
95 - };  
96 - self.getPost(url,params,header) 93 + if(self.data.currentPortalOne === 2 || self.data.currentPortalOne === 3) {
  94 + let params = {
  95 + id: self.data.portal_two.category[self.data.value[0]].id,
  96 + };
  97 + console.log(('2-3'));
  98 + self.getPost(url,params,header)
  99 + }else {
  100 + let params = {
  101 + id: self.data.portal_two.category[self.data.value[1]].id,
  102 + };
  103 + self.getPost(url,params,header)
  104 + }
97 } 105 }
98 }, 106 },
99 //点击一级分类 107 //点击一级分类
@@ -111,10 +119,28 @@ Page({ @@ -111,10 +119,28 @@ Page({
111 }, 119 },
112 // 滑动picker 120 // 滑动picker
113 bindChangePicker(e) { 121 bindChangePicker(e) {
  122 + console.log(e);
  123 + if(this.data.currentPortalOne === 2 || this.data.currentPortalOne === 3) {
  124 + if(e.detail.value[0] !== this.data.value[0] || e.detail.value[0] === this.data.value[0]) {
  125 + console.log('id',this.data.portal_two.category[this.data.value[0]].id);
  126 + this.getPortalThree()
  127 + }
  128 + }
114 this.setData({value: e.detail.value}); 129 this.setData({value: e.detail.value});
115 - if(this.data.currentPortalOne !== 6 && this.data.currentPortalOne !== 7) { 130 + console.log(e.detail.value);
  131 + if(this.data.currentPortalOne !== 6 && this.data.currentPortalOne !== 7 &&
  132 + this.data.currentPortalOne !== 2 && this.data.currentPortalOne !== 3
  133 + ) {
116 this.getPortalThree() 134 this.getPortalThree()
117 } 135 }
  136 + // if(this.data.currentPortalOne === 2 || this.data.currentPortalOne === 3) {
  137 + // console.log(this.data.portal_two.category[this.data.value[0]].name);
  138 + // var name = this.data.portal_two.category[this.data.value[0]].name;
  139 + // if(name === '招租' || name === '求租') {
  140 + // console.log('调接口');
  141 + // this.getPortalThree()
  142 + // }
  143 + // }
118 }, 144 },
119 //确定提交picker 145 //确定提交picker
120 submitPicker() { 146 submitPicker() {
@@ -165,7 +191,7 @@ Page({ @@ -165,7 +191,7 @@ Page({
165 this.data.currentPortalOne === 4|| this.data.currentPortalOne === 5){ 191 this.data.currentPortalOne === 4|| this.data.currentPortalOne === 5){
166 this.setData({ 192 this.setData({
167 last_category_id:this.data.portal_three.category[this.data.value[1]].id, 193 last_category_id:this.data.portal_three.category[this.data.value[1]].id,
168 - select_id: this.data.portal_two.category[this.data.value[0]].id 194 + select_id: this.data.portal_two.select[this.data.value[0]].id
169 }); 195 });
170 }else { 196 }else {
171 this.setData({ 197 this.setData({
@@ -324,7 +350,7 @@ Page({ @@ -324,7 +350,7 @@ Page({
324 let header = { 350 let header = {
325 "XX-Token": wx.getStorageSync('token') 351 "XX-Token": wx.getStorageSync('token')
326 }; 352 };
327 - // console.log(self.data.last_category_id, self.data.select_id,self.data.images); 353 + console.log(self.data,self.data.last_category_id, self.data.select_id,self.data.images);
328 let params = { 354 let params = {
329 category_id: self.data.last_category_id,//最后选的分类的id 355 category_id: self.data.last_category_id,//最后选的分类的id
330 type: self.data.select_id !== ''?self.data.select_id: '',//select_id,没有不传 356 type: self.data.select_id !== ''?self.data.select_id: '',//select_id,没有不传
@@ -10,6 +10,7 @@ Page({ @@ -10,6 +10,7 @@ Page({
10 postList: [], 10 postList: [],
11 currentModal: 0, 11 currentModal: 0,
12 currentPost: 0, 12 currentPost: 0,
  13 + hidden_img: false,
13 }, 14 },
14 //输入搜索内容 15 //输入搜索内容
15 inputKey(e) { 16 inputKey(e) {
@@ -108,17 +109,48 @@ Page({ @@ -108,17 +109,48 @@ Page({
108 }, 109 },
109 //复制微信号 110 //复制微信号
110 clickCopy(e) { 111 clickCopy(e) {
  112 + const current = e.currentTarget.dataset.index;
111 wx.setClipboardData({ 113 wx.setClipboardData({
112 - data: this.data.postList[this.data.currentPost].user_nickname, 114 + data: this.data.postList[current].wxn,
113 success:function (res) { 115 success:function (res) {
114 // console.log('复制微信号',res); 116 // console.log('复制微信号',res);
115 } 117 }
116 - }) 118 + });
  119 + this.setData({
  120 + [`postList[${this.data.currentModal}].showlabel_box`]: false
  121 + });
117 }, 122 },
118 //进入主页 123 //进入主页
119 - enterHomePage() { 124 + enterHomePage(e) {
  125 + let self = this;
  126 + const current = e.currentTarget.dataset.index;
  127 +
120 wx.navigateTo({ 128 wx.navigateTo({
121 - url: '/pages/my/myindex/myindex' 129 + url: '/pages/service/myindex/myindex?user_id=' + self.data.postList[current].user_id
  130 + });
  131 + self.setData({
  132 + [`postList[${self.data.currentModal}].showlabel_box`]: false
  133 + });
  134 + },
  135 + //举报
  136 + report(e) {
  137 + let self = this;
  138 + const current = e.currentTarget.dataset.index;
  139 + let url = '/home/home/report';
  140 + let header = {
  141 + "XX-Token": wx.getStorageSync('token')
  142 + };
  143 + let params = {
  144 + to_user_id: self.data.postList[current].user_id,
  145 + post_id: self.data.postList[current].id,
  146 + };
  147 + app.post(url, params, header).then((res) => {
  148 + // console.log('举报', res);
  149 + wx.showToast({title: '举报成功',icon: 'none'});
  150 + // this.data.postList[this.data.currentModal].showlabel_box = false;
  151 + self.setData({
  152 + [`postList[${self.data.currentModal}].showlabel_box`]: false
  153 + });
122 }) 154 })
123 }, 155 },
124 //查看文章详情 156 //查看文章详情
@@ -193,6 +225,21 @@ Page({ @@ -193,6 +225,21 @@ Page({
193 '&is_post_list=' + true 225 '&is_post_list=' + true
194 }) 226 })
195 }, 227 },
  228 + //获取用户id
  229 + personInfo() {
  230 + let url = '/home/me/index';
  231 + let header = {
  232 + "XX-Token": wx.getStorageSync('token')
  233 + };
  234 + let params = {}
  235 + app.post(url, params, header).then((res) => {
  236 + // console.log(res)
  237 + this.setData({
  238 + userId: res.id
  239 + });
  240 + console.log(this.data.userId)
  241 + })
  242 + },
196 onLoad: function (options) { 243 onLoad: function (options) {
197 const self = this; 244 const self = this;
198 self.setData({ 245 self.setData({
@@ -200,7 +247,8 @@ Page({ @@ -200,7 +247,8 @@ Page({
200 order: +options.order, 247 order: +options.order,
201 select_id: +options.select_id, 248 select_id: +options.select_id,
202 }); 249 });
203 - self.getSearchHistory() 250 + self.personInfo();
  251 + self.getSearchHistory();
204 }, 252 },
205 253
206 /** 254 /**
@@ -48,17 +48,19 @@ @@ -48,17 +48,19 @@
48 </view> 48 </view>
49 <view class="copy"> 49 <view class="copy">
50 <view class='line'>|</view> 50 <view class='line'>|</view>
51 - <view class='label-text' catchtap="clickCopy">复制</view> 51 + <view class='label-text' catchtap="clickCopy" data-index="{{index}}">复制</view>
52 <view class='line'>|</view> 52 <view class='line'>|</view>
53 - <view class='label-text' catchtap="enterHomePage"> 53 + <view class='label-text' catchtap="enterHomePage" data-index="{{index}}">
54 <text class='iconfont icon-jubao0201'></text> 54 <text class='iconfont icon-jubao0201'></text>
55 <text>进入主页</text> 55 <text>进入主页</text>
56 </view> 56 </view>
57 - <view class='line'>|</view>  
58 - <view class='label-text'>  
59 - <text class='iconfont icon-jubao0201'></text>  
60 - <text>举报</text>  
61 - </view> 57 + <block wx:if="{{userId !== item.user_id}}">
  58 + <view class='line'>|</view>
  59 + <view class='label-text' catchtap="report" data-index="{{index}}">
  60 + <text class='iconfont icon-jubao0201'></text>
  61 + <text>举报</text>
  62 + </view>
  63 + </block>
62 </view> 64 </view>
63 </view> 65 </view>
64 </view> 66 </view>
@@ -95,10 +97,7 @@ @@ -95,10 +97,7 @@
95 </view> 97 </view>
96 </block> 98 </block>
97 <view class='list_content'>{{item.post_content}}</view> 99 <view class='list_content'>{{item.post_content}}</view>
98 - <view class='list_img_box'>  
99 - <!--<block wx:for="{{postImg}}" wx:key="index">-->  
100 - <!--<image src='{{item.url}}' wx:for="{{item.photos}}" wx:key="index"></image>-->  
101 - <!--</block>--> 100 + <view class='list_img_box' wx:if="{{item.more.photos[0].url !== ''}}">
102 <block wx:for="{{item.more.photos}}" wx:key="index"> 101 <block wx:for="{{item.more.photos}}" wx:key="index">
103 <image src='{{item.url}}'></image> 102 <image src='{{item.url}}'></image>
104 </block> 103 </block>
@@ -10,7 +10,6 @@ Page({ @@ -10,7 +10,6 @@ Page({
10 post_id: '', 10 post_id: '',
11 type: '', 11 type: '',
12 id: '', 12 id: '',
13 - hidden_img: false,  
14 }, 13 },
15 //回复 14 //回复
16 reply(e) { 15 reply(e) {
@@ -61,24 +60,48 @@ Page({ @@ -61,24 +60,48 @@ Page({
61 }, 60 },
62 61
63 //复制微信号 62 //复制微信号
64 - clickCopy(e) { 63 + clickCopy() {
65 wx.setClipboardData({ 64 wx.setClipboardData({
66 data: this.data.postList.wxn, 65 data: this.data.postList.wxn,
67 success: function(res) { 66 success: function(res) {
68 // console.log('复制微信号', res); 67 // console.log('复制微信号', res);
69 } 68 }
  69 + });
  70 + this.setData({
  71 + showlabel_box: false
70 }) 72 })
71 }, 73 },
72 //进入主页 74 //进入主页
73 - enterHomePage(e) { 75 + enterHomePage() {
74 let self = this; 76 let self = this;
75 - const current = e.currentTarget.dataset.index;  
76 // // console.log(current); 77 // // console.log(current);
77 wx.navigateTo({ 78 wx.navigateTo({
78 url: '/pages/service/myindex/myindex?user_id=' + self.data.postList.user_id 79 url: '/pages/service/myindex/myindex?user_id=' + self.data.postList.user_id
  80 + });
  81 + this.setData({
  82 + showlabel_box: false
79 }) 83 })
80 }, 84 },
81 - 85 + //举报
  86 + report() {
  87 + let self = this;
  88 + let url = '/home/home/report';
  89 + let header = {
  90 + "XX-Token": wx.getStorageSync('token')
  91 + };
  92 + let params = {
  93 + to_user_id: self.data.postList.user_id,
  94 + post_id: self.data.postList.id,
  95 + };
  96 + app.post(url, params, header).then((res) => {
  97 + // console.log('举报', res);
  98 + wx.showToast({title: '举报成功',icon: 'none'});
  99 + // this.data.postList[this.data.currentModal].showlabel_box = false;
  100 + self.setData({
  101 + showlabel_box: false
  102 + })
  103 + })
  104 + },
82 //获取文章详情 105 //获取文章详情
83 getPostDetail() { 106 getPostDetail() {
84 let self = this; 107 let self = this;
@@ -90,21 +113,18 @@ Page({ @@ -90,21 +113,18 @@ Page({
90 id: self.data.post_id, 113 id: self.data.post_id,
91 }; 114 };
92 app.post(url, params, header).then((res) => { 115 app.post(url, params, header).then((res) => {
93 - // console.log('文章详情', res);  
94 - const postImg = res.map((item) => {  
95 - return JSON.parse(item.more);  
96 - }); 116 + console.log('more', res[0].more);
  117 + if (res[0].more !== null) {
  118 + const postImg = res.map((item) => {
  119 + return JSON.parse(item.more);
  120 + });
  121 + self.setData({
  122 + postImg: postImg
  123 + });
  124 + }
97 self.setData({ 125 self.setData({
98 - postList: res[0],  
99 - postImg: postImg  
100 - });  
101 - self.data.postImg.forEach((item,index) => {  
102 - item.photos.forEach((item) => {  
103 - if(item.url === "") {  
104 - self.setData({hidden_img: true})  
105 - }  
106 - })  
107 - });//判断没有发布图片时显示空 126 + postList: res[0],
  127 + })
108 }) 128 })
109 }, 129 },
110 130
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 <text class='iconfont icon-zhuye'></text> 25 <text class='iconfont icon-zhuye'></text>
26 <text>进入主页</text> 26 <text>进入主页</text>
27 </view> 27 </view>
28 - <block wx:if="{{userId !== postList.user_id}}"> 28 + <block wx:if="{{userId !== postList.user_id}}" catchtap="report">
29 <view class='line'>|</view> 29 <view class='line'>|</view>
30 <view class='label-text'> 30 <view class='label-text'>
31 <text class='iconfont icon-jubao0201'></text> 31 <text class='iconfont icon-jubao0201'></text>
@@ -69,7 +69,7 @@ @@ -69,7 +69,7 @@
69 </view> 69 </view>
70 </block> 70 </block>
71 <view class='list_content'>{{postList.post_content}}</view> 71 <view class='list_content'>{{postList.post_content}}</view>
72 - <view class='list_img_box' wx:if="{{!hidden_img}}"> 72 + <view class='list_img_box'>
73 <block wx:for="{{postImg}}" wx:key="index"> 73 <block wx:for="{{postImg}}" wx:key="index">
74 <image src='{{item.url}}' wx:for="{{item.photos}}" wx:key="index" 74 <image src='{{item.url}}' wx:for="{{item.photos}}" wx:key="index"
75 data-index="{{index}}" bindtap="previewImg"></image> 75 data-index="{{index}}" bindtap="previewImg"></image>