优化后端鉴权与日志安全
This commit is contained in:
@@ -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 {}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user