| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- #!/usr/bin/env node
- /**
- * 会话激活页面测试地址获取脚本
- * 使用方法:
- * 1. 在浏览器访问 http://localhost:4200
- * 2. 打开控制台(F12)
- * 3. 复制下面的代码并运行
- */
- console.log('\n🚀 会话激活页面测试地址获取工具\n');
- console.log('=' .repeat(60));
- console.log('\n📋 您的配置信息:');
- console.log(' 公司ID (cid): cDL6R1hgSi');
- console.log(' 用户ID: woAs2qCQAAGQckyg7AQBxhMEoSwnlTvg');
- console.log('\n' + '='.repeat(60));
- console.log('\n📝 步骤1:启动项目');
- console.log(' cd yss-project');
- console.log(' npm start');
- console.log('\n📝 步骤2:打开浏览器');
- console.log(' 访问: http://localhost:4200');
- console.log('\n📝 步骤3:打开控制台(按F12)');
- console.log('\n📝 步骤4:复制并运行以下代码:');
- console.log('\n' + '-'.repeat(60));
- const script = `
- (async () => {
- try {
- // 配置信息
- const cid = 'cDL6R1hgSi';
- const userid = 'woAs2qCQAAGQckyg7AQBxhMEoSwnlTvg';
-
- // 设置localStorage
- localStorage.setItem('company', cid);
- localStorage.setItem(\`\${cid}/USERINFO\`, JSON.stringify({
- userid: userid,
- errcode: 0,
- errmsg: 'ok',
- cid: cid
- }));
-
- console.log('✅ localStorage配置成功');
-
- // 导入Parse
- const { FmodeParse } = await import('fmode-ng/parse');
- const Parse = FmodeParse.with('nova');
-
- // 查询群聊
- const query = new Parse.Query('GroupChat');
- query.equalTo('company', { __type: 'Pointer', className: 'Company', objectId: cid });
- query.include('project');
- query.descending('createdAt');
- query.limit(10);
-
- const chats = await query.find();
-
- if (chats.length > 0) {
- console.log(\`\\n✅ 找到 \${chats.length} 个群聊:\\n\`);
-
- chats.forEach((chat, i) => {
- const url = \`http://localhost:4200/wxwork/\${cid}/chat-activation/\${chat.id}\`;
- const name = chat.get('name') || '未命名';
- const project = chat.get('project');
- const projectName = project ? project.get('title') : '无项目';
-
- console.log(\`\${i + 1}. \${name}\`);
- console.log(\` 项目: \${projectName}\`);
- console.log(\` 🔗 \${url}\\n\`);
- });
-
- // 复制第一个
- const firstUrl = \`http://localhost:4200/wxwork/\${cid}/chat-activation/\${chats[0].id}\`;
- await navigator.clipboard.writeText(firstUrl);
-
- alert(\`✅ 已复制第一个群聊地址!\\n\\n\${chats[0].get('name')}\\n\\n\${firstUrl}\\n\\n点击确定后自动打开...\`);
-
- setTimeout(() => window.open(firstUrl, '_blank'), 500);
-
- } else {
- console.log('⚠️ 未找到群聊,正在创建测试数据...');
-
- // 创建测试群聊
- const GroupChat = Parse.Object.extend('GroupChat');
- const testChat = new GroupChat();
-
- testChat.set('name', '测试群聊 - ' + new Date().toLocaleString('zh-CN'));
- testChat.set('company', { __type: 'Pointer', className: 'Company', objectId: cid });
- testChat.set('chat_id', 'test_chat_' + Date.now());
- testChat.set('member_list', [
- { type: 1, userid: 'tech_001', name: '技术员-张三', avatar: '' },
- { type: 2, userid: 'customer_001', name: '客户-李四', avatar: '' },
- { type: 2, userid: 'customer_002', name: '客户-王五', avatar: '' }
- ]);
- testChat.set('messages', [
- { msgid: 'msg_001', from: 'customer_001', msgtime: Math.floor(Date.now() / 1000) - 3600, msgtype: 'text', text: { content: '你好,我想咨询一下项目进度' } },
- { msgid: 'msg_002', from: 'tech_001', msgtime: Math.floor(Date.now() / 1000) - 3500, msgtype: 'text', text: { content: '您好,项目正在进行中,预计本周完成' } },
- { msgid: 'msg_003', from: 'customer_001', msgtime: Math.floor(Date.now() / 1000) - 700, msgtype: 'text', text: { content: '可以帮我修改一下需求吗?' } },
- { msgid: 'msg_004', from: 'customer_002', msgtime: Math.floor(Date.now() / 1000) - 300, msgtype: 'text', text: { content: '设计稿什么时候能出来?' } }
- ]);
-
- const saved = await testChat.save();
- const url = \`http://localhost:4200/wxwork/\${cid}/chat-activation/\${saved.id}\`;
-
- console.log(\`\\n✅ 测试群聊创建成功!\`);
- console.log(\`群聊名称: \${saved.get('name')}\`);
- console.log(\`群聊ID: \${saved.id}\`);
- console.log(\`🔗 \${url}\\n\`);
-
- await navigator.clipboard.writeText(url);
-
- alert(\`✅ 测试群聊已创建!地址已复制\\n\\n\${url}\\n\\n点击确定后自动打开...\`);
-
- setTimeout(() => window.open(url, '_blank'), 500);
- }
-
- } catch (e) {
- console.error('❌ 错误:', e);
- alert('❌ 发生错误: ' + e.message + '\\n\\n请确保:\\n1. 项目已启动\\n2. Parse Server已连接');
- }
- })();
- `.trim();
- console.log(script);
- console.log('\n' + '-'.repeat(60));
- console.log('\n✨ 功能说明:');
- console.log(' • 自动配置localStorage');
- console.log(' • 查找现有群聊或创建测试群聊');
- console.log(' • 自动复制URL到剪贴板');
- console.log(' • 自动打开测试页面');
- console.log('\n📱 URL格式:');
- console.log(' http://localhost:4200/wxwork/cDL6R1hgSi/chat-activation/{群聊ID}');
- console.log('\n🎯 测试群聊包含:');
- console.log(' • 3个成员(1个技术员 + 2个客户)');
- console.log(' • 4条消息(包含1条超时未回复)');
- console.log(' • 完整的测试数据');
- console.log('\n' + '='.repeat(60));
- console.log('\n💡 提示:也可以打开 GET-CHAT-ACTIVATION-TEST-URL.html 使用可视化工具\n');
|