useAuth.js 897B

123456789101112131415161718192021222324252627282930313233
  1. import { useState, useEffect } from 'react'
  2. export default function useAuth(person, page) {
  3. const [authPhone, setAuthPhone] = useState(false)
  4. const [authAvatar, setAuthAvatar] = useState(false)
  5. useEffect(() => {
  6. if (page && page.auth && page.auth.length) {
  7. // 如果需要授权手机
  8. if (page.auth.indexOf('phone') > -1) {
  9. if (person.inited && !person.phone) {
  10. setAuthPhone(true)
  11. } else {
  12. setAuthPhone(false)
  13. }
  14. }
  15. // 如果需要授权头像
  16. if (page.auth.indexOf('avatar') > -1) {
  17. if (person.inited && (!person.avatarurl || person.avatarurl.indexOf('default_avatar') > -1)) {
  18. setAuthAvatar(true)
  19. } else {
  20. setAuthAvatar(false)
  21. }
  22. }
  23. } else {
  24. setAuthPhone(false)
  25. setAuthAvatar(false)
  26. }
  27. }, [person, page])
  28. return [authPhone, authAvatar]
  29. }