UNPKG

@xuda.io/xuda-library-plugin-firebase-initialize

Version:

Xuda Firebase Initialize library plugin

97 lines (80 loc) 2.54 kB
// export const _default = async function (fields, params = Object) { // await func.utils.load_js_on_demand( // func.common.get_url( // params.SESSION_ID, // "dist", // "runtime/node_modules/@xuda.io/firebase-app/index.js" // ) // ); // if (!params?.plugin_setup?.[params.propsP.setup_account_id]) { // return params.report_error("setup account error"); // } // const _config = params.plugin_setup[params.propsP.setup_account_id]; // var firebaseConfig = { // apiKey: _config.apiKey, // authDomain: _config.authDomain, // databaseURL: _config.databaseURL, // projectId: _config.projectId, // storageBucket: _config.storageBucket, // messagingSenderId: _config.messagingSenderId, // appId: _config.appId, // measurementId: _config.measurementId, // }; // try { // firebase.initializeApp(firebaseConfig); // } catch (error) { // params.report_error(error); // } // }; export const beforeInit = async (e) => { console.log("beforeInit"); await func.utils.load_js_on_demand( "https://www.gstatic.com/firebasejs/9.13.0/firebase-app-compat.js" ); await func.utils.load_js_on_demand( "https://www.gstatic.com/firebasejs/9.13.0/firebase-auth-compat.js" ); await func.utils.load_js_on_demand( "https://www.gstatic.com/firebasejs/9.13.0/firebase-analytics-compat.js" ); if (!e?.setup_data?.accounts) { return; } glb.FIREBASE = {}; const _setup = e.setup_data.accounts; const firebaseConfig = { apiKey: _setup.apiKey, authDomain: _setup.authDomain, projectId: _setup.projectId, storageBucket: _setup.storageBucket, messagingSenderId: _setup.messagingSenderId, appId: _setup.appId, measurementId: _setup.measurementId, }; const app = await firebase.initializeApp(firebaseConfig); await firebase.analytics(); // glb.FIREBASE[account] = { // app, // firebaseConfig, // firebase, // }; await new Promise(function (resolve, reject) { firebase.auth().onAuthStateChanged(function (user) { resolve(); }); }); // await new Promise((r) => setTimeout(r, 2000)); }; export const initialized = async (e) => { // console.log("initialized"); // await e.xu_api.set_field_value(e.SESSION_ID, "GLB_Test", 1967); }; export const beforeMounted = async (e) => { // console.log("beforeMounted"); }; export const mounted = async (e) => { // console.log("mounted"); }; export const systemReady = async (e) => { // console.log("systemReady"); };