更新后台管理消息列表;

This commit is contained in:
karlcarlo
2025-12-15 17:44:35 +08:00
parent 41d2d893d3
commit a7b3454f61
22 changed files with 1620 additions and 356 deletions

View File

@@ -43,8 +43,8 @@ const WorkflowProgress = ({
{stepId === 'context' && stepInfo.data.scene && (
<div>场景: {stepInfo.data.scene}</div>
)}
{stepId === 'customer' && stepInfo.data.externalUserId && (
<div>客户ID: {stepInfo.data.externalUserId}</div>
{stepId === 'customer' && stepInfo.data.userId && (
<div>{stepInfo.data.userId}</div>
)}
{stepId === 'tags' && stepInfo.data.tags && (
<div>标签数: {stepInfo.data.tags.length}</div>

View File

@@ -248,16 +248,47 @@ export const useWeCom = () => {
ww.getCurExternalContact({
success: (res) => {
clearTimeout(timeoutId);
console.log('获取当前客户ID成功:', res);
console.log('获取当前客户ID成功,原始数据:', res);
// 检查返回的数据结构
if (res && res.externalUserId) {
resolve(res);
} else {
console.warn('获取当前客户ID返回的数据格式异常:', res);
// 即使数据格式异常,也返回数据,让上层处理
resolve(res || { externalUserId: 'unknown', data: res });
// 详细检查返回的数据结构
console.log('返回数据键名:', Object.keys(res || {}));
console.log('返回数据类型:', typeof res);
// 确保始终返回包含externalUserId字段的对象
let result = res || {};
if (!result.externalUserId) {
console.warn('企业微信API返回的数据没有externalUserId字段,数据:', result);
// 尝试从其他可能的字段获取客户ID
const possibleUserIdFields = ['userId', 'userid', 'external_userid', 'externalUserid', 'user_id', 'external_user_id'];
for (const field of possibleUserIdFields) {
if (result[field]) {
console.log(`从${field}字段找到客户ID:`, result[field]);
result.externalUserId = result[field];
break;
}
}
// 如果还是没有找到,检查是否有嵌套结构
if (!result.externalUserId && result.data) {
console.log('检查嵌套的data字段:', result.data);
for (const field of possibleUserIdFields) {
if (result.data[field]) {
console.log(`从data.${field}字段找到客户ID:`, result.data[field]);
result.externalUserId = result.data[field];
break;
}
}
}
// 如果还是没有找到,设置为'unknown'
if (!result.externalUserId) {
result.externalUserId = 'unknown';
console.warn('无法从返回数据中找到客户ID,设置为unknown');
}
}
console.log('处理后的客户ID数据:', result);
resolve(result);
},
fail: (err) => {
clearTimeout(timeoutId);

View File

@@ -436,11 +436,15 @@ export const workflowService = {
}
console.log('当前页面支持获取客户ID,entry:', contextInfo.entry);
// alert(`当前页面支持获取客户ID,entry: ${contextInfo.entry}`);
// 在支持获取客户ID的页面,尝试获取真实客户ID
customerResult = await weComHook.getCurExternalContact()
.then(customerInfo => {
console.log('成功获取到客户ID:', customerInfo);
console.log('成功获取到客户ID,完整数据:', customerInfo);
console.log('客户ID字段值:', customerInfo.externalUserId);
console.log('客户数据所有键名:', Object.keys(customerInfo || {}));
// alert(`成功获取到客户ID: ${customerInfo.externalUserId}\n完整数据键名: ${Object.keys(customerInfo || {}).join(', ')}`);
return {
...customerInfo,
context: contextInfo,
@@ -500,6 +504,7 @@ export const workflowService = {
// 5. 获取会话历史
if (onProgress) onProgress('history', 'loading');
let historyResult;
// alert(`5. 获取会话历史开始 userId: ${customerResult.externalUserId}`);
if (!customerResult.externalUserId || customerResult.mock) {
console.warn('使用模拟历史数据');
historyResult = {