import AccountsManagerSDK, { AccountStatus, BusinessCode } from './accounts-manager-sdk.js'; /** * 账户管理系统 SDK 使用示例 * * 本文件展示了如何使用 AccountsManagerSDK 的主要功能: * 1. 初始化 SDK * 2. 获取账号 * 3. 更新账户状态 * 4. 上传账户 */ // 示例配置 const config = { baseUrl: 'http://localhost:3006', // 替换为实际的API地址 ownerId: 'example-owner', // 默认所有者ID platform: 'example-platform' // 默认平台名称 }; // 创建SDK实例 const sdk = new AccountsManagerSDK(config) /** * 示例:上传账号并使用上传的账号进行测试 */ async function exampleUploadAndTest() { console.log('\n=== 示例:上传账号并测试 ==='); try { // 1. 先上传一些测试账号 console.log('步骤1:上传测试账号...'); const testAccounts = [ 'testuser1----password123', 'testuser2----password456', 'testuser3----password789', 'admin1----admin123', 'moderator1----mod123' ]; const uploadResult = await sdk.uploadAccounts(testAccounts); if (uploadResult.isSuccess()) { console.log('上传账号成功:'); console.log(` 处理数量: ${uploadResult.data.processedCount}`); console.log(` 创建数量: ${uploadResult.data.createdCount}`); console.log(` 更新数量: ${uploadResult.data.updatedCount}`); } else { console.error('上传账号失败:', uploadResult.message); return; // 如果上传失败,直接返回 } // 2. 获取刚上传的账号进行测试 console.log('\n步骤2:获取刚上传的账号进行测试...'); const getAccountsResult = await sdk.getAccounts(3); // 获取3个账号 if (getAccountsResult.isSuccess()) { console.log('获取账号成功:'); const retrievedAccounts = getAccountsResult.data; retrievedAccounts.forEach((account, index) => { console.log(`账号 ${index + 1}:`); console.log(` ID: ${account.id}`); console.log(` 自定义ID: ${account.customId}`); console.log(` 数据: ${account.data}`); }); // 3. 更新第一个获取的账号状态为"已使用" let updatedAccountId = null; if (retrievedAccounts.length > 0) { console.log('\n步骤3:更新第一个账号状态为"已使用"...'); const firstAccountId = retrievedAccounts[0].id; updatedAccountId = firstAccountId; // 保存更新的账号ID,用于后续验证 const updateResult = await sdk.updateAccountStatus(firstAccountId, AccountStatus.USED, undefined, '测试使用'); if (updateResult.isSuccess()) { console.log('更新账户状态成功:'); console.log(` 更新的账户ID: ${updateResult.data.updatedId}`); } else { console.error('更新账户状态失败:', updateResult.message); } } // 4. 验证状态更新 if (updatedAccountId) { console.log('\n步骤4:验证状态更新...'); console.log(`注意:我们无法直接通过ID获取特定账号,因为API只支持获取可用状态的账号。`); console.log(`账号ID ${updatedAccountId} 的状态已更新为"已使用",因此它不会出现在可用账号列表中。`); console.log('✅ 状态更新验证完成!(账号已从可用列表中移除)'); } else { console.log('\n步骤4:没有账号被更新,跳过验证。'); } } else { console.error('获取账号失败:', getAccountsResult.message); } } catch (error) { console.error('上传并测试账号时发生错误:', error.message); } } /** * 运行所有示例 */ async function runAllExamples() { console.log('开始运行账户管理系统SDK示例...'); // 注意:这些示例需要实际的API服务器才能正常工作 // 如果没有运行服务器,这些调用将会失败 // 运行上传并测试的示例 await exampleUploadAndTest(); console.log('\n所有示例运行完成!'); } runAllExamples().catch(console.error);