wxe60c69db45dc145b 没有调用权限 确认是这个appid吗
调用 wx.joinVoIPChat 时,始终报 access denied 错误是怎么回事呢?## 问题描述 调用 wx.joinVoIPChat 时,始终报 access denied 错误,错误码 -1000。所有技术参数验证正常,签名生成也正确,但微信服务器仍然拒绝访问。 ## 环境信息 - **小程序类型**: 企业认证(已认证) - **测试版本**: 体验版(已确认不是开发版) - **基础库版本**: 3.12.0(满足 2.7.0+ 要求) - **微信版本**: 8.0.65 - **平台**: Android 10 - **云开发环境**: 已开通并正常使用 ## 错误信息 { "errno": 102, "errMsg": "joinVoIPChat:fail:access denied, appId=wxe60c69db45dc145b", "errCode": -1000 }## 已确认的配置 ### 1. 权限配置 ✅ - 小程序后台"接口设置"中已开通"双人音视频对话"权限 - 权限状态显示为"已开通"(绿色) - 开通时间已超过24小时 ### 2. 类目配置 ✅ - 小程序类目:工具 > 视频客服 - 类目状态:已通过审核 - 类目符合 VOIP 功能要求 ### 3. 企业认证 ✅ - 小程序主体类型:企业 - 认证状态:已认证 ### 4. 云函数配置 ✅ - 云函数 voipManager 已部署 - 环境变量 APPSECRET 已正确配置(32位) - 云函数测试签名生成成功 ### 5. 签名生成验证 ✅ - 签名算法:`sha1(appId + groupId + nonceStr + timeStamp + appSecret)` - 签名长度:40位(SHA1正确) - 签名模式:production - timeStamp 类型:number(数字类型) - 所有参数格式正确 ## 技术实现细节 ### 云函数签名生成 const timestamp = Math.floor(Date.now() / 1000); const nonceStr = generateNonceStr(); const signStr = `${appId}${groupId}${nonceStr}${timestamp}${appSecret}`; const signature = crypto.createHash('sha1').update(signStr).digest('hex');### 前端调用代码t wx.joinVoIPChat({ signature: signData.signature, // 40位SHA1签名 groupId: this.groupId, // 房间ID nonceStr: signData.nonceStr, // 随机字符串 timeStamp: Number(signData.timeStamp), // 数字类型时间戳 muteConfig: { muteMicrophone: false, muteEarphone: false }, roomType: 'voice' });## 诊断日志(已脱敏) ### 签名生成成功
12-03企微端怎么操作的呢 我们这边验证正常
安卓企微sendChatMessage发送小程序卡片和news, 鸿蒙6微信端图片空白[图片][图片][图片] 鸿蒙微信异常, 安卓和IOS正常
12-03你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
鸿蒙6.0系统连接低功耗蓝牙设备问题,为什么能连接成功,但是无法收发数据,无报错?鸿蒙6.0系统连接低功耗蓝牙设备问题连接成功但是无法发送接收数据,无报错。wx.writeBLECharacteristicValue,android和ios都能正常连接,收发数据。
12-02所有小程序都这样吗,截图看看呢
小程序怎么用不了了?小程序都不用不了,打开说我网络错误
12-02你好,哪端复现的呢 麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,提供一下微信号,时间点
wx.startSoterAuthentication这个接口人脸怎么报错了?[图片][图片]
11-28截图看看呢
点击发布直接清空所有数据?点击发布直接提示所有数据,还提示没有填写
11-28请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
ios中地图组件显示异常[图片][图片]
11-28请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
LivePlayer在部分机型存在同层渲染失败的问题?OPPO A1 Pro这个机型使用LivePlayer组件会把上层显示的元素都隐藏了,现在还会有同层渲染的问题吗?而且不止这个机型,有好几个不同机型的用户也反馈 { "manufacturer": "OPPO", "device_model": "PHQ110", "platform": "android", "system": "Android 13", "os_name": "Android", "os_version": "13", "wx_version": "8.0.64", "sdk_version": "3.11.1" }
11-28你好,还能复现吗,麻烦复现一次 在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,提供一下微信号,时间点
鸿蒙4.2.0微信小程序调用wx.connectWifi接口不能正常连接wifi?VM75:363 Error: not node js file system!path:/saaa_config.json; go __invokeHandler__ readFile worker? false h @ VM75:363 a.WeixinJSCore.invokeHandler @ VM75:363 w @ WAServiceMainContext.js:1 invoke @ WAServiceMainContext.js:1 invoke @ WAServiceMainContext.js:1 u @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 ae @ WAServiceMainContext.js:1 o @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 I @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 e0 @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 c.emit @ WAServiceMainContext.js:1 emitInternal @ WAServiceMainContext.js:1 e @ WAServiceMainContext.js:1 c.emit @ WAServiceMainContext.js:1 emitInternal @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 _ @ WAServiceMainContext.js:1 B @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 a @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 c.emit @ WAServiceMainContext.js:1 emit @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 _emit @ WAServiceMainContext.js:1 emit @ WAServiceMainContext.js:1 emit @ WAServiceMainContext.js:1 subscribeHandler @ WAServiceMainContext.js:1 ret.subscribeHandler Show 10 more frames 0:104 页面加载,注册 onBluetoothDeviceFound 监听器。 0:207 【权限检查】设备未连接,后台检查权限状态 0:202 【checkPermission】开始检查权限状态... 0:307 【权限引导】已显示过引导,跳过 VM75:363 error occurs:no such file or directory, open 'wxfile://ad/interstitialAdExtInfo.txt' p @ VM75:363 (anonymous) @ VM75:363 emit @ node:events:512 emitErrorNT @ node:internal/streams/destroy:151 emitErrorCloseNT @ node:internal/streams/destroy:116 processTicksAndRejections @ node:internal/process/task_queues:82 0:511 📱 屏幕常亮设置成功 0:511 📱 屏幕常亮设置成功 0:155 模型文件已存在于本地,直接使用: wxfile://usr/best.onnx 0:298 【checkPermission】权限检查完成 - 蓝牙: true 相机: true 0:518 获取当前Wi-Fi信息失败,将启动蓝牙扫描。原因: {errno: 1505001, errCode: 12000, errMsg: "getConnectedWifi:fail:not invoke startWifi"} fail @ 0:518 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:1210 正在检查 Wi-Fi 状态... 0:1214 检查结果:Wi-Fi 开关已开启 WAServiceMainContext.js:1 [wxapplib]] backgroundfetch privacy fail {"errno":4,"errMsg":"private_getBackgroundFetchData:fail private_getBackgroundFetchData:fail:internal error"} (anonymous) @ WAServiceMainContext.js:1 i @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 fail @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 u @ WAServiceMainContext.js:1 fail @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:562 蓝牙扫描已启动... 0:325 发现有效设备: softish-3d6515, 信号强度(RSSI): -42, 解析数据: {bssid: "36:30:30:15:65:3d", password: "36303015653d", version: 54402, companyId: 9999} 0:344 设备公司ID: 9999 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 VM75:363 error occurs:no such file or directory, access 'wxfile://usr/miniprogramLog/log2' p @ VM75:363 (anonymous) @ VM75:363 (anonymous) @ node:fs:181 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 U-ACG1C7E 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:325 发现有效设备: softish-8e8015, 信号强度(RSSI): -72, 解析数据: {bssid: "36:30:30:15:80:8e", password: "36303015808e", version: 54402, companyId: 9999} 0:344 设备公司ID: 9999 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 PhoneKey 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 U-ACG4C72 未通过 parseProductManufacturerData 校验,忽略 0:322 设备 未通过 parseProductManufacturerData 校验,忽略 0:692 【连接准备】关闭WiFi模块,清理环境 0:698 关闭WiFi模块失败(可能未初始化): {errno: 1505001, errCode: 12000, errMsg: "stopWifi:fail:not invoke startWifi"} 0:728 【系统信息】Android 12 | HUAWEI | LNA-AL00 | SDK 3.11.2 0:729 【连接配置】平台: android (鸿蒙) 0:730 【连接配置】WiFi超时: 30秒, 快速重试窗口: 10秒, 手动重试阈值: 10秒 0:731 【连接目标】SSID: softish-3d6515, 密码长度: 12 0:787 【WiFi模块】初始化成功 0:790 【WiFi扫描】开始扫描周边WiFi热点... 0:793 【WiFi扫描】扫描请求已发送,等待系统响应... 0:770 【WiFi扫描】发现 29 个WiFi热点 0:775 【WiFi扫描】✅ 找到目标设备: softish-3d6515, 信号强度: 99 0:815 【WiFi连接】第1次尝试连接: softish-3d6515, 已用时: 2.002秒, 扫描已完成 0:859 ❌ Wi-Fi连接失败(第1次,已用时2.035秒): {errno: 1505020, errCode: 12010, errMsg: "connectWifi:fail:unknown error"} fail @ 0:859 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:863 【12010错误诊断】系统: Android 12, 品牌: HUAWEI, 扫描状态: 已完成 fail @ 0:863 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:872 【重试】第1次失败,3秒后重试 0:815 【WiFi连接】第2次尝试连接: softish-3d6515, 已用时: 5.037秒, 扫描已完成 0:859 ❌ Wi-Fi连接失败(第2次,已用时5.058秒): {errno: 1505020, errCode: 12010, errMsg: "connectWifi:fail:unknown error"} fail @ 0:859 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:863 【12010错误诊断】系统: Android 12, 品牌: HUAWEI, 扫描状态: 已完成 fail @ 0:863 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:872 【重试】第2次失败,3秒后重试 0:815 【WiFi连接】第3次尝试连接: softish-3d6515, 已用时: 8.059秒, 扫描已完成 0:859 ❌ Wi-Fi连接失败(第3次,已用时8.076秒): {errno: 1505020, errCode: 12010, errMsg: "connectWifi:fail:unknown error"} fail @ 0:859 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:863 【12010错误诊断】系统: Android 12, 品牌: HUAWEI, 扫描状态: 已完成 fail @ 0:863 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:872 【重试】第3次失败,3秒后重试 0:815 【WiFi连接】第4次尝试连接: softish-3d6515, 已用时: 11.077秒, 扫描已完成 0:859 ❌ Wi-Fi连接失败(第4次,已用时11.088秒): {errno: 1505020, errCode: 12010, errMsg: "connectWifi:fail:unknown error"} fail @ 0:859 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler 0:863 【12010错误诊断】系统: Android 12, 品牌: HUAWEI, 扫描状态: 已完成 fail @ 0:863 I.forEach.v.<computed> @ WAServiceMainContext.js:1 p @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 G @ WAServiceMainContext.js:1 (anonymous) @ WAServiceMainContext.js:1 r @ WAServiceMainContext.js:1 s @ WAServiceMainContext.js:1 callAndRemove @ WAServiceMainContext.js:1 invokeCallbackHandler @ WAServiceMainContext.js:1 ret.invokeCallbackHandler startWifiConnectionWithRetry(wifiSsid, wifiPassword, device) { let connectionAttemptFinished = false; let retryCount = 0; // 获取平台信息 const systemInfo = wx.getSystemInfoSync(); const isIOS = systemInfo.platform === 'ios'; // 新的超时配置 const wifiTimeout = 30000; // WiFi连接API超时时间:30秒 const quickRetryWindow = 10000; // 快速重试窗口:10秒内报错立即重试 const manualRetryThreshold = isIOS ? 15000 : 10000; // 需要手动重试的阈值:iOS 15秒,Android 10秒 const startTime = Date.now(); console.log(`【连接配置】平台: ${systemInfo.platform}`); console.log(`【连接配置】WiFi超时: ${wifiTimeout/1000}秒, 快速重试窗口: ${quickRetryWindow/1000}秒, 手动重试阈值: ${manualRetryThreshold/1000}秒`); // 清除之前的超时定时器 if (this.connectTimeoutId) { clearTimeout(this.connectTimeoutId); } // 设置WiFi连接总超时(30秒) this.connectTimeoutId = setTimeout(() => { if (connectionAttemptFinished) return; connectionAttemptFinished = true; console.error(`WiFi连接超时:${wifiTimeout/1000}秒内未能连接成功。`); // 立即重置所有状态,防止误操作 this.setData({ isConnecting: false, isConnected: false, statusText: "连接超时" }); // 清除全局连接状态 const app = getApp(); app.globalData.isConnected = false; // 停止心跳服务 if (app.udp) { app.stopHeartbeatService(); } // 显示手动重连提示 this.promptManualConnection(wifiSsid, wifiPassword, '连接超时'); }, wifiTimeout); // 初始化WiFi模块 wx.startWifi({ success: () => { console.log("【WiFi模块】初始化成功"); }, fail: (err) => { console.log("【WiFi模块】初始化失败(可能已初始化):", err); } }); // 连接函数 const tryConnect = () => { if (connectionAttemptFinished) { console.log("连接已结束,停止重试"); return; } retryCount++; const elapsed = Date.now() - startTime; console.log(`【WiFi连接】第${retryCount}次尝试连接: ${wifiSsid}, 已用时: ${elapsed/1000}秒`); this.setData({ statusText: `正在连接设备...` }); wx.connectWifi({ SSID: wifiSsid, password: wifiPassword, timeout: wifiTimeout, // 设置单次连接超时为30秒 success: () => { // 检查是否已经有其他连接成功(防止重复处理) if (connectionAttemptFinished) { console.log("已有其他连接成功,忽略本次成功"); return; } console.log(`Wi-Fi连接API调用成功,开始等待设备响应`); connectionAttemptFinished = true; // 清除总超时定时器 if (this.connectTimeoutId) { clearTimeout(this.connectTimeoutId); this.connectTimeoutId = null; } // 保存设备信息 wx.setStorageSync(this.lastConnectedWifiNameKey, device.localName); // 启动心跳服务 const app = getApp(); app.startHeartbeatService(); this.setData({ statusText: "正在建立设备通信..." }); // 直接进入心跳验证 this.waitForDeviceResponse(); }, fail: (err) => { // 检查是否已经结束(防止重复处理) if (connectionAttemptFinished) { console.log("连接已结束,忽略本次失败"); return; } const elapsed = Date.now() - startTime; console.error(`Wi-Fi连接失败(第${retryCount}次,已用时${elapsed/1000}秒):`, err); // 根据失败时间和错误类型决定是否重试 const isInternalError = err.errCode === 12010; const retryDelay = isInternalError ? 3000 : (retryCount > 3 ? 2000 : 1000); if (elapsed < quickRetryWindow && retryCount < 5) { // 10秒内失败且重试次数少于5次 console.log(`【重试】第${retryCount}次失败,${retryDelay/1000}秒后重试`); setTimeout(() => { tryConnect(); }, retryDelay); // 根据错误类型和重试次数调整延迟 } else if (elapsed < manualRetryThreshold) { // 10秒后但在阈值内(Android 10秒,iOS 15秒),需要手动重连 console.log(`【需要手动】${elapsed/1000}秒后失败,需要手动重连`); connectionAttemptFinished = true; // 清除超时定时器 if (this.connectTimeoutId) { clearTimeout(this.connectTimeoutId); this.connectTimeoutId = null; } // 重置状态 this.setData({ isConnecting: false, isConnected: false, statusText: "连接失败" }); // 清除全局连接状态 const app = getApp(); app.globalData.isConnected = false; // 停止心跳服务 if (app.udp) { app.stopHeartbeatService(); } // 显示手动重连提示 this.promptManualConnection(wifiSsid, wifiPassword, '连接失败'); } // 如果超过阈值,等待30秒WiFi超时 } }); }; // 延迟1秒后开始第一次连接(给设备WiFi启动时间) setTimeout(() => { tryConnect(); }, 1000); },
11-28请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
map组件的callout在小程序安卓端无法显示,开发者工具显示正常?下面这个callout就是显示一个圆,里面有一些文字,但是在小程序安卓端看不到:<map id="areaMap" style="--mapTopOffset:{{mapTopOffset}}px" class="areaMap" circles="{{nearbyCircle}}" latitude="{{focusLat}}" longitude="{{focusLng}}" scale="{{mapScale}}" bindcallouttap="callouttap" bindmarkertap="callouttap" bindregionchange="mapRegionChange" markers="{{mapMarkers}}"> <wxs module="_"> module.exports.filter = function (arr, id) { return arr.filter(function (item) { return item.id === id; })[0]; } </wxs> <cover-view slot="callout"> <cover-view class="customCallout" marker-id="0">111111</cover-view> </cover-view> </map> 经过验证把marker的alpha设为1就可以,但是0的时候在开发者工具是正常显示的,为什么这个marker的alpha值在真机上会影响callout的显示?因为本来的目的就是要隐藏marker的,只需要显示callout?
11-28