Skip to content

SDK 2.x Getting Started ​

This guide helps you quickly get started with embedding the Dino-GSP geometry canvas into your web application through the Open Platform.

1. Installation and Setup ​

npm ​

bash
npm install @dajiaoai/algeo-sdk@2

2. Core Concepts ​

Before using the SDK, understand the two main operating modes:

  • Presentation Mode: Focuses on interactive content display. Supports loading a share ID or structured file, switching slides, and executing REPL commands.
  • Editor Mode: Provides a geometry content creation environment. Supports adding/removing slides, UI customization, undo/redo, and save interactions with the host.

3. Quick Integration ​

Presentation Mode ​

If you only need to display a geometry figure on your page:

javascript
import { createPresentation } from '@dajiaoai/algeo-sdk';

// 1. Get the mount container
const container = document.getElementById('algeo-viewer');

// 2. Create and initialize the instance
const presentation = await createPresentation(container, {
  auth: { appId: 'YTVJDQZR' },
  shareId: '33TA3484', // optional: content ID to load on initialization
});

// 3. Further operations (e.g. switch to slide 2 after 3 seconds)
setTimeout(() => {
  presentation.switchSlide(1);
}, 3000);

Editor Mode ​

If you need to embed an editable drawing tool:

javascript
import { createEditor } from '@dajiaoai/algeo-sdk';

const editor = await createEditor(document.getElementById('algeo-editor'), {
  auth: { appId: 'YTVJDQZR' },
  ui: {
    navbar: true, // top navigation bar toggle
    slidePanel: true, // side slide thumbnail panel toggle
    toolboxPanel: true, // drawing toolbox toggle
  },
});

// Listen for save events
editor.on('save', async (event) => {
  if (event.stage === 'request') {
    await saveToYourBackend(event.content);
    return { status: 'success' };
  }

  console.log('Save succeeded:', event.content);
});

The save event has request and success stages. The request-stage listener must return { status: 'success' } or { status: 'error', message?: string }. The embedded editor shows its success state and emits the success stage only after the host reports success.

Unified Entry Point and Custom Host ​

Use create when the mode is selected dynamically or the embedded-page host must be customized:

javascript
import { create } from '@dajiaoai/algeo-sdk';

const editor = await create(container, {
  mode: 'editor',
  baseUrl: 'https://your-host.example',
  editor: {
    auth: { appId: 'YTVJDQZR' },
    initialContent,
  },
});

The createEditor and createPresentation shortcuts do not expose baseUrl. With the unified entry point, place mode-specific options under editor or presentation.

4. Getting an appId ​

SDK requires auth.appId when creating either a Presentation Mode or Editor Mode instance. Follow these steps to obtain one:

  1. Access Developer Console: Go to the Dino-GSP Open Platform Console
  2. Register Application: Create a new application in the console and fill in the application details
  3. Retrieve Credentials: The system will generate your appId. Copy this ID and configure it as auth: { appId: 'your appId' }

Need help? Contact us.

5. FAQ ​

  • Why does SDK 2.x require an appId? It ensures the legitimacy and security of your application. Pass it during initialization for both Presentation Mode and Editor Mode.
  • Does appId expire? Your appId is valid long-term, but you can manage it in the console.

6. Next Steps ​