<template>
  <view>
    <dHeader :title="$lang.lang.log.logExchange"></dHeader>
    <view class="container">
      <view class="item" v-for="item in list" :key="item.id" @click="toDetail(item.id)">
        <div class="item-title">{{ $lang.lang.log.redeemGifts }}</div>
        <div class="item-box">
          <div class="box-img">
            <image class="imgs" :src="locale === 'zh' ? item.imgZh : item.imgEn"></image>
          </div>
          <div class="box-content">
            <div class="content-text">
              {{ locale === 'zh' ? item.rewardTitleZh : item.rewardTitleEn }}
            </div>
            <div class="content-time">{{ formatDate(item.createTime) }}</div>
          </div>
          <div class="box-right">
            <view class="box-right-num">X{{ item.rewardCount }}</view>
            <view class="box-right-text">-{{ item.scoreCount }}</view>
          </div>
        </div>
      </view>
    </view>
  </view>
</template>

<script>
import dHeader from '../../components/dHeader/index.vue'
export default {
  components: {
    dHeader
  },
  data() {
    return {
      list: []
    }
  },
  created() {
    this.getList()
  },
  computed: {
    locale() {
      return this.$lang.locale
    }
  },
  methods: {
    toDetail(id) {
      uni.navigateTo({
        url: '/pages/exchange_detail/exchange_detail?id=' + id
      })
    },
    // 获取礼品列表
    async getList() {
      try {
        const memberId = this.$store.getters.id
        const { code, data } = await this.$request.post('/app-api/reward/redeem/record/list', {
          memberId
        })
        if (code == 0 && data) {
          this.list = data
        }
      } catch (error) {
        console.log(error)
      }
    },
    // 时间戳转换为YYYY-MM-DD HH:mm:ss
    formatDate(time) {
      const date = new Date(time)
      const Y = date.getFullYear() + '-'
      const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
      const D = `${date.getDate()}`.padStart(2, '0') + ' '
      const h = `${date.getHours()}`.padStart(2, '0') + ':'
      const m = `${date.getMinutes()}`.padStart(2, '0') + ':'
      const s = `${date.getSeconds()}`.padStart(2, '0')
      return Y + M + D + h + m + s
    }
  }
}
</script>

<style lang="scss">
page {
  overflow: auto;
  /* height: 100%; */
  /* #ifdef H5 */
  padding-top: 140upx;
  /* #endif */
  /* #ifdef APP-PLUS */
  padding-top: calc(var(--status-bar-height) + 100upx);
  /* #endif */
  background-color: #edf2fa;
}
.container {
  padding: 20upx;
  box-sizing: border-box;
  .item {
    padding: 20upx 30upx 30upx 30upx;
    margin-bottom: 20upx;
    width: 100%;
    box-sizing: border-box;
    border-radius: 16upx;
    background: #ffffff;
    box-shadow: 0 2upx 12upx 0 rgba(0, 0, 0, 0.1);
  }
}
.item-title {
  font-size: 24upx;
  margin-bottom: 20upx;
}
.item-box {
  width: 100%;
  display: flex;
  box-sizing: border-box;
}
.box-img {
  width: 100upx;
  height: 120upx;
  margin-right: 20upx;
  display: flex;
  align-items: center;
  justify-content: center;
  .imgs {
    width: 100upx;
    height: 100upx;
    object-fit: cover;
  }
}
.box-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  .content-text {
    font-size: 24upx;
    color: #7f7f7f;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }
  .content-time {
    font-size: 20upx;
    color: #7f7f7f;
  }
}
.box-right {
  margin-left: 10upx;
  width: 120upx;
  height: 120upx;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 50%;
  font-size: 24upx;
  color: #333333;
}
.box-right-img {
  transform: translate(20upx, -60upx);
  width: 120upx;
  height: 120upx;
  image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
</style>