Skip to content

exode-team/exode-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@exode-team/sdk

Exode SDK — пакет для интеграции с платформой Exode.

Модули

Модуль Импорт Назначение
School API @exode-team/sdk/api Серверный клиент для Exode School API (Node.js)
MiniApp @exode-team/sdk/miniapp Bridge для iframe-миниприложений
MiniApp React @exode-team/sdk/miniapp/react React-хуки с автообновлением данных

Установка

npm install @exode-team/sdk

Быстрый старт

School API (Node.js)

import { ExodeAPI } from '@exode-team/sdk/api'

const exodeApi = new ExodeAPI({
  sellerId: 1,
  schoolId: 1,
  token: 'your-api-token',
})

const user = await exodeApi.school.user.create({
  email: 'student@example.com',
  profile: { firstName: 'Ivan', role: 'Student' },
})

MiniApp (iframe)

import { ExodeMiniApp } from '@exode-team/sdk/miniapp'

const app = new ExodeMiniApp({ appId: 'my-app' })
const ctx = await app.init()

console.log(ctx.user.firstName)

MiniApp React

import { ExodeMiniAppProvider, useExodeUser, useExodeTheme } from '@exode-team/sdk/miniapp/react'

function App() {
  return (
    <ExodeMiniAppProvider config={{ appId: 'my-app' }}>
      <MyComponent />
    </ExodeMiniAppProvider>
  )
}

function MyComponent() {
  const { user, isLoggedIn } = useExodeUser()
  const { isDark } = useExodeTheme()

  return <div>Hello, {user?.firstName}</div>
}

MiniApp CDN (без сборки)

<script src="https://cdn.exode.biz/sdk/v0.1.0/miniapp.global.js"></script>
<script>
  const app = new ExodeMiniAppSDK.ExodeMiniApp({ appId: 'my-app' })
  app.init().then(ctx => {
    console.log(ctx.user, ctx.school, ctx.theme)
  })
</script>

Требования

  • Node.js >= 18.0.0 (для API модуля)
  • React >= 17.0.0 (для miniapp/react, опционально)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors