<template>
  <view class="content">
    <view>
      <image src="https://eshangtech.com/ShopICO/yxcl-register-pht.png" mode="aspectFit"></image>
      <view v-if="showBtn">
        <view class="desc" v-if="!user.WeChat_UserId">
          <!-- <view class="desc">申请获取你的公开信息(昵称、头像)</view> -->
<!--          <button type="primary" class="btn" open-type="getUserInfo" @getuserinfo="bindGetUserInfo">微信授权</button>-->
          <button type="primary" class="btn" open-type="getUserInfo" @getuserinfo="bindGetUserInfo">手机号授权</button>
        </view>
        <view class="desc" v-else>
          <button type="primary" class="btn" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">快速登录账号</button>
        </view>
      </view>



    </view>
    <view class="login-tip-text">
      该小程序仅供企业内部人员登录使用，<br/>您的手机号是核实身份的唯一凭证。
    </view>

    <view class="privacyMeng" v-if="showPrivacy"></view>
    <view class="privacy" v-if="showPrivacy">
      <view class="privacyContent">
        <p class="contentTitle">用户隐私保护提示</p>
        <view class="contentWord">
          感谢您使用本产品，您使用本产品前应当仔细阅读并同意<text class="tips" @click="handleOpenPrivacyContract">《小程序隐私保护指引》</text>
          当您点击同意并开始使用产品服务时，即表示您已理解并同意该条款内容，该条款将对您产生法律约束。如您拒绝，将无法更好的体验产品。
        </view>
      </view>
      <view class="btnList">
        <button class="btns noAgree" @click="handleRefuse">拒绝</button>
        <button class="btns agree" id="agree-btn3" open-type="agreePrivacyAuthorization"  @agreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
      </view>
    </view>
  </view>
</template>

<script>
import { mapActions, mapGetters,mapMutations } from 'vuex'
export default {
  data() {
    return {
      shouldNavback: false,
      showPrivacy:false,// 隐私弹框的东西
      showBtn:false,// 隐私权限有了之后 就会出来这俩按钮
    }
  },
  computed:{
    ...mapGetters({
      'user':'getUser',
    })
  },
  onLoad(option) {
    let _this = this
    wx.getPrivacySetting({
      success: res=>{
        console.log('res123123',res)
        if (res.needAuthorization){
          _this.showPrivacy = true
        }else{
          _this.showBtn = true
          // if (this.user.WeChat_MiniProToken) {
          //   this.memberLogin()
          // } else {
          //   this.getLoginCode()
          // }
        }
      }
    })
    if(option.source=='detail'){
      this.shouldNavback = true
    }
  },
  methods: {
    ...mapActions(['updateUser']),
    ...mapMutations(['setUser']),
    // 打开隐私协议页面
    handleOpenPrivacyContract(){
      wx.openPrivacyContract({
        success: (success) => {
          console.log('success',success)
        }, // 打开成功
        fail: () => {}, // 打开失败
        complete: () => {}
      })
    },
    // 点击了同意
    handleAgreePrivacyAuthorization(e){
      console.log('e1',e)
      this.showPrivacy = false
      this.showBtn = true
    },
    // 点击了拒绝
    handleRefuse(){
      this.showPrivacy = false
    },
    // // 拿到用户信息
    // handleGetUserInfo(e){
    //   console.log('e2',e)
    //   let _this = this
    //   let user = _this.user
    //   if (e.mp.detail) {
    //     uni.showLoading({
    //       title:'正在加载...',
    //       mask:true
    //     })
    //     const res = e.mp.detail
    //     console.log('res',res)
    //     let arr = {
    //       encryptedData: encodeURIComponent(res.encryptedData),
    //       iv: encodeURIComponent(res.iv),
    //     }
    //     // _this.$request.$webPost('WebAPI_Push/WeChat/BusinessLicensed',arr).then(function (rs) {
    //     _this.$request.$get('WeChat_BusinessLicensed',arr).then(function (rs) {
    //       console.log('rs',rs)
    //       uni.hideLoading()
    //       if(rs.Result_Code==100){
    //         let newUser = rs.Result_Data
    //         newUser.WeChat_MiniProToken = _this.user.WeChat_MiniProToken
    //         _this.setUser(newUser)
    //         if(newUser.Membership_Phone) {
    //           _this.updateUser(newUser)
    //           _this.$util.toNextRoute('switchTab', '/pages/index/index')
    //           // uni.reLaunch({url: '/pages/index/index'})
    //         }else{
    //
    //         }
    //         _this.$forceUpdate()
    //       }else{
    //         uni.showToast({
    //           title: rs.ResultDesc,
    //           icon: 'none',
    //           duration:2000
    //         })
    //       }
    //     })
    //   }
    // },
    getPhoneNumber (e) {
      console.log(e)
      uni.showLoading({
        title:'正在加载...',
        mask:true
      })
      let _this = this
      let _data = e.mp.detail
      let user = _this.user
      let arr = {
        encryptedData: encodeURIComponent(_data.encryptedData),
        iv: encodeURIComponent(_data.iv)
      }
      // _this.$request.$webPost('WebAPI_Push/WeChat/BusinessPhone',arr).then(function (rs) {
      _this.$request.$get('WeChat_BusinessPhone',arr).then(function (rs) {
        console.log('rs',rs)
        uni.hideLoading()
        if (rs.Result_Code === 100) {
          _this.setUser(rs.Result_Data)
          _this.updateUserFn(rs.Result_Data)
          _this.$util.toNextRoute('switchTab', '/pages/index/index')
          // uni.switchTab({url: '/pages/index/index'})

        } else {
          uni.showToast({title: rs.Result_Desc || '服务器错误,请联系管理员。', icon: 'none'})
        }
      })
    },
    async updateUserFn(data) {
      this.updateUser(data)
    },
    bindGetUserInfo (e) { // 申请权限
      console.log('e',e)
      let _this = this
      let user = _this.user
      if (e.mp.detail) {
        uni.showLoading({
          title:'正在加载...',
          mask:true
        })
        const res = e.mp.detail
        let arr = {
          encryptedData: encodeURIComponent(res.encryptedData),
          iv: encodeURIComponent(res.iv),
        }
        // _this.$request.$webPost('WebAPI_Push/WeChat/BusinessLicensed',arr).then(function (rs) {
        _this.$request.$get('WeChat_BusinessLicensed',arr).then(function (rs) {
          uni.hideLoading()
          if(rs.Result_Code==100){
            let newUser = rs.Result_Data
            newUser.WeChat_MiniProToken = _this.user.WeChat_MiniProToken
            _this.setUser(newUser)
            if(newUser.Membership_Phone) {
              _this.updateUser(newUser)
              _this.$util.toNextRoute('switchTab', '/pages/index/index')
              // uni.reLaunch({url: '/pages/index/index'})
            }else{

            }
            _this.$forceUpdate()
          }else{
            uni.showToast({
              title: rs.ResultDesc,
              icon: 'none',
              duration:2000
            })
          }
        })
      }
    }
  },
  onUnload() {
    this.$util.addUserBehavior()
  },
}
</script>

