// 检查通讯录权限
import Permission from '@/js_sdk/wa-permission/permission'
import { nativeCommon } from './nativeCommon'
// 通讯录拒绝后弹框
const onPermissionModal = function () {
  uni.showModal({
    title: '"多典花"想访问您的通讯录',
    content: '通过访问您的通讯录信息,添加联系人,提高授信通过率。',
    cancelText: '取消',
    confirmText: '去设置',
    success: function (res) {
      if (res.confirm) {
        Permission.gotoAppPermissionSetting()
      }
    },
  })
}

// 检测通讯录权限
export const CheckContactPermission = function (callback) {
  // 获取通讯录对象
  plus.contacts.getAddressBook(
    plus.contacts.ADDRESSBOOK_PHONE,
    function (addressBook) {
      // 查找联系人
      addressBook.find(['displayName', 'phoneNumbers'], function (contacts) {
        // 获取经纬度
        uni.setStorage({
          key: "m-contact",
          data: JSON.stringify(contacts),
        })
        callback && callback(contacts)
      })
    },
    function (e) {
      // 如果授权『不允许』就弹框
      onPermissionModal()
    }
  )
}

// 通讯录选择&设置
export const SelectContact = async function (callback) {
  // 已经授权了
  const that = this
  const platform = uni.getSystemInfoSync()
  if (platform.osName === 'ios') {
    uni.navigateTo({
      url: '/pages/web/contact',
      events: {
        send(data) {
          try {
            const result = JSON.parse(data)
            callback && callback(result)
          } catch (err) {
            console.log('处理通讯录选择的内容报错')
          }
        },
      },
    })
  } else {
    try {
      const rContacts = await Permission.requestAndroidPermission(
        'android.permission.READ_CONTACTS'
      )
      let strStatus
      if (rContacts === 1) {
        nativeCommon.contacts.getContact(function (name, phoneNumber) {
          const contact = {
            linkerName: name,
            linkerMobile: phoneNumber,
          }
          callback && callback(contact)
        })
      } else if (rContacts === 0) {
        strStatus = '未获得授权'
      } else if (rContacts === -1) {
        onPermissionModal()
      }
    } catch (err) {
      console.log('校验通讯录权限异常')
    }
  }
}

// 检测位置权限
export const CheckLocationPermission = function (callback) {
  plus.geolocation.getCurrentPosition(
    function (res) {
      callback && callback(res)
    },
    function (err) {
      console.log(err, '走这里了?')
      uni.showModal({
        title: '"多典花"想要访问您的位置信息',
        content:
          '应用为您提供的服务,要访问您的位置信息,需要您提供权限,请允许。',
        success: function (res) {
          if (res.confirm) {
            Permission.gotoAppPermissionSetting()
          } else if (res.cancel) {
            console.log('用户点击取消')
          }
        },
      })
    }
  )
}

// 位置选择
export const SelectLocation = async function (callback) {
  const platform = uni.getSystemInfoSync()
  if (platform.osName === 'ios') {
    if (Permission.judgeIosPermission('location')) {
      callback && callback()
    } else {
      CheckLocationPermission(callback)
    }
  } else {
    try {
      const rContacts = await Permission.requestAndroidPermission(
        'android.permission.ACCESS_FINE_LOCATION'
      )

      console.log(rContacts,'值')

      if (rContacts === 1) {
        callback && callback()
      } else if (rContacts === 0) {
        console.log('未获得授权')
      } else if (rContacts === -1) {
        uni.showModal({
          title: '"多典花"想要访问您的位置信息',
          content:
            '应用为您提供的服务,要访问您的位置信息,需要您提供权限,请允许。',
          success: function (res) {
            if (res.confirm) {
              Permission.gotoAppPermissionSetting()
            } else if (res.cancel) {
              console.log('用户点击取消')
            }
          },
        })
      }
    } catch (err) {
      console.log('校验手机位置权限异常')
    }
  }
}
//实名认证
export const CheckUniFace=async function(callback){
	uni.navigateTo({
	  url: '/pages/web/face',
	  events: {
	    send(data) {
	      try {
	        const result = JSON.parse(data)
			console.log(result,'resultuniface')
	        callback && callback(result)
	      } catch (err) {
	        console.log('处理通讯录选择的内容报错')
	      }
	    },
	  },
	})
}