GH GambleHub

Интерфейсҳо аз рӯи нақш ва дастрасӣ

1) Принсипҳо

1. Амният = Вазифаи UX. Корбар бояд ба таври возеҳ дарк кунад, ки бидуни "минтақаҳои хокистарӣ" чӣ кор карда метавонад ва наметавонад.
2. Ҳадди ақали ҳуқуқҳои зарурӣ. Аз намоиш то амал, ҳама чиз танҳо бо вазифаҳои нақш маҳдуд аст.
3. Сигнал ба ҷои манъ. Агар дастрасӣ набошад, мо мефаҳмонем, ки чаро ва чӣ гуна (дархост, дархост, омӯзиш).
4. Такрори сервер. Посбонони UI ҳеҷ гоҳ чекҳои серверро иваз намекунанд.
5. Аудити шаффоф. Ҳар як амали ҳассос аломати хонданро мегузорад.


2) Моделҳои идоракунии дастрасӣ

RBAC (дар асоси нақш): нақшҳои собит: Бозингар, дастгирӣ, молия, хавф/мувофиқат, менеҷери шарикӣ, модератор, админ.
ABAC (дар асоси атрибут): сиёсати ба атрибут асосёфта (юрисдиксия, бренд, минтақаи вақт, сатҳи VIP, гурӯҳ, гузариш).
РЕБАК (Дар асоси муносибатҳо): дастрасӣ ба муносибат (коркарди бозингар, дорандаи чипта, менеҷери шарик).
Ҳамин тавр (сегрегатсияи вазифаҳо) - ҷудо кардани вазифаҳои муҳим (офаридашуда ≠ тасдиқшуда).

Амалия: RBAC ҳамчун асос, ABAC барои танзими хуб (бренд/минтақа), So


3) Харитаи функсияҳо аз рӯи нақш (масалан, IGaming)

ФаслБозингарДастгирӣМолияМувофиқат/хатарШариконАдминистратор
Профил/Маҳдудиятҳо(худ)R/W (бо дархост)РR/W (маҳдуд) RР
Пардохтҳо (пасандозҳо/бозхондҳо)(худ)РR/W (интишор)R/W (ях кардан/нигоҳ доштан)РР
CMC/ҳуҷҷатҳо(худ)R (қисман ниқоб) R (ниқоб) R/W (ҳукм)Р
Гарав/Таърих(худ)РРРР
Promos/бонусҳоR/W (пардохт)РR/W (Шарикон)Р
ИстифодабарандагонR (ticketed)РR (шарикон)R/W
Р - хонед, W - нависед. Маска - аз рӯи сиёсати маълумот (PII/PAN/KYC).

4) Намунаҳои UX барои ҳуқуқҳо ва нақшҳо

4. 1 Навигатсия ва аёнӣ

Қисмҳои дастнорасро аз паймоиш пинҳон кунед (кам кардани садо), аммо кортҳои иттилоотии "холӣ" -ро нишон диҳед, агар ин барои фаҳмидани имкониятҳо кӯмак кунад.
Барои муваққатан дастнорас - "Қулф" бо ишора: сабаб, талабот, CTA "Дастрасии дархост".

4. 2 Давлатҳои амал

Маъюбон + абзор: "Нақши молиявӣ талаб карда мешавад. Дархости дастрасӣ.
Ҳолати танҳо хондан: майдонҳо "зери шиша", аломати возеҳи "Танҳо хондан".
Афзоиш - Ба ҷои дархост пешниҳод кунед.

4. 3 Маска ва таҳрир

PII (почтаи электронӣ, телефон, суроға) - 'корбар @'., '+ 380 90' барои сабтҳои одамони дигар.
PAN/IBAN - танҳо нишонаҳо/охирин 4.
Тугмаи пурраи радиоро нишон диҳед - танҳо соҳиби нақш/тавассути чорабинии аудит.


5) Меъмории иҷозат дар UI

Контексти сиёсат дар муштарӣ: кэши иҷозат (TTL кӯтоҳ) + обуна ба навсозӣ.
Муҳофизони масир: хатсайрҳои дастнорас → 403 саҳифа бо тавзеҳот ва CTA.
Муҳофизони компонент: 'Метавонад ({амал:' тасдиқ _ дар дохили ', манбаъ:' пардохт '})'.
Ficheflags: чизҳои таҷрибавӣ/мавсимӣ - аз ҳуқуқҳо ҷудо.

Снайпер (вокуниш):
tsx type Permission = string; // 'payout.approve', 'kyc.view_masked'
type Policy = { has:(p:Permission)=>boolean };
const PolicyCtx = React.createContext<Policy>({ has:()=>false });
export const Can: React.FC<{perm:Permission, children:React.ReactNode, fallback?:React.ReactNode}>
= ({perm, children, fallback=null}) => {
const { has } = React.useContext(PolicyCtx);
return has(perm)? <>{children}</>: <>{fallback}</>;
};

6) Сервер> Мизоҷ

