Фронтенд учун ўрнатиш
Терминални очинг ва лойиҳангизга плагин ўрнатиш учун қуйидаги буйруқни ишлатинг:
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 ойнасини очади. Методни чақиридан сўнг, фойдаланувчи парол киритиши керак бўлган ойна очилади. Метод натижаси
pkcs7const 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 ойнасини очади. Методни чақиридан сўнг, фойдаланувчи калитни танлаш ва парол киритиши керак бўлган ойна очилади. Метод натижаси
pkcs7const { 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
Ишлов берилмаган хато