// 库 import React from 'react' import ReactDOM from 'react-dom' import App from './App' import { Helmet } from 'react-helmet' import { message } from 'antd' import API from '@/api' import { AJAX_STATUS } from './shared/common/constants' window.merchant = { userinfo: null, permissions: [], } message.config({ maxCount: 1, }) const loadJs = (url: string) => { return new Promise((resolve, reject) => { const oscript = document.createElement('script') oscript.src = url document.head.appendChild(oscript) oscript.onload = function() { resolve({ code: 0, message: '加载完成' }) } oscript.onerror = function() { reject({ code: -1, message: '加载失败' }) } }) } const loadCity = loadJs(`//s1.xmcdn.com/yx/common-sdk/last/lib/city.js?v=1`) const getUserInfo = () => { return API.auth.userInfo() } const render = C => { ReactDOM.render( <> 喜马拉雅商户平台 , document.getElementById('root-app'), ) } Promise.all([loadCity, getUserInfo()]) .then(res => { const userRes: any = res[1] if (userRes && userRes.opsId) { window.merchant.userinfo = userRes //获取权限 API.auth .permissionList() .then(r => { if (AJAX_STATUS.SUCCESS === r.code) { window.merchant.permissions = r.data || [] } render(App) }) .catch(() => { render(App) }) } else { render(App) } }) .catch(e => { throw new Error(e.message) }) declare let window: Window & { merchant: { userinfo: any permissions: string[] } }