首先,有很多的文章在说flutter bloc模式的应用,但是百分之八九十的文章都是在说,使用StreamController+StreamBuilder搭建bloc,提升性能的会加上InheritedWidget,这些文章看了很多,真正写使用bloc作者开发的flutter_bloc却少之又少。没办法,只能去bloc的github上去找使用方式,最后去bloc官网翻文档。

蛋痛,各位叼毛,就不能好好说说flutter_bloc的使用吗?非要各种抄bloc模式提出作者的那俩篇文章。现在,搞的杂家这个伸手党要自己去翻文档总结(手动滑稽)。

表情1

项目效果(建议PC浏览器打开)

Bloc范例效果

Cubit范例效果

下面是Flutter_Bloc历程的一系列链接

Flutter_Bloc起源

Flutter_Bloc模式优化

Flutter_Bloc诞生

Flutter_Bloc官网文档

前面三个,是bloc作者写的bloc模式文档,典型的观察者模式的应用,最原始的就是java中CallBack形式。前俩篇文章就是咱们这些大抄子的主要“参考”的资料来源,这三篇文章在掘金上有翻译版,搜下bloc就能找到。最后一篇文章就是我主要总结归纳的源泉,作者在官网上写了好几个demo:计时器,登录,Todos,天气等等,大家可以自己去看看。

问题
初次使用flutter_bloc框架,可能会有几个疑问

state里面定义了太多变量,某个事件只需要更新其中一个变量,其它的变量赋相同值麻烦
进入某个模块,进行初始化操作:复杂的逻辑运算,网络请求等,入口在哪定义
效果
好了,哔哔了一堆,看下咱们要用flutter_bloc实现的效果。
bloc演示

直接开Chrome演示,大家在虚拟机上跑也一样。
引用
先说明下,bloc给的api很多,不同的api针对与解决场景不同,我要是把官网那些api全抄过也没啥意义;不,也有可能可以装币,我要是不说明,大家说不定以为是我自己总结的呢!哈哈。

OK,大家要是想知道全场景的使用,可以去官网翻翻文档,我觉得学习一个模式或者框架的时候,最主要的是把主流程跑通,起码可以符合标准的堆页面,这样的话,就可以把这玩意用起来,再遇到想要的什么细节,就可以自己去翻文档,毕竟大体上已经懂了,写过了几个页面,也有些体会,再去翻文档就很快能理解了。


flutter_bloc: ^6.0.6 #状态管理框架
equatable: ^1.2.3 #增强组件相等性判断
看看flutter_bloc都推到6.0了,别再用StreamController手搭Bloc了!
插件
在Android Studio设置的Plugins里,搜索:Bloc

插件搜索

安装重启下,就OK了

右击相应的文件夹,选择“Bloc Class”,我在main文件夹新建的,填入的名字:main,就自动生成下面三个文件;:main_bloc,main_event,main_state;main_view是我自己新建,用来写页面的。
新建bloc文件

目录结构新建bloc文件

是不是觉得,还在手动新建这些bloc文件low爆了;就好像fish_redux,不用插件,让我手动去创建那六个文件,写那些模板代码,真的要原地爆炸。
Bloc范例
初始化代码
来看下这三个生成的bloc文件:main_bloc,main_event,main_state

main_bloc:这里就是咱们主要写逻辑的页面了
mapEventToState方法只有一个参数,后面自动带了一个逗号,格式化代码就分三行了,建议删掉逗号,格式化代码。
class MainBloc extends Bloc<MainEvent, MainState> {
MainBloc() : super(MainInitial());

@override
Stream mapEventToState(
MainEvent event,
) async* {
// TODO: implement mapEventToState
}
}
main_event:这里是执行的各类事件,有点类似fish_redux的action层
@immutable
abstract class MainEvent {}
main_state:状态数据放在这里保存,中转
@immutable
abstract class MainState {}

class MainInitial extends MainState {}
实现
说明
这里对于简单的页面,state的使用抽象状态继承实现的方式,未免有点麻烦,这里我进行一点小改动,state的实现类别有很多,官网写demo也有不用抽象类,直接class,类似实体类的方式开搞的。
老夫在代码关键点写上"///"类型注释,大家仔细看看,拷进Android Studio里面,这些地方会变绿!大家好好体会下绿色代码!
main_bloc
state变量是框架内部定义的,会默认保存上一次同步的MainSate对象的值
class MainBloc extends Bloc<MainEvent, MainState> {
MainBloc() : super(MainState(selectedIndex: 0, isExtended: false));

@override
Stream mapEventToState(MainEvent event) async* {
///main_view中添加的事件,会在此处回调,此处处理完数据,将数据yield,BlocBuilder就会刷新组件
if (event is SwitchTabEvent) {
///获取到event事件传递过来的值,咱们拿到这值塞进MainState中
///直接在state上改变内部的值,然后yield,只能触发一次BlocBuilder,它内部会比较上次MainState对象,如果相同,就不build
yield MainState()
…selectedIndex = event.selectedIndex
…isExtended = state.isExtended;
} else if (event is IsExtendEvent) {
yield MainState()
…selectedIndex = state.selectedIndex
…isExtended = !state.isExtended;
}
}
}
main_event:在这里就能看见,view触发了那些事件了;维护起来也很爽,看看这里,也很快能懂页面在干嘛了
@immutable
abstract class MainEvent extends Equatable{
const MainEvent();
}
///切换NavigationRail的tab
class SwitchTabEvent extends MainEvent{
final int selectedIndex;

const SwitchTabEvent({@required this.selectedIndex});

@override
List get props => [selectedIndex];
}
///展开NavigationRail,这个逻辑比较简单,就不用传参数了
class IsExtendEvent extends MainEvent{
const IsExtendEvent();

@override
List get props => [];
}
main_state:state有很多种写法,在bloc官方文档上,不同项目state的写法也很多
这边变量名可以设置为私用,用get和set可选择性的设置读写权限,因为我这边设置的俩个变量全是必用的,读写均要,就设置公有类型,不用下划线“_”去标记私有了。
class MainState{
int selectedIndex;
bool isExtended;

MainState({this.selectedIndex, this.isExtended});
}
对于生成的模板代码,我们在这:去掉@immutable注解,去掉abstract;
这里说下加上@immutable和abstract的作用,这边是为了标定不同状态,拿很典型的列表数据加载说明,列表加载的时候一般有三种状态
获取数据前,列表的布局展示空样式:LoadingBeforeState
获取数据失败,显示出加载失败的布局,或提升重新加载的样式提升:LoadingFailureState
获取数据成功,显示出列表数据:LoadingSuccessState
针对上面三种状态,需要展示不同的布局,这样我们就可以继承抽象的状态类:LoadingState,针对不同状态实现上面三种不同的状态类,不同的状态可以定义不同的参数,然后在view中去判断调用
这种实现不同状态,对不同状态进行管理,有点设计模式中-状态模式的味道
下面代码是对上述描述的一种代码展示,可以瞧瞧;跑demo的时候,这下面的代码就不用抄了,仅做演示
@immutable
abstract class LoadingState extends Equatable {}
class LoadingInitial extends LoadingState {
@override
List get props => [];
}
class LoadingBeforeSate extends LoadingState{
///实现相应的字段信息
@override
List get props => [];
}
class LoadingFailureState extends LoadingState{
///实现相应的字段信息
@override
List get props => [];
}
class LoadingSuccessState extends LoadingState{
///实现相应的字段信息
@override
List get props => [];
}

///在View中使用,伪代码
BlocBuilder<MainBloc, MainState>(builder: (context, state) {
if(state is LoadingBeforeSate){
return Beforewidget(state.XX,…);
} else if(state is LoadingFailureState){
return FailureWidget(state.XX,state.XX,…);
} else if(state is LoadingSuccessState){
return SuccessWidget(state.XX);
} else {
return ErrorWidget(…);
}
})
main_view
这边就是咱们的界面层了,很简单,将需要刷新的组件,用BlocBuilder包裹起来,使用BlocBuilder:提供的state去赋值就ok了,context去添加执行的事件,context用StatelessWidget中提供的或者BlocBuilder提供的都行
void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MainPage(),
);
}
}

class MainPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
///创建BlocProvider的,表明该Page,我们是用MainBloc,MainBloc是属于该页面的Bloc了
return BlocProvider(
create: (BuildContext context) => MainBloc(),
child: BodyPage(),
);
}
}

class BodyPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(‘Bloc’)),
body: totalPage(),
);
}
}

