Просмотр исходного кода

🐛 fix(tokens): correct main Chat button navigation to prevent 404

The primary "Chat" button on the tokens table navigated to a 404 page
because it passed incorrect arguments to onOpenLink (using a raw
localStorage value instead of the parsed chat value).

Changes:
- Build chatsArray with an explicit `value` for each item.
- Use the first item's `name` and `value` for the main button, matching
  the dropdown behavior.
- Preserve existing error handling when no chats are configured.

Impact:
- Main "Chat" button now opens the correct link, consistent with the
  dropdown action.
- No API/schema changes, no UI changes.

File:
- web/src/components/table/tokens/TokensColumnDefs.js

Verification:
- Manually verified primary button and dropdown both navigate correctly.
- Linter passes with no issues.
t0ng7u 6 месяцев назад
Родитель
Сommit
223f0d0850
1 измененных файлов с 3 добавлено и 5 удалено
  1. 3 5
      web/src/components/table/tokens/TokensColumnDefs.js

+ 3 - 5
web/src/components/table/tokens/TokensColumnDefs.js

@@ -305,6 +305,7 @@ const renderOperations = (text, record, onOpenLink, setEditingToken, setShowEdit
           node: 'item',
           key: i,
           name,
+          value: item[name],
           onClick: () => onOpenLink(name, item[name], record),
         });
       }
@@ -326,11 +327,8 @@ const renderOperations = (text, record, onOpenLink, setEditingToken, setShowEdit
             if (chatsArray.length === 0) {
               showError(t('请联系管理员配置聊天链接'));
             } else {
-              onOpenLink(
-                'default',
-                chatsArray[0].name ? (parsed => parsed)(localStorage.getItem('chats')) : '',
-                record,
-              );
+              const first = chatsArray[0];
+              onOpenLink(first.name, first.value, record);
             }
           }}
         >