Ҳама гуна амалро сервер бо аломати нишонаҳо (нақш, атрибутҳо) тасдиқ мекунад.
Сиёсатҳо мутамарказ шудаанд (PDP/OPA/Сидар/Занзибар-монанд), UI танҳо ҳалли худро меёбад.
Ҳама амалиётҳои интиқодӣ - тасдиқи ду омил + аудит.


7) Минтақаҳои ниқоб ва сурх

Категорияи маълумот:
  • PII: ном, почтаи электронӣ, телефон, суроға, санаи таваллуд.
  • Молия: ҳамёнҳои PAN/IBAN/крипто, миқдор, маҳдудиятҳо, тавозуни бонус.
  • Ҳуҷҷатҳо: шиносномаҳо/ID/selfies (KYC).
  • Бозӣ: Таърихи гарав/бурдҳо/намунаҳо.
Сиёсати намоиш:
  • Соҳиби пурраи нақш/сабт.
  • Ниқоб - дастгирӣ, молия (на молик).
  • Якҷоя карда шудааст - Таҳлил (ID ID нест).
Компоненти ниқоб:
tsx function Redact({text, perm}:{text:string, perm:Permission}){
const { has } = React.useContext(PolicyCtx);
return <span>{has(perm)? text: text.replace(/.(?=.{4})/g,'•')}</span>;
}

8) Тасдиқҳо ва ҷараёнҳои So-D

Чор чашм: ташаббускор ≠ тасдиқ.
Хатсайрҳои бисёрсоҳавӣ (масалан, миқдор> X → хати 2).
Дурустии барномаҳо, SLA, шиддат.
Маҷалла: кӣ офаридааст, кӣ тағир ёфтааст, кӣ тасдиқ кардааст, кай ва аз куҷо.

Мисолҳо: тасдиқи бозпас гирифтан, тағир додани маҳдудиятҳои бозингарон, ҳукми KYC, хориҷ кардани парчами санксия.


9) Хусусиятҳои IGaming

Маҳдудиятҳо ва канорагирӣ: танҳо бо огоҳиномаи корбарон ва ҳатмии корбарон тағир диҳед.
KYC/AML: дастрасии ҳуҷҷат - нақши танг; пешнамоиши ангуштҳо, андозаи пурра - бо амали алоҳида бо журнал.
Парчамҳои санксияҳо/RAP: ба дастаи хавфҳо намоён; дастгирӣ - танҳо мақоми "ба тафтиш ниёз дорад".
Пардохтҳо/Натиҷаҳо: Пост/Рад - Танҳо нақши баҳисобгирии молиявӣ; маблағи аз ҳадди ниҳоӣ боло - тасдиқи дукарата.
Гузоришҳои букмекерӣ: Дастгирӣ мехонад, аммо таҳрир намекунад; тасҳеҳ - вазифаи алоҳида бо тафтишот.


10) Маҳаллисозӣ, A11y, RTL

Матнҳои "дастрасӣ нест" локализатсия шудаанд ва роҳҳои дурустро дар бар мегиранд (барнома/омӯзиш).
Назорати фокус: корбарро ба саҳифаи "холӣ" бидуни тавзеҳот интиқол надиҳед.
Ҳолати RTL барои нақшҳо дар минтақаҳои дахлдор дастгирӣ карда мешавад.
A11y: шарҳи 'aria-маъюбон' +, мавҷудияти густариши клавиатура.


11) Шартҳо ва хатогиҳо

403 (Қобили қабул нест): Саҳифаи дӯстона бо контексти нақш ва "Дархости дастрасӣ" CTA.
404 (манбаъ нест): мавҷудияти ашёи пинҳониро ошкор накунед.
413/422 (аз ҳад зиёд/тасдиқ): тафсилоти сиёсатро ифшо накунед, бетарафона таҳия кунед.
Меъёри маҳдудиятҳо/қуфлҳо: Ҳолати таймер/қулфро шарҳ диҳед.


12) Метрҳо

Меъёри радшудаи дастрасӣ: сатҳи нокомӣ аз рӯи нақш/экран (IA бад ё сигнали сиёсат).
Тасдиқи SLA: вақти тасдиқи медианӣ аз рӯи ҷараён (баромад, маҳдудиятҳо, KYC).
Рӯйдодҳои ошкор кардани ниқоб: PII сатҳи "ошкор" (интизорравандаи хурд ва асоснок).
Хатогӣ ба ҳалли: вақт аз 403 то дастрасии додашуда.
Дрифти камтарин: нақшҳо бо ҳуқуқҳои зиёдатӣ (муайянкунии истифода).


13) Анти-намунаҳо

Хатогиҳоро дар зери "ҳеҷ чиз рух надодааст" пинҳон кунед.
Тугмаҳои холиро бе шарҳ нишон диҳед.
Соҳибро бо маълумоти худ маска кунед.
Ба посбонони UI бе сиёсати сервер такя кунед.
Ficheflags-ро бо дастрасӣ омехта кунед (вазифаҳои гуногун).
Ба хотири роҳат "режими худо" -ро дастгирӣ кунед.


