ttcomment 0.0.6 copy "ttcomment: ^0.0.6" to clipboard
ttcomment: ^0.0.6 copied to clipboard

项目开发通用工具

更新 #

	由于之前flutter_screenutil库的安全区域计算问题,把flutter_screenutil版本写死,现在最新版本解决了此问题,
	故 flutter_screenutil: ^5.5.3+2,改成跟随版本.
	删除 flutter_screenutil: 5.4.1+1
	对外公开第三方库,方便使用者调用,减少相同库重复引入

目录 #

.
├── comment_config(通用配置项)
│   ├── comment_colors.dart(颜色)
│   ├── commentconfigindex.dart
│   ├── stringMacro.dart(字符串)
│   └── themeconfig(主题)
│       ├── normal_no_splash_factory.dart(取消InkWell点击动画)
│       ├── themeconfig.dart(夜间颜色模式一个事例)
│       └── ttpublictheme.dart(夜间模式主题事例)
├── comment_http(项目中使用的网络请求)
│   ├── app_dio.dart
│   ├── default_http_transformer.dart(通用数据解析器)
│   ├── http_client.dart
│   ├── http_config.dart
│   ├── http_exceptions.dart
│   ├── http_parse.dart
│   ├── http_response.dart
│   ├── http_transformer.dart
│   └── httpindex.dart
├── comment_tools(通用工具)
│   ├── comment_tools.dart
│   └── normal_image_tool.dart
├── comment_widget(通用widget)
│   ├── comment_appbar_generator.dart(通用导航栏)
│   ├── comment_base_page.dart(占位页)
│   ├── comment_button_widget.dart(通用按钮)
│   ├── comment_pop_dia_log_widget.dart(通用pop 弹框)
│   ├── comment_state.dart(界面规范接口类)
│   ├── comment_text_style.dart(通用字体)
│   ├── comment_widagets.dart(通用 widget)
│   └── comment_widget_index.dart
├── page_state.dart(界面状态)
├── popRouter.dart(pop 路由动画)
└── ttcomment.dart

导入 #

flutter #

dependencies:
    ttcomment: ^latest_version

snapshot #

dependencies:
    ttcomment:
      git:
        url: https://gitee.com/tengteng_fan/ttcomment.git

使用 #

import 'package:ttcomment/ttcomment.dart';

comment_state.dart(界面规范接口类)使用事例 #

import 'package:flutter/material.dart';
import 'package:ttcomment/ttcomment.dart';
abstract class NormalState<T extends StatefulWidget> extends State<T>
    with AbstractNetWork, AbstractWidget, AbstractAttribute {
  /// 生命周期
  ///
  ///

  /// 界面初始化完成
  @override
  void initState() {
    initDefaultState();
    super.initState();
  }

  /// 界面构建视图入口
  @override
  Widget build(BuildContext context) {
    return createScaffol(
      context: context,
      safeAreatop: safeAreatop,
      safeAreabottm: safeAreabottm,
      pageState: pageState,
      resizeToAvoidBottomInset: resizeToAvoidBottomInset,
      title: title,
      backgroundColor: backgroundColor,
      navbackcolor: navbackcolor,
    );
  }

  @override
  void dispose() {
    initDefaultDispose();
    super.dispose();
  }

  @override
  Widget createColumWidget(BuildContext context) {
    return Container(
      alignment: Alignment.center,
      child: LayoutBuilder(
        builder: (context, constraints) {
          return  createonlyColumWidget(context));
        },
      ),
    );
  }

  /// 
  Widget createonlyColumWidget(BuildContext context) {
    return Column(
      children: [
        createHeaderWidget(),
        Expanded(
          child: createBody(context),
        ),
      ],
    );
  }

  /// 网络请求
  ///
  ///

  @override
  void getnetworkdata(int? type, Map<String, dynamic>? info) {}

  /// 创建视图
  ///
  ///

  /// 触发方法
  ///
  ///
  @override
  Map<String, dynamic>? configNetWorkParmas() {
    return null;
  }

  /// 界面进入
  void initDefaultState() {}

  /// 界面销毁
  void initDefaultDispose() {}

  /// 通用刷新state
  void configsetState(VoidCallback fn) {
    if (mounted) {
      setState(() {
        fn();
      });
    }
  }
}

vscode 生成State 的代码块,方便开发

"TTState": {
		"prefix": "ttstate",
		"body": [
			"import 'package:flutter/material.dart';",
			"import 'package:ttcomment/ttcomment.dart';",
			"import 'package:flutter_screenutil/flutter_screenutil.dart';",
			"",
			"",
			"",
			"class $1Page extends TTNormalStatefulWidget {",
			"\tconst $1Page({Key? key}) : super(key: key);",
			"",
			"\t@override",
			"\tTTNormalState<TTNormalStatefulWidget> getState() {",
			"\t\treturn _$1PageState();",
			"\t}",
			"}",
			"",
			"",
			"",
			"class _$1PageState extends TTNormalState<$1Page> {",
			"",
			"",
			"\t/// 属性",
			"\t///",
			"\t///",
			"",
			"",
			"\t@override",
			"\tString? get title => '$1';",
			"",
			"",
			"\t/// 生命周期",
			"\t///",
			"\t///",
			"",
			"",
			"\t/// 界面初始化",
			"\t@override",
			"\tvoid initDefaultState() {",
			"\t\tsuper.initDefaultState();",
			"\t}",
			"",
			"",
			"\t/// 界面销毁",
			"\t@override",
			"\tvoid initDefaultDispose() {",
			"\t\tsuper.initDefaultDispose();",
			"\t}",
			"",
			"",
			"\t/// 网路请求",
			"\t///",
			"\t///",
			"",
			"",
			"\t/// 构建视图",
			"\t///",
			"\t///",
			"",
			"",
			"\t@override",
			"\tWidget createBody(BuildContext context) {",
			"\t\treturn Container(",
			"\t\t\talignment: Alignment.center,",
			"\t\t\tdecoration: const BoxDecoration(",
			"\t\t\t\tcolor: Colors.white",
			"\t\t\t),",
			"\t\t\tchild: const Text('$1'),",
			"\t\t);",
			"\t}",
			"",
			"",
			"\t/// 触发方法",
			"\t///",
			"\t///",
			"",
			"",
			"\t/// 配置默认数据",
			"\t@override",
			"\tvoid configNormalData() {}",
			"}",
			""
		]
	},
0
likes
90
pub points
2%
popularity

Publisher

unverified uploader

项目开发通用工具

Homepage

Documentation

API reference

License

BSD-3-Clause (LICENSE)

Dependencies

dio, flutter, flutter_screenutil

More

Packages that depend on ttcomment