Flutter基础模型管理插件instrument_base_model的使用

Flutter基础模型管理插件instrument_base_model的使用

仪器信息网 flutter_base_model

在开发Flutter应用时,我们经常需要处理一些基础的功能,比如网络请求、日期处理、加密等。为了帮助开发者快速搭建项目并减少重复编码,我们创建了一个名为instrument_base_model的插件。该插件包含了多种常用的工具类和基础模型管理功能。

仪器信息网 flutter项目 base基础model

包含的基础功能 完善中…
  • 网络框架封装 dio + connectivity_plus
一些常用工具类
  • dataUtil:日期工具类
  • encryptUtil:MD5加密等工具类
  • logUtil:日志打印
  • moneyUtil:价格处理显示
  • numUtil:数字处理,小数处理等
  • regexUtil:常用正则表达式
  • toastUtil:吐司工具
  • streamUtil:局部状态管理

备注

  • 此库所包含内容不关联任何业务相关内容,仅作为flutter app 基础架构所需的通用内容,原则避免重复写代码造轮子,引入可快速搭建新的项目。

示例代码

示例代码:example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:instrument_base_model/base_manager.dart';
import 'package:instrument_base_model/https/dio_manager.dart';

import 'model/main_model.dart';
import 'pages/base_page/base_stateful_page.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends BaseStatefulPage {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  [@override](/user/override)
  BaseStatefulPageState<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends BaseStatefulPageState<MyHomePage>
    with MainModel {
  [@override](/user/override)
  void initData() {
    BaseManager.init(
        httpBaseUrl: "https://gateway.woyaoce.cn/app/",
        headerDelegate: (params) {
          // 自定义Header全局规则
          // DioManager.instance.header.addAll(params ?? {});
        });
  }

  [@override](/user/override)
  void initHttpData() {}

  [@override](/user/override)
  Widget buildPage(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("标题"),
      ),
      body: TextButton(
          onPressed: () {
            DioManager.instance.delHeader("kkk");
            loadHome(
                error: (e) {
                  setError(e);
                },
                success: (res) {});
          },
          child: const Text("HTTP请求")),
    );
  }
}

更多关于Flutter基础模型管理插件instrument_base_model的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter基础模型管理插件instrument_base_model的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


instrument_base_model 是一个用于 Flutter 的基础模型管理插件,旨在帮助开发者更轻松地管理和操作数据模型。以下是如何使用 instrument_base_model 插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 instrument_base_model 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  instrument_base_model: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 创建模型类

使用 instrument_base_model,你可以轻松地创建和管理数据模型。以下是一个简单的示例:

import 'package:instrument_base_model/instrument_base_model.dart';

class User extends BaseModel {
  String? id;
  String? name;
  int? age;

  User({this.id, this.name, this.age});

  @override
  Map<String, dynamic> toJson() {
    return {
      'id': id,
      'name': name,
      'age': age,
    };
  }

  @override
  User fromJson(Map<String, dynamic> json) {
    return User(
      id: json['id'],
      name: json['name'],
      age: json['age'],
    );
  }
}

3. 使用模型

你可以使用 User 类来创建、序列化和反序列化对象:

void main() {
  // 创建User对象
  User user = User(id: '1', name: 'John Doe', age: 30);

  // 将User对象转换为JSON
  Map<String, dynamic> userJson = user.toJson();
  print('User JSON: $userJson');

  // 从JSON创建User对象
  User newUser = User().fromJson(userJson);
  print('New User: ${newUser.name}');
}
回到顶部