68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
查看所有用户信息脚本
|
|
"""
|
|
import os
|
|
import sys
|
|
|
|
# 添加项目根目录到Python路径
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from database.user_database import UserDatabase
|
|
|
|
def main():
|
|
"""
|
|
主函数:查看所有用户信息
|
|
"""
|
|
print("=== 查看所有用户信息 ===")
|
|
|
|
try:
|
|
# 创建数据库实例 - 指定正确的数据库路径
|
|
db_path = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'backend', 'users.db')
|
|
print(f"使用数据库路径: {db_path}")
|
|
db = UserDatabase(db_path=db_path)
|
|
|
|
# 获取所有用户
|
|
print("\n正在查询用户信息...")
|
|
users = db.list_users(limit=1000)
|
|
|
|
if not users:
|
|
print("\n❌ 未找到任何用户")
|
|
return
|
|
|
|
print(f"\n✅ 共找到 {len(users)} 个用户:")
|
|
print("-" * 100)
|
|
print(f"{'用户ID':<10} | {'用户名':<20} | {'邮箱':<30} | {'状态':<10} | {'创建时间':<20}")
|
|
print("-" * 100)
|
|
|
|
# 显示用户信息(不包含密码哈希)
|
|
for user in users:
|
|
# 创建不包含密码哈希的安全用户信息
|
|
safe_user = {k: v for k, v in user.items() if k != 'password_hash'}
|
|
|
|
# 格式化输出
|
|
user_id = safe_user.get('user_id', '')
|
|
username = safe_user.get('username', '')
|
|
email = safe_user.get('email', '')
|
|
status = '正常' if safe_user.get('status') == 1 else '禁用' if safe_user.get('status') == 0 else '异常'
|
|
created_at = safe_user.get('created_at', '')
|
|
|
|
print(f"{user_id:<10} | {username:<20} | {email:<30} | {status:<10} | {created_at:<20}")
|
|
|
|
print("-" * 100)
|
|
print("\n✅ 用户信息查看完成")
|
|
|
|
except Exception as e:
|
|
print(f"\n❌ 发生错误: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
finally:
|
|
# 关闭数据库连接
|
|
if 'db' in locals():
|
|
print("\n关闭数据库连接...")
|
|
db.close()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|