Giter Club home page Giter Club logo

bedrock's Introduction

bedrock's People

Contributors

bladeofgod avatar sheepyang1993 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bedrock's Issues

ExceptionBinding是如何使ViewModel对内部api进行异常捕获和监听调用的?

看到这个功能的更新:ExceptionBinding,使viewModel可以对内部的所有api接口的异常捕获

目前我的view model实现了ExceptionBinding的notifyException方法以及监听者注册,但是看了框架代码之后,没发现在什么地方来调用注册的监听。麻烦能不能解释一下?谢谢了大佬!!

注:
1.只在exception_pitcher.dart中看到view model InitData()的异常状态捕获
2.未看到其他地方对非initData()的api异常监听回调使用

运行框架,引入的插件方法报错,另外挺多插件空安全警告,建议更新版本

/C:/Users/js03/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/dokit-0.8.0-nullsafety.0/lib/engine/dokit_binding.dart:128:12: Error: The method 'setMockMessageHandler' isn't defined for the class 'BinaryMessenger'.

  • 'BinaryMessenger' is from 'package:flutter/src/services/binary_messenger.dart' ('../../flutter/packages/flutter/lib/src/services/binary_messenger.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'setMockMessageHandler'.
    origin.setMockMessageHandler(channel, handler);
    ^^^^^^^^^^^^^^^^^^^^^
    /C:/Users/js03/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/dokit-0.8.0-nullsafety.0/lib/engine/dokit_binding.dart:138:52: Error: The argument type 'Future<ByteData?>? Function(ByteData?)?' can't be assigned to the parameter type 'Future<ByteData?>? Function(ByteData?)' because 'Future<ByteData?>? Function(ByteData?)?' is nullable and 'Future<ByteData?>? Function(ByteData?)' isn't.
  • 'Future' is from 'dart:async'.
  • 'ByteData' is from 'dart:typed_data'.
    return origin.checkMockMessageHandler(channel, handler);
    ^
    /C:/Users/js03/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/dokit-0.8.0-nullsafety.0/lib/engine/dokit_http.dart:77:27: Error: A value of type 'Future Function(Uri, String, String)?' can't be assigned to a variable of type 'Future Function(Uri, String, String?)?' because 'String?' is nullable and 'String' isn't.
  • 'Future' is from 'dart:async'.
  • 'Uri' is from 'dart:core'.
    origin.authenticate = f;
    ^
    /C:/Users/js03/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/dokit-0.8.0-nullsafety.0/lib/engine/dokit_http.dart:84:32: Error: A value of type 'Future Function(String, int, String, String)?' can't be assigned to a variable of type 'Future Function(String, int, String, String?)?' because 'String?' is nullable and 'String' isn't.
  • 'Future' is from 'dart:async'.
    origin.authenticateProxy = f;
    ^

拉取最新代码,插件更新到最新版本,运行报错

The plugins flutter_custom_dialog, launch_review, open_file, share use a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if these plugins support the Android V2 embedding. Otherwise, consider removing them since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:

  • package:pull_to_refresh

For solutions, see https://dart.dev/go/unsound-null-safety
../../../.pub-cache/hosted/pub.flutter-io.cn/dokit-0.8.0-nullsafety.0/lib/engine/dokit_binding.dart:128:12: Error: The method 'setMockMessageHandler' isn't defined for the class 'BinaryMessenger'.

  • 'BinaryMessenger' is from 'package:flutter/src/services/binary_messenger.dart' ('../../flutter/packages/flutter/lib/src/services/binary_messenger.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'setMockMessageHandler'.
    origin.setMockMessageHandler(channel, handler);
    ^^^^^^^^^^^^^^^^^^^^^
    ../../../.pub-cache/hosted/pub.flutter-io.cn/dokit-0.8.0-nullsafety.0/lib/engine/dokit_binding.dart:138:52: Error: The argument type 'Future<ByteData?>? Function(ByteData?)?' can't be assigned to the parameter type 'Future<ByteData?>? Function(ByteData?)' because 'Future<ByteData?>? Function(ByteData?)?' is nullable and 'Future<ByteData?>? Function(ByteData?)' isn't.

  • 'Future' is from 'dart:async'.

  • 'ByteData' is from 'dart:typed_data'.
    return origin.checkMockMessageHandler(channel, handler);
    ^
    ../../../.pub-cache/hosted/pub.flutter-io.cn/pull_to_refresh-1.6.5/lib/src/internals/indicator_wrap.dart:632:9: Error: A value of type 'ValueNotifier' can't be assigned to a variable of type 'ValueNotifier'.

  • 'ValueNotifier' is from 'package:flutter/src/foundation/change_notifier.dart' ('../../flutter/packages/flutter/lib/src/foundation/change_notifier.dart').
    ? refresher.controller.headerMode
    ^
    ../../../.pub-cache/hosted/pub.flutter-io.cn/dokit-0.8.0-nullsafety.0/lib/engine/dokit_http.dart:77:27: Error: A value of type 'Future Function(Uri, String, String)?' can't be assigned to a variable of type 'Future Function(Uri, String, String?)?' because 'String?' is nullable and 'String' isn't.

  • 'Future' is from 'dart:async'.

  • 'Uri' is from 'dart:core'.
    origin.authenticate = f;
    ^
    ../../../.pub-cache/hosted/pub.flutter-io.cn/dokit-0.8.0-nullsafety.0/lib/engine/dokit_http.dart:84:32: Error: A value of type 'Future Function(String, int, String, String)?' can't be assigned to a variable of type 'Future Function(String, int, String, String?)?' because 'String?' is nullable and 'String' isn't.

  • 'Future' is from 'dart:async'.
    origin.authenticateProxy = f;
    ^

      *********************************************************
    

WARNING: This version of share will break your Android build if it or its dependencies aren't compatible with AndroidX.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.
This warning prints for all Android build failures. The real root cause of the error may be unrelated.
*********************************************************

FAILURE: Build failed with an exception.

  • Where:
    Script '/Users/wanghong/Documents/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1005

  • What went wrong:
    Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command '/Users/wanghong/Documents/flutter/bin/flutter'' finished with non-zero exit value 1

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 15s
Exception: Gradle task assembleDebug failed with exit code 1

无法运行

项目无法启动
flutter Invalid Podfile file: no implicit conversion of nil into String
请问项目还需要怎么配置吗?网上的方案都试过了,始终无法运行。

用系统的BottomNavigationBar构建报错

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bedrock/base_framework/widget_state/base_state.dart';
import 'package:flutter_bedrock/base_framework/widget_state/page_state.dart';
import 'package:flutter_bedrock/page/demo_page/main/first_page.dart';
import 'package:flutter_bedrock/page/demo_page/main/second_page.dart';
import 'package:flutter_bedrock/page/demo_page/main/third_page.dart';
import 'package:oktoast/oktoast.dart';

import 'first_page.dart';
import 'second_page.dart';

typedef TransportScrollController = Function(ScrollController controller);

List itemList() {
return [
BottomNavigationBarItem(
title: Text("首页"),
// activeIcon: Image.asset(TKImages.tabbar_home_select, fit: BoxFit.contain),
// icon: Image.asset(TKImages.tabbar_home_unselect, fit: BoxFit.contain)
icon: Icon(Icons.home),
),
BottomNavigationBarItem(
title: Text("动态"),
// activeIcon: Image.asset(TKImages.tabbar_find_select, fit: BoxFit.contain),
// icon: Image.asset(TKImages.tabbar_find_unselect, fit: BoxFit.contain)
icon: Icon(Icons.insert_invitation),
),
BottomNavigationBarItem(
title: Container(),
// icon: Image.asset(TKImages.tabbar_add, fit: BoxFit.contain),
icon: Icon(
Icons.add_circle,
size: 44,
),
),
BottomNavigationBarItem(
title: Text("消息"),
// activeIcon: Image.asset(TKImages.tabbar_school_select, fit: BoxFit.contain),
// icon: Image.asset(TKImages.tabbar_school_unselect, fit: BoxFit.contain)
icon: Icon(Icons.chrome_reader_mode),
),
BottomNavigationBarItem(
title: Text("我的"),
// activeIcon: Image.asset(TKImages.tabbar_mine_select, fit: BoxFit.contain),
// icon: Image.asset(TKImages.tabbar_mine_unselect, fit: BoxFit.contain)
icon: Icon(Icons.person),
),
];
}

class MainPageState1 extends PageState {
final PageController pageController = PageController();
int selectIndex = 0;

ScrollController firstController;

DateTime lastPress;

jumpByIndex(int index) {
pageController.jumpToPage(index);
}

@OverRide
void initState() {
// TODO: implement initState
super.initState();
}

int _currentIndex = 0;

final List pageList = [
// FindPage(),
FirstPageState(null).generateWidget(),
SecondPageState().generateWidget(),
SecondPageState().generateWidget(),
SecondPageState().generateWidget(),
];

@OverRide
Widget build(BuildContext context) {
return switchStatusBar2Dark(
isSetDark: true,
child: Container(
color: Colors.white,
width: getWidthPx(750),
height: getHeightPx(1334),
child: Scaffold(
body: IndexedStack(
index: _currentIndex,
children: pageList,
),
bottomNavigationBar: BottomNavigationBar(
backgroundColor: Colors.red,
items: itemList(),
type: BottomNavigationBarType.fixed,
currentIndex: _currentIndex,
selectedFontSize: 10,
unselectedFontSize: 10,
selectedIconTheme: IconThemeData(
size: 24,
),
unselectedIconTheme: IconThemeData(size: 24),
onTap: (index) {
if (index == 2) {}
setState(() {
_currentIndex = index;
});
},
),
),
));
}

Widget normalIcon(IconData iconData) {
return Icon(
iconData,
color: Colors.grey,
);
}

Widget activeIcon(IconData iconData) {
return Icon(
iconData,
color: Colors.blue,
);
}

Widget buildBottomItem({
int index,
Icon icon,
Icon iconActive,
}) {
return GestureDetector(
onTap: () {
if (selectIndex != index) {
pageController.jumpToPage(index);
} else if (selectIndex == 0) {
firstController?.animateTo(0,
duration: Duration(microseconds: 500), curve: Curves.easeIn);
}
},
child: Container(
width: getWidthPx(80),
height: getWidthPx(80),
child: selectIndex == index ? iconActive : icon,
),
);
}
}

报错信息如下

════════ Exception caught by rendering library ═════════════════════════════════
Each child must be laid out exactly once.
The relevant error-causing widget was
Scaffold

demo运行不了

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.20.0-1.0.pre.57, on Microsoft Windows [Version 10.0.18363.900], locale zh-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.0 Preview 2.0)
[✓] Android Studio (version 4.0)
[✓] VS Code, 64-bit edition (version 1.46.0)
[✓] Connected device (2 available)

! Doctor found issues in 1 category.

dialog 的问题

在BaseState里面的show对话框,我看到是直接push一个页面,什么都好,就是没处理好返回键的时候,只要show之后按下返回键,就再也show不出来了

拉取最新代码无法运行?

请问最新版的代码,flutter版本、androidstudio版本、dart版本分别是多少啊。我这里运行不起来
我分别用了flutter2.8.1最新的,flutter2.0.0,flutter2.5.3.androidsutdio版本是最新的,都运行不起来。

1640767666(1)
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.