Page 1 of 1
getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 10日 11:19
by silverlight
Tuya MiniApp Tools 版本信息:
Node: v18.20.1
Tools: 0.7.1
Ray: 1.5.20
@ray-js/ray, @ray-js/panel-sdk的版本
"@ray-js/panel-sdk": "1.10.0",
"@ray-js/ray": "1.5.29",
相关代码:
Code: Select all
const fetchWifiList = () => {
getWifiList({
success: (res) => {
console.log('获取到的 Wi-Fi 列表:', res);
},
fail: (err) => {
console.error('获取 Wi-Fi 列表失败:', err);
},
complete: () => {
console.log('获取 Wi-Fi 列表完成');
},
});
};
日志信息:
Code: Select all
获取 Wi-Fi 列表失败: {
"errorCode": 9004,
"errorMsg": "app no permission",
"innerError": "<Undefined>"}
预期结果:获取到手机附近的wifi列表
实际结果:获取不到,提示没有权限
问题一:我是要获取什么权限,才能查看wifi列表?
问题二:我已知获取权限是通过authorize 实现向用户提出授权请求
Re: getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 10日 16:55
by tdeveloper
Re: getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 10日 17:36
by Muzzzhi
需要提前申请定位权限
scope.userLocation
ty. authorize({
scope: "scope.userLocation"
})
Re: getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 11日 09:57
by silverlight
Muzzzhi 2024年 Oct 10日 17:36
需要提前申请定位权限
scope.userLocation
ty. authorize({
scope: "scope.userLocation"
})
Code: Select all
const fetchAuthorize = () => {
authorize({
scope: 'scope.userLocation',
complete: () => {
console.log('权限请求完成');
},
success: () => {
console.log('权限请求成功');
},
fail: (error) => {
console.log('权限请求失败', error);
}
});
};
const fetchWifiList = () => {
getWifiList({
success: (res) => {
console.log('获取到的 Wi-Fi 列表:', res);
},
fail: (err) => {
console.error('获取 Wi-Fi 列表失败:', err);
},
complete: () => {
console.log('获取 Wi-Fi 列表完成');
},
});
};
const fetchAuthorizeStatus = () =>{
authorizeStatus({
scope: 'scope.userLocation',
complete: () => {
console.log('权限状态查询完成');
},
success: () => {
console.log('权限已授权');
},
fail: (error) => {
console.log('权限未授权', error);
}
});
}
我获取了定位权限,也查询了该权限,显示授权已成功,但还是获取不到wifi列表,出现一样的报错
Re: getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 18日 10:18
by Muzzzhi
正常情 wifiList 数据会在 onGetWifiList 注册的回调中返回。 Android 调用前需要 用户授权 scope.userLocation。
Code: Select all
useEffect(() => {
onGetWifiList((res) => {
console.log('获取到的Wi-Fi列表:', res)
})
}, [])
const handleGetWifiList = () => {
authorize({
scope: 'scope.userLocation',
success: () => {
console.log('授权成功')
getWifiList({
success: () => console.log('获取WiFi列表成功'),
fail: console.error,
})
},
fail: console.error,
})
}
已经联系iOS开发,说明一下:
- 由于苹果管控,这个能力目前智能生活、涂鸦智能 iOS 均不可用,后续文档会标注清楚。
- 若OEM App想使用这个能力,需要登录苹果开发者账号向苹果申请权限。
Re: getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 18日 15:44
by silverlight
Muzzzhi 2024年 Oct 18日 10:18
正常情 wifiList 数据会在 onGetWifiList 注册的回调中返回。 Android 调用前需要 用户授权 scope.userLocation。
已经联系iOS开发,说明一下:
- 由于苹果管控,这个能力目前智能生活、涂鸦智能 iOS 均不可用,后续文档会标注清楚。
- 若OEM App想使用这个能力,需要登录苹果开发者账号向苹果申请权限。
好的,那么oem app申请获得该权限后,ios的面板小程序就可以获取到数据吗?
Re: getWifiList 报错没有权限无法正常获取数据
Posted: 2024年 Oct 28日 10:23
by Muzzzhi
silverlight 2024年 Oct 18日 15:44
Muzzzhi 2024年 Oct 18日 10:18
正常情 wifiList 数据会在 onGetWifiList 注册的回调中返回。 Android 调用前需要 用户授权 scope.userLocation。
已经联系iOS开发,说明一下:
- 由于苹果管控,这个能力目前智能生活、涂鸦智能 iOS 均不可用,后续文档会标注清楚。
- 若OEM App想使用这个能力,需要登录苹果开发者账号向苹果申请权限。
好的,那么oem app申请获得该权限后,ios的面板小程序就可以获取到数据吗?
向苹果申请成功权限之后,要走APP定制流程 https://developer.tuya.com/cn/docs/arch ... 9rti7sesm5 ,更新证书 和entitlement。