Фронтенд учун ўрнатиш

Терминални очинг ва лойиҳангизга плагин ўрнатиш учун қуйидаги буйруқни ишлатинг:

      
npm install @jx_code/rsimzo-client

Фойдаланиш

new RsimzoClient(options)
Классни бошлаш
      
import { RsimzoClient, RsOptions } from "@jx_code/rsimzo-client"; const options: RsOptions = { paths: { fetchToken: '/path/to/generate/token' } } const rsimzo = new RsimzoClient(options)

Мумкин бўлган options: RsOptions

baseURL
  • Type: string
  • Default: window.location.origin
Сўровларни юбориш учун ишлатиладиган асосий URL.
locale
  • Type: string
  • Default: en
Дастурнинг қўллаб-қувватлаган тиллари. Мумкин бўлган қийматлар: en, ru, uz, uz-kr.
headers
  • Type: Record<string, string>
  • Default: {}
Сўровлар учун маълумотларни юбориш учун маълумотлар. Масалан, Authorization параметрини ўтказиш учун ишлатилади.
paths.generateTokenrequired
  • Type: string
Токен яратиш учун API URL манзили.
instantCertsFetch
  • Type: boolean
  • Default: false
Агар true қўйилса, rsimzo.getCertificates() метод барча сертификатлар рўйхатини фойдаланувчи тасдиқламасиз қайтаради.
storage
  • Type: boolean | StorageOptions
  • Default: true
rsimzo.getCertificates() метод натижалари localStorageда сақланиши мумкин. Қиймат boolean ёки StorageOptions объекти бўлиши мумкин.
storage.prefix
  • Type: string
  • Default: rs.
Маълумотларни localStorageда сақлаш учун ишлатиладиган префикс

Майдонлар

rsimzo.certificates
  • Type: RsCertificate[]
localStorageда сақланган сертификатлар рўйхати. Агар localStorageда маълумот бўлмаса, бўш массив [] қайтарилади
      
const list = rsimzo.certificates console.log(list)
      
interface RsCertificate { pin?: string tin?: string address: string country: string expireAt: number expireFrom: number fullName: string serial: string uid: string isLegalEntity: boolean orgName?: string isExpired: boolean }

Методлар

rsimzo.getCertificates(options?: {locale: string, instantCertsFetch: boolean})
  • Type: RsCertificate[] | null
Калитларни синхронлаштириш учун rs-imzo.uz ойнасини очади. Метод чақирилгандан сўнг, фойдаланувчи ЭРИ калитларини сайтингизга юклаш учун танлаши керак бўлган ойна очилади. Калит маълумотлари localStorageда сақланиши мумкин. Агар instantCertsFetch қиймати true бўлса, ойна барча мижоз сертификатлари сақланганидан сўнг автоматик равишда ёпилади.
      
const { data: list } = await rsimzo.getCertificates() if (list) { console.log(list) }

Агар мижоз ойнани ёпмаса, метод null қийматни қайтаради

Мумкин бўлган options

locale
  • Type: string
Дастурнинг қўллаб-қувватлаган тиллари. Мумкин бўлган қийматлар: en, ru, uz, uz-kr.
instantCertsFetch
  • Type: boolean
Агар true қўйилса, rsimzo.getCertificates() метод барча сертификатлар рўйхатини фойдаланувчи тасдиқламасиз қайтаради.

rsimzo.sign(serial: string, content: string, options?: RsSignOptions)
  • Type: string | null
Ҳужжатни имзолаш учун rs-imzo.uz ойнасини очади. Методни чақиридан сўнг, фойдаланувчи парол киритиши керак бўлган ойна очилади. Метод натижаси pkcs7
      
const content = 'имзоламоқчи бўлган матн' const serial = 'rsimzo.getCertificates() методидан олинган серияномери' const { data: pkcs7 } = await rsimzo.sign(serial, btoa(content)) console.log(pkcs7)

Имзолаш учун керакли матн base64 форматида бўлиши шарт

Мумкин бўлган options: RsSignOptions

locale
  • Type: string
Дастурнинг қўллаб-қувватлаган тиллари. Мумкин бўлган қийматлар: en, ru, uz, uz-kr.
attached
  • Type: boolean
  • Default: true
Имзоланадиган контентни якуний pkcs7 га боғлайди.

rsimzo.auth(options?: RsAuthOptions)
  • Type: string | null
Ҳужжатни тасдиқлаш учун rs-imzo.uz ойнасини очади. Методни чақиридан сўнг, фойдаланувчи калитни танлаш ва парол киритиши керак бўлган ойна очилади. Метод натижаси pkcs7
      
const { data: pkcs7 } = await rsimzo.auth() console.log(pkcs7)

Мумкин бўлган options: RsAuthOptions

locale
  • Type: string
Дастурнинг қўллаб-қувватлаган тиллари. Мумкин бўлган қийматлар: en, ru, uz, uz-kr.

Хатоларни қайта ишлаш

Ҳар бир сўров учун хатоларни текширишингиз керак

      
const { error } = await rsimzo.sign(serial, btoa(content)) if(error && error.errorCode === 13) { console.log('Invalid password') }

error параметрлар

errorCode
  • Type: number
Ягона хатo коди
  • 13 - Нотўғри парол
  • 10001 - Ойна ёпилган
  • 10002 - HTTP сўров хатоси
  • 10003 - Ҳаракат натижасиз якунланди
  • 10004 - Сертификат топилмади
  • 10005 - Нотўғри токен
  • 10006 - Нотўғри параметрлар қабул қилинди
errorMessage
  • Type: string
Хато хабар. Матн доимо инглиз тилида бўлади. Агар таржима керак бўлса, errorCode дан фойдаланинг
rawError
  • Type: any
Ишлов берилмаган хато