Initial commit

This commit is contained in:
wgh19
2024-05-13 09:36:23 +08:00
commit b095643cbc
160 changed files with 9956 additions and 0 deletions

39
lib/network/res.dart Normal file
View File

@@ -0,0 +1,39 @@
import 'package:flutter/cupertino.dart';
@immutable
class Res<T>{
///error info
final String? errorMessage;
String get errorMessageWithoutNull => errorMessage??"Unknown Error";
/// data
final T? _data;
/// is there an error
bool get error => errorMessage!=null || _data==null;
/// whether succeed
bool get success => !error;
/// data
///
/// must be called when no error happened, or it will throw error
T get data => _data ?? (throw Exception(errorMessage));
/// get data, or null if there is an error
T? get dataOrNull => _data;
final dynamic subData;
@override
String toString() => _data.toString();
Res.fromErrorRes(Res another, {this.subData}):
_data=null,errorMessage=another.errorMessageWithoutNull;
/// network result
const Res(this._data,{this.errorMessage, this.subData});
Res.error(dynamic e):errorMessage=e.toString(), _data=null, subData=null;
}