Widget totalPage() {
return Row(
children: [
navigationRailSide(),
Expanded(child: Center(
child: BlocBuilder<MainBloc, MainState>(builder: (context, state) {
///看这看这:刷新组件!
return Text(“selectedIndex:” + state.selectedIndex.toString());
}),
))
],
);
}

//增加NavigationRail组件为侧边栏
Widget navigationRailSide() {
//顶部widget
Widget topWidget = Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
width: 80,
height: 80,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: NetworkImage(“https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3383029432,2292503864&fm=26&gp=0.jpg”),
fit: BoxFit.fill),
)),
),
);

//底部widget
Widget bottomWidget = Container(
child: BlocBuilder<MainBloc, MainState>(
builder: (context, state) {
return FloatingActionButton(
onPressed: () {
///添加NavigationRail展开,收缩事件
context.bloc().add(IsExtendEvent());
},
///看这看这:刷新组件!
child: Icon(state.isExtended ? Icons.send : Icons.navigation),
);
},
),
);

return BlocBuilder<MainBloc, MainState>(builder: (context, state) {
return NavigationRail(
backgroundColor: Colors.white12,
elevation: 3,
///看这看这:刷新组件!
extended: state.isExtended,
labelType: state.isExtended ? NavigationRailLabelType.none : NavigationRailLabelType.selected,
//侧边栏中的item
destinations: [
NavigationRailDestination(
icon: Icon(Icons.add_to_queue),
selectedIcon: Icon(Icons.add_to_photos),
label: Text(“测试一”)),
NavigationRailDestination(
icon: Icon(Icons.add_circle_outline),
selectedIcon: Icon(Icons.add_circle),
label: Text(“测试二”)),
NavigationRailDestination(
icon: Icon(Icons.bubble_chart),
selectedIcon: Icon(Icons.broken_image),
label: Text(“测试三”)),
],
//顶部widget
leading: topWidget,
//底部widget
trailing: bottomWidget,
selectedIndex: state.selectedIndex,
onDestinationSelected: (int index) {
///添加切换tab事件
context.bloc().add(SwitchTabEvent(selectedIndex: index));
},
);
});
}
Bloc范例优化
反思
从上面的代码来看,实际存在几个隐式问题,这些问题,刚开始使用时候,没异常的感觉,但是使用bloc久了后,感觉肯定越来越强烈

state问题
初始化问题:这边初始化是在bloc里,直接在构造方法里面赋初值的,state中一旦变量多了,还是这么写,会感觉极其难受,不好管理。需要优化
可以看见这边我们只改动selectedIndex或者isExtended;另一个变量不需要变动,需要保持上一次的数据,进行了此类:state.selectedIndex或者state.isExtended赋值,一旦变量达到十几个乃至几十个,还是如此写,是让人极其崩溃的。需要优化
bloc问题
如果进行一个页面,需要进行复杂的运算或者请求接口后,才能知晓数据,进行赋值,这里肯定需要一个初始化入口,初始化入口需要怎样去定义呢?
优化实现
这边完整走一下流程,让大家能有个完整的思路

state:首先来看看我们对state中的优化,这边进行了俩个很重要优化,增加俩个方法:init()和clone()
init():这里初始化统一用init()方法去管理
clone():这边克隆方法,是非常重要的,一旦变量达到俩位数以上,就能深刻体会该方法是多么的重要
class MainState {
int selectedIndex;
bool isExtended;

///初始化方法,基础变量也需要赋初值,不然会报空异常
MainState init() {
return MainState()
…selectedIndex = 0
…isExtended = false;
}

///clone方法,此方法实现参考fish_redux的clone方法
///也是对官方Flutter Login Tutorial这个demo中copyWith方法的一个优化
///Flutter Login Tutorial(https://bloclibrary.dev/#/flutterlogintutorial)
MainState clone() {
return MainState()
…selectedIndex = selectedIndex
…isExtended = isExtended;
}
}
event
这边定义一个MainInit()初始化方法,同时去掉Equatable继承,在我目前的使用中,感觉它用处不大。。。
@immutable
abstract class MainEvent {}

///初始化事件,这边目前不需要传什么值
class MainInitEvent extends MainEvent {}

///切换NavigationRail的tab
class SwitchTabEvent extends MainEvent {
final int selectedIndex;

SwitchTabEvent({@required this.selectedIndex});
}

///展开NavigationRail,这个逻辑比较简单,就不用传参数了
class IsExtendEvent extends MainEvent {}
bloc
这增加了初始化方法,请注意,如果需要进行异步请求,同时需要将相关逻辑提炼一个方法,咱们在这里配套Future和await就能解决在异步场景下同步数据问题
这里使用了克隆方法,可以发现,我们只要关注自己需要改变的变量就行了,其它的变量都在内部赋值好了,我们不需要去关注;这就大大的便捷了页面中有很多变量,只需要变动一俩个变量的场景
注意:如果变量的数据未改变,界面相关的widget是不会重绘的;只会重绘变量被改变的widget
class MainBloc extends Bloc<MainEvent, MainState> {
MainBloc() : super(MainState().init());

@override
Stream mapEventToState(MainEvent event) async* {
///main_view中添加的事件,会在此处回调,此处处理完数据,将数据yield,BlocBuilder就会刷新组件
if (event is MainInitEvent) {
yield await init();
} else if (event is SwitchTabEvent) {
///获取到event事件传递过来的值,咱们拿到这值塞进MainState中
///直接在state上改变内部的值,然后yield,只能触发一次BlocBuilder,它内部会比较上次MainState对象,如果相同,就不build
yield switchTap(event);
} else if (event is IsExtendEvent) {
yield isExtend();
}
}

///初始化操作,在网络请求的情况下,需要使用如此方法同步数据
Future init() async {
return state.clone();
}

///切换tab
MainState switchTap(SwitchTabEvent event) {
return state.clone()…selectedIndex = event.selectedIndex;
}

///是否展开
MainState isExtend() {
return state.clone()…isExtended = !state.isExtended;
}
}
view
view层代码太多,这边只增加了个初始化事件,就不重新把全部代码贴出来了,初始化操作直接在创建的时候,在XxxBloc上使用add()方法就行了,就能起到进入页面,初始化一次的效果;add()方法也是Bloc类中提供的,遍历事件的时候,就特地检查了add()这个方法是否添加了事件;说明,这是框架特地提供了一个初始化的方法
这个初始化方式是在官方示例找到的
项目名:Flutter Infinite List Tutorial
项目地址:flutter-infinite-list-tutorial
class MainPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocProvider(
///在MainBloc上使用add方法,添加初始化事件
create: (BuildContext context) => MainBloc()…add(MainInitEvent()),
child: BodyPage(),
);
}
}
///下方其余代码省略…
搞定
OK,经过这样的优化,解决了几个痛点。实际在view中反复是要用BlocBuilder去更新view,写起来有点麻烦,这里我们可以写一个,将其中state和context变量,往提出来的Widget方法传值,也是蛮不错的
大家保持观察者模式的思想就行了;观察者(回调刷新控件)和被观察者(产生相应事件,添加事件,去通知观察者),bloc层是处于观察者和被观察者中间的一层,我们可以在bloc里面搞业务,搞逻辑,搞网络请求,不能搞基;拿到Event事件传递过来的数据,把处理好的、符合要求的数据返回给view层的观察者就行了。
使用框架,不拘泥框架,在观察者模式的思想上,灵活的去使用flutter_bloc提供Api,这样可以大大的缩短我们的开发时间!
Cubit范例
Cubit是Bloc模式的一种简化版,去掉了event这一层,对于简单的页面,用Cubit来实现,开发体验是大大的好啊,下面介绍下该种模式的写法
创建
首先创建Cubit一组文件,选择“Cubit Class”,点击,新建名称填写:Counter
image-20201010155420462

新建好后,他会生成俩个文件:counter_cubit,counter_state,来看下生成的代码

原始生成代码
counter_cubit
class CounterCubit extends Cubit {
CounterCubit() : super(CounterInitial());
}
counter_state
@immutable
abstract class CounterState {}

class CounterInitial extends CounterState {}
按照生成的这种state方式去写,比较麻烦,这边调整下

调整后代码
counter_cubit
class CounterCubit extends Cubit {
CounterCubit() : super(CounterState().init());
}
counter_state
class CounterState {
///初始化方法
CounterState init() {
return CounterState();
}

///克隆方法,针对于刷新界面数据
CounterState clone() {
return CounterState();
}
}
OK,这样调整了下,下面写起来就会舒服很多,也会很省事

