@xuda.io/xuda-library-plugin-firebase-initialize
Version:
Xuda Firebase Initialize library plugin
97 lines (80 loc) • 2.54 kB
JavaScript
// 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");
};