Bỏ qua, đến nội dung

Cài đặt và sử dụng ​

Kích hoạt plugin ​

Vào Settings → Plugin Manager, bật @digiforce-nc/plugin-field-component-mask. Plugin phụ thuộc plugin-acl để kiểm tra quyền xem dữ liệu gốc.

Bật Mask cho field cơ bản ​

Plugin không tạo field type mới. Thay vào đó, nó patch thêm tùy chọn Mask vào các field interface đã có sẵn (input, phone, email, date...).

  1. Mở Collection Manager → chọn field cần mask (ví dụ: field phone).
  2. Trong settings của field, bật tùy chọn Mask component.
  3. Cấu hình mask rule — quy tắc che dấu ký tự.
  4. Lưu — field sẽ hiển thị giá trị đã che trên giao diện.

Cấu hình Mask Rules ​

Mask rule xác định phần nào của giá trị bị che:

Ví dụ gốcMask ruleKết quả
0912345678Hiện 4, ẩn 3, hiện 30912***678
nguyen@email.comHiện 3, ẩn 3, giữ domainngu***@email.com
001234567890Hiện 3, ẩn 3, hiện 4001***7890
15/03/1990Ẩn ngày/tháng, hiện năm**/**/1990
typescript
const phoneSchema = {
  type: 'string',
  title: 'Số điện thoại',
  'x-component': 'Mask',
  'x-component-props': {
    maskPattern: '****###***',
  },
};

Kiểm soát quyền xem dữ liệu gốc ​

Plugin tích hợp plugin-acl để phân quyền:

  • Người dùng không có quyền unmask: chỉ thấy giá trị đã che (0912***678).
  • Người dùng có quyền unmask: có thể click nút "Hiện" để xem giá trị đầy đủ.
  • Cấu hình quyền unmask trong ACL → Roles → Field permissions.

Các loại field hỗ trợ ​

Loại fieldVí dụ
PhoneSố điện thoại
EmailĐịa chỉ email
Text/InputHọ tên, số CMND/CCCD
DateNgày sinh, ngày cấp

Lưu ý ​

  • Plugin client-only — dữ liệu gốc vẫn lưu đầy đủ trong database, mask chỉ ở tầng hiển thị.
  • Nếu người dùng có quyền đọc API trực tiếp, họ vẫn thấy dữ liệu gốc. Mask chỉ bảo vệ ở tầng UI.
  • Để mã hóa thực sự trong DB, sử dụng plugin-field-encryption thay vì mask.