实现计时器
来实现下一个灰常简单的计数器
效果
来看下实现效果吧,这边不上图了,大家点击下面的链接,可以直接体验Cubit模式写的计时器
实现效果:点我体验实际效果
实现
实现很简单,三个文件就搞定,看下流程:state -> cubit -> view

state:这个很简单,加个计时变量
class CounterState {
int count;

CounterState init() {
return CounterState()…count = 0;
}

CounterState clone() {
return CounterState()…count = count;
}
}
cubit
这边加了个自增方法:increase()
event层实际是所有行为的一种整合,方便对逻辑过于复杂的页面,所有行为的一种维护;但是过于简单的页面,就那么几个事件,还单独维护,就没什么必要了
在cubit层写的公共方法,在view里面能直接调用,更新数据使用:emit()
cubit层应该可以算是:bloc层和event层一种结合后的简写
class CounterCubit extends Cubit {
CounterCubit() : super(CounterState().init());

///自增
void increase() => emit(state.clone()…count = ++state.count);
}
view
view层的代码就非常简单了,点击方法里面调用cubit层的自增方法就ok了
class CounterPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BlocProvider(
create: (BuildContext context) => CounterCubit(),
child: BlocBuilder<CounterCubit, CounterState>(builder: _counter),
);
}

Widget _counter(BuildContext context, CounterState state) {
return Scaffold(
appBar: AppBar(title: const Text(‘Cubit范例’)),
body: Center(
child: Text(‘点击了 ${state.count} 次’, style: TextStyle(fontSize: 30.0)),
),
floatingActionButton: FloatingActionButton(
onPressed: () => context.bloc().increase(),
child: const Icon(Icons.add),
),
);
}
https://www.nuit.edu.cn/Item/85638.aspx
https://www.nuit.edu.cn/Item/85639.aspx
https://www.nuit.edu.cn/Item/85640.aspx
https://www.nuit.edu.cn/Item/85641.aspx
https://www.nuit.edu.cn/Item/85642.aspx
https://www.nuit.edu.cn/Item/85643.aspx
https://www.nuit.edu.cn/Item/85644.aspx
https://www.nuit.edu.cn/Item/85645.aspx
https://www.nuit.edu.cn/Item/85646.aspx
https://www.nuit.edu.cn/Item/85647.aspx
https://www.nuit.edu.cn/Item/85648.aspx
https://www.nuit.edu.cn/Item/85649.aspx
https://www.nuit.edu.cn/Item/85650.aspx
https://www.nuit.edu.cn/Item/85651.aspx
https://www.nuit.edu.cn/Item/85652.aspx
https://www.nuit.edu.cn/Item/85653.aspx
https://www.nuit.edu.cn/Item/85654.aspx
https://www.nuit.edu.cn/Item/85655.aspx
https://www.nuit.edu.cn/Item/85656.aspx
https://www.nuit.edu.cn/Item/85657.aspx
https://www.nuit.edu.cn/Item/85658.aspx
https://www.nuit.edu.cn/Item/85659.aspx
https://www.nuit.edu.cn/Item/85660.aspx
https://www.nuit.edu.cn/Item/85661.aspx
https://www.nuit.edu.cn/Item/85662.aspx
https://www.nuit.edu.cn/Item/85663.aspx
https://www.nuit.edu.cn/Item/85664.aspx
https://www.nuit.edu.cn/Item/85665.aspx
https://www.nuit.edu.cn/Item/85666.aspx
https://www.nuit.edu.cn/Item/85667.aspx
https://www.nuit.edu.cn/Item/85668.aspx
https://www.nuit.edu.cn/Item/85669.aspx
https://www.nuit.edu.cn/Item/85670.aspx
https://www.nuit.edu.cn/Item/85671.aspx
https://www.nuit.edu.cn/Item/85672.aspx
https://www.nuit.edu.cn/Item/85673.aspx
https://www.nuit.edu.cn/Item/85674.aspx
https://www.nuit.edu.cn/Item/85675.aspx
https://www.nuit.edu.cn/Item/85676.aspx
https://www.nuit.edu.cn/Item/85677.aspx
https://www.nuit.edu.cn/Item/85678.aspx
https://www.nuit.edu.cn/Item/85679.aspx
https://www.nuit.edu.cn/Item/85680.aspx
https://www.nuit.edu.cn/Item/85681.aspx
https://www.nuit.edu.cn/Item/85682.aspx
https://www.nuit.edu.cn/Item/85683.aspx
https://www.nuit.edu.cn/Item/85684.aspx
https://www.nuit.edu.cn/Item/85685.aspx
https://www.nuit.edu.cn/Item/85686.aspx
https://www.nuit.edu.cn/Item/85687.aspx
https://www.nuit.edu.cn/Item/85688.aspx
https://www.nuit.edu.cn/Item/85689.aspx
https://www.nuit.edu.cn/Item/85690.aspx
https://www.nuit.edu.cn/Item/85691.aspx
https://www.nuit.edu.cn/Item/85692.aspx
https://www.nuit.edu.cn/Item/85693.aspx
https://www.nuit.edu.cn/Item/85694.aspx
https://www.nuit.edu.cn/Item/85695.aspx
https://www.nuit.edu.cn/Item/85696.aspx
https://www.nuit.edu.cn/Item/85697.aspx
https://www.nuit.edu.cn/Item/85698.aspx
https://www.nuit.edu.cn/Item/85699.aspx
https://www.nuit.edu.cn/Item/85700.aspx
https://www.nuit.edu.cn/Item/85701.aspx
https://www.nuit.edu.cn/Item/85702.aspx
https://www.nuit.edu.cn/Item/85703.aspx
https://www.nuit.edu.cn/Item/85704.aspx
https://www.nuit.edu.cn/Item/85705.aspx
https://www.nuit.edu.cn/Item/85706.aspx
https://www.nuit.edu.cn/Item/85707.aspx
https://www.nuit.edu.cn/Item/85708.aspx
https://www.nuit.edu.cn/Item/85709.aspx
https://www.nuit.edu.cn/Item/85710.aspx
https://www.nuit.edu.cn/Item/85711.aspx
https://www.nuit.edu.cn/Item/85712.aspx
https://www.nuit.edu.cn/Item/85713.aspx
https://www.nuit.edu.cn/Item/85714.aspx
https://www.nuit.edu.cn/Item/85715.aspx
https://www.nuit.edu.cn/Item/85716.aspx
https://www.nuit.edu.cn/Item/85717.aspx
https://www.nuit.edu.cn/Item/85718.aspx
https://www.nuit.edu.cn/Item/85719.aspx
https://www.nuit.edu.cn/Item/85720.aspx
https://www.nuit.edu.cn/Item/85721.aspx
https://www.nuit.edu.cn/Item/85722.aspx
https://www.nuit.edu.cn/Item/85723.aspx
https://www.nuit.edu.cn/Item/85724.aspx
https://www.nuit.edu.cn/Item/85725.aspx
https://www.nuit.edu.cn/Item/85726.aspx
https://www.nuit.edu.cn/Item/85727.aspx
https://www.nuit.edu.cn/Item/85728.aspx
https://www.nuit.edu.cn/Item/85729.aspx
https://www.nuit.edu.cn/Item/85730.aspx
https://www.nuit.edu.cn/Item/85731.aspx
https://www.nuit.edu.cn/Item/85732.aspx
https://www.nuit.edu.cn/Item/85733.aspx
https://www.nuit.edu.cn/Item/85734.aspx
https://www.nuit.edu.cn/Item/85735.aspx
https://www.nuit.edu.cn/Item/85736.aspx
https://www.nuit.edu.cn/Item/85737.aspx
https://www.nuit.edu.cn/Item/85738.aspx
https://www.nuit.edu.cn/Item/85739.aspx
https://www.nuit.edu.cn/Item/85740.aspx
https://www.nuit.edu.cn/Item/85741.aspx
https://www.nuit.edu.cn/Item/85742.aspx
https://www.nuit.edu.cn/Item/85743.aspx
https://www.nuit.edu.cn/Item/85744.aspx
https://www.nuit.edu.cn/Item/85745.aspx
https://www.nuit.edu.cn/Item/85746.aspx
https://www.nuit.edu.cn/Item/85747.aspx
https://www.nuit.edu.cn/Item/85748.aspx
https://www.nuit.edu.cn/Item/85749.aspx
https://www.nuit.edu.cn/Item/85750.aspx
https://www.nuit.edu.cn/Item/85751.aspx
https://www.nuit.edu.cn/Item/85752.aspx
https://www.nuit.edu.cn/Item/85753.aspx
https://www.nuit.edu.cn/Item/85754.aspx
https://www.nuit.edu.cn/Item/85755.aspx
https://www.nuit.edu.cn/Item/85756.aspx
https://www.nuit.edu.cn/Item/85757.aspx
https://www.nuit.edu.cn/Item/85758.aspx
https://www.nuit.edu.cn/Item/85759.aspx
https://www.nuit.edu.cn/Item/85760.aspx
https://www.nuit.edu.cn/Item/85761.aspx
https://www.nuit.edu.cn/Item/85762.aspx
https://www.nuit.edu.cn/Item/85763.aspx
https://www.nuit.edu.cn/Item/85764.aspx
https://www.nuit.edu.cn/Item/85765.aspx
https://www.nuit.edu.cn/Item/85766.aspx
https://www.nuit.edu.cn/Item/85767.aspx
https://www.nuit.edu.cn/Item/85768.aspx
https://www.nuit.edu.cn/Item/85769.aspx
https://www.nuit.edu.cn/Item/85770.aspx
https://www.nuit.edu.cn/Item/85771.aspx
https://www.nuit.edu.cn/Item/85772.aspx
https://www.nuit.edu.cn/Item/85773.aspx
https://www.nuit.edu.cn/Item/85774.aspx
https://www.nuit.edu.cn/Item/85775.aspx
https://www.nuit.edu.cn/Item/85776.aspx
https://www.nuit.edu.cn/Item/85777.aspx
https://www.nuit.edu.cn/Item/85778.aspx
https://www.nuit.edu.cn/Item/85779.aspx
https://www.nuit.edu.cn/Item/85780.aspx
https://www.nuit.edu.cn/Item/85781.aspx
https://www.nuit.edu.cn/Item/85782.aspx
https://www.nuit.edu.cn/Item/85783.aspx
https://www.nuit.edu.cn/Item/85784.aspx
https://www.nuit.edu.cn/Item/85785.aspx
https://www.nuit.edu.cn/Item/85786.aspx
https://www.nuit.edu.cn/Item/85787.aspx
https://www.nuit.edu.cn/Item/85788.aspx
https://www.nuit.edu.cn/Item/85789.aspx
https://www.nuit.edu.cn/Item/85790.aspx
https://www.nuit.edu.cn/Item/85791.aspx
https://www.nuit.edu.cn/Item/85792.aspx
https://www.nuit.edu.cn/Item/85793.aspx
https://www.nuit.edu.cn/Item/85794.aspx
https://www.nuit.edu.cn/Item/85795.aspx
https://www.nuit.edu.cn/Item/85796.aspx
https://www.nuit.edu.cn/Item/85797.aspx
https://www.nuit.edu.cn/Item/85798.aspx
https://www.nuit.edu.cn/Item/85799.aspx
https://www.nuit.edu.cn/Item/85800.aspx
https://www.nuit.edu.cn/Item/85801.aspx
https://www.nuit.edu.cn/Item/85802.aspx
https://www.nuit.edu.cn/Item/85803.aspx
https://www.nuit.edu.cn/Item/85804.aspx
https://www.nuit.edu.cn/Item/85805.aspx
https://www.nuit.edu.cn/Item/85806.aspx
https://www.nuit.edu.cn/Item/85807.aspx
https://www.nuit.edu.cn/Item/85808.aspx
https://www.nuit.edu.cn/Item/85809.aspx
https://www.nuit.edu.cn/Item/85810.aspx
https://www.nuit.edu.cn/Item/85811.aspx
https://www.nuit.edu.cn/Item/85812.aspx
https://www.nuit.edu.cn/Item/85813.aspx
https://www.nuit.edu.cn/Item/85814.aspx
https://www.nuit.edu.cn/Item/85815.aspx
https://www.nuit.edu.cn/Item/85816.aspx
https://www.nuit.edu.cn/Item/85817.aspx
https://www.nuit.edu.cn/Item/85818.aspx
https://www.nuit.edu.cn/Item/85819.aspx
https://www.nuit.edu.cn/Item/85820.aspx
https://www.nuit.edu.cn/Item/85821.aspx
https://www.nuit.edu.cn/Item/85822.aspx
https://www.nuit.edu.cn/Item/85823.aspx
https://www.nuit.edu.cn/Item/85824.aspx
https://www.nuit.edu.cn/Item/85825.aspx
https://www.nuit.edu.cn/Item/85826.aspx
https://www.nuit.edu.cn/Item/85827.aspx
https://www.nuit.edu.cn/Item/85828.aspx
https://www.nuit.edu.cn/Item/85829.aspx
https://www.nuit.edu.cn/Item/85830.aspx
https://www.nuit.edu.cn/Item/85831.aspx
https://www.nuit.edu.cn/Item/85832.aspx
https://www.nuit.edu.cn/Item/85833.aspx
https://www.nuit.edu.cn/Item/85834.aspx
https://www.nuit.edu.cn/Item/85835.aspx
https://www.nuit.edu.cn/Item/85836.aspx
https://www.nuit.edu.cn/Item/85837.aspx
https://www.nuit.edu.cn/Item/85838.aspx
https://www.nuit.edu.cn/Item/85839.aspx
https://www.nuit.edu.cn/Item/85840.aspx
https://www.nuit.edu.cn/Item/85841.aspx
https://www.nuit.edu.cn/Item/85842.aspx
https://www.nuit.edu.cn/Item/85843.aspx
https://www.nuit.edu.cn/Item/85844.aspx
https://www.nuit.edu.cn/Item/85845.aspx
https://www.nuit.edu.cn/Item/85846.aspx
https://www.nuit.edu.cn/Item/85847.aspx
https://www.nuit.edu.cn/Item/85848.aspx
https://www.nuit.edu.cn/Item/85849.aspx
https://www.nuit.edu.cn/Item/85850.aspx
https://www.nuit.edu.cn/Item/85851.aspx
https://www.nuit.edu.cn/Item/85852.aspx
https://www.nuit.edu.cn/Item/85853.aspx
https://www.nuit.edu.cn/Item/85854.aspx
https://www.nuit.edu.cn/Item/85855.aspx
https://www.nuit.edu.cn/Item/85856.aspx
https://www.nuit.edu.cn/Item/85857.aspx
https://www.nuit.edu.cn/Item/85858.aspx
https://www.nuit.edu.cn/Item/85859.aspx
https://www.nuit.edu.cn/Item/85860.aspx
https://www.nuit.edu.cn/Item/85861.aspx
https://www.nuit.edu.cn/Item/85862.aspx
https://www.nuit.edu.cn/Item/85863.aspx
https://www.nuit.edu.cn/Item/85864.aspx
https://www.nuit.edu.cn/Item/85865.aspx
https://www.nuit.edu.cn/Item/85866.aspx
https://www.nuit.edu.cn/Item/85867.aspx
https://www.nuit.edu.cn/Item/85868.aspx
https://www.nuit.edu.cn/Item/85869.aspx
https://www.nuit.edu.cn/Item/85870.aspx
https://www.nuit.edu.cn/Item/85871.aspx
https://www.nuit.edu.cn/Item/85872.aspx
https://www.nuit.edu.cn/Item/85873.aspx
https://www.nuit.edu.cn/Item/85874.aspx
https://www.nuit.edu.cn/Item/85875.aspx
https://www.nuit.edu.cn/Item/85876.aspx
https://www.nuit.edu.cn/Item/85877.aspx
https://www.nuit.edu.cn/Item/85878.aspx
https://www.nuit.edu.cn/Item/85879.aspx
https://www.nuit.edu.cn/Item/85880.aspx
https://www.nuit.edu.cn/Item/85881.aspx
https://www.nuit.edu.cn/Item/85882.aspx
https://www.nuit.edu.cn/Item/85883.aspx
https://www.nuit.edu.cn/Item/85884.aspx
https://www.nuit.edu.cn/Item/85885.aspx
https://www.nuit.edu.cn/Item/85886.aspx
https://www.nuit.edu.cn/Item/85887.aspx
https://www.nuit.edu.cn/Item/85888.aspx
https://www.nuit.edu.cn/Item/85889.aspx
https://www.nuit.edu.cn/Item/85890.aspx
https://www.nuit.edu.cn/Item/85891.aspx
https://www.nuit.edu.cn/Item/85892.aspx
https://www.nuit.edu.cn/Item/85893.aspx
https://www.nuit.edu.cn/Item/85894.aspx
https://www.nuit.edu.cn/Item/85895.aspx
https://www.nuit.edu.cn/Item/85896.aspx
https://www.nuit.edu.cn/Item/85897.aspx
https://www.nuit.edu.cn/Item/85898.aspx
https://www.nuit.edu.cn/Item/85899.aspx
https://www.nuit.edu.cn/Item/85900.aspx
https://www.nuit.edu.cn/Item/85901.aspx
https://www.nuit.edu.cn/Item/85902.aspx
https://www.nuit.edu.cn/Item/85903.aspx
https://www.nuit.edu.cn/Item/85904.aspx
https://www.nuit.edu.cn/Item/85905.aspx
https://www.nuit.edu.cn/Item/85906.aspx
https://www.nuit.edu.cn/Item/85907.aspx
https://www.nuit.edu.cn/Item/85908.aspx
https://www.nuit.edu.cn/Item/85909.aspx
https://www.nuit.edu.cn/Item/85910.aspx
https://www.nuit.edu.cn/Item/85911.aspx
https://www.nuit.edu.cn/Item/85912.aspx
https://www.nuit.edu.cn/Item/85913.aspx
https://www.nuit.edu.cn/Item/85914.aspx
https://www.nuit.edu.cn/Item/85915.aspx
https://www.nuit.edu.cn/Item/85916.aspx
https://www.nuit.edu.cn/Item/85917.aspx
https://www.nuit.edu.cn/Item/85918.aspx
https://www.nuit.edu.cn/Item/85919.aspx
https://www.nuit.edu.cn/Item/85920.aspx
https://www.nuit.edu.cn/Item/85921.aspx
https://www.nuit.edu.cn/Item/85922.aspx
https://www.nuit.edu.cn/Item/85923.aspx
https://www.nuit.edu.cn/Item/85924.aspx
https://www.nuit.edu.cn/Item/85925.aspx
https://www.nuit.edu.cn/Item/85926.aspx
https://www.nuit.edu.cn/Item/85927.aspx
https://www.nuit.edu.cn/Item/85928.aspx
https://www.nuit.edu.cn/Item/85929.aspx
https://www.nuit.edu.cn/Item/85930.aspx
https://www.nuit.edu.cn/Item/85931.aspx
https://www.nuit.edu.cn/Item/85932.aspx
https://www.nuit.edu.cn/Item/85933.aspx
https://www.nuit.edu.cn/Item/85934.aspx
https://www.nuit.edu.cn/Item/85935.aspx
https://www.nuit.edu.cn/Item/85936.aspx
https://www.nuit.edu.cn/Item/85937.aspx
https://www.nuit.edu.cn/Item/85938.aspx
https://www.nuit.edu.cn/Item/85939.aspx
https://www.nuit.edu.cn/Item/85940.aspx
https://www.nuit.edu.cn/Item/85941.aspx
https://www.nuit.edu.cn/Item/85942.aspx
https://www.nuit.edu.cn/Item/85943.aspx
https://www.nuit.edu.cn/Item/85944.aspx
https://www.nuit.edu.cn/Item/85945.aspx
https://www.nuit.edu.cn/Item/85946.aspx
https://www.nuit.edu.cn/Item/85947.aspx
https://www.nuit.edu.cn/Item/85948.aspx
https://www.nuit.edu.cn/Item/85949.aspx
https://www.nuit.edu.cn/Item/85950.aspx
https://www.nuit.edu.cn/Item/85951.aspx
https://www.nuit.edu.cn/Item/85952.aspx
https://www.nuit.edu.cn/Item/85953.aspx
https://www.nuit.edu.cn/Item/85954.aspx
https://www.nuit.edu.cn/Item/85955.aspx
https://www.nuit.edu.cn/Item/85956.aspx
https://www.nuit.edu.cn/Item/85957.aspx
https://www.nuit.edu.cn/Item/85958.aspx
https://www.nuit.edu.cn/Item/85959.aspx
https://www.nuit.edu.cn/Item/85960.aspx
https://www.nuit.edu.cn/Item/85961.aspx
https://www.nuit.edu.cn/Item/85962.aspx
https://www.nuit.edu.cn/Item/85963.aspx
https://www.nuit.edu.cn/Item/85964.aspx
https://www.nuit.edu.cn/Item/85965.aspx
https://www.nuit.edu.cn/Item/85966.aspx
https://www.nuit.edu.cn/Item/85967.aspx
https://www.nuit.edu.cn/Item/85968.aspx
https://www.nuit.edu.cn/Item/85969.aspx
https://www.nuit.edu.cn/Item/85970.aspx
https://www.nuit.edu.cn/Item/85971.aspx
https://www.nuit.edu.cn/Item/85972.aspx
https://www.nuit.edu.cn/Item/85973.aspx
https://www.nuit.edu.cn/Item/85974.aspx
https://www.nuit.edu.cn/Item/85975.aspx
https://www.nuit.edu.cn/Item/85976.aspx
https://www.nuit.edu.cn/Item/85977.aspx
https://www.nuit.edu.cn/Item/85978.aspx
https://www.nuit.edu.cn/Item/85979.aspx
https://www.nuit.edu.cn/Item/85980.aspx
https://www.nuit.edu.cn/Item/85981.aspx
https://www.nuit.edu.cn/Item/85982.aspx
https://www.nuit.edu.cn/Item/85983.aspx
https://www.nuit.edu.cn/Item/85984.aspx
https://www.nuit.edu.cn/Item/85985.aspx
https://www.nuit.edu.cn/Item/85986.aspx
https://www.nuit.edu.cn/Item/85987.aspx
https://www.nuit.edu.cn/Item/85988.aspx
https://www.nuit.edu.cn/Item/85989.aspx
https://www.nuit.edu.cn/Item/85990.aspx
https://www.nuit.edu.cn/Item/85991.aspx
https://www.nuit.edu.cn/Item/85992.aspx
https://www.nuit.edu.cn/Item/85993.aspx
https://www.nuit.edu.cn/Item/85994.aspx
https://www.nuit.edu.cn/Item/85995.aspx
https://www.nuit.edu.cn/Item/85996.aspx
https://www.nuit.edu.cn/Item/85997.aspx
https://www.nuit.edu.cn/Item/85998.aspx
https://www.nuit.edu.cn/Item/85999.aspx
https://www.nuit.edu.cn/Item/86000.aspx
https://www.nuit.edu.cn/Item/86001.aspx
https://www.nuit.edu.cn/Item/86002.aspx
https://www.nuit.edu.cn/Item/86003.aspx
https://www.nuit.edu.cn/Item/86004.aspx
https://www.nuit.edu.cn/Item/86005.aspx
https://www.nuit.edu.cn/Item/86006.aspx
https://www.nuit.edu.cn/Item/86007.aspx
https://www.nuit.edu.cn/Item/86008.aspx
https://www.nuit.edu.cn/Item/86009.aspx
https://www.nuit.edu.cn/Item/86010.aspx
https://www.nuit.edu.cn/Item/86011.aspx
https://www.nuit.edu.cn/Item/86012.aspx
https://www.nuit.edu.cn/Item/86013.aspx
https://www.nuit.edu.cn/Item/86014.aspx
https://www.nuit.edu.cn/Item/86015.aspx
https://www.nuit.edu.cn/Item/86016.aspx
https://www.nuit.edu.cn/Item/86017.aspx
https://www.nuit.edu.cn/Item/86018.aspx
https://www.nuit.edu.cn/Item/86019.aspx
https://www.nuit.edu.cn/Item/86020.aspx
https://www.nuit.edu.cn/Item/86021.aspx
https://www.nuit.edu.cn/Item/86022.aspx
https://www.nuit.edu.cn/Item/86023.aspx
https://www.nuit.edu.cn/Item/86024.aspx
https://www.nuit.edu.cn/Item/86025.aspx
https://www.nuit.edu.cn/Item/86026.aspx
https://www.nuit.edu.cn/Item/86027.aspx
https://www.nuit.edu.cn/Item/86028.aspx
https://www.nuit.edu.cn/Item/86029.aspx
https://www.nuit.edu.cn/Item/86030.aspx
https://www.nuit.edu.cn/Item/86031.aspx
https://www.nuit.edu.cn/Item/86032.aspx
https://www.nuit.edu.cn/Item/86033.aspx
https://www.nuit.edu.cn/Item/86034.aspx
https://www.nuit.edu.cn/Item/86035.aspx
https://www.nuit.edu.cn/Item/86036.aspx
https://www.nuit.edu.cn/Item/86037.aspx
https://www.nuit.edu.cn/Item/86038.aspx
https://www.nuit.edu.cn/Item/86039.aspx
https://www.nuit.edu.cn/Item/86040.aspx
https://www.nuit.edu.cn/Item/86041.aspx
https://www.nuit.edu.cn/Item/86042.aspx
https://www.nuit.edu.cn/Item/86043.aspx
https://www.nuit.edu.cn/Item/86044.aspx
https://www.nuit.edu.cn/Item/86045.aspx
https://www.nuit.edu.cn/Item/86046.aspx
https://www.nuit.edu.cn/Item/86047.aspx
https://www.nuit.edu.cn/Item/86048.aspx
https://www.nuit.edu.cn/Item/86049.aspx
https://www.nuit.edu.cn/Item/86050.aspx
https://www.nuit.edu.cn/Item/86051.aspx
https://www.nuit.edu.cn/Item/86052.aspx
https://www.nuit.edu.cn/Item/86053.aspx
https://www.nuit.edu.cn/Item/86054.aspx
https://www.nuit.edu.cn/Item/86055.aspx
https://www.nuit.edu.cn/Item/86056.aspx
https://www.nuit.edu.cn/Item/86057.aspx
https://www.nuit.edu.cn/Item/86058.aspx
https://www.nuit.edu.cn/Item/86059.aspx
https://www.nuit.edu.cn/Item/86060.aspx
https://www.nuit.edu.cn/Item/86061.aspx
https://www.nuit.edu.cn/Item/86062.aspx
https://www.nuit.edu.cn/Item/86063.aspx
https://www.nuit.edu.cn/Item/86064.aspx
https://www.nuit.edu.cn/Item/86065.aspx
https://www.nuit.edu.cn/Item/86066.aspx
https://www.nuit.edu.cn/Item/86067.aspx
https://www.nuit.edu.cn/Item/86068.aspx
https://www.nuit.edu.cn/Item/86069.aspx
https://www.nuit.edu.cn/Item/86070.aspx
https://www.nuit.edu.cn/Item/86071.aspx
https://www.nuit.edu.cn/Item/86072.aspx
https://www.nuit.edu.cn/Item/86073.aspx
https://www.nuit.edu.cn/Item/86074.aspx
https://www.nuit.edu.cn/Item/86075.aspx
https://www.nuit.edu.cn/Item/86076.aspx
https://www.nuit.edu.cn/Item/86077.aspx
https://www.nuit.edu.cn/Item/86078.aspx
https://www.nuit.edu.cn/Item/86079.aspx
https://www.nuit.edu.cn/Item/86080.aspx
https://www.nuit.edu.cn/Item/86081.aspx
https://www.nuit.edu.cn/Item/86082.aspx
https://www.nuit.edu.cn/Item/86083.aspx
https://www.nuit.edu.cn/Item/86084.aspx
https://www.nuit.edu.cn/Item/86085.aspx
https://www.nuit.edu.cn/Item/86086.aspx
https://www.nuit.edu.cn/Item/86087.aspx
https://www.nuit.edu.cn/Item/86088.aspx
https://www.nuit.edu.cn/Item/86089.aspx
https://www.nuit.edu.cn/Item/86090.aspx
https://www.nuit.edu.cn/Item/86091.aspx
https://www.nuit.edu.cn/Item/86092.aspx
https://www.nuit.edu.cn/Item/86093.aspx
https://www.nuit.edu.cn/Item/86094.aspx
https://www.nuit.edu.cn/Item/86095.aspx
https://www.nuit.edu.cn/Item/86096.aspx
https://www.nuit.edu.cn/Item/86097.aspx
https://www.nuit.edu.cn/Item/86098.aspx
https://www.nuit.edu.cn/Item/86099.aspx
https://www.nuit.edu.cn/Item/86100.aspx
https://www.nuit.edu.cn/Item/86101.aspx
https://www.nuit.edu.cn/Item/86102.aspx
https://www.nuit.edu.cn/Item/86103.aspx
https://www.nuit.edu.cn/Item/86104.aspx
https://www.nuit.edu.cn/Item/86105.aspx
https://www.nuit.edu.cn/Item/86106.aspx
https://www.nuit.edu.cn/Item/86107.aspx
https://www.nuit.edu.cn/Item/86108.aspx
https://www.nuit.edu.cn/Item/86109.aspx
https://www.nuit.edu.cn/Item/86110.aspx
https://www.nuit.edu.cn/Item/86111.aspx
https://www.nuit.edu.cn/Item/86112.aspx
https://www.nuit.edu.cn/Item/86113.aspx
https://www.nuit.edu.cn/Item/86114.aspx
https://www.nuit.edu.cn/Item/86115.aspx
https://www.nuit.edu.cn/Item/86116.aspx
https://www.nuit.edu.cn/Item/86117.aspx
https://www.nuit.edu.cn/Item/86118.aspx
https://www.nuit.edu.cn/Item/86119.aspx
https://www.nuit.edu.cn/Item/86120.aspx
https://www.nuit.edu.cn/Item/86121.aspx
https://www.nuit.edu.cn/Item/86122.aspx
https://www.nuit.edu.cn/Item/86123.aspx
https://www.nuit.edu.cn/Item/86124.aspx
https://www.nuit.edu.cn/Item/86125.aspx
https://www.nuit.edu.cn/Item/86126.aspx
https://www.nuit.edu.cn/Item/86127.aspx
https://www.nuit.edu.cn/Item/86128.aspx
https://www.nuit.edu.cn/Item/86129.aspx
https://www.nuit.edu.cn/Item/86130.aspx
https://www.nuit.edu.cn/Item/86131.aspx
https://www.nuit.edu.cn/Item/86132.aspx
https://www.nuit.edu.cn/Item/86133.aspx
https://www.nuit.edu.cn/Item/86134.aspx
https://www.nuit.edu.cn/Item/86135.aspx
https://www.nuit.edu.cn/Item/86136.aspx
https://www.nuit.edu.cn/Item/86137.aspx
https://www.nuit.edu.cn/Item/86138.aspx
https://www.nuit.edu.cn/Item/86139.aspx
https://www.nuit.edu.cn/Item/86140.aspx
https://www.nuit.edu.cn/Item/86141.aspx
https://www.nuit.edu.cn/Item/86142.aspx
https://www.nuit.edu.cn/Item/86143.aspx
https://www.nuit.edu.cn/Item/86144.aspx
https://www.nuit.edu.cn/Item/86145.aspx
https://www.nuit.edu.cn/Item/86146.aspx
https://www.nuit.edu.cn/Item/86147.aspx
https://www.nuit.edu.cn/Item/86148.aspx
https://www.nuit.edu.cn/Item/86149.aspx
https://www.nuit.edu.cn/Item/86150.aspx
https://www.nuit.edu.cn/Item/86151.aspx
https://www.nuit.edu.cn/Item/86152.aspx
https://www.nuit.edu.cn/Item/86153.aspx
https://www.nuit.edu.cn/Item/86154.aspx
https://www.nuit.edu.cn/Item/86155.aspx
https://www.nuit.edu.cn/Item/86156.aspx
https://www.nuit.edu.cn/Item/86157.aspx
https://www.nuit.edu.cn/Item/86158.aspx
https://www.nuit.edu.cn/Item/86159.aspx
https://www.nuit.edu.cn/Item/86160.aspx
https://www.nuit.edu.cn/Item/86161.aspx
https://www.nuit.edu.cn/Item/86162.aspx
https://www.nuit.edu.cn/Item/86163.aspx
https://www.nuit.edu.cn/Item/86164.aspx
https://www.nuit.edu.cn/Item/86165.aspx
https://www.nuit.edu.cn/Item/86166.aspx
https://www.nuit.edu.cn/Item/86167.aspx
https://www.nuit.edu.cn/Item/86168.aspx
https://www.nuit.edu.cn/Item/86169.aspx
https://www.nuit.edu.cn/Item/86170.aspx
https://www.nuit.edu.cn/Item/86171.aspx
https://www.nuit.edu.cn/Item/86172.aspx
https://www.nuit.edu.cn/Item/86173.aspx
https://www.nuit.edu.cn/Item/86174.aspx
https://www.nuit.edu.cn/Item/86175.aspx
https://www.nuit.edu.cn/Item/86176.aspx
https://www.nuit.edu.cn/Item/86177.aspx
https://www.nuit.edu.cn/Item/86178.aspx
https://www.nuit.edu.cn/Item/86179.aspx
https://www.nuit.edu.cn/Item/86180.aspx
https://www.nuit.edu.cn/Item/86181.aspx
https://www.nuit.edu.cn/Item/86182.aspx
https://www.nuit.edu.cn/Item/86183.aspx
https://www.nuit.edu.cn/Item/86184.aspx
https://www.nuit.edu.cn/Item/86185.aspx
https://www.nuit.edu.cn/Item/86186.aspx
https://www.nuit.edu.cn/Item/86187.aspx
https://www.nuit.edu.cn/Item/86188.aspx
https://www.nuit.edu.cn/Item/86189.aspx
https://www.nuit.edu.cn/Item/86190.aspx
https://www.nuit.edu.cn/Item/86191.aspx
https://www.nuit.edu.cn/Item/86192.aspx
https://www.nuit.edu.cn/Item/86193.aspx
https://www.nuit.edu.cn/Item/86194.aspx
https://www.nuit.edu.cn/Item/86195.aspx
https://www.nuit.edu.cn/Item/86196.aspx
https://www.nuit.edu.cn/Item/86197.aspx
https://www.nuit.edu.cn/Item/86198.aspx
https://www.nuit.edu.cn/Item/86199.aspx
https://www.nuit.edu.cn/Item/86200.aspx
https://www.nuit.edu.cn/Item/86201.aspx
https://www.nuit.edu.cn/Item/86202.aspx
https://www.nuit.edu.cn/Item/86203.aspx
https://www.nuit.edu.cn/Item/86204.aspx
https://www.nuit.edu.cn/Item/86205.aspx
https://www.nuit.edu.cn/Item/86206.aspx
https://www.nuit.edu.cn/Item/86207.aspx
https://www.nuit.edu.cn/Item/86208.aspx
https://www.nuit.edu.cn/Item/86209.aspx
https://www.nuit.edu.cn/Item/86210.aspx
https://www.nuit.edu.cn/Item/86211.aspx
https://www.nuit.edu.cn/Item/86212.aspx
https://www.nuit.edu.cn/Item/86213.aspx
https://www.nuit.edu.cn/Item/86214.aspx
https://www.nuit.edu.cn/Item/86215.aspx
https://www.nuit.edu.cn/Item/86216.aspx
https://www.nuit.edu.cn/Item/86217.aspx
https://www.nuit.edu.cn/Item/86218.aspx
https://www.nuit.edu.cn/Item/86219.aspx
https://www.nuit.edu.cn/Item/86220.aspx
https://www.nuit.edu.cn/Item/86221.aspx
https://www.nuit.edu.cn/Item/86222.aspx
https://www.nuit.edu.cn/Item/86223.aspx
https://www.nuit.edu.cn/Item/86224.aspx
https://www.nuit.edu.cn/Item/86225.aspx
https://www.nuit.edu.cn/Item/86226.aspx
https://www.nuit.edu.cn/Item/86227.aspx
https://www.nuit.edu.cn/Item/86228.aspx
https://www.nuit.edu.cn/Item/86229.aspx
https://www.nuit.edu.cn/Item/86230.aspx
https://www.nuit.edu.cn/Item/86231.aspx
https://www.nuit.edu.cn/Item/86232.aspx
https://www.nuit.edu.cn/Item/86233.aspx
https://www.nuit.edu.cn/Item/86234.aspx
https://www.nuit.edu.cn/Item/86235.aspx
https://www.nuit.edu.cn/Item/86236.aspx
https://www.nuit.edu.cn/Item/86237.aspx
https://www.nuit.edu.cn/Item/86238.aspx
https://www.nuit.edu.cn/Item/86239.aspx
https://www.nuit.edu.cn/Item/86240.aspx
https://www.nuit.edu.cn/Item/86241.aspx
https://www.nuit.edu.cn/Item/86242.aspx
https://www.nuit.edu.cn/Item/86243.aspx
https://www.nuit.edu.cn/Item/86244.aspx
https://www.nuit.edu.cn/Item/86245.aspx
https://www.nuit.edu.cn/Item/86246.aspx
https://www.nuit.edu.cn/Item/86247.aspx
https://www.nuit.edu.cn/Item/86248.aspx
https://www.nuit.edu.cn/Item/86249.aspx
https://www.nuit.edu.cn/Item/86250.aspx
https://www.nuit.edu.cn/Item/86251.aspx
https://www.nuit.edu.cn/Item/86252.aspx
https://www.nuit.edu.cn/Item/86253.aspx
https://www.nuit.edu.cn/Item/86254.aspx
https://www.nuit.edu.cn/Item/86255.aspx
https://www.nuit.edu.cn/Item/86256.aspx
https://www.nuit.edu.cn/Item/86257.aspx
https://www.nuit.edu.cn/Item/86258.aspx
https://www.nuit.edu.cn/Item/86259.aspx
https://www.nuit.edu.cn/Item/86260.aspx
https://www.nuit.edu.cn/Item/86261.aspx
https://www.nuit.edu.cn/Item/86262.aspx
https://www.nuit.edu.cn/Item/86263.aspx
https://www.nuit.edu.cn/Item/86264.aspx
https://www.nuit.edu.cn/Item/86265.aspx
https://www.nuit.edu.cn/Item/86266.aspx
https://www.nuit.edu.cn/Item/86267.aspx
https://www.nuit.edu.cn/Item/86268.aspx
https://www.nuit.edu.cn/Item/86269.aspx
https://www.nuit.edu.cn/Item/86270.aspx
https://www.nuit.edu.cn/Item/86271.aspx
https://www.nuit.edu.cn/Item/86272.aspx
https://www.nuit.edu.cn/Item/86273.aspx
https://www.nuit.edu.cn/Item/86274.aspx
https://www.nuit.edu.cn/Item/86275.aspx
https://www.nuit.edu.cn/Item/86276.aspx
https://www.nuit.edu.cn/Item/86277.aspx
https://www.nuit.edu.cn/Item/86278.aspx
https://www.nuit.edu.cn/Item/86279.aspx
https://www.nuit.edu.cn/Item/86280.aspx
https://www.nuit.edu.cn/Item/86281.aspx
https://www.nuit.edu.cn/Item/86282.aspx
https://www.nuit.edu.cn/Item/86283.aspx
https://www.nuit.edu.cn/Item/86284.aspx

}
总结
在Bloc模式里面,如果页面不是过于复杂,使用Cubit去写,基本完全够用了;但是如果业务过于复杂,还是需要用Bloc去写,需要将所有的事件行为管理起来,便于后期维护