<style scoped lang="scss">
.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100vh;
  box-sizing: border-box;
  background-color: #fff;
  padding-top: 60rpx;
}
image {
  width: 624rpx;
  height: 579rpx;
}
.btn {
  margin-top: 84rpx;
  width: 580rpx;
  font-size: 28rpx;
}
.login-tip-text {
  position: sticky;
  bottom: 120rpx;
  left: 0;
  width: 580rpx;
  z-index: 99;
  text-align: center;
  font-size: 26rpx;
  color: #888;

}
.privacyMeng{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.3);
  z-index: 999998;
}
.privacy{
  position: fixed;
  bottom: 0;
  width: 100vw;
  box-sizing: border-box;
  padding: 40rpx 30rpx;
  z-index: 999999;
  border-top-right-radius: 24px;
  border-top-left-radius: 24px;
  background: #fff;
  .privacyContent{
    .contentTitle{
      font-size: 48rpx;
      font-family: Source Han Sans CN-Bold, Source Han Sans CN;
      font-weight: bold;
      color: #000000;
      line-height: 56rpx;
    }
    .contentWord{
      margin-top: 32rpx;
      text-indent: 2em;
      .tips {
        font-size: 28rpx;
        font-family: Source Han Sans CN-Normal, Source Han Sans CN;
        font-weight: 400;
        color: #8BC21F;
        line-height: 33rpx;
      }
    }
  }
  .btnList{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 48rpx;
    .btns{
      display: inline-block;
      padding: 0 90rpx;
      border-radius: 15rpx;
    }
    .noAgree{
      background: rgb(242,242,242);
      color: rgb(26,187,107);
      font-weight: 600;
    }
    .agree{
      background: rgb(26,187,107);
      color: #fff;
      font-weight: 600;
    }
  }
}
</style>
