# ttcomment **Repository Path**: shaxiao/ttcomment ## Basic Information - **Project Name**: ttcomment - **Description**: flutter dart 工具库 - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-06-02 - **Last Updated**: 2024-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 更新 ``` 由于之前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 ```dart dependencies: ttcomment: ^latest_version ``` ### snapshot ```dart dependencies: ttcomment: git: url: https://gitee.com/tengteng_fan/ttcomment.git ``` ## 使用 ```dart import 'package:ttcomment/ttcomment.dart'; ``` ### comment_state.dart(界面规范接口类)使用事例 ```dart import 'package:flutter/material.dart'; import 'package:ttcomment/ttcomment.dart'; abstract class NormalState extends State 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? info) {} /// 创建视图 /// /// /// 触发方法 /// /// @override Map? configNetWorkParmas() { return null; } /// 界面进入 void initDefaultState() {} /// 界面销毁 void initDefaultDispose() {} /// 通用刷新state void configsetState(VoidCallback fn) { if (mounted) { setState(() { fn(); }); } } } ``` #### vscode 生成State 的代码块,方便开发 ```dart "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 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() {}", "}", "" ] },