serviceexperience.js 4.1 KB
// pages/serviceexperience/serviceexperience.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    region: [],
    place: '请选择省市区',
    content: "",
    name: "",
    phone: "",
    address: "",
    token: "",
    // 分享人的ID
    shareId:"",
    // 防连点
    isClick:false,
    // 是否已预约
    isConfirm:true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    this.setData({
      token: wx.getStorageSync("token"),
      shareId:options.id 
    })
    // 获取服务介绍详情
    this.getServeiceDetail();
  },
  // 获取服务介绍详情
  getServeiceDetail() {
    let t = this;
    let url = "/api/index/experienceDetail";
    app.post(url)
      .then(res => {
        t.setData({
          content: res.content
        })
      })
  },
  // 获取姓名
  getName(e) {
    this.setData({
      name: e.detail.value
    })
  },
  // 获取手机号
  getPhone(e) {
    this.setData({
      phone: e.detail.value
    })
  },
  // 获取详细地址
  getAddress(e) {
    this.setData({
      address: e.detail.value
    })
  },
  // 免费预约
  submit() {
    // 判断是否登录
    let t = this;
    if(!t.data.isClick){
      t.setData({
        isClick:true
      })
      if (t.data.token) {
        if (t.data.region.length > 0 && t.data.name && t.data.phone && t.data.address) {
          setTimeout(function(){
            t.setData({
              isClick:false
            })
          },1500)
          let url = "/api/user/freeBook";
          let params = {
            user_name: t.data.name,
            mobile: t.data.phone,
            address: t.data.address,
            province: t.data.region[0],
            city: t.data.region[1],
            district: t.data.region[2]
          };
          app.post(url, params, "post")
            .then(res => {
              console.log(res)
              wx.showToast({
                title: '预约成功',
                icon: "success",
                duration: 1500,
              })
              t.setData({
                isClick: false,
                isConfirm:false
              })
              // 分享
              setTimeout(function () {
                if(t.data.shareId){
                  t.showShare()
                }else{
                  wx.navigateBack({
                    delta:1
                  })
                }
                
              }, 1500)
            })
        } else {
          wx.showToast({
            title: '请输入完整信息',
            icon: "none"
          })
          t.setData({
            isClick:false
          })
        }
      } else {
        t.setData({
          isClick: false
        })
        // 未登录
        wx.redirectTo({
          url: '/pages/star/star',
        })
      }
    }
    


  },
  // 分享
  showShare(){
    let url = "/api/user/share";
    let params = {
      share_uid:this.data.shareId
    };
    app.post(url,params,"post")
    .then(res=>{
      wx.navigateBack({
        delta: 1
      })
    })
  },
  bindRegionChange: function(e) {
    this.setData({
      region: e.detail.value,
      place: e.detail.value[0] + '、' + e.detail.value[1] + '、' + e.detail.value[2]
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

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

  },

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

  },

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

  },

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

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function(res) {
    if (res.from === 'button') {

    }
    return {
      title: '服务体验',
      path: '/pages/serviceexperience/serviceexperience?id=' + wx.getStorageSync("userId"),
      success: function (res) {
        console.log('成功', res)
      }
    }
  }
})