14) Нишонаҳои системаи тарроҳӣ (мисол)

json
{
"access": {
"badge": { "viewer":"#607D8B", "editor":"#4CAF50", "approver":"#FF9800", "admin":"#9C27B0" },
"lockColor": "#9E9E9E",
"maskChar": "•"
},
"states": {
"noAccess": { "bg":"var(--bg-elev)", "border":"var(--border)", "icon":"#9E9E9E" },
"approval": { "pending":"#FFC107", "approved":"#4CAF50", "rejected":"#F44336" }
},
"a11y": { "ariaDisabled": true, "explainDenial": true }
}

15) Снайперҳои UI

Гвардияи масир:
tsx import { Navigate, Outlet } from 'react-router-dom';
function GuardedRoute({perm}:{perm:Permission}){
const { has } = React.useContext(PolicyCtx);
if (has(perm)) return <Outlet/>;
return <Navigate to={`/403?perm=${encodeURIComponent(perm)}`} replace/>;
}
Корти дастрасӣ бо CTA вуҷуд надорад:
html
<article class="no-access">
<h3>Недостаточно прав</h3>
<p>Доступ к разделу «Выплаты» доступен ролям: Финансы/Админ.</p>
<button class="btn" data-open-request>Запросить доступ</button>
</article>
Сабти аудит (ихтисоршуда):
json
{
"ts": "2025-11-03T18:45:12Z",
"actor": "u_5412",
"action": "payout.approve",
"target": "withdraw#w_91822",
"ip": "194...12",
"result": "success"
}

16) Рӯйхати назоратии QA

Навигатсия ва IA

  • Қисматҳои дастнорас дар меню садо намедиҳанд.
  • Саҳифаҳо/кортҳои возеҳи "дастрасӣ" бо CTA мавҷуданд.

Амалҳо ва посбонон

  • Тугмаҳои бидуни ҳуқуқ - 'маъюбон' + абзор/матн.
  • Хатсайрҳои муҳофизатшаванда; URL → 403 мустақиман бо тавзеҳот.
  • Сервер ҳар як амалро тасдиқ мекунад.

Маълумот

  • PII/PAN/KYC бо сиёсат пӯшонида шудаанд.
  • Гузоришҳои "ифшо" навишта ва баррасӣ карда мешаванд.
  • Содирот/Ҳисоботҳо ба нақш мувофиқанд (маҷмӯаҳо барои таҳлил).

Тасдиқоти SOD/

  • Ташаббускор аризаи худро тасдиқ карда наметавонад.
  • Миқдори ҳадди ниҳоӣ → масирҳои бисёрсоҳавӣ.

А11у/Localization

  • "Дастрасӣ нест" маҳаллӣ аст; навигатсионии клавиатура кор мекунад.
  • Ҳалқаҳои контраст/фокус ба АА мувофиқанд.

Эътимоднокӣ

  • Кэши иҷозат бо TTL кӯтоҳ; маъюбӣ ҳангоми тағир додани нақшҳо.
  • Тарки PDP → UI дар ҳолати бехатар бо нобаёнӣ аст.

17) Ҳуҷҷатгузорӣ дар системаи тарроҳӣ

Компоненты: 'Гвардияи хатсайр', 'Метавонад', 'Не Аксес', 'Тасдиқи Баннер', 'Редакция'.
Сиёсатҳо: матритсаи нақш/амал, қоидаҳои So-D, сатҳи ниқоб.
Раванд: дархости дастрасӣ, омӯзиш/сертификатсияи нақшҳо, аз нав дида баромадани ҳуқуқҳо дар як ҳафта як маротиба.
Галереяро иҷро накунед: "тугмаҳои холӣ бе ягон сабаб", "ба соҳибаш пинҳон кунед", "UI бидуни санҷиши сервер" vs "маҳдудиятҳо ва CTA-ро шарҳ дод".


Хулосаи мухтасар

Интерфейсҳои нақш меъмории равшани иттилоот + сиёсатҳои қатъӣ + тавзеҳоти дӯстона мебошанд. Танҳо чизҳои заруриро нишон диҳед, маълумоти ҳассосро пинҳон кунед, хатсайрҳо ва амалҳоро бо посбонон ҳифз кунед, ҳар як ҳодисаи муҳимро дар аудит сабт кунед ва масъулиятҳоеро, ки ба пул ва мувофиқат таъсир мерасонанд, мубодила кунед. Дар IGaming, ин на танҳо хатарҳоро коҳиш медиҳад, балки дастаҳоро тезтар ва оромтар мекунад.

Contact

Тамос гиред

Барои саволҳо ё дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Оғози интегратсия

Email — муҳим аст. Telegram ё WhatsApp — ихтиёрӣ.

Номи шумо ихтиёрӣ
Email ихтиёрӣ
Мавзӯъ ихтиёрӣ
Паём ихтиёрӣ
Telegram ихтиёрӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиёрӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.