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 使用 httpdio 库进行网络请求(推荐 dio,功能更丰富)。步骤如下:

  1. 添加依赖(在 pubspec.yaml 中):

    dependencies:
      dio: ^5.0.0
    
  2. 发起 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)

  1. 执行命令添加依赖

    flutter pub add ali_auth
    

    这会在 pubspec.yaml 中自动添加:

    dependencies:
      ali_auth: ^最新版本号
    
  2. 配置权限(Android)

    • android/app/src/main/AndroidManifest.xml 中添加:
      <uses-permission android:name="android.permission.INTERNET" />
      <!-- 根据阿里云文档补充其他权限 -->
      
  3. 基本使用

    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 的具体参数需参考 阿里云官方文档,不同版本配置可能略有差异。
回到顶部