work 0.5.9 copy "work: ^0.5.9" to clipboard
work: ^0.5.9 copied to clipboard

outdated

Encapsulate http business interface protocol, provide limited extension functions, isolate the underlying implementation method of http (currently based on dio).

example/lib/main.dart

import 'package:work/work.dart';

void main() async {
  final data = await TestWork().start(['xxx']);

  if (data.success) {
    print(data.result);
  } else {
    print(data.message);
    print(data.errorCode);
  }

  final download = await DownloadWork().start([
    'file:/xxx/test.jpg',
    'key',
    123,
  ]);

  if (download.success) {
    // show('file:/xxx/test.jpg')
  }
}

class TestWork extends SimpleWork<String> {
  @override
  String onExtractResult(resultData, data) => resultData['account'];

  @override
  String onUrl(List params) => 'https://api.example.com/test';

  @override
  void onFillParams(Map<String, dynamic> data, List params) {
    data['param1'] = params[0];
  }

  @override
  String onNetworkError(data) => '网络连接失败,当前网络不可用';

  @override
  String onNetworkRequestFailed(data) => '请求失败,服务器异常';

  @override
  String onParseFailed(data) => '请求失败,服务器异常';

  @override
  String onRequestFailedMessage(data) => data.response.data['message'] ?? '操作失败';

  @override
  String onRequestSuccessMessage(data) => data.response.data['message'] ?? '';
}

class DownloadWork extends SimpleDownloadWork {
  @override
  void onFillParams(Map<String, dynamic> data, List params) {
    data['key'] = params[1];
    data['resNo'] = params[2];
  }

  @override
  String onDownloadPath(List params) => params[0];

  @override
  String onUrl(List params) => 'https://api.example.com/test.jpg';
}
1
likes
0
pub points
23%
popularity

Publisher

unverified uploader

Encapsulate http business interface protocol, provide limited extension functions, isolate the underlying implementation method of http (currently based on dio).

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

dio, flutter, http_parser, meta, mime, path

More

Packages that depend on work