更新后台管理消息列表;
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user