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 localStorageda saqlanadimi. Qiymat boolean yoki StorageOptions obyekti bo'lishi mumkin.storage.prefix
- Type:
string
Ma'lumotlarni
localStorageda saqlash uchun ishlatiladigan prefiksMaydonlar
rsimzo.certificates
- Type:
RsCertificate[]
localStorageda saqlangan sertifikatlar ro'yxati. Agar localStorageda 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
localStorageda 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
pkcs7const 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
pkcs7const { 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