UNPKG

@honor-minigame/cli

Version:

honor minigame pack cli

115 lines (103 loc) 3.39 kB
// 相对路径处理 global.__qgRequire = require global.__vivoRequire = require // 微信环境GameGlobal相当于global Object.defineProperty(global, 'GameGlobal', { get () { return global }, set (newValue) { console.warn('微信环境下GameGlobal相当于global,不需要自定义修改') } }) require('./wxadapter/weixin-qg-adapter.js') // 引擎插件替换 global.wx.requirePlugin = (path, pluginEnv) => { // 设置pluginEnv环境 if (pluginEnv) { global.pluginEnv = pluginEnv } console.warn(`---wx.requirePlugin ${path}`, pluginEnv) // 普通引擎插件适配,将本地引擎插件代码转为正常require引用 if (global._plugin_name_) { // 加载引擎插件名称的入口js文件 try { if (global._plugin_name_ === path) { const pluginJsonPath = '/' + global._plugin_name_ + '/plugin.json' const result = global.qg.getFileSystemManager().readFileSync(pluginJsonPath, 'utf8') const pluginJson = JSON.parse(result) let mainJs = pluginJson.main if (!mainJs) { mainJs = 'index.js' } let pluginMainJs = '/' + global._plugin_name_ + '/' + mainJs if (!pluginMainJs.endsWith('.js')) { pluginMainJs += '.js' } return require('.' + pluginMainJs) } } catch (err) {} // 其他js文件加载 if (!path.startsWith('/')) { path = '/' + path } if (!path.includes(global._plugin_name_)) { path = '/' + global._plugin_name_ + path } if (!path.endsWith('.js')) { path += '.js' } } // unityPlugin适配 if (path === 'UnityPlugin') { try { Object.defineProperty(global, 'managerConfig', { get () { return this._managerConfig }, set (newValue) { this._managerConfig = newValue if (newValue && newValue.loadingPageConfig && newValue.loadingPageConfig.materialConfig && newValue.loadingPageConfig.materialConfig.backgroundImage) { console.log(newValue.loadingPageConfig) if (window.qg.createCustomizeLoading) { window._loading = window.qg.createCustomizeLoading({ background: newValue.loadingPageConfig.materialConfig.backgroundImage }) } } } }) Object.defineProperty(global, 'manager', { get () { return this._manager }, set (newValue) { if (newValue && newValue.hideLoadingPage) { newValue._hideLoadingPage = newValue.hideLoadingPage newValue.hideLoadingPage = () => { console.log('hideLoadingPage...') if (window._loading) { window._loading.remove() } if (this._hideLoadingPage) { this._hideLoadingPage() } } } this._manager = newValue } }) console.warn('微信Unity小游戏转换,不需要去修改unityNamespace及Module~') } catch (e) { console.error(e) } return require('WxUnityPlugin.js') } if (!path.startsWith('/')) { path = '/' + path } if (!path.endsWith('.js')) { path += '.js' } return require('.' + path) }