lrj
19 小时以前 9f8395fab13ca4b230a0f7d62636e209745c91d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
const fetch = (...args) => import('node-fetch').then(({default: fetch}) => fetch(...args));
 
// 配置
const GRAPHQL_URL = 'http://localhost:8080/api/graphql';
 
// 检查登录记录的GraphQL查询
const CHECK_LOGIN_RECORDS_QUERY = `
  query {
    loginRecords: getAllLoginRecords {
      id
      userId
      wxOpenid
      wxSessionKey
      loginTime
      loginIp
      deviceInfo
      user {
        id
        username
        phone
      }
    }
  }
`;
 
async function checkLoginRecords() {
  console.log('🔍 检查数据库中的登录记录...\n');
  
  try {
    const response = await fetch(GRAPHQL_URL, {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        query: CHECK_LOGIN_RECORDS_QUERY
      })
    });
 
    const result = await response.json();
    
    if (result.errors) {
      console.log('❌ GraphQL查询失败:', result.errors[0].message);
      return;
    }
 
    const records = result.data.loginRecords;
    console.log(`📊 找到 ${records.length} 条登录记录:\n`);
    
    records.forEach((record, index) => {
      console.log(`记录 ${index + 1}:`);
      console.log(`  - ID: ${record.id}`);
      console.log(`  - 用户ID: ${record.userId}`);
      console.log(`  - 微信OpenID: ${record.wxOpenid}`);
      console.log(`  - SessionKey: ${record.wxSessionKey ? record.wxSessionKey.substring(0, 10) + '...' : '无'}`);
      console.log(`  - 登录时间: ${record.loginTime}`);
      console.log(`  - 登录IP: ${record.loginIp}`);
      console.log(`  - 设备信息: ${record.deviceInfo}`);
      if (record.user) {
        console.log(`  - 用户名: ${record.user.username}`);
        console.log(`  - 手机号: ${record.user.phone || '未设置'}`);
      }
      console.log('');
    });
 
    // 分析数据
    const testDataRecords = records.filter(r => 
      r.wxOpenid && (r.wxOpenid.includes('test') || r.wxOpenid.includes('mock'))
    );
    
    const realDataRecords = records.filter(r => 
      r.wxOpenid && !r.wxOpenid.includes('test') && !r.wxOpenid.includes('mock')
    );
 
    console.log('📈 数据分析:');
    console.log(`  - 测试数据记录: ${testDataRecords.length} 条`);
    console.log(`  - 真实数据记录: ${realDataRecords.length} 条`);
    
    if (testDataRecords.length > 0) {
      console.log('\n⚠️  发现测试数据记录:');
      testDataRecords.forEach(record => {
        console.log(`  - OpenID: ${record.wxOpenid}`);
      });
    }
    
    if (realDataRecords.length > 0) {
      console.log('\n✅ 发现真实数据记录:');
      realDataRecords.forEach(record => {
        console.log(`  - OpenID: ${record.wxOpenid.substring(0, 10)}...`);
      });
    }
 
  } catch (error) {
    console.error('❌ 检查登录记录失败:', error.message);
  }
}
 
// 运行检查
checkLoginRecords();