wujingjing
2025-04-09 2b8b2cac4fe3f05474459a034bc4034f2d7aa0cb
src/components/amis/AMISRenderer.vue
@@ -12,6 +12,8 @@
import { NO_AUTH_API_LIST } from '/@/api/ai/chat';
import { LOGIN_URL, TEL_LOGIN_URL } from '/@/api/ai/user';
import { Local } from '/@/utils/storage';
import { isSharePage } from '/@/stores/chatRoom';
const amisRootRef = ref<HTMLDivElement>(null);
const props = defineProps({
@@ -26,7 +28,7 @@
      type: Object,
      default: () => ({}),
   },
   context:{
   context: {
      type: Object,
      default: () => ({}),
   },
@@ -41,8 +43,27 @@
});
const emit = defineEmits(['ready']);
function insertScript(src, callback) {
   const script = document.createElement('script');
   script.setAttribute('type', 'text/javascript');
   script.setAttribute('src', src);
   script.async = true;
   script.onload = () => callback();
   script.onerror = () => callback(new Error(`Failed to load ${src}`));
   document.head.appendChild(script);
}
function loadScript(callback) {
   if (!window.eventList.amisSdkJsPromise) {
      window.eventList.amisSdkJsPromise = new Promise((resolve, reject) => {
         insertScript('/static/amis/sdk/sdk.js', (error) => {
            if (error) {
               reject(error);
               return;
            }
            resolve();
         });
      });
   }
   window.eventList.amisSdkJsPromise
      .then(() => {
         callback();
@@ -70,7 +91,6 @@
      });
   });
}
const current = router.currentRoute.value;
@@ -144,7 +164,7 @@
            // api.context 中包含发送请求前的上下文信息
            // 获取本地的 token
            const accessSession = Local.get(accessSessionKey);
            if (!NO_AUTH_API_LIST.includes(api.url)) {
            if (!NO_AUTH_API_LIST.includes(api.url) && !isSharePage.value) {
               if (accessSession) {
                  // 将 token 添加到请求报文头中
                  api.headers['hswatersession'] = accessSession;