42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
|
|
#!/usr/bin/env python
|
||
|
|
# -*- coding: utf-8 -*-
|
||
|
|
import sys
|
||
|
|
sys.path.insert(0, 'ruoyi-fastapi-backend')
|
||
|
|
|
||
|
|
from datetime import date, datetime
|
||
|
|
from fastapi.encoders import jsonable_encoder
|
||
|
|
|
||
|
|
# 测试各种日期格式
|
||
|
|
test_cases = [
|
||
|
|
{'name': 'normal date', 'date': date(2026, 1, 12)},
|
||
|
|
{'name': 'normal datetime', 'date': datetime(2026, 4, 15, 13, 27, 44)},
|
||
|
|
{'name': 'min date', 'date': date(1, 1, 1)},
|
||
|
|
{'name': 'min datetime', 'date': datetime(1, 1, 1, 0, 0, 0)},
|
||
|
|
{'name': 'max date', 'date': date(9999, 12, 31)},
|
||
|
|
]
|
||
|
|
|
||
|
|
for tc in test_cases:
|
||
|
|
try:
|
||
|
|
result = jsonable_encoder({'date': tc['date']})
|
||
|
|
print(f"[OK] {tc['name']}: {result}")
|
||
|
|
except Exception as e:
|
||
|
|
print(f"[ERR] {tc['name']}: {e}")
|
||
|
|
|
||
|
|
# 测试包含中文的数据
|
||
|
|
data = {
|
||
|
|
'receiptNo': '2026内检509',
|
||
|
|
'receiptDate': date(2026, 1, 12),
|
||
|
|
'createTime': datetime(2026, 4, 15, 13, 27, 44),
|
||
|
|
'samples': [
|
||
|
|
{'sampleId': 3879, 'createTime': datetime(2026, 4, 15, 13, 27, 44)}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
|
||
|
|
try:
|
||
|
|
result = jsonable_encoder(data)
|
||
|
|
print(f"\n[OK] Full data encoding success")
|
||
|
|
except Exception as e:
|
||
|
|
import traceback
|
||
|
|
print(f"\n[ERR] Full data encoding failed: {e}")
|
||
|
|
traceback.print_exc()
|