privacy.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import storage from './storage.js'
  2. /**
  3. * 隐私协议管理工具
  4. */
  5. export default {
  6. /**
  7. * 检查隐私协议同意状态
  8. * @returns {boolean} 是否已同意隐私协议
  9. */
  10. checkAgreement() {
  11. return !!storage.getPrivacyAgreed()
  12. },
  13. /**
  14. * 检查隐私协议状态,如果未同意则跳转到协议页面
  15. * @returns {boolean} 是否已同意隐私协议
  16. */
  17. checkAndRedirect() {
  18. const agreed = this.checkAgreement()
  19. if (!agreed) {
  20. console.log('用户未同意隐私协议,跳转到隐私协议页面')
  21. uni.reLaunch({
  22. url: '/pages/privacy/privacy-agreement'
  23. })
  24. return false
  25. }
  26. return true
  27. },
  28. /**
  29. * 设置隐私协议同意状态
  30. * @param {boolean} agreed 是否同意
  31. */
  32. setAgreement(agreed) {
  33. storage.setPrivacyAgreed(agreed)
  34. },
  35. /**
  36. * 清除隐私协议同意状态
  37. */
  38. clearAgreement() {
  39. storage.removePrivacyAgreed()
  40. },
  41. /**
  42. * 检查是否需要显示隐私协议(适用于多端)
  43. * @returns {boolean} 是否需要显示隐私协议
  44. */
  45. shouldShowAgreement() {
  46. // #ifdef APP-PLUS || APP-HARMONY || H5
  47. return !this.checkAgreement()
  48. // #endif
  49. // #ifdef MP
  50. // 小程序环境可能有不同的隐私协议要求
  51. return !this.checkAgreement()
  52. // #endif
  53. // 其他环境默认不显示
  54. // #ifndef APP-PLUS || APP-HARMONY || H5 || MP
  55. return false
  56. // #endif
  57. }
  58. }