会话激活(Chat Activation)页面用于管理企业微信群聊的激活和维护,包括:
格式:
http://localhost:4200/wxwork/{cid}/chat-activation/{chatId}
参数说明:
{cid}: 公司ID(Company ID){chatId}: 群聊ID(GroupChat的objectId)示例URL:
http://localhost:4200/wxwork/6A7B9c2M8E/chat-activation/Abc123Xyz456
访问客户画像页面:
http://localhost:4200/wxwork/{cid}/contact/{contactId}
在"相关群聊"列表中点击任意群聊卡片
自动跳转到该群聊的会话激活页面
访问项目详情页面:
http://localhost:4200/admin/project-detail/{projectId}
找到项目关联的群聊信息
点击"管理群聊"按钮
跳转到会话激活页面
方法A:从localStorage获取
// 在浏览器控制台执行
const cid = localStorage.getItem('company');
console.log('公司ID:', cid);
方法B:从后台数据库查询
// 在浏览器控制台执行
const Parse = window.Parse || (await import('fmode-ng/parse')).FmodeParse.with('nova');
const query = new Parse.Query('Company');
const companies = await query.find();
companies.forEach(c => {
console.log('公司名称:', c.get('name'), '| ID:', c.id);
});
方法A:查询所有群聊
// 在浏览器控制台执行
const Parse = window.Parse || (await import('fmode-ng/parse')).FmodeParse.with('nova');
// 获取公司ID
const cid = localStorage.getItem('company') || '{your_company_id}';
// 查询该公司的所有群聊
const query = new Parse.Query('GroupChat');
query.equalTo('company', { __type: 'Pointer', className: 'Company', objectId: cid });
query.include('project');
query.limit(10);
const groupChats = await query.find();
console.log(`找到 ${groupChats.length} 个群聊:`);
groupChats.forEach((gc, index) => {
const project = gc.get('project');
console.log(`${index + 1}. 群聊名称: ${gc.get('name')}`);
console.log(` 群聊ID: ${gc.id}`);
console.log(` 关联项目: ${project?.get('name') || '无'}`);
console.log(` 成员数: ${gc.get('member_list')?.length || 0}`);
console.log(` URL: http://localhost:4200/wxwork/${cid}/chat-activation/${gc.id}`);
console.log('---');
});
方法B:根据项目查找群聊
// 在浏览器控制台执行
const Parse = window.Parse || (await import('fmode-ng/parse')).FmodeParse.with('nova');
// 已知项目ID
const projectId = 'yjVLy8KxyG'; // 例如"10.28 测试"项目
// 查询该项目的群聊
const query = new Parse.Query('GroupChat');
query.equalTo('project', { __type: 'Pointer', className: 'Project', objectId: projectId });
const groupChats = await query.find();
if (groupChats.length > 0) {
const gc = groupChats[0];
const cid = localStorage.getItem('company');
const url = `http://localhost:4200/wxwork/${cid}/chat-activation/${gc.id}`;
console.log('群聊URL:', url);
} else {
console.log('该项目没有关联群聊');
}
// 在浏览器控制台执行
(async function createTestGroupChat() {
const Parse = window.Parse || (await import('fmode-ng/parse')).FmodeParse.with('nova');
// 获取公司ID
const cid = localStorage.getItem('company');
if (!cid) {
console.error('未找到公司ID,请先登录');
return;
}
// 获取项目(例如"10.28 测试"项目)
const projectId = 'yjVLy8KxyG'; // 替换为你的项目ID
const projectQuery = new Parse.Query('Project');
const project = await projectQuery.get(projectId);
// 创建群聊
const GroupChat = Parse.Object.extend('GroupChat');
const groupChat = new GroupChat();
groupChat.set('name', `${project.get('name')} - 测试群聊`);
groupChat.set('company', { __type: 'Pointer', className: 'Company', objectId: cid });
groupChat.set('project', project);
groupChat.set('chat_id', `test_chat_${Date.now()}`);
groupChat.set('member_list', [
{
type: 1, // 内部成员
userid: 'test_user_1',
name: '测试技术员',
avatar: 'https://via.placeholder.com/100'
},
{
type: 2, // 外部联系人
userid: 'external_user_1',
name: '测试客户',
avatar: 'https://via.placeholder.com/100'
}
]);
const savedChat = await groupChat.save();
const url = `http://localhost:4200/wxwork/${cid}/chat-activation/${savedChat.id}`;
console.log('✅ 测试群聊创建成功!');
console.log('群聊ID:', savedChat.id);
console.log('访问URL:', url);
console.log('请复制上面的URL到浏览器地址栏访问');
// 复制到剪贴板
if (navigator.clipboard) {
await navigator.clipboard.writeText(url);
alert('URL已复制到剪贴板!\n' + url);
}
return url;
})();
访问URL后,你将看到以下功能:
入群文案:点击发送预设的群介绍文案
本群项目主管:XXX
执行技术:XXX
项目需求:XXX
辅助回复:选择消息后,AI自动生成3-5条回复建议
超时提醒:客户消息超过10分钟未回复时,显示红色"未回复"标签
原因: Parse Server后端服务未启动
解决方法:
原因: chatId参数无效或群聊已被删除
解决方法:
原因: 群聊还没有聊天记录
解决方法:
原因: 需要配置AI API密钥
解决方法:
直接在浏览器控制台运行以下命令,获取第一个可用的群聊URL:
(async () => {
const Parse = (await import('fmode-ng/parse')).FmodeParse.with('nova');
const cid = localStorage.getItem('company');
const query = new Parse.Query('GroupChat');
query.equalTo('company', { __type: 'Pointer', className: 'Company', objectId: cid });
query.limit(1);
const chats = await query.find();
if (chats[0]) {
const url = `http://localhost:4200/wxwork/${cid}/chat-activation/${chats[0].id}`;
console.log('🎉 快速访问URL:', url);
navigator.clipboard?.writeText(url);
alert('URL已复制!\n' + url);
window.open(url, '_blank');
} else {
console.log('❌ 没有找到群聊,请先创建');
}
})();
启动项目:
cd yss-project
npm start
访问登录页:
http://localhost:4200
登录后,在控制台获取URL: 运行上面的快速测试命令
打开会话激活页面: 浏览器会自动打开URL或手动访问复制的URL
测试各项功能: 按照测试checklist逐项验证
祝测试顺利!🎉