import storage from './storage.js'

/**
 * 隐私协议管理工具
 */
export default {
  /**
   * 检查隐私协议同意状态
   * @returns {boolean} 是否已同意隐私协议
   */
  checkAgreement() {
    return !!storage.getPrivacyAgreed()
  },

  /**
   * 检查隐私协议状态，如果未同意则跳转到协议页面
   * @returns {boolean} 是否已同意隐私协议
   */
  checkAndRedirect() {
    const agreed = this.checkAgreement()
    if (!agreed) {
      console.log('用户未同意隐私协议，跳转到隐私协议页面')
      uni.reLaunch({
        url: '/pages/privacy/privacy-agreement'
      })
      return false
    }
    return true
  },

  /**
   * 设置隐私协议同意状态
   * @param {boolean} agreed 是否同意
   */
  setAgreement(agreed) {
    storage.setPrivacyAgreed(agreed)
  },

  /**
   * 清除隐私协议同意状态
   */
  clearAgreement() {
    storage.removePrivacyAgreed()
  },

  /**
   * 检查是否需要显示隐私协议（适用于多端）
   * @returns {boolean} 是否需要显示隐私协议
   */
  shouldShowAgreement() {
    // #ifdef APP-PLUS || APP-HARMONY || H5
    return !this.checkAgreement()
    // #endif
    
    // #ifdef MP
    // 小程序环境可能有不同的隐私协议要求
    return !this.checkAgreement()
    // #endif
    
    // 其他环境默认不显示
    // #ifndef APP-PLUS || APP-HARMONY || H5 || MP
    return false
    // #endif
  }
}