Flutter和鸿蒙如何实现网络请求 Flutter中如何通过pub add ali_auth增加阿里云授权
如何在Flutter中实现网络请求?另外,我想在Flutter项目中通过pub add ali_auth添加阿里云授权功能,具体应该如何操作?鸿蒙系统下的网络请求实现方式与Flutter有什么不同?
2 回复
Flutter使用http或dio库发起网络请求,鸿蒙通过@ohos.net.http模块实现。
添加阿里云授权:在pubspec.yaml中添加ali_auth依赖,运行flutter pub get,导入包后调用相关方法。
更多关于Flutter和鸿蒙如何实现网络请求 Flutter中如何通过pub add ali_auth增加阿里云授权的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
Flutter 网络请求实现
Flutter 使用 http 或 dio 库进行网络请求(推荐 dio,功能更丰富)。步骤如下:
-
添加依赖(在
pubspec.yaml中):dependencies: dio: ^5.0.0 -
发起 GET 请求示例:
import 'package:dio/dio.dart'; void fetchData() async { try { var response = await Dio().get('https://api.example.com/data'); print(response.data); } catch (e) { print('请求失败: $e'); } }
鸿蒙(HarmonyOS)网络请求实现
鸿蒙使用 @ohos.net.http 模块:
import http from '@ohos.net.http';
// 创建 HTTP 请求
let httpRequest = http.createHttp();
// 发起请求
httpRequest.request(
"https://api.example.com/data",
{
method: http.RequestMethod.GET,
readTimeout: 5000,
connectTimeout: 5000
},
(err, data) => {
if (!err) {
console.log('响应结果: ' + data.result);
} else {
console.error('请求失败: ' + JSON.stringify(err));
}
}
);
Flutter 添加阿里云授权(ali_auth)
-
执行命令添加依赖:
flutter pub add ali_auth这会在
pubspec.yaml中自动添加:dependencies: ali_auth: ^最新版本号 -
配置权限(Android):
- 在
android/app/src/main/AndroidManifest.xml中添加:<uses-permission android:name="android.permission.INTERNET" /> <!-- 根据阿里云文档补充其他权限 -->
- 在
-
基本使用:
import 'package:ali_auth/ali_auth.dart'; void initAuth() { // 初始化SDK(参数需从阿里云控制台获取) AliAuth.init( authSecret: '您的SDK密钥', ); } void login() async { try { var result = await AliAuth.auth(); print('登录结果: ${result.toMap()}'); } catch (e) { print('授权失败: $e'); } }
注意:
- 鸿蒙和 Flutter 的网络请求均需在真机测试,并确保网络权限已开启。
ali_auth的具体参数需参考 阿里云官方文档,不同版本配置可能略有差异。

