From e9b09cdc8ca9244576083c001ba589c8556e3e02 Mon Sep 17 00:00:00 2001 From: toly <1981462002@qq.com> Date: Mon, 20 Apr 2020 21:16:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/blocs/collect/collect_bloc.dart | 2 +- lib/blocs/detail/detail_bloc.dart | 2 +- lib/blocs/search/search_bloc.dart | 2 +- lib/blocs/widgets/home_bloc.dart | 2 +- lib/main.dart | 4 +-- .../widget_db_repository.dart | 7 +++++- .../widget_repository.dart | 1 + lib/storage/dao/widget_dao.dart | 12 +++++++++ .../pages/detail/widget_detail_page.dart | 25 ------------------- 9 files changed, 25 insertions(+), 32 deletions(-) rename lib/{repositorys => repositories}/widget_db_repository.dart (93%) rename lib/{repositorys => repositories}/widget_repository.dart (95%) diff --git a/lib/blocs/collect/collect_bloc.dart b/lib/blocs/collect/collect_bloc.dart index 6fe9ac4..0ee29c5 100644 --- a/lib/blocs/collect/collect_bloc.dart +++ b/lib/blocs/collect/collect_bloc.dart @@ -2,7 +2,7 @@ import 'package:equatable/equatable.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/storage/dao/widget_dao.dart'; -import 'package:flutter_unit/repositorys/widget_repository.dart'; +import 'package:flutter_unit/repositories/widget_repository.dart'; import 'collect_event.dart'; import 'collect_state.dart'; diff --git a/lib/blocs/detail/detail_bloc.dart b/lib/blocs/detail/detail_bloc.dart index 2a5185b..dd13a0f 100644 --- a/lib/blocs/detail/detail_bloc.dart +++ b/lib/blocs/detail/detail_bloc.dart @@ -1,7 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/model/widget_model.dart'; -import 'package:flutter_unit/repositorys/widget_repository.dart'; +import 'package:flutter_unit/repositories/widget_repository.dart'; import 'detail_event.dart'; import 'detail_state.dart'; diff --git a/lib/blocs/search/search_bloc.dart b/lib/blocs/search/search_bloc.dart index f57f45f..d9b856b 100644 --- a/lib/blocs/search/search_bloc.dart +++ b/lib/blocs/search/search_bloc.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:flutter_unit/repositorys/widget_repository.dart'; +import 'package:flutter_unit/repositories/widget_repository.dart'; import 'search_event.dart'; import 'search_state.dart'; diff --git a/lib/blocs/widgets/home_bloc.dart b/lib/blocs/widgets/home_bloc.dart index 9e8f451..78372f3 100644 --- a/lib/blocs/widgets/home_bloc.dart +++ b/lib/blocs/widgets/home_bloc.dart @@ -5,7 +5,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/enums.dart'; import 'package:flutter_unit/app/res/cons.dart'; -import 'package:flutter_unit/repositorys/widget_repository.dart'; +import 'package:flutter_unit/repositories/widget_repository.dart'; import 'home_event.dart'; import 'home_state.dart'; diff --git a/lib/main.dart b/lib/main.dart index 4da6564..5fecff6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_unit/app/enums.dart'; import 'package:flutter_unit/blocs/collect/collect_event.dart'; import 'package:flutter_unit/blocs/search/search_bloc.dart'; -import 'package:flutter_unit/repositorys/widget_db_repository.dart'; +import 'package:flutter_unit/repositories/widget_db_repository.dart'; import 'package:flutter_unit/storage/app_storage.dart'; import 'package:flutter_unit/views/pages/splash/unit_splash.dart'; @@ -17,7 +17,7 @@ import 'blocs/widgets/home_bloc.dart'; import 'blocs/widgets/home_event.dart'; import 'app/router.dart'; -import 'tools/widget_me_repository.dart'; +//import 'tools/widget_me_repository.dart'; void main() async { // await Initial.init(); diff --git a/lib/repositorys/widget_db_repository.dart b/lib/repositories/widget_db_repository.dart similarity index 93% rename from lib/repositorys/widget_db_repository.dart rename to lib/repositories/widget_db_repository.dart index 3e45f3f..49627eb 100644 --- a/lib/repositorys/widget_db_repository.dart +++ b/lib/repositories/widget_db_repository.dart @@ -8,7 +8,7 @@ import 'package:flutter_unit/storage/po/widget_po.dart'; import 'package:flutter_unit/storage/dao/widget_dao.dart'; import 'package:flutter_unit/model/node_model.dart'; import 'package:flutter_unit/model/widget_model.dart'; -import 'package:flutter_unit/repositorys/widget_repository.dart'; +import 'package:flutter_unit/repositories/widget_repository.dart'; /// create by 张风捷特烈 on 2020-03-03 /// contact me by email 1981462002@qq.com @@ -78,4 +78,9 @@ class WidgetDbRepository implements WidgetRepository { print(collects); return null; } + + @override + Future collected(int id) async{ + return await _widgetDao.collected(id); + } } diff --git a/lib/repositorys/widget_repository.dart b/lib/repositories/widget_repository.dart similarity index 95% rename from lib/repositorys/widget_repository.dart rename to lib/repositories/widget_repository.dart index 3b19117..89a37f8 100644 --- a/lib/repositorys/widget_repository.dart +++ b/lib/repositories/widget_repository.dart @@ -22,6 +22,7 @@ abstract class WidgetRepository { Future toggleCollect(int id); Future> loadCollectWidgets(); + Future collected(int id); Future> loadCollects(); diff --git a/lib/storage/dao/widget_dao.dart b/lib/storage/dao/widget_dao.dart index 489013c..080998b 100644 --- a/lib/storage/dao/widget_dao.dart +++ b/lib/storage/dao/widget_dao.dart @@ -78,6 +78,18 @@ class WidgetDao { return await db.rawQuery("SELECT * " "FROM widget WHERE collected = 1 ORDER BY family,lever DESC"); } + + Future collected(int id) async { + final db = await storage.db; + var data = await db.rawQuery("SELECT collected " + "FROM widget WHERE id = ?"); + + if(data.length>0){ + return data[0]['collected'] == 1; + } + return false; + } + } class SearchArgs { diff --git a/lib/views/pages/detail/widget_detail_page.dart b/lib/views/pages/detail/widget_detail_page.dart index eb674fe..77edac6 100644 --- a/lib/views/pages/detail/widget_detail_page.dart +++ b/lib/views/pages/detail/widget_detail_page.dart @@ -221,31 +221,6 @@ class WidgetDetailTitle extends StatelessWidget { )); } - Widget buildCollectButton(WidgetModel model, BuildContext context) { - //监听 CollectBloc 伺机弹出toast - return BlocListener( - listener: (ctx, st) { - bool collected = st.widgets.contains(model); - Toast.toast(ctx, - collected ? "收藏【${model.name}】组件成功!" : "已取消【${model.name}】组件收藏!"); - }, - child: FeedbackWidget( - onPressed: () => BlocProvider.of(context) - .add(ToggleCollectEvent(id: model.id)), - child: BlocBuilder(builder: (_, s) { - return Padding( - padding: const EdgeInsets.only(right: 20.0), - child: Icon( - s.widgets.contains(model) - ? TolyIcon.icon_star_ok - : TolyIcon.icon_star_add, - size: 25, - ), - ); - }), - )); - } - final List colors = Cons.tabColors; Widget _buildLeft(WidgetModel model) => Expanded(