1234567891011121314151617181920212223242526272829303132 |
- import { useEffect, useState } from 'react'
- import { getMiniQrcode } from '@/services/common'
-
- export default function usePoster(person, poster, router, paramsRef) {
- const [posterData, setPosterData] = useState()
-
- useEffect(() => {
- if (poster) {
- const page = router.path.indexOf('/') === 0 ? router.path.substring(1) : router.path
- const scene = paramsRef.current
-
- getMiniQrcode({ page, scene }).then((miniCode) => {
- setPosterData({
- poster,
- miniCode,
- name: person.name || person.nickname,
- avatar: person.avatarurl,
- })
- }).catch(() => {
- setPosterData({
- poster,
- miniCode: undefined,
- name: person.name || person.nickname,
- avatar: person.avatarurl,
- })
- })
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [router.path, poster])
-
- return posterData
- }
|