// pages/FlightCrew/FlightCrew.js Page({   data: {     name:'FlightCrew',     selectedTime: '--时--分',     selectedDate: '--年--月--日',     selectedIndex1: 0,      selectedIndex2: 0,      selectedIndex3: 0,      selectedIndex4: 0,      selectedIndex5: 0,     selectedIndex6: 0,     selectedIndex7: 0,      selectedIndex8: 0,     selectedIndex9: 0,     selectedIndex10: 0,     selectedIndex11: 0,     selectedIndex12: 0,     selectedIndex13: 0,     selectedIndex14: 0,     selectedIndex15: 0,     inputValue1: '',     inputValue2: '',     inputValue3: '',     inputValue4: '',     inputValue5: '',     inputValue6: '',     inputValue7: '',     inputValue8: '',     inputValue20: '',     inputValue21: '',     inputValue22: '',     inputValue23: '',     timezones: ['请选择','UTC-12:00', 'UTC-11:00', 'UTC-10:00', 'UTC-9:00', 'UTC-8:00', 'UTC-7:00', 'UTC-6:00', 'UTC-5:00', 'UTC-4:00', 'UTC-3:00', 'UTC-2:00', 'UTC-1:00', 'UTC+0:00', 'UTC+1:00', 'UTC+2:00', 'UTC+3:00', 'UTC+4:00', 'UTC+5:00', 'UTC+6:00', 'UTC+7:00', 'UTC+8:00', 'UTC+9:00', 'UTC+10:00', 'UTC+11:00', 'UTC+12:00'],     workposition:['请选择','机长','副驾驶','责任机长','教员','学员','其他'],     controll: ['请选择','是','否'],     License:['请选择','私用驾驶员执照','商用驾驶员执照','航线运输驾驶员执照','临时执照','无','其它'],     ACFT:['请选择','飞机','直升机','滑翔机','其它'],     company:['请选择','运输航空公司','通用航空公司','公务航空公司','飞行训练机构','其它'],     task:['请选择','客运','货运','训练','检查','调机','通用飞行','其它'],     plan:['请选择','目视飞行计划','仪表飞行计划','其它'],     phase:['请选择','地面/滑行','起飞','爬升','巡航/作业','下降','进近','复飞','着陆','其它'],     weather:['请选择','IMC','VMC','雷暴','风切变','紊流','结冰','雨','雪','雾','多云','其它'],     lv:['请选择','黎明','昼间','黄昏/曙暮光','夜间/月光','夜间/黑暗','未知'],     ATS:['请选择','地面','塔台','进近','区调','其它'],     ATC:['请选择','雷达管制','程序管制','雷达监视下的程序管制','其它'],     TCAS:['请选择','是','否'],     Advise:['请选择','是','否'],   },   //时间选择   onTimeChange: function (event) {     this.setData({       selectedTime: event.detail.value     });   },   onTimezoneChange: function (event) {     this.setData({       selectedIndex1: event.detail.value     });   },   onDateChange: function(e) {     this.setData({       selectedDate: e.detail.value     });   },   //工作时间选择   onInput1: function(event) {     this.setData({       inputValue1: event.detail.value     });   },   onInput2: function(event) {     this.setData({       inputValue2: event.detail.value     });   },   onInput3: function(event) {     this.setData({       inputValue3: event.detail.value     });   },   //岗位选择   onworkposition: function (event) {     this.setData({       selectedIndex2: event.detail.value     });   },   //控制器选择   oncontroll: function(event) {     this.setData({       selectedIndex3: event.detail.value     });   },   //执照选择   onLicense: function(event) {     this.setData({       selectedIndex4: event.detail.value     });   },   //工作经验   onInput4: function(event) {     this.setData({       inputValue4: event.detail.value     });   },   onInput5: function(event) {     this.setData({       inputValue5: event.detail.value     });   },   //航空器种类   onACFT: function(event) {     this.setData({       selectedIndex5: event.detail.value     });   },   //工作单位种类   oncompany: function(event) {     this.setData({       selectedIndex6: event.detail.value     });   },   //任务   ontask: function(event) {     this.setData({       selectedIndex7: event.detail.value     });   },   //计划   onplan: function(event) {     this.setData({       selectedIndex8: event.detail.value     });   },   //飞行阶段   onphase: function(event) {     this.setData({       selectedIndex9: event.detail.value     });   },   //飞行高度   onInput6: function(event) {     this.setData({       inputValue6: event.detail.value     });   },   //天气   onweather: function(event) {     this.setData({       selectedIndex10: event.detail.value     });   },   //光线条件和能见度   onlv: function(event) {     this.setData({       selectedIndex11: event.detail.value     });   },   onInput7: function(event) {     this.setData({       inputValue7: event.detail.value     });   },   onInput8: function(event) {     this.setData({       inputValue8: event.detail.value     });   },   //ATS   onATS: function (event) {     this.setData({       selectedIndex12: event.detail.value     });   },   //ATC   onATC: function (event) {     this.setData({       selectedIndex13: event.detail.value     });   },   //TCAS   onTCAS: function (event) {     this.setData({       selectedIndex14: event.detail.value     });   },   //Advise   onAdvise: function (event) {     this.setData({       selectedIndex15: event.detail.value     });   },   //个人信息//姓名电话邮箱   onInput21: function(event) {     this.setData({       inputValue21: event.detail.value     });   },   onInput22: function(event) {     this.setData({       inputValue22: event.detail.value     });   },   onInput23: function(event) {     this.setData({       inputValue23: event.detail.value     });   },   //事件经过   onInput20: function(event) {     this.setData({       inputValue20: event.detail.value     });   },   //提交与重写   onReset() {     this.setData({       selectedTime: '--时--分',       selectedDate: '--年--月--日',       selectedIndex1: 0,       selectedIndex2: 0,       selectedIndex3: 0,       selectedIndex4: 0,       selectedIndex5: 0,       selectedIndex6: 0,       selectedIndex7: 0,       selectedIndex8: 0,       selectedIndex9: 0,       selectedIndex10: 0,       selectedIndex11: 0,       selectedIndex12: 0,       selectedIndex13: 0,       selectedIndex14: 0,       selectedIndex15: 0,       inputValue1: '',       inputValue2: '',       inputValue3: '',       inputValue4: '',       inputValue5: '',       inputValue6: '',       inputValue7: '',       inputValue8: '',       inputValue20: '',       inputValue21: '',       inputValue22: '',       inputValue23: ''     },() => {       console.log('Form has been reset');     })   },   // 提交数据 onSubmit: function () { // 获取存储中的 token const token = wx.getStorageSync('token'); if (!token) { console.log('Token 不存在,请先登录'); wx.showToast({ title: '请先登录', icon: 'none' }); return; // 终止提交 } const data = this.data; const timezoneText = data.timezones[data.selectedIndex1]; const workPositionText = data.workposition[data.selectedIndex2]; const licenseText = data.License[data.selectedIndex4]; const acftText = data.ACFT[data.selectedIndex5]; const taskText = data.task[data.selectedIndex7]; const phaseText = data.phase[data.selectedIndex9]; const weatherText = data.weather[data.selectedIndex10]; const lvText = data.lv[data.selectedIndex11]; const ats = data.ATS[data.selectedIndex12]; const atc = data.ATC[data.selectedIndex13]; const tcas = data.TCAS[data.selectedIndex14]; const advise = data.Advise[data.selectedIndex15]; wx.request({ url: 'http://192.168.144.1:8080/report/add', method: 'POST', header: { 'Authorization': `${token}`, 'content-type': 'application/json' }, data: { selectedTime: data.selectedTime, selectedDate: data.selectedDate, timezone: timezoneText, workPosition: workPositionText, license: licenseText, acft: acftText, task: taskText, phase: phaseText, weather: weatherText, lv: lvText, ats: ats, atc: atc, tcas: tcas, advise: advise, inputValue1: data.inputValue1, inputValue2: data.inputValue2, inputValue3: data.inputValue3, inputValue4: data.inputValue4, inputValue5: data.inputValue5, inputValue6: data.inputValue6, inputValue7: data.inputValue7, inputValue8: data.inputValue8, inputValue20: data.inputValue20, inputValue21: data.inputValue21, inputValue22: data.inputValue22, inputValue23: data.inputValue23, name: data.name, }, success: function(res) { console.log('Data submitted successfully:', res); }, fail: function(err) { console.error('Error submitting data:', err); } }); // 使用腾讯混元智能体的 API 调用 wx.request({ url: 'https://yuanqi.tencent.com/openapi/v1/agent/chat/completions', method: 'POST', header: { 'X-Source': 'openapi', 'Content-Type': 'application/json', 'Authorization': 'Bearer jSNTZONSnnzJ2uuQT7IEgXlPzfE4lX5f' // 替换为你的实际 Bearer Token }, data: { assistant_id: 'ty1W9unZM9IY', // 替换为实际的 assistant_id user_id: '123456', // 替换为实际的用户ID stream: false, messages: [ { role: 'user', content: [ { type: 'text', text: JSON.stringify(data) // 将用户填写的数据转换为字符串 } ] } ] }, success: function (res) { console.log('API 调用成功: ', res); // 打印完整的 API 响应 console.log('API 返回的 choices:', res.data.choices); // 检查数据结构 // 检查选择项并从中提取智能体回复 if (res.data && res.data.choices && res.data.choices.length > 0) { // 确保 message 字段的内容可以被访问 const messageContent = res.data.choices[0].message?.content; let agentReply; // 如果 messageContent 存在并且是一个数组,则提取内容 if (Array.isArray(messageContent) && messageContent.length > 0) { agentReply = messageContent[0].text; // 假设内容在数组的第一个元素中 } else { agentReply = messageContent || '无法获取智能体的回复'; } // 跳转到详情页面并传递数据和智能体的回复 wx.navigateTo({ url: '/pages/FlightCrewDetails/FlightCrewDetails', success: function (navRes) { navRes.eventChannel.emit('sendData', { details: data, // 用户输入的数据 agentReply: agentReply // 智能体的回复 }); } }); } else { console.log('API 响应中没有 choices'); } }, fail: function (err) { console.log('智能体调用失败', err); } }); },   onLoad(options) {   },   onReady() {   },   onShow() {   },   onHide() {   },   onUnload() {   },   onPullDownRefresh() {   },   onReachBottom() {   },   onShareAppMessage() {   } })