修复导出卡密功能

This commit is contained in:
wsb1224 2025-11-16 21:15:06 +08:00
parent 0e35be59f6
commit 1666e9cfcb
3 changed files with 129 additions and 0 deletions

View File

@ -237,6 +237,16 @@ class License(db.Model):
remaining = self.expire_time - datetime.utcnow()
return max(0, remaining.days)
def get_status_name(self):
"""获取状态名称"""
status_map = {
0: '未激活',
1: '已激活',
2: '已过期',
3: '已禁用'
}
return status_map.get(self.status, '未知')
def to_dict(self):
"""转换为字典"""
return {

Binary file not shown.

View File

@ -234,3 +234,122 @@
2025-11-16 19:53:43,141 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 19:53:45,007 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 19:53:53,398 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:00:07,818 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:00:18,503 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:00:50,346 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:02:34,176 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:02:36,767 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:02:47,597 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:03:17,650 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:03:19,712 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:03:49,396 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:03:49,513 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:03:49,513 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:04:04,161 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:04:06,079 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:04:13,071 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:04:15,023 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:04:34,601 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:04:36,487 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:05:00,080 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:05:05,032 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:05:06,984 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:05:53,881 INFO: 开始创建版本 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:98]
2025-11-16 20:05:53,881 INFO: 开始创建版本 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:98]
2025-11-16 20:05:53,881 INFO: 请求的Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryctXxJdwZTuFxu66c [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:99]
2025-11-16 20:05:53,881 INFO: 请求的Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryctXxJdwZTuFxu66c [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:99]
2025-11-16 20:05:53,881 INFO: 请求方法: POST [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:100]
2025-11-16 20:05:53,881 INFO: 请求方法: POST [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:100]
2025-11-16 20:05:53,882 INFO: 请求URL: http://127.0.0.1:5000/api/v1/versions [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:101]
2025-11-16 20:05:53,882 INFO: 请求URL: http://127.0.0.1:5000/api/v1/versions [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:101]
2025-11-16 20:05:53,882 INFO: 请求头: {'Host': '127.0.0.1:5000', 'Connection': 'keep-alive', 'Content-Length': '453', 'Sec-Ch-Ua-Platform': '"Windows"', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0', 'Sec-Ch-Ua': '"Chromium";v="142", "Microsoft Edge";v="142", "Not_A Brand";v="99"', 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryctXxJdwZTuFxu66c', 'Sec-Ch-Ua-Mobile': '?0', 'Accept': '*/*', 'Origin': 'http://127.0.0.1:5000', 'Sec-Fetch-Site': 'same-origin', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Dest': 'empty', 'Referer': 'http://127.0.0.1:5000/versions/create', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', 'Cookie': 'remember_token=1|4a0a1dd5ea69791275ae2b251699461e736c025cf4fb0f77f0c42c0d1fd1a0babb890f89790bdc3ee870dadc8cd491e40975fbd7051499a8968ac58402795831; session=eyJfZnJlc2giOmZhbHNlLCJfdXNlcl9pZCI6IjEifQ.aRm99A.plFBxc3I-jleRTIx2_s_IIH7UHc'} [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:102]
2025-11-16 20:05:53,882 INFO: 请求头: {'Host': '127.0.0.1:5000', 'Connection': 'keep-alive', 'Content-Length': '453', 'Sec-Ch-Ua-Platform': '"Windows"', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0', 'Sec-Ch-Ua': '"Chromium";v="142", "Microsoft Edge";v="142", "Not_A Brand";v="99"', 'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryctXxJdwZTuFxu66c', 'Sec-Ch-Ua-Mobile': '?0', 'Accept': '*/*', 'Origin': 'http://127.0.0.1:5000', 'Sec-Fetch-Site': 'same-origin', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Dest': 'empty', 'Referer': 'http://127.0.0.1:5000/versions/create', 'Accept-Encoding': 'gzip, deflate, br, zstd', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', 'Cookie': 'remember_token=1|4a0a1dd5ea69791275ae2b251699461e736c025cf4fb0f77f0c42c0d1fd1a0babb890f89790bdc3ee870dadc8cd491e40975fbd7051499a8968ac58402795831; session=eyJfZnJlc2giOmZhbHNlLCJfdXNlcl9pZCI6IjEifQ.aRm99A.plFBxc3I-jleRTIx2_s_IIH7UHc'} [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:102]
2025-11-16 20:05:53,883 INFO: 处理表单数据请求 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:106]
2025-11-16 20:05:53,883 INFO: 处理表单数据请求 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:106]
2025-11-16 20:05:53,884 INFO: 收到的参数: product_id=KMX001, version_num=1.0 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:141]
2025-11-16 20:05:53,884 INFO: 收到的参数: product_id=KMX001, version_num=1.0 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:141]
2025-11-16 20:05:53,884 INFO: 验证产品是否存在: product_id=KMX001 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:147]
2025-11-16 20:05:53,884 INFO: 验证产品是否存在: product_id=KMX001 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:147]
2025-11-16 20:05:53,885 INFO: 执行产品查询... [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:149]
2025-11-16 20:05:53,885 INFO: 执行产品查询... [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:149]
2025-11-16 20:05:53,887 INFO: 数据库中所有产品: [('KMX001', 'KaMiXiTong 专业版'), ('KMX002', 'KaMiXiTong 企业版'), ('KMX003', 'KaMiXiTong 标准版')] [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:153]
2025-11-16 20:05:53,887 INFO: 数据库中所有产品: [('KMX001', 'KaMiXiTong 专业版'), ('KMX002', 'KaMiXiTong 企业版'), ('KMX003', 'KaMiXiTong 标准版')] [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:153]
2025-11-16 20:05:53,889 INFO: 产品查询结果: <Product KaMiXiTong 专业版> [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:157]
2025-11-16 20:05:53,889 INFO: 产品查询结果: <Product KaMiXiTong 专业版> [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:157]
2025-11-16 20:05:53,889 INFO: 检查版本号是否重复: product_id=KMX001, version_num=1.0 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:162]
2025-11-16 20:05:53,889 INFO: 检查版本号是否重复: product_id=KMX001, version_num=1.0 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:162]
2025-11-16 20:05:53,891 INFO: 创建版本对象: product_id=KMX001, version_num=1.0 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:184]
2025-11-16 20:05:53,891 INFO: 创建版本对象: product_id=KMX001, version_num=1.0 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:184]
2025-11-16 20:05:53,892 INFO: 添加版本到数据库 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:198]
2025-11-16 20:05:53,892 INFO: 添加版本到数据库 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:198]
2025-11-16 20:05:53,892 INFO: 提交数据库事务 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:200]
2025-11-16 20:05:53,892 INFO: 提交数据库事务 [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:200]
2025-11-16 20:05:53,907 INFO: 检查是否立即发布: publish_now=False [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:203]
2025-11-16 20:05:53,907 INFO: 检查是否立即发布: publish_now=False [in D:\work\code\python\KaMiXiTong\master\app\api\version.py:203]
2025-11-16 20:07:24,249 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:08:39,244 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:08:41,129 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:10:30,666 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:10:32,532 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:11:59,081 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:13:41,595 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:14:02,376 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:14:05,550 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:14:55,563 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:15:01,583 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:15:03,987 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:17:06,071 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:17:25,149 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:18:00,608 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:18:02,518 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:19:19,053 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:20:43,015 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:22:25,558 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:23:23,184 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:26:44,188 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:27:45,256 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:28:12,600 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:28:20,978 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:28:23,993 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:28:27,065 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:28:28,945 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:28:54,865 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:29:22,939 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:29:26,631 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:29:54,415 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:30:09,162 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:33:15,574 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:33:33,274 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:33:58,933 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:34:02,465 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:34:14,284 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:34:25,760 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:37:33,573 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:37:35,458 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:41:20,125 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:41:20,210 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:41:20,210 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:41:57,495 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:41:59,719 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:42:12,287 ERROR: 导出卡密失败: 'License' object has no attribute 'get_status_name' [in D:\work\code\python\KaMiXiTong\master\app\api\license.py:543]
2025-11-16 20:42:12,287 ERROR: 导出卡密失败: 'License' object has no attribute 'get_status_name' [in D:\work\code\python\KaMiXiTong\master\app\api\license.py:543]
2025-11-16 20:43:42,981 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:44:10,856 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:44:10,943 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:44:10,943 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:45:08,241 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:45:10,130 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:54:10,797 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:56:10,008 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:56:30,715 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:58:24,375 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:58:26,255 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 20:58:47,542 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:02:08,526 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:02:46,576 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:03:39,689 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:05:27,029 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:06:57,571 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:07:27,466 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:14:39,509 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]
2025-11-16 21:14:41,969 INFO: KaMiXiTong startup [in D:\work\code\python\KaMiXiTong\master\config.py:74]