// pages/pool/pool.js
import NumberAnimate from "../../utils/NumberAnimate.js";
const app=getApp();
var wxParse = require('../../wxParse/wxParse.js');
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');
var qqmapsdk;
Page({

 /**
  * 页面的初始数据
  */
 data: {
  num1:'',
  postdata:[],
  showlocation:false,
  posterobj: {
   showposter: false,
   imgurl: ''
  }
 },
 //到预约页
 goappintment() {
  if (app.globalData.city == '') {
   wx.getLocation({
    success: function (res) {
     let location = {
      latitude: res.latitude,
      longitude: res.longitude
     }
     qqmapsdk.search({
      keyword: '全部',
      location: location,
      success: function (res) {
       let city = res.data[0].ad_info.city;
       let province = res.data[0].ad_info.province;
       app.globalData.city = city;
      
      },
      fail: function (res) {
      },
      complete: function (res) {
      }
     });
    },
   })
  } else {
   wx.navigateTo({
    url: '/pages/appointment/appintment',
    success: function (res) { },
    fail: function (res) { },
    complete: function (res) { },
   })
  }
 },
 // 数字滚动
 animate: function () {
  let that=this;
  this.setData({
   num1: '',
  });
  let num1 = parseInt(that.data.postdata.kg);
  let n1 = new NumberAnimate({
   from: num1,//开始时的数字
   speed: 5000,// 总时间
   refreshTime: 100,// 刷新一次的时间
   decimals: 0,//小数点后的位数
   onUpdate: () => {//更新回调函数
    this.setData({
     num1: n1.tempValue
    });
   },
   onComplete: () => {//完成回调函数
   }

  });

 },
 //弹出海报
 showposter() {
  let that=this;
  let url = 'home/poster/create_poster';
  let head = {
   'XX-Token': wx.getStorageSync('token')
  }
  app.post(url, {}, head).then((res) => {
   let posterobj = that.data.posterobj;
   posterobj.imgurl = res;
   posterobj.showposter = true;
   that.setData({
    posterobj: posterobj
   })
  }).catch((err) => {
   console.log(err)
  })
 },
 //开通城市、预约流程、关于象合家、公益基金池(id只有2,3,4,9)
 getpostdata(){
  let that=this;
  let url ='home/home/page_info';
  let param={
   id:9
  }
  app.post(url,param).then((res)=>{
   that.setData({
    postdata:res,
    num1: res.kg
   })
   that.animate();
   wxParse.wxParse('content', 'html', res.content, that, 5);
  }).catch((err)=>{
   console.log(err)
  })
 },
 //获取sessionKey和openid (登陆授权)
 start(e) {
  let that = this;
  app.globalData.userInfo = e.detail.userInfo;
  wx.login({
   success: function (s) {
    let url = 'wxapp/public/getSessionKey';
    if (s.code) {
     var code = s.code;
     var param = {
      code: code
     }
     app.post(url, param).then((res) => {
      let param = {
       openid: res.openid,
       session_key: res.session_key,
       encrypted_data: e.detail.encryptedData,
       iv: e.detail.iv
      }
      let url = 'wxapp/public/login';
      app.post(url, param).then((res) => {
       wx.setStorageSync('token', res.token);
       that.setData({
        haspower: true
       })
       that.showposter();
      }).catch((errMsg) => {
       console.log(errMsg);
      })
     }).catch((errMsg) => {
      console.log(errMsg);
     })
    }
   }
  });
 },
 //判断是否登陆
 is_register() {
  let that = this;
  wx.login({
   success: function (s) {
    let url = 'wxapp/public/getSessionKey';
    if (s.code) {
     var code = s.code;
     var param = {
      code: code
     }
     app.post(url, param).then((res) => {
      let url = 'wxapp/public/is_register';
      let params = {
       openid: res.openid
      }
      app.post(url, params).then((res) => {
       if (res.code == '40000') {
        wx.setStorageSync('token', res.data);
        that.setData({
         haspower: true
        })
       } else {
        that.setData({
         haspower: false
        })
       }
      }).catch((err) => {
       console.log(err);
      })
     }).catch((errMsg) => {
      console.log(errMsg);
     })
    }
   }
  });
 },
 sershowposterno() {
  let posterobj = this.data.posterobj;
  posterobj.showposter = false;
  this.setData({
   posterobj: posterobj
  })
 },
 //保存图片
 saveImg() {
  
  let that = this;
  wx.downloadFile({
   url: that.data.posterobj.imgurl,
   success: function (res) {
    wx.saveImageToPhotosAlbum({
     filePath: res.tempFilePath,
     success: function (res) {
      wx.hideLoading()
      wx.showToast({
       icon: 'none',
       title: '图片保存成功,可以分享到朋友圈'
      })
      that.setData({
       showposter: false
      })
     },
     fail: function (res) {
      wx.showToast({
       icon: 'none',
       title: '图片保存失败'
      })
      that.setData({
       showposter: false
      })
     }
    })
   },
   fail: function (res) {
   
   }
  })
 },
 voldfun() {
 },
 showlocationno() {
  this.setData({
   showlocation: false
  })
 },
 callback(opensetting) {
 
  let self = this;
  let w = opensetting.detail.authSetting['scope.writePhotosAlbum'];
  if (w) {
   self.saveImg();
   this.setData({
    showlocation: false
   });
  } else {
   this.setData({
    showlocation: true
   });
  }
 },
 /**
  * 生命周期函数--监听页面加载
  */
 onLoad: function (options) {
  let that=this;
  that.is_register();

  qqmapsdk = new QQMapWX({
   key: 'GERBZ-FTDR6-M4HS4-MRP44-25KPT-UCBBV'
  });
 },
 /**
  * 生命周期函数--监听页面初次渲染完成
  */
 onReady: function () {

 },
 /**
  * 生命周期函数--监听页面显示
  */
 onShow: function () {
  let that=this;
  that.is_register();
  that.getpostdata();
 },

 /**
  * 生命周期函数--监听页面隐藏
  */
 onHide: function () {

 },

 /**
  * 生命周期函数--监听页面卸载
  */
 onUnload: function () {

 },

 /**
  * 页面相关事件处理函数--监听用户下拉动作
  */
 onPullDownRefresh: function () {

 },

 /**
  * 页面上拉触底事件的处理函数
  */
 onReachBottom: function () {

 },

 /**
  * 用户点击右上角分享
  */
 onShareAppMessage: function () {
  let that = this;
  // 设置菜单中的转发按钮触发转发事件时的转发内容
  var shareObj = {
   title: '象和家小程序', // 默认是小程序的名称(可以写slogan等)
   path: '/pages/index/index', // 默认是当前页面,必须是以‘/’开头的完整路径
   imageUrl: '../imgs/poster.png',//自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4
   success: function (res) {
    // 转发成功之后的回调
    if (res.errMsg == 'shareAppMessage:ok') {
     that.setData({
      showposter: false
     })
    }
   },
   fail: function () {
    // 转发失败之后的回调
    if (res.errMsg == 'shareAppMessage:fail cancel') {
     // 用户取消转发
    } else if (res.errMsg == 'shareAppMessage:fail') {
     // 转发失败,其中 detail message 为详细失败信息
    }
   },
   complete: function () {
    // 转发结束之后的回调(转发成不成功都会执行)
   }
  }   // 来自页面内的按钮的转发

  if (options.from == 'button') {
   // 此处可以修改 shareObj 中的内容
   // shareObj.path = '/pages/start/start?status=' + options.target.dataset.status
  }   // 返回shareObj

  return shareObj;
 }
})