{"version":3,"sources":["webpack:///./src/views/aiChat/index.vue","webpack:///src/views/aiChat/index.vue","webpack:///./src/views/aiChat/index.vue?bf20","webpack:///./src/views/aiChat/index.vue?86c6","webpack:///./src/views/aiChat/index.vue?8632"],"names":["render","_vm","this","_c","_self","staticClass","staticStyle","attrs","iframeSrc","iframeHeight","staticRenderFns","name","components","computed","data","form","currentUser","created","setIframeHeight","window","addEventListener","mounted","getCurrentUser","handleIframeMessage","beforeDestroy","removeEventListener","methods","height","innerHeight","console","log","userInfo","$store","state","user","sendLoginInfoToIframe","_this$currentUser$dep","error","phoneNumber","phonenumber","phone","mobile","loginData","externalUserInfo","username","userName","realname","nickName","nick_name","userId","deptId","orgCode","dept","iframeDom","document","getElementById","contentWindow","postMessage","type","value","event","_event$data","component"],"mappings":"kJAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,SAAS,CAACG,YAAY,CAAC,OAAS,QAAQC,MAAM,CAAC,GAAK,aAAa,IAAMN,EAAIO,UAAU,YAAc,IAAI,MAAQ,OAAO,OAASP,EAAIQ,aAAa,UAAY,aAE7PC,EAAkB,GCcP,GACfC,KAAA,GACAC,WAAA,GACAC,SAAA,GACAC,OACA,OACAC,KAAA,GAEAP,UAAA,mCAEAC,aAAA,QACAO,YAAA,OAIAC,UAEA,KAAAC,kBAEAC,OAAAC,iBAAA,cAAAF,kBAEAG,UACA,KAAAC,iBACA,KAAAJ,kBAEAC,OAAAC,iBAAA,eAAAG,sBAEAC,gBAEAL,OAAAM,oBAAA,cAAAP,iBACAC,OAAAM,oBAAA,eAAAF,sBAGAG,QAAA,CACAR,kBAEA,MAAAS,EAAAR,OAAAS,YAAA,GACA,KAAAnB,aAAAkB,EAAA,MAIAL,iBACAO,QAAAC,IAAA,YACA,MAAAC,EAAA,KAAAC,OAAAC,MAAAC,KAAAH,SACA,KAAAf,YAAAe,EACAF,QAAAC,IAAA,eAAAd,cAIAmB,wBAAA,IAAAC,EACA,SAAApB,YAEA,YADAa,QAAAQ,MAAA,YAKA,MAAAC,EAAA,KAAAtB,YAAAuB,aAAA,KAAAvB,YAAAwB,OAAA,KAAAxB,YAAAyB,OACA,IAAAH,EAEA,YADAT,QAAAQ,MAAA,YAKA,MAAAK,EAAA,CACAJ,cACAK,iBAAA,CACAC,SAAA,KAAA5B,YAAA4B,UAAA,KAAA5B,YAAA6B,SACAC,SAAA,KAAA9B,YAAA+B,UAAA,KAAA/B,YAAAgC,WAAA,KAAAhC,YAAA8B,SACAG,OAAA,KAAAjC,YAAAiC,OACAC,OAAA,KAAAlC,YAAAkC,OACAC,SAAA,QAAAf,EAAA,KAAApB,YAAAoC,YAAA,IAAAhB,OAAA,EAAAA,EAAAe,UAAA,KAAAnC,YAAAmC,WAEA,KAAAnC,cAIAa,QAAAC,IAAA,yBAAAY,GAEA,MAAAW,EAAAC,SAAAC,eAAA,cACA,OAAAF,QAAA,IAAAA,KAAAG,eACAH,EAAAG,cAAAC,YACA,CACAC,KAAA,YACA5C,KAAA,CACA6C,MAAAjB,IAGA,KAEAb,QAAAC,IAAA,sBAEAD,QAAAQ,MAAA,iBAIAd,oBAAAqC,GAAA,IAAAC,EAIA,0BAAAA,EAAAD,EAAA9C,YAAA,IAAA+C,OAAA,EAAAA,EAAAH,QACA7B,QAAAC,IAAA,wBACA,KAAAK,4BCrHiiB,I,wBCQ7hB2B,EAAY,eACd,EACA9D,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAoD,E,2CCnBf","file":"js/chunk-fccf0d0a.v0.1.2.1794211824866.js?hash=v0.1.2.1794211824866","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"body\"},[_c('iframe',{staticStyle:{\"border\":\"none\"},attrs:{\"id\":\"testIframe\",\"src\":_vm.iframeSrc,\"frameborder\":\"0\",\"width\":\"100%\",\"height\":_vm.iframeHeight,\"scrolling\":\"auto\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"body\">\r\n    <iframe\r\n      id=\"testIframe\"\r\n      :src=\"iframeSrc\"\r\n      frameborder=\"0\"\r\n      width=\"100%\"\r\n      :height=\"iframeHeight\"\r\n      scrolling=\"auto\"\r\n      style=\"border: none\"\r\n    >\r\n    </iframe>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"\",\r\n  components: {},\r\n  computed: {},\r\n  data() {\r\n    return {\r\n      form: {},\r\n      // iframeSrc: 'http://localhost:5174/', // 实际链接\r\n      iframeSrc: \"https://ai.aipesticides.com/chat\", // 实际链接\r\n      // iframeSrc: 'http://127.0.0.1:5173/', // 实际链接\r\n      iframeHeight: \"100px\",\r\n      currentUser: null,\r\n    };\r\n  },\r\n\r\n  created() {\r\n    // 初始化时设置高度\r\n    this.setIframeHeight();\r\n    // 监听窗口大小变化\r\n    window.addEventListener(\"resize\", this.setIframeHeight);\r\n  },\r\n  mounted() {\r\n    this.getCurrentUser();\r\n    this.setIframeHeight();\r\n    // ✅ 监听子页面发来的 \"准备就绪\" 消息\r\n    window.addEventListener(\"message\", this.handleIframeMessage);\r\n  },\r\n  beforeDestroy() {\r\n    // 清理事件监听器\r\n    window.removeEventListener(\"resize\", this.setIframeHeight);\r\n    window.removeEventListener(\"message\", this.handleIframeMessage);\r\n  },\r\n\r\n  methods: {\r\n    setIframeHeight() {\r\n      // 计算可用高度，可以根据需要调整这个值\r\n      const height = window.innerHeight - 53; // 减去一些边距\r\n      this.iframeHeight = height + \"px\";\r\n    },\r\n\r\n    // 获取当前用户信息\r\n    getCurrentUser() {\r\n      console.log(\"获取当前用户信息\");\r\n      const userInfo = this.$store.state.user.userInfo;\r\n      this.currentUser = userInfo;\r\n      console.log(\"当前用户信息:\", this.currentUser);\r\n    },\r\n\r\n    // 发送登录信息到 iframe\r\n    sendLoginInfoToIframe() {\r\n      if (!this.currentUser) {\r\n        console.error(\"❌ 用户信息为空\");\r\n        return;\r\n      }\r\n\r\n      // 获取手机号（根据实际字段调整）\r\n      const phoneNumber = this.currentUser.phonenumber || this.currentUser.phone || this.currentUser.mobile;\r\n      if (!phoneNumber) {\r\n        console.error(\"❌ 未找到手机号\");\r\n        return;\r\n      }\r\n\r\n      // 构建登录数据\r\n      const loginData = {\r\n        phoneNumber: phoneNumber,\r\n        externalUserInfo: {\r\n          username: this.currentUser.username || this.currentUser.userName,\r\n          realname: this.currentUser.nickName || this.currentUser.nick_name || this.currentUser.realname,\r\n          userId: this.currentUser.userId,\r\n          deptId: this.currentUser.deptId,\r\n          orgCode: this.currentUser.dept?.orgCode || this.currentUser.orgCode,\r\n          // 传递其他需要的信息\r\n          ...this.currentUser\r\n        }\r\n      };\r\n\r\n      console.log(\"📤 发送登录信息到 yunbo-chat:\", loginData);\r\n\r\n      const iframeDom = document.getElementById(\"testIframe\");\r\n      if (iframeDom?.contentWindow) {\r\n        iframeDom.contentWindow.postMessage(\r\n          {\r\n            type: \"USER_INFO\",\r\n            data: {\r\n              value: loginData\r\n            }\r\n          },\r\n          \"*\"\r\n        );\r\n        console.log(\"✅ 用户信息已发送到 iframe\");\r\n      } else {\r\n        console.error(\"❌ iframe 未就绪\");\r\n      }\r\n    },\r\n\r\n    handleIframeMessage(event) {\r\n      // 可选：验证来源\r\n      // if (event.origin !== 'https://ai.aipesticides.com') return;\r\n\r\n      if (event.data?.type === \"IFRAME_READY\") {\r\n        console.log(\"✅ 收到子页面就绪通知，准备发送用户信息\");\r\n        this.sendLoginInfoToIframe();\r\n      }\r\n    },\r\n  },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"less\">\r\n.body {\r\n  width: 100%;\r\n  height: 100%;\r\n  background-color: #fff;\r\n}\r\n\r\n// 可以添加一些样式来美化 iframe\r\niframe {\r\n  border-radius: 4px;\r\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\r\n}\r\n</style>\r\n","import mod from \"-!../../../node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.store/thread-loader@2.1.3/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib/index.js!../../../node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/.store/thread-loader@2.1.3/node_modules/thread-loader/dist/cjs.js!../../../node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib/index.js!../../../node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6eddbd0e&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=6eddbd0e&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6eddbd0e\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/.store/mini-css-extract-plugin@0.9.0/node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/.store/css-loader@3.6.0/node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/.store/postcss-loader@3.0.0/node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/.store/less-loader@5.0.0/node_modules/less-loader/dist/cjs.js??ref--11-oneOf-1-3!../../../node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=6eddbd0e&prod&scoped=true&lang=less\""],"sourceRoot":""}