Trang chủ & Đăng nhập — Tính năng¶
Ai dùng: mọi nhân sự có tài khoản Lark của công ty.
Đường vào: https://one-anna-api.tungpham-hn219.workers.dev/app (trang /login nếu chưa đăng nhập). Trong app Lark: mở ONE-ANNA từ Workplace (Không gian làm việc).
1. Đăng nhập¶

Trên trình duyệt (Chrome, Safari…):
1. Mở /app. Nếu chưa có phiên, hệ thống chuyển sang /login.
2. Bấm nút đăng nhập bằng Lark. Trình duyệt mở trang xác thực Lark (authen/v1/index).
3. Đồng ý cấp quyền (chỉ lần đầu). Lark trả về /auth/callback, Worker tạo phiên (cookie) và chuyển vào /app.
Trong app Lark (máy tính và điện thoại):
1. Mở ONE-ANNA từ Workplace. Trang /login tự nhận ra đang chạy trong Lark (User-Agent có Lark/Feishu).
2. Trang tự xin mã đăng nhập (tt.requestAuthCode, dự phòng tt.requestAccess), đổi mã qua RPC completeLarkLoginWithCode rồi vào /app — không cần bấm.
3. Nếu bước 2 lỗi, trang tự chuyển sang OAuth; người đã từng đồng ý chỉ thấy trang chớp 1–2 giây.
Khi lỗi: trang hiển thị /login?error=… kèm lý do và không tự thử lại (tránh vòng lặp). Lỗi "liên kết đăng nhập đã hết hạn" (mã 20003) → bấm đăng nhập lại.

Phiên được gia hạn trượt: mỗi phản hồi khi cookie còn hạn sẽ cấp lại cookie mới. Thời hạn phiên cụ thể: cần xác nhận (xem apps/api/core/functions/lib/session.js).
2. Khung portal (Rail + menu trái + thanh trên)¶

- Rail (cột biểu tượng ngoài cùng bên trái): Hôm nay · TT nhân sự · Nhân sự · Tuyển dụng · Đào tạo · Doanh thu · CSKH · Pháp chế · Lịch họp · Tài liệu · Quản trị. Mỗi người chỉ thấy module mình có quyền (xem phân quyền).
- Menu trái (ModSide): các mục của module đang mở; có thể thu gọn.
- Thanh trên: ô tìm kiếm module/mục menu (gõ không dấu vẫn khớp, không tìm dữ liệu nhân sự), chuông, trợ giúp, ảnh đại diện.
- Giao diện mới (V16, "giao diện Lark") đang bật cho mọi người theo
config/ui-lark.mjs. Thêm?ui=oldvào URL để tạm xem giao diện cũ trên máy đang dùng,?ui=autođể bỏ ghi đè.
3. Trang chủ ("Hôm nay")¶

| Khối | Người dùng thấy gì | Thao tác |
|---|---|---|
| Lời chào | "Xin chào, |
— |
| Truy cập nhanh | Lối tắt Chấm công, Gửi phản hồi, Đặt lịch họp | Bấm để mở module tương ứng |
| Lịch làm việc | Trạng thái ca hôm nay: Có ca làm việc / OFF / Chưa đăng ký ca; nút Mở chấm công | Bấm mở Trung tâm nhân sự › Chấm công |
| Lịch họp | Các cuộc họp hôm nay của bạn | Bấm để mở Lịch họp |
| 🏆 Top chăm chỉ | Bảng xếp hạng theo số lần chấm công (check-ins), "Bạn đứng thứ …" | Chỉ xem |
Gửi phản hồi: 1. Bấm Gửi phản hồi ở Truy cập nhanh. 2. Chọn vấn đề, gõ nội dung (có thể chọn Gửi ẩn danh trên giao diện). 3. Bấm Gửi → portal mở Lark Helpdesk; nội dung đã được chép sẵn vào clipboard, dán vào Helpdesk để gửi. ONE-ANNA không lưu phản hồi.

4. Quyền theo vai trò¶
| Vai trò | Trang chủ | Ghi chú |
|---|---|---|
| Mọi nhân sự đăng nhập | Thấy trang chủ, Rail chỉ hiện module được cấp | Không có quyền nào → chỉ thấy Trang chủ |
| Tài khoản Lark không có trong HRIS 2.1 | Đăng nhập được nhưng không có dữ liệu cá nhân | Hành vi chính xác: cần xác nhận |
Người bị chặn (revoked_users / "Chặn truy cập" trong Quản trị phân quyền) |
Bị từ chối | Ghi vào Lịch sử truy cập với kết quả "từ chối" |
Ảnh cần chụp¶
Portal: https://one-anna-api.tungpham-hn219.workers.dev/app (đăng nhập Lark). Ảnh đặt vào thư mục images/ của module này, đúng tên file. Che (làm mờ) số tiền lương, CCCD, số tài khoản, số điện thoại khách hàng trước khi đưa vào tài liệu.
| File | Nội dung | Đường dẫn / thao tác | Vai trò đăng nhập | Trạng thái cần chụp |
|---|---|---|---|---|
images/login-trinh-duyet.png |
Trang đăng nhập trên trình duyệt | https://one-anna-api.tungpham-hn219.workers.dev/login | Chưa đăng nhập (cửa sổ ẩn danh) | Trang vừa tải, chưa bấm nút |
images/login-loi.png |
Trang đăng nhập báo lỗi | https://one-anna-api.tungpham-hn219.workers.dev/login?error=20003 | Chưa đăng nhập | Hiện thông báo liên kết hết hạn |
images/khung-portal.png |
Khung portal: Rail, menu trái, thanh trên | https://one-anna-api.tungpham-hn219.workers.dev/app | Super Admin (để Rail hiện đủ 11 module) | Đang mở một module bất kỳ, menu trái mở rộng |
images/trang-chu.png |
Trang chủ "Hôm nay" | https://one-anna-api.tungpham-hn219.workers.dev/app › Rail "Hôm nay" | Nhân viên cửa hàng có ca hôm nay | Có lịch làm việc, có ít nhất 1 lịch họp |
images/gui-phan-hoi.png |
Hộp thoại Gửi phản hồi | https://one-anna-api.tungpham-hn219.workers.dev/app › Trang chủ › Truy cập nhanh › Gửi phản hồi | Nhân viên bất kỳ | Đã gõ nội dung, chưa bấm Gửi |