OK,Bloc的简化模块,Cubit模式就这样讲完了,对于自己业务写的小项目,我就经常用这个Cubit去写

最后
Bloc还有很多Api针对不同的场景非常的实用,例如:MultiBlocProvider,BlocListener,MultiBlocListener,BlocConsumer等等,这里面有些Api和Provider的Api是非常相似的,例如MultiXxxxx,这都是为了减少嵌套,提供多个全局Bloc而提供,大家可以去瞧瞧看,用法也都非常的相似

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. idea配置maven【伸手党福利】

    下载Maven 官方地址&#xff1a;http://maven.apache.org/download.cgi 解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 4.在IntelliJ IDEA中配置maven 打开-File-Settings 5.新建maven WEB项目 打开-File-New-Project 点击NEXT 点击NEXT 添加的配…...

    2024/4/9 4:20:55
  2. 读书笔记——Java对象

    前言 本文探讨的是new对象时的内存分配情况&#xff0c;主要是书本知识的总结和提炼&#xff0c;不过作者的另外一篇博客提到了对new对象时初始化的总结和理解&#xff0c;比较适合一起看。 链接&#xff1a;https://editor.csdn.net/md/?articleId108236252 对象的创建 类加载…...

    2024/5/2 23:28:36
  3. gVim中格式化部分json string(也可以整个文件)

    背景&#xff1a;在Vim中时不时会把工作中需要的json内容copy进来查看&#xff0c;可是json内容是一行string&#xff0c;比如{"Name":"abc","Author":"athor","Data":{"subsdiary":"HM","Title&q…...

    2024/4/24 21:46:39
  4. Java 性能监控工具 Stagemonitor 在推荐架构中的应用详解

    随着业务增长&#xff0c;推荐架构 Java 服务的压力也逐渐增加。为了及时处理应用程序性能问题&#xff0c;定位故障并分析原因&#xff0c;我们迫切需要一款能够提供全方位监控的工具。 我们对市面上应用较多的三款性能监控和管理方案进行了多方面比较&#xff0c;结果见下图…...

    2024/4/9 4:20:52
  5. 在Ubuntu上使用FreeFileSync同步文件

    FreeFileSync可以在Windows,Linux,macOS上面运行。本文使用操作系统是Ubuntu18.04。 安装FreeFileSync 下载程序&#xff0c;并解压。 $ wget https://freefilesync.org/download/FreeFileSync_11.0_Linux.tar.gz $ tar xvf FreeFileSync_11.0_Linux.tar.gz 解压之后进入Fre…...

    2024/4/12 9:20:09
  6. MySQL [Err] 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘

    使用Navicat运行sql文件报错[Err] 1273 - Unknown collation: utf8mb4_0900_ai_ci 第一种解决方式&#xff1a; 将对应的sql文件中的 utf8mb4_0900_ai_ci替换为utf8_general_ciutf8mb4替换为utf8 再次执行sql文件就可以。 第二种解决方式&#xff1a; 把sql文件中对应的ut…...

    2024/4/30 7:53:11
  7. CABasicAnimation 退后台动画暂停

    这回我们来总结一下CABasicAnimation使用中的一些细节的处理问题&#xff0c;避免一些比较蛋疼的事情发生&#xff0c;显得无从下手&#xff1a; 一般的动画&#xff0c;我们这样写&#xff1a; ///开始旋转- (void)beginRotation {CABasicAnimation *anim [CABasicAnimation…...

    2024/5/2 22:21:45
  8. spring boot 集成 restTemplate 调用第三方接口中文乱码问题

    最近使用restTemplate调第三方接口返回中文出现乱码 双方均已约定使用utf-8编码格式&#xff0c;但返回接口中文乱码&#xff0c;在排查过程中发现restTemplate默认的是ISO-8859-1编码&#xff0c;因此需要将编码格式改为utf-8&#xff0c;修改如下 &#xff1a; 添加&#xf…...

    2024/4/10 11:03:55
  9. [动态规划] leetcode 10 正则表达式匹配

    [动态规划] leetcode 10 正则表达式匹配 1.题目 题目链接 给你一个字符串 s 和一个字符规律 p&#xff0c;请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 . 匹配任意单个字符 * 匹配零个或多个前面的那一个元素所谓匹配&#xff0c;是要涵盖整个字符串 s的&#xf…...

    2024/4/9 4:20:47
  10. django项目

    1.创建app&#xff1a;python manage.py startapp order_made 2.根据指定数据库生成model&#xff1a;python manage.py inspectdb --databaseordermade_qian > order_made/models.py 根据指定数据表生成model&#xff1a;python manage.py inspectdb --databasepermeation…...

    2024/4/9 4:20:46
  11. 数据结构和算法学习:数据结构之稀疏数组

    1. 稀疏数组&#xff08;SparseArray &#xff09; 1.1 需求 编写的五子棋程序中&#xff0c;有存盘退出和续上盘的功能。 问题分析&#xff1a; 因为该二维数组的很多值是默认值 0, 因此记录了很多没有意义的数据 > 稀疏数组 1.2 基本介绍 当一个数组中大部分元素为&…...

    2024/4/29 6:27:49
  12. springboot+mybatis plus(小程序后台)项目的理解

    springbootmybatis plusswaggerredislombok 目录结构 config配置文件 handler 是异步通信的类 constant常量 domain与数据库表对应的实体类 entity 与数据库不相关的类 request 请求参数 threads 同步异步处理async&#xff08;异步&#xff09;&#xff0c;sync&#xff08;…...

    2024/4/10 17:33:59
  13. c# 自定义数据验证

    环境&#xff1a;vs2015,net4.0 一、ValidationAttribute 继承ValidationAttribute自定义特性&#xff0c;重写IsValid方法 [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, Inherited false, AllowMultiple false)]public class MyValidationAttrib…...

    2024/5/2 22:02:44
  14. http常见请求头、响应头、content-type内容类型

    http请求分为三部分&#xff1a;请求行&#xff0c;请求头&#xff0c; 请求体 请求头 报文头包含若干个属性 格式为“属性名:属性值”&#xff0c;服务端据此获取客户端的基本信息 常见的请求头 Accept&#xff1a; 览器支持的 MIME 媒体类型, 比如 text/html,application/j…...

    2024/4/30 1:43:57
  15. 放灯

    以搜索框为入口&#xff0c;集成开发者常用工具&#xff0c;提升开发效率 主要功能如下&#xff1a; 支持本地书签、tab页、历史记录搜索 集成CSDN搜索结果&#xff0c;本地内容和远程结果无缝集成 所有操作都支持快捷键&#xff0c;提升搜索效率 他是一个时间转换工具 他是一…...

    2024/4/10 9:51:37
  16. oVirt在web端无法使用noVNC打开虚拟机控制台的解决方法

    在部署和测试oVirt平台中&#xff0c;经常有人会遇到虚拟机控制台无法通过noVNC方式打开的问题&#xff0c;并且提示如下错误&#xff1a; Cant connect to websocket proxy server wss://engine.mytest.org:6100. Please check that: websocket proxy service is running, fi…...

    2024/4/9 3:56:00
  17. Java-方法

    文章目录1. 方法概述1.1 方法的概念&#xff08;理解&#xff09;2. 方法的定义和调用2.1 无参数方法定义和调用&#xff08;掌握&#xff09;2.2 方法调用过程图解&#xff08;理解&#xff09;2.3 无参数方法的练习&#xff08;应用&#xff09;3. 带参数方法定义和调用3.1 带…...

    2024/4/19 4:00:43
  18. git删除分支和新建分支

    场景&#xff1a;我对calledList接口的优化已经完成了一阶段。后续利用多线程进行第二阶段的优化。所以需要删除原来的分支dev-CalledList. 以及新建dev-CalledListThread 将用到的语句记录下来。供下次查阅 # 要删除dev-CalledList分支 # 先切换到其他分支 git checkout dev …...

    2024/4/14 5:41:20
  19. 问题记录-MacOS上idea崩溃

    问题记录-MacOS上idea崩溃描述解决办法描述 在Mac Bigsur测试版上运行IntelliJ Idea时会出先频繁的闪退&#xff0c;特别是切换分屏和运行swing程序时 解决办法 回退至MacOS Catalina 具体解决方法请见: link....

    2024/4/10 13:19:51
  20. LiveData的基本使用

    在页面&#xff08;Activity/Fragment&#xff09;很简单的情况下&#xff0c;通常我们会将UI交互&#xff0c;数据获取与处理等相关业务逻辑&#xff0c;全部写在页面中&#xff0c;但是在页面复杂的情况下&#xff0c;这样做是不合适的&#xff0c;它不符合“单一责任”原则。…...

    2024/4/10 11:59:18

