接口对接
This commit is contained in:
		@@ -2,16 +2,19 @@
 | 
			
		||||
  <div class="AppCircle">
 | 
			
		||||
    <div class="top">
 | 
			
		||||
      <div class="left">
 | 
			
		||||
        <span @click="currIndex = 0" :class="[currIndex === 0 ? 'active' : '']">广场</span>
 | 
			
		||||
        <span @click="currIndex = 1" :class="[currIndex === 1 ? 'active' : '']">社区</span>
 | 
			
		||||
        <span @click="changeTab(0)" :class="[currIndex === 0 ? 'active' : '']">广场</span>
 | 
			
		||||
        <span @click="changeTab(1)" :class="[currIndex === 1 ? 'active' : '']">社区</span>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="right" @click="$linkTo('./MyPostList')">
 | 
			
		||||
        <span>我的贴子</span>
 | 
			
		||||
        <i>1</i>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="nav">
 | 
			
		||||
      <div class="nav-item" hover-class="text-hover" v-for="(item, index) in topic" :key="index" @click="$linkTo('./TopicDetail')">
 | 
			
		||||
    <div class="nav" v-if="topic.length">
 | 
			
		||||
      <div
 | 
			
		||||
        class="nav-item"
 | 
			
		||||
        hover-class="text-hover"
 | 
			
		||||
        v-for="(item, index) in topic" :key="index" @click="$linkTo('./TopicDetail?themeId=' + item.id + '&name=' + item.title)">
 | 
			
		||||
        <image :src="item.picUrl" mode="aspectFill" />
 | 
			
		||||
        <h2>{{ item.title }}</h2>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -21,7 +24,7 @@
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="AppCircle-list">
 | 
			
		||||
      <div class="item" v-for="(item, index) in list" :key="index" @click="$linkTo('./Detail')" hover-class="bg-hover">
 | 
			
		||||
      <div class="item" v-for="(item, index) in list" :key="index" @click="$linkTo('./Detail?id=' + item.id + '&name=' + item.topicName + '&themeId=' + item.themeId)">
 | 
			
		||||
        <div class="item-top">
 | 
			
		||||
          <image :src="item.createUserAvatar" />
 | 
			
		||||
          <div class="right">
 | 
			
		||||
@@ -30,7 +33,7 @@
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="item-content">
 | 
			
		||||
          <span v-if="item.themeId" @click="$linkTo('./TopicDetail')">#【{{ item.topicName }}】</span>
 | 
			
		||||
          <span v-if="item.themeId" @click.stop="$linkTo('./TopicDetail?themeId=' + item.themeId + '&name=' + item.topicName)">#【{{ item.topicName }}】</span>
 | 
			
		||||
          <text>{{ item.content }}</text>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="item-imgs" v-if="item.files.length">
 | 
			
		||||
@@ -52,6 +55,7 @@
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <AiEmpty v-if="!list.length"></AiEmpty>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="add" hover-class="text-hover" @click="$linkTo('./Add')">
 | 
			
		||||
      <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-fatie.png" />
 | 
			
		||||
