Фронтенд учун ўрнатиш
Терминални очинг ва лойиҳангизга плагин ўрнатиш учун қуйидаги буйруқни ишлатинг:
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
Ишлов берилмаган хато