// compontents/chat/chat.js
const util = require('../../utils/util.js');
const APIClient = require('../../utils/APIClient.js');
const login = require('../../utils/loginSchedule.js');

Component({
  /**
   * 组件的属性列表
   * productionData 传过来的数据
   * title 头部标题
   * query 看是上传还是分享图片
   * type 主要是判断答疑和分享
   * columnType 主要是课程的编号 底下会用到
   * more是否显示展开更多
   */
  properties: {
    productionData: {
      type: Object,
      value: {}
    },
    title: {
      type: String,
      value: ''      
    },
    query: {
      type: String,
      value: ''          
    },
    type: {
      type: String,
      value: '' 
    },
    columnType: {
      type: String,
      value: '' 
    },
    more: {
      type: String,
      value: ''
    }
  },

  /**
   * 组件的初始数据
   * animationData 主要是定义一个展开的动画 
   */
  data: {
    animationData: {},
    ratio: '',
    canvasHeight: ''
  },

  /**
   * 组件的方法列表
   */
  methods: {
    uploadImage (e) {
      const type = this.properties.type;
      const columnType = this.properties.columnType;
      wx.navigateTo({
        url: '../input_content/input_content?type=' + type + '&columnType=' + columnType 
      })
    },
    listenerButtonPreviewImage: function(e) {
      let imgUrl = [];
      imgUrl.push(e.target.dataset.img);
      wx.previewImage({
          current: '', // 当前显示图片的http链接
          urls: imgUrl, // 需要预览的图片http链接列表
          //这根本就不走
          success: function(res) {
              //console.log(res);
          },
          //也根本不走
          fail: function() {
              //console.log('fail')
          }
      })
    },
    //分享
    shareImage: function(e){
      this.triggerEvent('getHeight');
      //分享查询单条的时候会用到这个值
      const postId = e.currentTarget.dataset.postsid;
      //获取分享的图片
      const imgUrl = e.currentTarget.dataset.imgurl;
      //获取分享的个人信息
      const featureMap = e.currentTarget.dataset.featuremap;
      //获取输入内容
      const title = e.currentTarget.dataset.title;
      //获取宽高比例
      const ratio = this.data.ratio;
      //分享组件弹窗调用里边方法,在底下会获取
      this.share.showPopup(postId, imgUrl, featureMap, title, ratio);
    },
    //跳转详情页
    particulars: function (e) {
      const postId = e.currentTarget.dataset.postsid;
      const type = e.currentTarget.dataset.type;
      //取消小点
      login.getOpenidSessionKey(function(res) {
        APIClient.cancelDian({
          uid: res.data.data.uid
        }, {
          "postsId":postId
        }).success((res) => {
          console.log(res);
        })
      }, function() {
        wx.showModal({
          title: '提示',
          content: '需要获取您的公开信息(昵称、头像等),请从小程序列表删除小学王者班后再次扫码进入,允许授权后可正常使用',
          showCancel: false,
          success: function (res) {
            if (res.confirm) {
              console.log('用户点击确定')
            } else if (res.cancel) {
              console.log('用户点击取消')
            }
          }
        })
      });
      wx.navigateTo({
        url: '../../pages/particulars/particulars?postId=' + postId + '&type=' + type
      })

    },
    //查看更多
    examine: function () {
      //组件间方法的调用
      var myEventDetail = {} // detail对象,提供给事件监听函数
      var myEventOption = {} // 触发事件的选项
      this.triggerEvent('myevent', myEventDetail, myEventOption)
    },
    //获取image宽高
    imageLoad: function(e) {  
      let height = e.detail.height;
      let width = e.detail.width;
      //获取屏幕宽度
      const windowWidth = wx.getSystemInfoSync().windowWidth;
      //获取图片高度
      const imgHeight = windowWidth*(height/width);
      this.setData({
        ratio: height/width,
        canvasHeight: imgHeight + 300
      })
    }  
  },
  ready: function(){
    //获取分享弹窗组件
    this.share = this.selectComponent("#share");
  }
})