|
- import 'dart:async';
- import 'dart:convert' as convert;
-
- import 'package:zhiying_base_widget/pages/setting_page/models/setting_page_style_model.dart';
- import 'package:zhiying_comm/util/base_bloc.dart';
- import 'package:zhiying_comm/zhiying_comm.dart';
-
- class SettingPageBloc extends BlocBase {
- SettingPageStyleModel _style;
-
- StreamController<SettingPageStyleModel> _styleController =
- StreamController<SettingPageStyleModel>();
-
- Stream<SettingPageStyleModel> get outData => _styleController.stream;
-
- @override
- void dispose() {
- _styleController.close();
- _styleController = null;
- }
-
- void loadData(String skipIdentifier) async {
- NetUtil.request('/api/v1/mod/${skipIdentifier.toString()}',
- method: NetMethod.GET, onCache: (data) {
- _loadData(data);
- }, onSuccess: (data) {
- _loadData(data);
- });
- }
-
- void _loadData(dynamic data) {
- try {
- Map<String, dynamic> json = Map<String, dynamic>.from(data);
- if (json == null || json.length == 0) {
- return;
- }
- List mods = json['mod_list'];
- if (mods.first != null) {
- json = Map<String, dynamic>.from(mods.first);
- String d = json['data'];
- Map<String, dynamic> da =
- Map<String, dynamic>.from(convert.jsonDecode(d));
- _style = SettingPageStyleModel.fromJson(da);
- _styleController.add(_style);
- }
- } catch (err) {
- Logger.error(err);
- }
- }
- }
|