- 云函数上传不成功
问题1:代码无法上传 代码路径下已经新建了云函数reqAi [图片]、 右键上传后提示成功 [图片] 但是云函数列表里看不到 [图片] 这里看到的reqAi是点击新建按钮创建的。 然后又重复好几次创建并部署,还是会报错 [图片] 问题2:代码不一致 这是我的另外一个函数, 本地代码 [图片] 网页端代码 [图片] getOpenId函数是可以取到openId的,这么看本地代码生效了。云端这个helloworld代码又是什么呢?很迷惑。 [图片] ps:出现问题2的 起因是我想确认一下代码有没有更新到线上,结果发现看不到openid相关的代码
05-06 - 微信小程序请求siliconflow失败?
// 设置初始连接超时 let connectionTimeoutId = setTimeout(() => { console.log('API连接超时'); this.handleAPIError('连接超时,请检查网络后重试。'); }, 10000); // 10秒连接超时 const apiKey = '谢谢谢谢谢谢'; // 直接请求API wx.request({ url: 'https://api.siliconflow.cn/v1/chat/completions', method: 'POST', header: { 'Authorization': 'Bearer ' + apiKey, 'content-type': 'application/json' }, data: requestBody, responseType: 'text', // 使用文本响应类型,以便正确处理流式数据 enableChunked: true, // 启用分块接收 enableCache: false, // 禁用缓存 timeout: 10000, // 设置30秒超时时间 success: (res) => { // 收到响应,清除连接超时 clearTimeout(connectionTimeoutId); console.log('API响应状态码:', res.statusCode); // 根据返回的数据结构处理响应 if (res.statusCode === 200) { // 检查res.data的类型和内容 console.log('API响应数据类型:', typeof res.data); if (typeof res.data === 'string') { // 处理空字符串响应 if (!res.data || !res.data.trim()) { console.log('API响应数据为空字符串'); this.handleEmptyResponse(); return; } console.log('API响应数据(字符串):', res.data); // 处理流式响应 - 将字符串按照数据块分割 const dataChunks = res.data.split('\n\n'); // 处理每个数据块 let hasValidChunk = false; for (const chunk of dataChunks) { if (chunk && chunk.trim && chunk.trim() && chunk.startsWith('data: ')) { hasValidChunk = true; this.processStreamResponseChunk(chunk); } } // 如果没有有效数据块 if (!hasValidChunk) { this.handleEmptyResponse(); } } else if (res.data) { console.log('API响应数据(对象):', JSON.stringify(res.data).substring(0, 500) + '...'); this.processStreamResponseChunk(res.data); } else { this.handleEmptyResponse(); } } else { // 处理错误响应 console.error('API响应异常:', res); this.handleAPIError('获取回复失败,请稍后再试。'); } // 自动滚动到底部 this.scrollToBottom(); }, fail: (err) => { // 清除超时计时器 clearTimeout(connectionTimeoutId); console.error('请求失败:', err); // 根据错误类型提供更详细的错误信息 let errorMsg = '网络连接出错,请检查您的网络连接并重试。'; if (err.errMsg) { if (err.errMsg.includes('timeout')) { errorMsg = '请求超时,大型语言模型需要一些时间来生成回复。请稍后再试或尝试发送更简短的消息。'; } else if (err.errMsg.includes('fail')) { errorMsg = 'API服务连接失败,请确保您的网络稳定。'; } } this.handleAPIError(errorMsg); }, complete: () => { // 确保超时计时器被清除(额外保障) clearTimeout(connectionTimeoutId); } }); } catch (error) { console.error('请求过程发生异常:', error); this.handleAPIError('发送请求时发生错误,请重试。'); } }, 如果故意将apikey写错,会返回401 unauthorized。对的apikey就是超时或者返回空字符串。超时还是空字符串两种情况随机,没有发现规律
04-28