fix: 新增学习账号密码最少六字节 (#2)

This commit is contained in:
ila
2026-09-10 20:10:14 +08:00
parent 722ae152ca
commit b7768c10de
7 changed files with 50 additions and 12 deletions
+3 -3
View File
@@ -1,7 +1,7 @@
export function normalizeUsername(value) { return value.trim().toLowerCase() }
export function validPassword(value) {
export function validPassword(value, minimum = 10) {
const bytes = new TextEncoder().encode(value).length
return bytes >= 10 && bytes <= 72
return bytes >= minimum && bytes <= 72
}
export function validUsername(value) { return /^[a-z][a-z0-9_.-]{2,31}$/.test(normalizeUsername(value)) }
export function createSession({ fetch, storage, changed = () => {} }) {
@@ -94,7 +94,7 @@ export function createSession({ fetch, storage, changed = () => {} }) {
async createAccount(username, password) {
authorized()
if (!validUsername(username)) throw new Error('账号须为 3–32 位,以字母开头,仅含字母、数字、点、下划线或短横线')
if (!validPassword(password)) throw new Error('密码须为 10–72 字节')
if (!validPassword(password, 6)) throw new Error('密码须为 6–72 字节')
return request('/accounts', 'POST', { username: normalizeUsername(username), password })
},
async updateAccount(id, patch) {