Exemples de connexion client et de protection des fonctions
Copiez d'abord la fonction de connexion de votre langage depuis l'administration, puis adaptez ces extraits au projet. E-mail et mot de passe proviennent de l'écran de connexion ; remplacez export par une fonction réelle de la politique. Chaque extrait montre une seule opération : conservez le même client pendant toute l'exécution et fermez-le à la sortie.
Go
app, err := connectLaunch()
if err != nil { return err }
defer app.Close()
if _, err := app.Login(ctx, email, password); err != nil { return err }
return app.RunFeature("export", func() error {
return exportReport()
})Python
with connect_launch() as app:
app.login(email, password)
result = app.run_feature("export", export_report)C# / .NET
await using var app = LaunchConnection.Open();
await app.Login(email, password);
await app.RunFeature("export", async () => {
await ExportReport();
});Java
try (var app = LaunchConnection.open()) {
app.login(email, passwordChars);
app.runFeature("export", () -> exportReport());
}JavaScript / Node.js / TypeScript
const app = connectLaunch();
try {
await app.login(email, password);
const result = await app.runFeature('export', () => exportReport());
} finally {
await app.close();
}Rust
let mut app = connect_launch()?;
app.login(&email, &password)?;
let result = app.run_feature("export", || {
export_report()?;
Ok(())
})?;
app.close();Ruby
app = connect_launch
begin
app.login(email, password)
result = app.run_feature('export') { export_report }
ensure
app.close
endC
static int export_action(void *context) {
return export_report(context); /* Return 1 only on success. */
}
launch_application *app = connect_launch();
if (!app) return 0;
int ok = launch_application_login(app, email, password);
if (ok) ok = launch_application_run_feature(app, "export", export_action, context);
/* Check launch_application_error(app) on failure; never log credentials. */
launch_application_close(app);
return ok;C++
auto app = connectLaunch();
app.Login(email.c_str(), password.c_str());
app.RunFeature("export", [&] { exportReport(); });En Go, ctx doit utiliser un contexte couvrant le cycle de vie de l'application. Java utilise char[] pour les mots de passe. Les callbacks de fonctions C renvoient 1 uniquement si l'opération réussit. Avec Node.js / Electron, placez le SDK dans le processus principal ou un backend de confiance ; les requêtes réseau ne doivent pas bloquer le fil d'interface.