@@ -70,7 +74,9 @@
 | 
			
		||||
      return {
 | 
			
		||||
        currIndex: 0,
 | 
			
		||||
        topicList: [],
 | 
			
		||||
        list: []
 | 
			
		||||
        list: [],
 | 
			
		||||
        isMore: false,
 | 
			
		||||
        current: 1
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -102,6 +108,16 @@
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      changeTab (index) {
 | 
			
		||||
        this.currIndex = index
 | 
			
		||||
        this.isMore = false
 | 
			
		||||
        this.current = 1
 | 
			
		||||
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.getList()
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      getList () {
 | 
			
		||||
        if (this.isMore) return
 | 
			
		||||
 | 
			
		||||
@@ -199,9 +215,10 @@
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        h2 {
 | 
			
		||||
          line-height: 32px;
 | 
			
		||||
          margin-top: 8px;
 | 
			
		||||
          font-size: 26px;
 | 
			
		||||
          font-weight: 400;
 | 
			
		||||
          line-height: 32px;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,33 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="Detail">
 | 
			
		||||
  <div class="Detail" v-if="isShow">
 | 
			
		||||
    <div class="top">
 | 
			
		||||
      <div class="item-top">
 | 
			
		||||
        <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-fangwuchuzu.png" />
 | 
			
		||||
        <image :src="info.createUserAvatar" />
 | 
			
		||||
        <div class="right">
 | 
			
		||||
          <h3>李在地</h3>
 | 
			
		||||
          <span>清风街道</span>
 | 
			
		||||
          <h3>{{ info.createUserName }}</h3>
 | 
			
		||||
          <span>{{ info.publishDepartName }}</span>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="item-content">
 | 
			
		||||
        <span @click="$linkTo('./TopicDetail')">#【闲置物品交易】</span>
 | 
			
		||||
        <text>社家用闲置柜子自用,原价212,现价80要的联系</text>
 | 
			
		||||
        <span v-if="name" @click="toTopic('./TopicDetail?themeId=' + themeId + '&name=' + name)">#【{{ name }}】</span>
 | 
			
		||||
        <text>{{ info.content }}</text>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="item-imgs">
 | 
			
		||||
        <image src="https://cdn.cunwuyun.cn/wxmp/tianfuxing/home-bg.png" />
 | 
			
		||||
        <image src="https://cdn.cunwuyun.cn/wxmp/tianfuxing/home-bg.png" />
 | 
			
		||||
        <image src="https://cdn.cunwuyun.cn/wxmp/tianfuxing/home-bg.png" />
 | 
			
		||||
      <div class="item-imgs" v-if="info.files && info.files.length">
 | 
			
		||||
        <image mode="aspectFill" v-for="(item, index) in item.files" :key="index" :src="item.url" />
 | 
			
		||||
      </div>
 | 
			
		||||
      <p>2020-12-11 10:10</p>
 | 
			
		||||
      <p>{{ info.createTime }}</p>
 | 
			
		||||
      <div class="item-bottom">
 | 
			
		||||
        <div>
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-zhuanfa.png" />
 | 
			
		||||
          <i>10</i>
 | 
			
		||||
          <i>{{ info.sharedCount }}</i>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/zan.png" />
 | 
			
		||||
          <i>10</i>
 | 
			
		||||
          <i>{{ info.appreciateCount }}</i>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div>
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-pinglun.png" />
 | 
			
		||||
          <i>10</i>
 | 
			
		||||
          <i>{{ info.commentCount }}</i>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@@ -63,13 +61,46 @@
 | 
			
		||||
 | 
			
		||||
    data () {
 | 
			
		||||
      return {
 | 
			
		||||
        id: '',
 | 
			
		||||
        isShow: false,
 | 
			
		||||
        info: {},
 | 
			
		||||
        name: '',
 | 
			
		||||
        themeId: '',
 | 
			
		||||
        isFrom: ''
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    onLoad() {
 | 
			
		||||
    onLoad (query) {
 | 
			
		||||
      this.isFrom = query.isFrom
 | 
			
		||||
      this.id = query.id
 | 
			
		||||
      this.$loading()
 | 
			
		||||
      this.getInfo(query.id)
 | 
			
		||||
      this.themeId = query.themeId
 | 
			
		||||
      this.name = query.name || ''
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    methods: {
 | 
			
		||||
      getInfo (id) {
 | 
			
		||||
        this.$instance.post(`/app/appneighborhoodassistance/queryDetailById?id=${id}`).then(res => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.info = res.data
 | 
			
		||||
 | 
			
		||||
            this.isShow = true
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          uni.hideLoading()
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      toTopic (url) {
 | 
			
		||||
        if (this.isFrom === 'topic') {
 | 
			
		||||
          uni.navigateBack({
 | 
			
		||||
            delta: 1
 | 
			
		||||
          })
 | 
			
		||||
        } else {
 | 
			
		||||
          this.$linkTo(url)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,45 +1,47 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="TopicDetail">
 | 
			
		||||
    <h2>#闲置物品交易</h2>
 | 
			
		||||
    <h2>#{{ name }}</h2>
 | 
			
		||||
    <p>贴子:23913</p>
 | 
			
		||||
    <div class="tab">
 | 
			
		||||
      <span @click="currIndex = 0" :class="[currIndex === 0 ? 'active' : '']">广场</span>
 | 
			
		||||
      <span @click="currIndex = 1" :class="[currIndex === 1 ? 'active' : '']">社区</span>
 | 
			
		||||
      <span @click="changeTab(0)" :class="[currIndex === 0 ? 'active' : '']">广场</span>
 | 
			
		||||
      <span @click="changeTab(1)" :class="[currIndex === 1 ? 'active' : '']">社区</span>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="AppCircle-list">
 | 
			
		||||
      <div class="item" v-for="(item, index) in 10" :key="index">
 | 
			
		||||
      <div
 | 
			
		||||
        class="item"
 | 
			
		||||
        v-for="(item, index) in list"
 | 
			
		||||
        :key="index"
 | 
			
		||||
        @click="$linkTo('./Detail?isFrom=topic&id=' + item.id + '&name=' + name + '&themeId=' + themeId)">
 | 
			
		||||
        <div class="item-top">
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-fangwuchuzu.png" />
 | 
			
		||||
          <image :src="item.createUserAvatar" />
 | 
			
		||||
          <div class="right">
 | 
			
		||||
            <h3>李在地</h3>
 | 
			
		||||
            <span>清风街道</span>
 | 
			
		||||
            <h3>{{ item.createUserName }}</h3>
 | 
			
		||||
            <span>{{ item.publishDepartName }}</span>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="item-content">
 | 
			
		||||
          <span @click="$linkTo('./TopicDetail')">#【闲置物品交易】</span>
 | 
			
		||||
          <text>社家用闲置柜子自用,原价212,现价80要的联系</text>
 | 
			
		||||
          <text>{{ item.content }}</text>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="item-imgs">
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/tianfuxing/home-bg.png" />
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/tianfuxing/home-bg.png" />
 | 
			
		||||
          <image src="https://cdn.cunwuyun.cn/wxmp/tianfuxing/home-bg.png" />
 | 
			
		||||
        <div class="item-imgs" v-if="item.files.length">
 | 
			
		||||
          <image mode="aspectFill" v-for="(item, index) in item.files" :key="index" :src="item.url" />
 | 
			
		||||
        </div>
 | 
			
		||||
        <p>2020-12-11 10:10</p>
 | 
			
		||||
        <p>{{ item.createTime }}</p>
 | 
			
		||||
        <div class="item-bottom">
 | 
			
		||||
          <div>
 | 
			
		||||
            <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-zhuanfa.png" />
 | 
			
		||||
            <i>10</i>
 | 
			
		||||
            <i>{{ item.sharedCount }}</i>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div>
 | 
			
		||||
            <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/zan.png" />
 | 
			
		||||
            <i>10</i>
 | 
			
		||||
            <i>{{ item.appreciateCount }}</i>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div>
 | 
			
		||||
            <image src="https://cdn.cunwuyun.cn/wxmp/fengdu/ic-pinglun.png" />
 | 
			
		||||
            <i>10</i>
 | 
			
		||||
            <i>{{ item.commentCount }}</i>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <AiEmpty v-if="!list.length"></AiEmpty>
 | 
			
		||||
    </div>
 | 
			
		||||
    <AiLogin ref="login"/>
 | 
			
		||||
  </div>
 | 
			
		||||
@@ -53,7 +55,13 @@
 | 
			
		||||
 | 
			
		||||
    data () {
 | 
			
		||||
      return {
 | 
			
		||||
        currIndex: 0
 | 
			
		||||
        currIndex: 0,
 | 
			
		||||
        name: '',
 | 
			
		||||
        themeId: '',
 | 
			
		||||
        list: [],
 | 
			
		||||
        isMore: false,
 | 
			
		||||
        current: 1,
 | 
			
		||||
        total: 0
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -61,11 +69,69 @@
 | 
			
		||||
      ...mapState(['user', 'token'])
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    onLoad() {
 | 
			
		||||
    onLoad (query) {
 | 
			
		||||
      this.themeId = query.themeId
 | 
			
		||||
      this.name = query.name
 | 
			
		||||
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.getList()
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    methods: {
 | 
			
		||||
      ...mapActions(['autoLogin', 'authCheck'])
 | 
			
		||||
      ...mapActions(['autoLogin', 'authCheck']),
 | 
			
		||||
 | 
			
		||||
      changeTab (index) {
 | 
			
		||||
        this.currIndex = index
 | 
			
		||||
        this.isMore = false
 | 
			
		||||
        this.current = 1
 | 
			
		||||
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.getList()
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      getList () {
 | 
			
		||||
        if (this.isMore) return
 | 
			
		||||
 | 
			
		||||
        this.$loading()
 | 
			
		||||
        this.$instance.post(`/app/appneighborhoodassistance/list`, null, {
 | 
			
		||||
          params: {
 | 
			
		||||
            current: this.current,
 | 
			
		||||
            size: 10,
 | 
			
		||||
            source: 0,
 | 
			
		||||
            themeId: this.themeId,
 | 
			
		||||
            visibleRange: this.currIndex === 0 ? 1 : 0
 | 
			
		||||
          }
 | 
			
		||||
        }).then(res => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.$hideLoading()
 | 
			
		||||
            if (this.current > 1) {
 | 
			
		||||
              this.list = [...this.list, ...res.data.records]
 | 
			
		||||
            } else {
 | 
			
		||||
              this.list = res.data.records
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.total = res.data.total
 | 
			
		||||
 | 
			
		||||
            if (res.data.records.length < 10) {
 | 
			
		||||
              this.isMore = true
 | 
			
		||||
 | 
			
		||||
              return false
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            this.current = this.current + 1
 | 
			
		||||
          } else {
 | 
			
		||||
            this.isMore = true
 | 
			
		||||
          }
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
          this.$hideLoading()
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    onReachBottom () {
 | 
			
		||||
      this.getList()
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    onShareAppMessage() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user