最新文章

  1. 【Linux的文件篇章 - 磁盘文件】

    Linux学习笔记---012 Linux之进程程序替换理解1、磁盘文件1.1、文件如何存取的问题1.2、了解磁盘的存储结构1.3、如何找到指定位置的扇区&#xff1f;1.4、对磁盘的存储进行逻辑抽象(了解OS对磁盘这样的硬件设备的抽象与管理) 2、磁盘级文件系统2.1、Linux文件系统特定2.2、文件…...

    2024/5/3 0:06:39
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. dp小兰走迷宫

    昨天学习了bfs的基本概念&#xff0c;今天来做一道经典习题练练手吧&#xff01; bfs常用的两类题型 1.从A出发是否存在到达B的路径(dfs也可) 2.从A出发到B的最短路径&#xff08;数小:<20才能用dfs&#xff09; 遗留的那个问题的答案- 题目&#xff1a;走迷宫 #incl…...

    2024/5/2 10:47:23
  4. 【stm32】I2C通信协议

    【stm32】I2C通信协议 概念及原理 如果我们想要读写寄存器来控制硬件电路&#xff0c;就至少需要定义两个字节数据 一个字节是我们要读写哪个寄存器&#xff0c;也就是指定寄存器的地址 另一个字节就是这个地址下存储寄存器的内容 写入内容就是控制电路&#xff0c;读出内容就…...

    2024/5/2 2:37:26
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/2 11:19:01
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/2 23:55:17
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/2 9:47:31
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/2 9:47:31
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/2 9:47:30
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/2 23:47:43
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/1 20:22:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/2 9:47:28
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/2 9:47:27
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/2 0:07:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/2 9:47:26
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/2 23:47:16
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/2 18:46:52
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/2 7:30:11
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/1 20:56:20
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57