Frontend uchun o'rnatish
Terminalni oching va loyihangizga plagin o'rnatish uchun quyidagi buyruqni ishlating:
npm install @jx_code/rsimzo-client
Foydalanish
new RsimzoClient(options)
Klassni boshlash
import { RsimzoClient, RsOptions } from "@jx_code/rsimzo-client"; const options: RsOptions = { paths: { fetchToken: '/path/to/generate/token' } } const rsimzo = new RsimzoClient(options)
Mumkin bo'lgan options: RsOptions
baseURL
- Type:
string
- Default:
window.location.origin
So'rovlarni yuborish uchun ishlatiladigan asosiy URL.
locale
- Type:
string
- Default:
en
Dasturning qo'llab-quvvatlagan tillari. Mumkin bo'lgan qiymatlar:
en
, ru
, uz
, uz-kr
.headers
- Type:
Record<string, string>
- Default:
{}
So'rovlar uchun ma'lumotlarni yuborish uchun ma'lumotlar. Masalan,
Authorization
parameterini o'tkazish uchun ishlatiladi.paths.generateTokenrequired
- Type:
string
Token yaratish uchun API URL manzili.
instantCertsFetch
- Type:
boolean
- Default:
false
Agar
true
qo'yilsa, rsimzo.getCertificates()
metod barcha sertifikatlar ro'yxatini foydalanuvchi tasdiqlamasiz qaytaradi.storage
- Type:
boolean | StorageOptions
- Default:
true
rsimzo.getCertificates()
metod natijalari localStorage
da saqlanadimi. Qiymat boolean yoki StorageOptions obyekti bo'lishi mumkin.storage.prefix
- Type:
string
Ma'lumotlarni
localStorage
da saqlash uchun ishlatiladigan prefiksMaydonlar
rsimzo.certificates
- Type:
RsCertificate[]
localStorage
da saqlangan sertifikatlar ro'yxati. Agar localStorage
da ma'lumot bo'lmasa, bo'sh massiv []
qaytariladiconst 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 }
Metodlar
rsimzo.getCertificates(options?: {locale: string, instantCertsFetch: boolean})
- Type:
RsCertificate[] | null
Kalitlarni sinxronlashtirish uchun rs-imzo.uz oynasini ochadi. Metodni chaqirgandan so'ng, foydalanuvchi veb-saytingizga yuklab olish uchun ERI kalitlarini tanlashi kerak bo'lgan oyna ochiladi. Kalit ma'lumotlari
localStorage
da saqlanishi mumkin. Agar instantCertsFetch
qiymati true
bo'lsa, oyna barcha mijoz sertifikatlari saqlanganidan so'ng avtomatik ravishda yopiladi.const { data: list } = await rsimzo.getCertificates() if (list) { console.log(list) }
Agar mijoz oynani yopmasa, metod null
qiymatni qaytaradi
Mumkin bo'lgan options
locale
- Type:
string
Dasturning qo'llab-quvvatlagan tillari. Mumkin bo'lgan qiymatlar:
en
, ru
, uz
, uz-kr
.instantCertsFetch
- Type:
boolean
Agar
true
qo'yilsa, rsimzo.getCertificates()
metod barcha sertifikatlar ro'yxatini foydalanuvchi tasdiqlamasiz qaytaradi.rsimzo.sign(serial: string, content: string, options?: RsSignOptions)
- Type:
string | null
Hujjatni imzolash uchun rs-imzo.uz oynasini ochadi. Metodni chaqirgandan so'ng, foydalanuvchi parol kiritishi kerak bo'lgan oyna ochiladi. Metod natijasi
pkcs7
const content = 'imzolamoqchi bo'lgan matn' const serial = 'rsimzo.getCertificates() metodidan olingan seriyanomeri' const { data: pkcs7 } = await rsimzo.sign(serial, btoa(content)) console.log(pkcs7)
Imzolash uchun kerakli matn base64
formatida bo'lishi shart
Mumkin bo'lgan options: RsSignOptions
locale
- Type:
string
Dasturning qo'llab-quvvatlagan tillari. Mumkin bo'lgan qiymatlar:
en
, ru
, uz
, uz-kr
.attached
- Type:
boolean
- Default:
true
Imzolanadigan kontentni yakuniy
pkcs7
ga bog'laydi.rsimzo.auth(options?: RsAuthOptions)
- Type:
string | null
Hujjatni tasdiqlash uchun rs-imzo.uz oynasini ochadi. Metodni chaqirgandan so'ng, foydalanuvchi kalitni tanlash va parol kiritishi kerak bo'lgan oyna ochiladi. Metod natijasi
pkcs7
const { data: pkcs7 } = await rsimzo.auth() console.log(pkcs7)
Mumkin bo'lgan options: RsAuthOptions
locale
- Type:
string
Dasturning qo'llab-quvvatlagan tillari. Mumkin bo'lgan qiymatlar:
en
, ru
, uz
, uz-kr
.Xatolarni qayta ishlash
Har bir so'rov uchun xatolarni tekshirishingiz kerak
const { error } = await rsimzo.sign(serial, btoa(content)) if(error && error.errorCode === 13) { console.log('Invalid password') }
error
parametrlar
errorCode
- Type:
number
Yagona xato kodi
13
- Noto'g'ri parol10001
- Oyna yopilgan10002
- HTTP so'rov xatosi10003
- Harakat natijasiz yakunlandi10004
- Sertifikat topilmadi10005
- Noto'g'ri token10006
- Noto'g'ri parametrlar qabul qilindi
errorMessage
- Type:
string
Xato xabari. Matn doimo ingliz tilida bo'ladi. Agar tarjima kerak bo'lsa,
errorCode
dan foydalaningrawError
- Type:
any
Ishlov berilmagan xato