1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import Taro, { useRouter } from '@tarojs/taro'
- import { parseQueryString } from '@/utils'
- import { useModel } from '@/store'
- import { useEffect, useRef, useState } from 'react'
- import { getQrcode } from '@/services/miniapp'
-
- export default () => {
- const router = useRouter()
- const routerRef = useRef()
- const { qrCode } = useModel('person')
-
- const [toggleRefresh, setToggleRefresh] = useState()
-
- routerRef.current = router
- const scene = router?.params?.scene
- const loginScene = Taro.getStorageSync('scene')
-
- useEffect(() => {
- // 扫码进入
- if (scene) {
- if (scene === loginScene && qrCode) {
- const qrParams = parseQueryString(qrCode) || {}
- routerRef.current.params = {
- ...routerRef.current.params || {},
- ...qrParams,
- parseQRFinished: true,
- }
- setToggleRefresh(Math.random().toString())
- console.log('-----------qrCode---------------', qrCode)
- } else {
- console.log('-----------getQrcode---------------', scene)
- getQrcode(scene).then((res) => {
- const qrParams = parseQueryString(res.scene) || {}
- routerRef.current.params = {
- ...routerRef.current.params || {},
- ...qrParams,
- parseQRFinished: true,
- }
- setToggleRefresh(Math.random().toString())
- })
- }
- }
- }, [qrCode, scene])
-
- console.log('-----------routerRef.current---------------', routerRef.current)
- return routerRef.current
- }
|