import Taro, { onAppShow, useDidShow } from '@tarojs/taro'
import type { FC } from 'react'
import { Provider } from 'react-redux'
import configStore from './store'
import { shareShop } from './common/util'
import ContextBlueTooth from '@/use/contextBlueTooth'
import './app.scss'
import { BANk_WX_APPID } from './common/constant'

const store = configStore()
const App: FC = (params: { children?: React.ReactNode }) => {
  Taro.showShareMenu({
    withShareTicket: true,
  })

  // 分享
  shareShop()

  // 检查版本更新
  onAppShow(() => {
    const updateManager = Taro.getUpdateManager()
    updateManager.onCheckForUpdate((res) => {
      // 请求完新版本信息的回调
      console.log('版本信息:', res.hasUpdate)
    })
    updateManager.onUpdateReady(() => {
      Taro.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        success(res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate()
          }
        },
      })
    })
    updateManager.onUpdateFailed(() => {
      console.log('新版本更新失败')
    })
  })

  return (
    <ContextBlueTooth>
      <Provider store={store}>{params.children}</Provider>
    </ContextBlueTooth>
  )
}

export default App
