- Sencha ExtJS5.x主题系列讲解2
苏生米沿
ExtJS主题系列讲解2构造自定义主题一旦安装好以上的必须后,你就可以构造一个自定义的主题了。设置一个工作空间(可选的)通过CMD生成的工作空间,可以允许主题,包和SDK在空间内的各个应用程序间共同使用。然而,对于自定义主题来说,这并不是必须的。如果你的应用只有一个,就没有必要如此做了。我们下面会通过CMD创建一个工作空间,这样,就可以让目录下的所有应用都可以使用的到,在需要创建的目录下执行如下命
- [ExtJS5学习笔记]第二十八节 sencha ext js 5.1.0发布版本正式发布 extjs doc下载地址
苏生米沿
senchaExtJS5利剑Extjs5
本文地址:http://blog.csdn.net/sushengmiyan/article/details/41911539本文作者:sushengmiyan------------------------------------------------------------------------------------------------------------------------
- Sencha ExtJS5.x 的事件机制讲解
苏生米沿
ExtJS的组件和类,会在生命周期中调用一系列的事件,事件允许你自己写代码控制你应用程序的实际行为,它是ExtJS的一个核心内容。什么是事件?事件在你类中感兴趣的地方发生,比如,Ext.Component在渲染到屏幕的时候,ExtJS会在渲染完成后通知一个事件。我们可以通过配置一个listeners来监听那个事件。Ext.create('Ext.Panel',{html:'MyPanel',ren
- cls extjs5_【extjs】 extjs5 Ext.grid.Panel 搜索示例
思妤小妹
clsextjs5
先看效果图:页面js:/***日志类型store**/varlogTypeStore=Ext.create(‘Ext.data.Store‘,{fields:[‘type‘,‘name‘],data:[{"type":"1","name":"登录日志"},{"type":"2","name":"操作日志"}]});/***搜索面板**/varpanel=Ext.create(‘Ext.form.P
- Sencha ExtJS5.x 的数据包Data Package讲解
苏生米沿
数据包是你应用程序加载和保存所有数据的地方。它包含大量的类,其中有三个比其它所有的都更重要。它们是:Ext.data.Model/Store/Ext.data.proxy.Proxy这三个类几乎被所有的应用程序使用,并且得到了许多周围类来支持。datapackageModels模型数据包的核心就是Ext.data.Model.一个模型就在应用程序中代表了一个实体,举个例子,一个电子商务应用程序可能
- [ExtJS5学习笔记]第十九节 Extjs5中通过设置form.Panel的FieldSet集合属性控制多个field集合
苏生米沿
senchaExtJS5利剑Extjs5extjs5sushengmiyan
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39209533官方例子:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.form.FieldSet本文作者:sushengmiyan--------------------------------------------------
- [ExtJS5学习笔记]第十八节 Extjs5的panel的dockeditems属性配置toolbar
苏生米沿
senchaExtJS5利剑Extjs5extjs5paneldockeditemstoolbarsushengmiyan
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39156321官方例子:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.panel.Panel-cfg-dockedItems本文作者:sushengmiyan------------------------------------
- [ExtJS5学习笔记]第十六节 Extjs5使用panel新增的ViewModel属性绑定数据
苏生米沿
senchaExtJS5利剑Extjs5extjs5panelviewmod
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39078627sencha官方API:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.panel.Panel-cfg-viewModel本文作者:sushengmiyan-------------------------------
- ExtJS学习之路碎碎念
weixin_30635053
运维javascript
2015-11-2610:30:30大二暑假就准备和一个同学用ExtJS和SSH共同开发一个大学生实习管理系统,当时在网上搜关于ExtJS5相关教程,关于ExtJS5的教程甚少,不过官方提供了很多样例和英文API,关于EXTJS5的学习一头雾水,就想放弃ExtJS,当时抱了本《锋利的JQuery第二版》看,对任何东西都浅尝辄止。后来同学勤勤勉勉通过看官方样例和查阅网上资料,对照最新英文API和旧版
- Sencha ExtJS5.x的类系统讲解
苏生米沿
ExtJS5拥有许许多多的类,到目前为止使用ExtJS开发的人员有200多万,他们来自不同的地域,拥有不同的背景。所以这样说来,在如下这些代码结构上提供一份公共代码结构上我们就面临着一个巨大的挑战:1.大家都了解和熟悉,并且简单和容易学习2.开发迅速,调试方便,部署的时候也没有痛苦3.组织性强,可扩展性强,可维护性强JavaScript是面向原型类的语言,其最强大的特性就是自由,解决不同的问题可以
- 升级到 ExtJS 5的错误解决方案
ylx4399
extjs5.1
Posted周一,03/30/2015-01:22byadmin最近为公司的一个项目创建了一个ExtJS5的分支,顺便记录一下升级到ExtJS5所遇到的问题以及填掉的坑。由于SenchaCmd的senchaappupgrade命令无法正常地讲项目升级至ExtJS5(或许是方式不对),所以我的做法是新建一个ExtJS5的项目,然后把app包拷贝过去,然后慢慢修复报错的东西,直到项目可以正常跑起。说在
- ExtJS5.1学习笔记——Grid组件的基本用法
yuxiyu!
ExtJS
Ext中的Grid组件是一个非常有用的组件,它类似于HTML中的表格,但是功能比普通的表格多得多,如下图所示:下面记录Grid组件的基本用法:*{font-family:"微软雅黑";}Ext.onReady(function(){Ext.define('Person',{//Grid中的数据模型extend:'Ext.data.Model',fields:['name','sex','age',
- Extjs5 Tab标签右键单击菜单
yelong0201
Extjs5extjs标签tab菜单
Extjs5Tab标签右键单击菜单在使用Extjs的tabclosemenu时,发现需要双击右键才能弹出标签操作菜单,不符合我们的使用习惯,但是又没有找到相关的配置来实现单击右键显示菜单,我的解决办法是重写tabclosemenu的onAfterLayout方法,添加鼠标单击监听事件,在右键单击时调用tabclosemenu中的onContextMenu方法:代码:{ptype:'tabclose
- Extjs Form用法详解(适用于Extjs5)
weixin_34311757
ExtjsForm是一个比较常用的控件,主要用来显示和编辑数据的,今天这篇文章将介绍ExtjsForm控件的详细用法,包括创建Form、添加子项、加载和更新数据、验证等。本文的示例代码适用于Extjs4.x和Extjs5.x,在Extjs4.2.1和Extjs5.0.1中亲测可用!本文由齐飞(
[email protected])原创,并发布在http://www.qeefee.com/artic
- ExtJS 5.1 TabReorderer plugin
weixin_30788731
Description在ExtJS5.1中使用tabpanel,要求每个tab可以拖动,顺序可以改变。tabpanel默认是不支持的,不过可以加上一个plugin-Ext.ux.TabReorderer。在ExtJS官网(http://docs.sencha.com/extjs/5.1/5.1.0-apidocs/)搜索TabReorderer可以查看其源码,发现其继承自Ext.ux.BoxReo
- [ExtJS5学习笔记]第七节 Extjs5的组件components及其模板事件方法学习
weixin_30553777
本文地址:http://blog.csdn.net/sushengmiyan/article/details/38487519本文作者:sushengmiyan-------------------------------------------------------------资源链接-------------------------------------------------------
- ExtJs5.1.1使用中问题集锦
weixin_30421525
1.获取gridfilter对象:grid.getStore().getFilters().items2.获取gridfilter后把filter对象转换成json格式字符串:grid.getStore().proxy.encodeFilters(filters)3.获取store的当前页数,每页条数:grid.getStore().currentPage/grid.getStore().page
- Extjs5.1学习模仿登录界面
jhui123456
Extjs5.1学习@jhui背景使用window732位系统,也可以是linux。1.下载extjs5.1.0的gpl版本的压缩文件。2.解压到F:\xampp\htdocs\里面3.F:\xampp\htdocs\目录下,新建hello_world.js和hello_world1.html空白文件,等下编辑。注意链接文件js和css使用了经典版的主题。下面是hello_world1.html文
- Extjs GridPanel用法详解(单元格点击事件)
Y_FQY
extjsextjs
ExtjsGridPanel提供了非常强大数据表格功能,在GridPanel可以展示数据列表,可以对数据列表进行选择、编辑等。在之前的ExtjsMVC开发模式详解中,我们已经使用到了GridPanel,今天我们来介绍一下Extjs中GridPanel的详细用法。本文的示例代码适用于Extjs4.x和Extjs5.x,在Extjs4.2.1和Extjs5.0.1中亲测可用!本文由齐飞(youring
- Ext JS 自定义事件
wangchunbo007
ExtJS允许我们使用Ext.mixin.Observable关键词混入(Mixin)到类中来自定义事件。Ext.mixin.Observable为ExtJS5&6提供了事件发布的公共接口。下面的这个例子展示了如何在studentname更改时使用mixins发布事件。Ext.define('Student',{config:{name:''},mixins:{observable:'Ext.ut
- Extjs5.1学习(一)panel
jhui123456
一、背景使用window732位系统,也可以是linux。1.下载extjs5.1的gpl版本的压缩文件。2.解压到F:\xampp\htdocs\里面3.F:\xampp\htdocs\目录下,新建app.js和index.html空白文件,等下编辑。二、编写代码文本打开index.html,输入代码ExtJSKitchenSink打开app.js文件,输入代码varmypanel=null;/
- Ext JS 5的声明式事件监听
weixin_33805557
ui
原文:DeclarativeListenersinExtJS5在前文《在ExtJS5使用ViewControllers》中,简单的介绍了ExtJS5的一项重要改进——声明式事件监听。在本文,将深度探讨如何使用声明式事件监听啦简化应用程序的视图并减少自定义组件的样板代码。注意:文章假设你使用的是ExtJS5.0.1或更高版本。什么是声明式事件监听?所谓的“声明式事件监听”,就是指定义在类主体中的监听
- [ExtJS5学习笔记]第二十一节 Extjs5中使用config配置给ext.widget或者create方法传递参数...
weixin_30377461
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39252805官方例子:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.Class-cfg-config本文作者:sushengmiyan-----------------------------------------------
- Ext子页面操作父页面
Baron的博客
html
Extjs版本:我用的是Extjs5获取父页面里面控件对象:top.Ext.getCmp(id)top.Ext.getCmp(id).操作加上top就可以进行操作了本人非常喜欢做开发,自己做的有关于互联网学习的网站:www.xueyizhi.com,对应的论坛:bbs.xueyizhi.com,技术QQ群:175603095,非常欢迎大家过来一起学习!
- [ExtJS5学习笔记]第二十二节 Extjs5中使用beforeLabelTpl配置给标签增加必填选项星号标志...
weixin_30343157
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39395753官方例子:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.form.Labelable-cfg-beforeLabelTpl本文作者:sushengmiyan------------------------------
- Extjs5.1 Grid动态插入一行数据并置顶
你是我的小眼睛儿
ext
最近找了下Grid动态插入的方法,但是网上的方法都不好使,版本太低了,毕竟现在用ext的比较少了,所以使劲看API,功夫不负有心人,终于找到了个有用的方法:所以,顺利解决问题grid.getStore().insert(0,{"name":"queue","age":18});//动态添加一条数据到Grid里alarmGrid.getView().refresh();//刷新行号alarmGrid
- Extjs7.1的汉化
SHIYIBODEC
extjs前端
1、背景以前一直在用extjs5,汉化是从网上拼凑来的。使用了extjs7.1以后,突然发现官方已经做好了汉化,只需要简单配置即可。2、配置对于使用cmd创建的extjs程序,只需在app.json中添加配置即可。2.1、添加汉化包"requires":["font-awesome","ext-locale",//此行为新增//"calendar",//"exporter","pivot"],2.
- Extjs7.1的汉化
SHIYIBODEC
extjs前端
1、背景以前一直在用extjs5,汉化是从网上拼凑来的。使用了extjs7.1以后,突然发现官方已经做好了汉化,只需要简单配置即可。2、配置对于使用cmd创建的extjs程序,只需在app.json中添加配置即可。2.1、添加汉化包"requires":["font-awesome","ext-locale",//此行为新增//"calendar",//"exporter","pivot"],2.
- extjs的各个版本的下载地址
阿米米米
Extjs最新版下载链接:http://www.sencha.com/products/extjs/download/其它版本下载:Extjs5beta版下载链接:http://cdn.sencha.com/ext/beta/ext-5.0.0.736.zipExtjs4.2.1下载链接:http://cdn.sencha.com/ext/gpl/ext-4.2.1-gpl.zipExtjs4.0
- Extjs各版本的下载链接
yipanbo
ExtJs
Extjs的版本繁多,本文收集了Extjs各个版本的下载链接,包括官网和非官网的,以及各种汉化版api,欢迎大家下载分享。Extjs最新版下载链接:http://www.sencha.com/products/extjs/download/其它版本下载:Extjs5beta版下载链接:http://cdn.sencha.com/ext/beta/ext-5.0.0.736.zipExtjs4.2.
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多