优化后端鉴权与日志安全

This commit is contained in:
yml2213
2026-05-26 08:21:11 +08:00
parent 851d1d1efc
commit dea3023825
35 changed files with 402 additions and 185 deletions
@@ -23,8 +23,11 @@ import {
OPEN_91_PROVIDER,
resolveOpen91QueryState,
} from './shared.js'
import type { OrderRow } from '../../types/repository-rows.js'
export async function queryOpen91Order(payload = {}, { requestId = '' } = {}) {
type JsonObject = Record<string, any>
export async function queryOpen91Order(payload: JsonObject = {}, { requestId = '' } = {}) {
const config = assertOpen91Config()
const normalized = normalizeOpen91QueryPayload(payload)
@@ -168,12 +171,12 @@ export async function queryOpen91Order(payload = {}, { requestId = '' } = {}) {
return buildOpen91SuccessResponse(responseData)
}
function resolveOpen91OrderFailReason(order) {
function resolveOpen91OrderFailReason(order: OrderRow) {
const payload = parseJsonObject(order?.raw_payload_json)
return String(payload.manualFailedReason || '').trim()
}
function parseJsonObject(value) {
function parseJsonObject(value: unknown): JsonObject {
if (!value) {
return {}
}
+7 -7
View File
@@ -45,7 +45,7 @@ export function assertOpen91Config() {
return config
}
export function normalizeOpen91String(value) {
export function normalizeOpen91String(value: unknown) {
return String(value || '').trim()
}
@@ -187,7 +187,7 @@ export function assertOpen91Signature(params: JsonObject = {}, config = assertOp
}
}
export function encryptOpen91Cards(cards = [], secret = assertOpen91Config().secret) {
export function encryptOpen91Cards(cards: unknown[] = [], secret = assertOpen91Config().secret) {
const normalizedSecret = normalizeOpen91String(secret)
if (normalizedSecret.length !== 32) {
throw createHttpError('91卡券 cards 加密密钥长度必须为 32 个字符', {
@@ -227,7 +227,7 @@ export function buildOpen91ErrorResponse(message: unknown, code = 500) {
return {
code,
message: normalizeOpen91String(message) || '系统错误',
data: null,
data: null as null,
}
}
@@ -323,7 +323,7 @@ export function resolveOpen91QueryState(
}
}
export function stringifyOpen91SignValue(value) {
export function stringifyOpen91SignValue(value: unknown) {
if (typeof value === 'number' && Number.isFinite(value)) {
return String(value)
}
@@ -339,12 +339,12 @@ export function stringifyOpen91SignValue(value) {
return String(value)
}
function normalizeOpen91BuyNum(value) {
function normalizeOpen91BuyNum(value: unknown) {
const parsed = Number(value)
return Number.isInteger(parsed) ? parsed : 0
}
function normalizeOpen91OptionalAmount(value) {
function normalizeOpen91OptionalAmount(value: unknown) {
const normalized = normalizeOpen91String(value)
if (!normalized) {
return ''
@@ -360,7 +360,7 @@ function normalizeOpen91OptionalAmount(value) {
return normalized
}
function normalizeOpen91Timestamp(value) {
function normalizeOpen91Timestamp(value: unknown) {
const normalized = normalizeOpen91String(value)
if (!/^\d{10}$/.test(normalized)) {
return 0