import React, {Component} from 'react'
|
import { Toast } from 'antd-mobile'
|
|
import Api from '@/api'
|
|
import './index.scss'
|
|
class LoadingPage extends Component {
|
state = {}
|
|
UNSAFE_componentWillMount () {
|
// Api.getSystemConfig({
|
Api.getMockData({
|
func: 'sPC_Get_LongParam',
|
MenuID: this.props.match.params.viewId,
|
TypeCharOne: 'mob'
|
}).then((res) => {
|
if (res.status) {
|
let config = ''
|
|
try {
|
// config = JSON.parse(window.decodeURIComponent(window.atob(res.LongParam)))
|
config = res.LongParam
|
} catch {
|
config = ''
|
}
|
|
if (!config) {
|
Toast.fail('配置解析错误!', 3)
|
return
|
}
|
|
if (config.advert) {
|
this.props.history.replace({pathname: '/advert/' + this.props.match.params.viewId, state: { config }})
|
} else if ((window.GLOB.systemType === 'ios' || window.GLOB.systemType === 'android') && config.components.length === 1 && config.components[0].type === 'navBar') {
|
if (window.GLOB.systemType === 'ios' && window.webkit) {
|
let url = window.location.href.replace(/#(.*)/ig, `#/tabbar/${this.props.match.params.viewId}`)
|
|
window.webkit.messageHandlers.toMainPage.postMessage(JSON.stringify({url: url, isNavBar: true}))
|
} else if (window.GLOB.systemType === 'android' && window.android) {
|
let url = window.location.href.replace(/#(.*)/ig, `#/tabbar/${this.props.match.params.viewId}`)
|
|
window.android.toMainPage(JSON.stringify({url: url, isNavBar: true}))
|
} else {
|
if (!window.webkit) {
|
console.log('window.webkit error')
|
}
|
this.props.history.replace({pathname: '/tabbar/' + this.props.match.params.viewId, state: { config }})
|
}
|
} else if (config.type === 'tabview') {
|
this.props.history.replace({pathname: '/tabview/' + this.props.match.params.viewId, state: { config }})
|
} else {
|
this.props.history.replace({pathname: '/main/' + this.props.match.params.viewId, state: { config }})
|
}
|
|
} else {
|
Toast.fail(res.message, 3)
|
}
|
})
|
}
|
|
render () {
|
return (
|
<div className="loading-page">
|
<div className="list-item">
|
<div className="avatar loading-skeleton"></div>
|
<div className="content">
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line half"></div>
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line"></div>
|
</div>
|
</div>
|
<div className="list-item">
|
<div className="avatar loading-skeleton"></div>
|
<div className="content">
|
<div className="loading-skeleton line half"></div>
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line half"></div>
|
<div className="loading-skeleton line"></div>
|
</div>
|
</div>
|
<div className="list-item">
|
<div className="avatar loading-skeleton"></div>
|
<div className="content">
|
<div className="loading-skeleton line half"></div>
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line half"></div>
|
</div>
|
</div>
|
<div className="list-item">
|
<div className="avatar loading-skeleton"></div>
|
<div className="content">
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line half"></div>
|
<div className="loading-skeleton line"></div>
|
</div>
|
</div>
|
<div className="list-item">
|
<div className="avatar loading-skeleton"></div>
|
<div className="content">
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line half"></div>
|
<div className="loading-skeleton line"></div>
|
<div className="loading-skeleton line half"></div>
|
</div>
|
</div>
|
</div>
|
)
|
}
|
}
|
|
export default LoadingPage
|