diff --git a/.gitignore b/.gitignore index 9bea433..d97fb34 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ .DS_Store +node_modules/ +dist/ diff --git a/docs/README.md b/docs/README.md index 688d557..660856b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,59 +1,92 @@ +# BUI 官方文档 1.7.x -# BUI 文档 1.6.x +

+ + +

-## 订阅号 +## 简介 - +?> BUI 是一个快速构建界面交互的UI组件框架,集动态组件、静态组件,模块化,单页路由于一身,专注webapp开发,完美嵌入各个平台 ( 微信公众号,微信小程序webview,聆客,钉钉,淘宝,支付宝等 ),亦可以跟其它第三方平台打包成独立应用( Bingotouch ,Cordova ,Dcloud ,APICloud ,Appcan 等)。 -?> 我们的订阅号, 专注BUI App移动开发, 正在连载中, 会陆续整理一些相关的文章跟案例, 您也可以给我们留言. -| **描述** | **修订日期** | -|:--------------------|---------------:| -| BUI 入门到进阶知识梳理 |2018-05-18 | -| BUI 1.5.x 文档更新 |2018-11-06 | -| BUI 1.5.1 文档更新 |2019-1-14 | -| BUI 1.5.2 文档更新 |2019-3-19 | -| 更新数据驱动章节 |2019-4-01 | -| 更新模块生命周期章节 |2019-5-29 | -| 更新部分章节 |2019-12-05 | -| 1.6.0 |2020-3-31 | -| 更新混入,组件化,权限,发布订阅等章节 |2020-4-20 | +### 特点优势 -!> 注意: `1.6.x`,`1.5.x` 的切图规范为 `750px` 设计稿, `1.4.x` 旧版切图规范为 `540px` 设计稿, `1.4.x`不能直接替换更新, 请先确保你的文档跟你当前开发的bui版本一致. `bui.version`可以查看版本, `bui.currentPlatform`可以查看当前`bui.js` 属于哪个平台. +- 开箱即用 +- 零配置路由 +- 完美还原界面 +- 跨平台适配 +- 按需加载 +- 一次性加载 +- 单页开发(SPA)媲美原生的交互效果 +- 多页开发(MPA) +- 模块化开发 +- 组件化开发 +- 数据驱动开发 +- DOM开发 +- jQuery开发 +- ES6开发 +- NPM模块 +- less or sass +- ... -## 简介 +> BUI还提供[编辑器插件 BUI-Fast](https://github.com/imouou/BUI-Fast-Snippets/),[buijs-cli工程构建工具](chapter1/installation),开发速度嗖嗖嗖。 -?> BUI 是用来快速构建界面交互的UI框架, 专注webapp开发, 开发者只需关注业务的开发, 界面的布局及交互交给BUI, 开发出来的应用, 可以嵌入平台 ( 微信公众号, 微信小程序webview, 聆客, 钉钉, 淘宝, 支付宝等 ), 亦可以跟其它第三方平台打包成独立应用( Bingotouch , Cordova , Dcloud , APICloud , Appcan 等), 最终可以全跨平台展示 (包括Ipad). -## 案例效果 +### 适用场景 + +* 中小型应用webapp开发; +* 微信公众号开发; +* 微信小程序内嵌webview开发; +* 支付宝,钉钉,淘宝内嵌webview开发; +* demo交互原型投标; + + +### 第三方打包独立应用 +- Cordova +- DCloud +- APICloud +- AppCan +- ... + +?> 可以下载BUI安卓体验包,用不同平台打包以后的效果. 进入下载中心 + +### 谁在使用 + +移动、电信、地铁、政府、银行等行业。 + + +## 案例效果 ?> 基于BUI制作的`高保真还原`App交互效果 -| | | | +| | | | |:--------------------:|:---------------:|:---------------:| | 网易新闻: 耗时`半天` |QQ: 耗时`1天` | 微信: 耗时`2小时` | -!> 默认的案例及模板都是单页开发, 对于理解模块有一定的帮助. 以上案例都可以在[官网的资源](http://www.easybui.com/resource/)找到 +!> 默认的案例及模板都是单页开发,对于理解模块有一定的帮助. 以上案例都可以在[官网的资源](http://www.easybui.com/resource/)找到 +**扫码体验Demo** -## 扫码体验Demo ![BUI Demo](http://www.easybui.com/static/images/qrcode.png) +**下载安卓体验版** -## 下载安卓体验版 ![BUI Demo](http://www.easybui.com/static/images/qrcode/bui_dcloud_qrcode.png) 基于Dcloud打包 + + ## 开发者约定 ### 1. 问题反馈 -请先在文档搜索, 如果没有找到结果, 请使用[issue反馈](https://github.com/imouou/BUI-Guide/issues),有空就会回复. 如果觉得是控件的BUG, 请先以官网的相关[控件例子](http://www.easybui.com/demo/)作为参照样例测试. 问题反馈尽量配合截图或者使用场景说明, 便于理解. +遇到问题,请先在文档中搜索,如果没有找到结果,请使用[issue反馈](https://github.com/imouou/BUI-Guide/issues),问题反馈尽量配合截图或者使用场景说明,百分百回(拒绝Q群及QQ私聊等渠道的信息)。 ### 2. 版本更新 -> cdn beta版地址: 用于修复问题后快速发布,可以下载使用, 不建议直接引入地址用于生产环境. +> cdn beta版地址: 用于修复问题后快速发布,可以下载使用,不建议直接引入地址用于生产环境. - https://cdn.jsdelivr.net/npm/buijs/lib/latest/bui.css - https://cdn.jsdelivr.net/npm/buijs/lib/latest/bui.js @@ -61,14 +94,14 @@ > 如果要指定版本 https://cdn.jsdelivr.net/npm/buijs@1.5.40/lib/latest/bui.js -## 文档下载 +## 文档下载 [BUI文档](https://github.com/imouou/BUI-Guide/) -## 在线阅读 +## 在线阅读 [BUI在线阅读](https://imouou.github.io/BUI-Guide/) -## 链接 +## 链接 [BUI官网](http://www.easybui.com) \ No newline at end of file diff --git a/docs/_navbar.md b/docs/_navbar.md index 7788d3f..f34b18b 100644 --- a/docs/_navbar.md +++ b/docs/_navbar.md @@ -1,13 +1,21 @@ -- [文档](/) +- [入门](/) +- [高级](chapter2/) - [组件](controls/) - [Demo](http://www.easybui.com/demo/) -- [文章](article.md) - - [BUI 专栏](article.md) - - [Link 专栏](linkapi.md) -- API - - [BUI API](api/index.html ':ignore') +- API文档 + - [BUI 控件API](api/index.html ':ignore') - [Link 原生API](http://docs.bingocloud.cn/btapi/) -- 链接 - - [1.4.x 旧版教程入口](http://www.easybui.com/guide-1.4.x/) - - [1.5.x 旧版教程入口](http://www.easybui.com/guide-1.5.x/) +- 专栏 + - [Link 专栏](linkapi.md) + - [BUI 专栏](article.md) + +- 帮助 + - [我要提问](https://github.com/imouou/BUI-Guide/issues) + - [查看留言](https://github.com/imouou/BUI-Guide/issues?q=is:issue+is:closed) + - [常见问题](help.md) +- 链接 + - [1.4.x 文档](http://www.easybui.com/guide-1.4.x/) + - [1.5.x 文档](http://www.easybui.com/guide-1.5.x/) + - [1.6.x 文档](http://www.easybui.com/guide-1.6.x/) + - [更新日志](changelog.md) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 48a610d..3b2bf69 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,60 +1,24 @@ -* 入门 - * [介绍](chapter1/about.md) - * [安装](chapter1/installation.md) - * [快速开始](chapter1/quickstart.md) - * [多页路由](chapter1/multipage.md) - * [数据交互](chapter1/request.md) - * [布局](chapter1/layout.md) - * [调试](chapter1/debug.md) - - +* [概述](/) +* [快速入门](chapter0/quickstart.md) +* [开发规范](chapter0/standard.md) +* 一、创建一个应用 +* 开始 + * [1. 创建工程](chapter0/create.md) + * [2. 创建新页面](chapter0/createpage.md) + * [3. 跳转与传参](chapter0/router.md) + * [4. 数据请求](chapter0/ajax.md) + * [5. 公共方法与配置](chapter0/global.md) + * [6. 布局](chapter0/layout.md) + * [7. 跨域调试](chapter0/debug.md) * 进阶 - * [模板](chapter2/template.md) - * [模块](chapter2/loader.md) - * [组件化](chapter2/component.md) - * [组件通讯](chapter2/link.md) - * [单页路由](chapter2/router.md) - * [弹窗加载组件](chapter2/page.md) - * [历史记录](chapter2/history.md) - * [权限处理](chapter2/auth.md) - * [控件用法](chapter2/controls.md) - * [动画交互](chapter2/animate.md) - * [常用方法](chapter2/method.md) - * [插件扩展](chapter2/extend.md) - * [发布订阅](chapter2/emitter.md) - -* 数据驱动 - * [介绍](store/about.md) - * [store 实例](store/distance.md) - * [计算属性与侦听器](store/computed.md) - * [模板语法](store/template-synatax.md) - * [属性与值绑定](store/attribute.md) - * [class与style绑定](store/class.md) - * [模板渲染](store/template.md) - * [表单绑定](store/form.md) - * [事件处理](store/event.md) - * [混入](store/mixins.md) - * [数据调试](store/debug.md) - * [综合案例](store/case.md) - -* 提高效率 - * [BUI-Fast 编辑器插件](https://github.com/imouou/BUI-Fast-Snippets/) - * [buijs cli工具](https://github.com/imouou/buijs-cli) - * [模板库](https://github.com/imouou/BUI-Template) - -* 规范 - * [切图规范](ui/cutimage.md) - * [开发规范](ui/standard.md) - * [样式规范](ui/style.md) - -* 帮助 - * [我要提问](https://github.com/imouou/BUI-Guide/issues) - * [查看留言](https://github.com/imouou/BUI-Guide/issues?q=is:issue+is:closed) - * [常见问题](help.md) - * [更新日志](changelog.md) + * [8. 提高效率](chapter0/buifast.md) + * [9. 控件](chapter0/control.md) + * [10. 组件](chapter0/component.md) + * [11. 模块](chapter0/module.md) + * [12. 表单与校验](chapter0/form.md) + * [13. 数据存储](chapter0/storage.md) + * [14. 登录权限](chapter0/login.md) + * [15. 第三方插件](chapter0/import.md) + * [16. 打包部署](chapter0/package.md) + * [17. 版本升级](chapter0/update.md) -* 链接 - * [1.4.x 旧版教程入口](http://www.easybui.com/guide-1.4.x/) - * [1.5.x 旧版教程入口](http://www.easybui.com/guide-1.5.x/) - * [Link 专栏](linkapi.md) - * [BUI 专栏](article.md) diff --git a/docs/changelog.md b/docs/changelog.md index 2716bb7..9b4f59b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -3,8 +3,123 @@ ## 目录 [TOC] +## 1.7.0 20220101 + +### 升级指南 + +** 一, 资源替换: ** + +执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效 + +``` +# 更新 webapp 平台 bui.css, bui.js +$ buijs update + +# 更新 dcloud 平台 bui.css, bui.js +$ buijs update -p dcloud + +# 更新 apicloud 平台 bui.css, bui.js +$ buijs update -p apicloud + +# 更新 appcan 平台 bui.css, bui.js +$ buijs update -p appcan +``` + +## 重要更新 +这个可能会对原有页面,组件造成影响的地方,统一了路由跳转,刷新,组件,弹窗组件的接收参数,如果涉及到 'false' 'true' 都统一转成布尔值 false true ,这个如果你之前的判断是 params.xxx == 'false' 之类的,要改成 params.xxx === false 。 + +## 解决组件局部样式不影响全局问题 + + +## bui.loader +1. 修正路径 “/pages” 加载不到路径问题 +2. 样式局部作用域, .xxx,.xxxx {} 之类的还没匹配 +3. 修正多页 loader.import 导入资源地址出错问题 +4. 新增 syncLoad 方法,同步组件会让业务交互更加清晰,具体查看api的用法 +5. 优化 module.$ module.props (包含page) + +## bui.store +1. 修正二级数组操作不生效问题 +2. 新增 b-model-lazy 的处理 +3. 修正 b-model 多个 input 不同步的问题 +4. 新增 b-prop(不合并参数),b-props(合并旧参数) 的组件参数同步 +5. 增加数组操作不触发索引值问题 +6. b-focus 在组件内部不触发问题 +7. 优化数组操作 +8. 新增 b-linked (当linked里面的值变更的时候,触发关联) b-trigger 属性(主动触发关联) +9. 新增 $key,$key1,$key01 展示数组的动态索引 + +## bui.router +1. bui.load 跳转传参统一为字符串 +2. 修正 双问号的url传参 + +## bui.setUrlParams +1. 优化setUrlParams + +## bui.slide +1. 新增 getItem 方法 +2. 新增 video 的处理 + +## bui.tab +1. 新增 getItem 方法 +2. 新增 setItem 方法 +3. 新增 getItemParam 方法 +4. 新增 setItemParam 方法 + +## bui.dropdown +1. 修正在右上角的位置问题 +2. 新增 getItem 方法 +3. 第一次有值会触发onChange + +## bui.select +1. 修正静态结构结合vue一起使用的情况会导致vue数据出不来问题 +2. 新增 selected 方法,不改变原本选中数据的情况下,选中新的值 +3. 第一次有值会触发onChange + +## bui.searchbar +1. 新增 readonly, placeholder 参数及方法 + +## bui.number +1. 新增 parentId ,用于多个number组件的渲染 + +## bui.accordion +1. 优化结构,支持同级或者嵌套的形式 + + +## bui.levelselect +1. 新增对数据层级不确定的交互处理 +2. 新增分隔符及导航滚动的配置 + + +## bui.list +1. 修正请求参数含有中文被转码问题 + +## bui.unit +1. 新增filterField 支持深层次数据 + +## bui.stepbar +1. 新增 getItem 方法 + +## bui.pickerdate +1. 修复values的取值问题 -## 1.6.3 20201109 + +## bui.upload +1. 修正上传控件的选择相册问题 + + +## bui.page +1. 修正样式没有局部作用域问题 + + +## bui.array +1. 优化compare, remove,delete 方法 + +## bui.rating +1. 新增clickFull 参数,是否第一次点击为全星 + + +## 1.6.6 20210802 ### 升级指南 @@ -26,9 +141,193 @@ $ buijs update -p apicloud $ buijs update -p appcan ``` +## bui.store +1. 修复数组在computed多次的时候,只有最后一个有效; +2. 优化 b-show, b-hide, b-visible 对数组的长度支持; +3. 修复 数组层级较深时,删除导致报错的问题; +4. 把新增 setState 方法,把数组,对象都放到这个方法统一处理; + +## bui.viewport +1. 优化viewport的参数控制。 + +## bui.upload +1. 修复默认不传data报错问题。 + +## bui.hint +1. 修复手动控制无效的问题。 + +## bui.select +1. 修复点击选择框无效 +2. 修复id跟trigger一样导致的问题 +3. 修复搜索结果遮挡问题 + +## bui.pickerdate +1. 修复格式化 MM-dd hh:mm + +## bui.levelselect +1. 优化 trigger 参数,支持动态创建 + +## bui.stepbar +1. 新增 direction 参数 +2. 新增 onChange 参数 + +## bui.actionsheet +1. 新增 disable 参数 + +## bui.tab +1. 新增 add,load,back,remove 等方法 + +## bui.list +1. 新增 replace 方法,用于清空数据并修改参数 +2. 新增 getData,getItem 方法,获取对应的数据对象 + +## 1.6.5 20210511 + +### 升级指南 + +** 一, 资源替换: ** + +执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效 + +``` +# 更新 webapp 平台 bui.css, bui.js +$ buijs update + +# 更新 dcloud 平台 bui.css, bui.js +$ buijs update -p dcloud + +# 更新 apicloud 平台 bui.css, bui.js +$ buijs update -p apicloud + +# 更新 appcan 平台 bui.css, bui.js +$ buijs update -p appcan +``` + +### bui.swipe +1. 修复滑动类冲突 + +### bui.listview +1. 修复滑动类冲突 + +### bui.sidebar +1. 修复滑动类冲突 + +### bui.store +1. 修复b-click 的传参修复; +2. 新增 $itemIndex, $itemText, $itemHtml, $itemId, $item 等参数 直接返回跟数组索引相关的参数, 比 $index b-target 简单些。 + +### bui.select +1. 修复搜索的选项点击会触发2次,后续操作也无法选中 + + +### bui.dialog +1. 新增 disableOpen,enableOpen,disableClose,enableClose等方法 + + +## 1.6.4 20210202 + +### 升级指南 + +** 一, 资源替换: ** + +执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效 + +``` +# 更新 webapp 平台 bui.css, bui.js +$ buijs update + +# 更新 dcloud 平台 bui.css, bui.js +$ buijs update -p dcloud + +# 更新 apicloud 平台 bui.css, bui.js +$ buijs update -p apicloud + +# 更新 appcan 平台 bui.css, bui.js +$ buijs update -p appcan +``` + + +### API文档错乱问题 +### 适配新机型 iphonex iphone12 +### bui.slide, bui.sidebar, bui.swipe, bui.listview, bui.pullrefresh 全面支持PC滑动交互. + +### bui.router +1. 新增路由对?module=pages/xxx 的自动解析, 便于跟第三方网址配合 +2. 修复 fisrstAnimate 路由跳转优先问题 +3. 修复 beforeLoad 参数问题 +4. 新增 #module.id 编译成页面id, 实现局部样式处理, 例如 #module.id header {} 就会替换成页面id. +5. 修复路由的progress问题 +6. 新增后退传参给show生命周期 + +### bui.store +1. 模板对component 标签的支持, 自动编译; +2. 修复b-click 传数字大于16位的时候, 被四舍五入的问题 + +### bui.select +1. 静态自定义模板的选中问题; +2. 修复check 事件获取 this.value 问题; + +### bui.dialog +1. 修复通过iframe调用父层的对话框,会导致按钮报错问题; + +### bui.pickerdate +1. 新增values方法, 设置获取多个日期的值 + + +### bui.slide +1. 修复跨屏效果; +2. 支持PC滑动 + +### bui.sidebar +1. 支持PC滑动 + +### bui.tab +1. 支持PC滑动 +2. 支持组件传参, 需要everytime:true才会有效. + +### bui.listview +1. 支持PC滑动 + +### bui.pullrefresh +1. 支持PC滑动 + +### bui.swipe +1. 支持PC滑动 + +### bui.number +1. 新增小数点支持; + +### bui.platform +1. 修复了 isMac 的判断, 之前会对iphone12 跟 mac 造成相同类型. +2. 新增isPC方法, 非(安卓,iphone,ipad) 都算是PC端 +3. 新增isMobile方法, 安卓,iphone,ipad 都算是移动端 + +### bui.floor +1. 修复若干问题 + + +## 1.6.3 20201109 + +### 升级指南 + +** 一, 资源替换: ** + +执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效 + +``` +# 更新 webapp 平台 bui.css, bui.js +$ buijs update + +# 更新 dcloud 平台 bui.css, bui.js +$ buijs update -p dcloud + +# 更新 apicloud 平台 bui.css, bui.js +$ buijs update -p apicloud + +# 更新 appcan 平台 bui.css, bui.js +$ buijs update -p appcan +``` -### 重要更新 -内部创建新项目, 如果是link轻应用, 请使用 `buijs create -p link`, 原本的 `buijs create -p bingotouch` 平台的bui.js 已经更新为 cordova 8.x 的平台, 引入方式也有一些新的变化. ### bui.store @@ -39,7 +338,7 @@ $ buijs update -p appcan ### bui.router 1. 新增 swipe ,swipeBack 等参数, 默认为false, true可以滑动返回. - +2. 路由支持滑动返回之类的操作 ### bui.loader @@ -65,14 +364,21 @@ $ buijs update -p appcan 1. 优化 需要绑定多一次事件才能触发 +### bui.levelselect +1. bui.array.delete 会导致 store的数组整个清除; + +### 工程化 +1. 对import 之类的支持 +2. node 工程在修改的过程, 只要出现es6的内容被编译的时候, 会出现require无法找到等问题; + -## 1.6.2 2020426 +## 1.6.2 2020722 ### 升级指南 ** 一, 资源替换: ** -执行命令, 选择你使用的平台, buijs 需要更新到 1.6.0 命令才会生效 +执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效 ``` # 更新 webapp 平台 bui.css, bui.js @@ -88,14 +394,85 @@ $ buijs update -p apicloud $ buijs update -p appcan ``` +### bui.store + +1. b-model 在ios重复获取焦点问题 +2. 新增 unwatch 的实现 +3. 新增 对象及数组的深度监听 +4. 新增 数组的动态索引监听 +5. 新增 connect 方法, 建立两个实例的关联 +6. 新增 disconnect 方法, 取消关联 +7. 修复 b-show 反选问题 + ### 1. component 1. 完善组件的交互 ### 2. bui.dropdown 1. 修复自定义三级菜单的时候, 定位问题; -### 3. bui.unit.getAttributes -1. 支持对象转换 +### 3. bui.unit +1. 新增属性转对象方法 bui.unit.getAttributes +2. 新增检测数字或者日期区间方法 bui.unit.between +3. 新增数字超过1万转成小数点1位方法 bui.unit.numberunit + +### 4. bui.date +1. 新增 bui.date.count 计算日期方法 +2. 新增 2020-12-18T09:23:15.123 , Fri Dec 18 2020 09:23:15 GMT+0800 (中国标准时间) 两种日期的格式转换 +3. 新增 bui.date.fromnow 方法, 返回多少小时前 + +### 5. bui.loader +1. 新增 loader.wait 方法 +2. 新增 loader.one 方法 +3. 修复 多层相互依赖导致不执行问题 +4. 修复 模块的map获取到的是绝对路径问题,改为相对路径 +5. 修复 module.exports 在 loader.load 里面多次获取不到的问题; +6. 新增 loader.global 方法, 用于定义全局方法或变量, 执行 npm run build 以后,新的工程会导致整个js变成闭包,原本var声明的变量,变成局部变量. + +### 6. bui.history +1. 新增 getParentParams 方法 +2. 新增 getParentComponent 方法 +3. 修复历史记录导致的多页无法初始化问题 +4. 修复使用page导致历史记录获取报错问题 + +### 7. bui.select +1. 新增 搜索对自定义 field 字段的支持 + + +### 8. bui.router +1. 修复 loadpart 方法修改了路由id问题; +2. 修复 back 的时候偶尔会出现拿不到上个页面模块的方法的情况. + +### 9. bui.upload +1. 修复安卓5上传问题 + +### 10. bui.page +1. 新增对component的编译支持. +2. 修复 needRemove 无效问题; +3. 新增 setParam 方法; +4. 新增 dialogid 参数; +5. 新增 reload 方法 + +### 11. bui.array +1. 修复 bui.array.set 对索引的支持 + +### 12. bui.levelselect +1. 新增 reset 方法 +2. 修复 option data数据的时候,导致弹出层错位问题. + + +### 13. bui.dialog +1. 新增 top 方法 + + +### 14. bui.searchbar +1. 优化 value 方法支持设置 + +### 15. bui.hint +1. 新增 onHided 参数, 隐藏以后才执行回调 + +### 16. bui.tab +1. 新增 data ,position,iconPosition 等参数, 支持tab动态化 +2. 修复 菜单滚动的时候触发整个tab滑动问题 @@ -105,7 +482,7 @@ $ buijs update -p appcan ** 一, 资源替换: ** -执行命令, 选择你使用的平台, buijs 需要更新到 1.6.0 命令才会生效 +执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效 ``` # 更新 webapp 平台 bui.css, bui.js @@ -146,6 +523,7 @@ $ buijs update -p appcan + ## 1.6.0 2020412 ### 升级指南 @@ -170,15 +548,15 @@ $ buijs update -p appcan ### 重要更新 -建议重新安装 `buijs`, `bui-fast` 插件. - bui-page 使用弹性结构, 模板等示例都统一更新.适应性更强, 但要注意对旧项目的头部有没有影响(没改过颜色的一般没影响); +es6 工程化 ok +gulpjs 模块更新 ok +解决Dcloud平台的IOS打包跨域问题 ok +IOS wkwebview 加多一个配置, `bui.isWebapp = false;` 的情况下,加多一个配置 ``` - // 安卓无跨域问题, 默认bui.ajax 就可以 if( bui.platform.isIos() ){ - bui.isWebapp = false; // 请求使用原生 bui.config.ajax = { needNative: true @@ -194,6 +572,21 @@ if( bui.platform.isIos() ){ } ``` +待办: +1. bui.list 实现本地存储, 有数据自动展示本地数据, 刷新执行异步操作, 或者刷新的时候用户执行一个方法才会异步重新请求. +2. 新增ui组件的快速加载方式; ok +3. 模块的选择器的局部加载要做好局部划分, module.$ 选择器 不处理 +4. bui.page 实现局部加载,弹窗加载 ok +5. loader的局部加载好好考虑 ok +6. loader.import 能否同步 ok +6. bui.history 能够更方便的执行 ok +7. bui.form 来处理表单的验证及数据的缓存 +8. bui.dropdown bui.select 的自定义通过input的处理,兼容外部表单验证 +9. bui.list 实现聊天记录的请求方式 ok +10. 增加工程对typescript 的支持; +11. 单页一个文件的探索; + + ### 控件更新 #### bui.page @@ -660,6 +1053,9 @@ link轻应用在安卓9,在打开第2次的时候,会出现获取不到宽高的 ### bui.levelselect 3. 修复全屏以后,蓝色区域不自适应问题 +### bui.ajax +1. 新增对相对路径的支持,这样可以在模块旁边放测试数据 + ### bui.list 1. 调用init 以后重复初始化loading问题 2. 修复数据返回对象,数组却是字符串的奇葩格式问题 diff --git a/docs/chapter0/ajax.md b/docs/chapter0/ajax.md new file mode 100644 index 0000000..21ac5fb --- /dev/null +++ b/docs/chapter0/ajax.md @@ -0,0 +1,116 @@ +# 数据请求 + +?> 利用ajax+store的例子,实现一个普通列表的请求与展示。 + +## 模拟数据 + +1. 我们在main目录下,新建一个`main.json`的列表模拟数据,内容如下: + +*pages/main/main.json* +```json +{ + "status":200, + "data":[{ + "id":"bui1", + "title":"文章标题1", + "image":"images/applogo.png", + "desc":"文章的内容简介" + },{ + "id":"bui2", + "title":"文章标题2", + "image":"images/applogo.png", + "desc":"文章的内容简介" + },{ + "id":"bui3", + "title":"文章标题3", + "image":"images/applogo.png", + "desc":"文章的内容简介" + }] +} +``` + +2. 修改模板的绑定 + +*pages/main/main.html* + +```html +
+
+ ... +
+
+ +
    + +
+
+
+
+``` + +3. 修改模块,一些简单的绑定使用store的模板即可处理 + +*pages/main/main.js* + +```js +loader.define(function(require, exports, module, global) { + + // 初始化数据行为存储 + const bs = bui.store({ + el: `#${module.id}`, + scope: "list", + data: { + datas: [], + }, + mounted: function(){ + // 请求列表数据 + this.getList({ + url:`${module.path}main.json`, + data: {} + }) + }, + methods: { + getList(opt){ + bui.ajax(opt).then((result)=>{ + // 请求成功就赋值 + this.datas = result.data; + + },function(result,status){ + // 失败 console.log(status) + }); + } + }, + watch: {}, + computed: {}, + templates: { + tplList:function(data){ + let html = ""; + data.forEach(item => { + html +=`
  • +
    +
    ${item.title}
    + +
  • ` + }); + + return html; + } + } + }) + + // 返回实例供外部调用 + return bs; +}) +``` + +> 更多store的用法,请查看进阶篇[数据驱动](store/about) + +## 效果预览 + + diff --git a/docs/chapter0/buifast.md b/docs/chapter0/buifast.md new file mode 100644 index 0000000..34d8211 --- /dev/null +++ b/docs/chapter0/buifast.md @@ -0,0 +1,74 @@ +# 提高效率 + +`bui-fast`是一个BUI控件的代码片段,通过简单的控件名即可生成对应的结构及初始化。 + +![bui-fast预览](../static/images/bui-fast/ui-page.gif) + +## 安装bui-fast + +这里以 *VSCode* 为例,通过应用市场搜索 `bui-fast`安装即可。其它编辑器可以查看[使用文档](https://github.com/imouou/BUI-Fast-Snippets) + +![bui-fast预览](../static/images/bui-fast/install.jpg) + + +## 基本使用 + +- html文件中,输入`ui-`,生成结构; +- js文件中,输入`bui-控件名-demo`的形式,输入一个完整的demo例子,再分别粘贴到html模板文件里。 + +*main.html* + +例如:输入 `ui-list-thumbnail` 生成列表带缩略图的结构 + +```html + + +``` + +例如:输入 `ui-box` 生成弹性布局结构 + +```html + +
    +
    +
    +``` + +*main.js* + +例如:输入 `bui-slide-demo` 生成轮播图的初始化代码 + +```js + +// 焦点图 js 初始化: +var uiSlide = bui.slide({ + id:"#uiSlide", + height:380, + autopage: true, + loop: true, + data: [{ + image: "images/banner01.png", + url: "pages/ui_controls/bui.slide_title.html", + },{ + image: "images/banner02.png", + url: "pages/ui_controls/bui.slide_title.html", + }] +}) + +// 焦点图 html 对应的结构: +
    +``` + +![](../static/images/bui-fast/bui-slide-demo.gif) + +更多操作请查看[bui-fast使用文档](https://github.com/imouou/BUI-Fast-Snippets) \ No newline at end of file diff --git a/docs/chapter0/component.md b/docs/chapter0/component.md new file mode 100644 index 0000000..b713d80 --- /dev/null +++ b/docs/chapter0/component.md @@ -0,0 +1,141 @@ +# 组件 + +> 组件:BUI的组件是包含同名的HTML结构及JS代码,按照特定格式组织可以复用的代码,BUI的组件默认是按需加载,也支持一次性加载。 + +## 特点 + +| 特点 | BUI模块 | BUI组件 | ES6模块 +|:--------------------:|:---------------:|:---------------:|:---------------:| +| 静态编译 | 支持 | 支持 | 支持 +| 动态编译 | 支持 | 支持 | 不支持 +| 一次性加载 | 支持 | 支持 | 支持 +| 按需加载 | 支持 | 支持 | 不支持 + +BUI组件跟模块的进一步区别:组件包含 html、js文件,且是默认执行初始化的;模块只有js文件,只定义,不执行。 + + +## 组件定义 + +以轮播图为例,把以下两个文件,放到 `pages/` 目录下的任何位置,建议在 `pages/components/` 目录下,再新建一个`slide`的目录 + +*pages/components/slide/slide.html* + +```html +
    +``` + +*pages/components/slide/slide.js* + +```js +loader.define(function(require, exports, module, global){ + // 1.7.x 支持,接收外部参数 + let props = module.props; + // 1.6.x 支持,接收外部参数 + // let props = bui.history.getParams(module.id); + + // 通过component 的id进行初始化 + props.id = `#${module.id} .bui-slide`; + // 处理默认参数 + props.height = props.height || 200; + props.autopage = true; + props.data = props.data || [{ + image: "http://easybui.com/demo/images/banner01.png"}, + {image: "http://easybui.com/demo/images/banner02.png"} + ]; + + // 初始化: + const uiSlide = bui.slide(props); + + // 抛出组件供外部调用 + return uiSlide; +}) +``` + +## 组件使用 + +只需一行代码(用id进行区分不同的组件)会把高度跟id传到组件中 + +```html + + + + + +``` + +## 组件动态传参 + +动态传参需要等待数据加载完成,再编译组件,component标签加上`delay="true"`属性,直到`loader.delay`才会编译,且只编译一次。 + +*pages/main/main.html* + +```html + +``` + +*pages/main/main.js* + +```js +loader.define(function(require, exports, module, global){ + + // 异步请求 + bui.ajax({ + url: "http://www.easybui.com/demo/json/slide.json", + }).then(function(result){ + // 只编译一次组件 + loader.delay({ + id:"#slide", + param: { + height: 300, + data: result.data + } + }) + }); + +}) +``` + +## 组件同步开发 + +业务中有些接口会比较复杂,需要通过多次调用以后才能拿到最终的值,很容易导致回调地狱,利用es6的`async await`同步开发的方式则可以避免。 + +```js +loader.define(async function(require, exports, module, global){ + + // 同步编译按顺序执行 + + // 1. 同步请求token + let token = await bui.ajax({ + url: "http://www.easybui.com/demo/json/token.json", + data: { + uid:"bui" + } + }) + // 2. 通过token请求接口 + let result = await bui.ajax({ + url: "http://www.easybui.com/demo/json/slide.json", + data: { + token:token.data + } + }) + // 3. 同步编译 + const uiSlide = await loader.delay({ + id:"#slide", + param: { + height: 300, + data: result.data + } + }) + +}) +``` + +!> 注意:同步开发需要编译工程的支持,直接部署或者本地打开的方式都会导致报错。 + +## 组件预览 + +修改浏览器的地址 `index.html#main` 为 `index.html#pages/components/slide/slide` 就可以直接预览效果 + + + +图片为整个页面的预览效果 diff --git a/docs/chapter0/control.md b/docs/chapter0/control.md new file mode 100644 index 0000000..44cff29 --- /dev/null +++ b/docs/chapter0/control.md @@ -0,0 +1,157 @@ +# 控件 + +> 控件:指有交互效果的UI,一般包含HTML结构及JS代码。BUI有50多个交互控件,兼容,灵活,可以组合成上百种交互效果。 + +## 初始化 + +### 轮播图效果演示 +支持手势操作 + +
    + + + +例如:轮播图包含以下代码片段 + +```html +
    +``` + +```js +// 焦点图 js 初始化: +var uiSlide = bui.slide({ + id:"#uiSlide", + height:380, + autopage: true, + loop: true, + data: [{ + image: "images/banner01.png", + url: "pages/ui_controls/bui.slide_title.html", + },{ + image: "images/banner02.png", + url: "pages/ui_controls/bui.slide_title.html", + }] +}) +``` + +控件的具体参数请参考API文档 [slide api](http://easybui.com/demo/api/classes/bui.slide.html) + +> 带中括号的参数为可选,例如`[menu] [width]`,不带中括号的参数为必要项,例如`id` + + +## 控件方法 + +可以通过刚刚的实例`uiSlide`,常用的场景,都能找到对应的方法。 + +```js + +// 自动播放 +uiSlide.start(); + +// 停止播放 +uiSlide.stop(); + +// 跳转下一个 +uiSlide.next(); + +// 获取当前索引 +uiSlide.index(); + +// 跳转第2个图片 +uiSlide.to(1); +// 跳转第2个图片不需要动画 +uiSlide.to(1,"none"); + +``` + +## 动态渲染 + +BUI的控件只初始化一次,无需重复初始化,通过option方法,修改data的数据。 + +```js +// 示例数据 +var data = [{ + image: "images/banner01.png" +}] +// 修改动态值 +uiSlide.option("data",data) +``` + +例子: + +```html +
    +``` + +```js +// 先初始化 +var uiSlide = bui.slide({ +id:"#slide", +height:380, +autopage:true, +data: [] // 数据为空 +}) + +// 异步请求 +bui.ajax({ + url: "http://www.easybui.com/demo/json/slide.json", +}).then(function(result){ + + var data = result.data || []; + // 修改数据 + uiSlide.option("data",data) +}); + +``` + +slide.json 接口返回的数据为: +```js +{ + "status": 200, + "info": "获取成功", + "data": [{ + "image": "images/banner01.png", + "url": "pages/ui_controls/bui.slide_title.html" + },{ + "image": "images/banner02.png", + "url": "pages/ui_controls/bui.slide_title.html" + }] +} +``` + +## 订阅式事件 + +控件的内部绑定了一些方法,在外层重新绑定一次会影响内部实现,通过订阅式监听事件则不会相互影响。 + +例如:监听跳转事件,不管轮播图滑动跳转,点击跳转,还是自动跳转到第几个,都会触发这个回调,展示当前的索引值。 + +```js +uiSlide.on("to",function(){ + let index = this.index(); + console.log(index) +}) +``` + +## 更多控件 + +- BUI控件演示 +- BUI控件API文档 \ No newline at end of file diff --git a/docs/chapter0/create.md b/docs/chapter0/create.md new file mode 100644 index 0000000..3fe073e --- /dev/null +++ b/docs/chapter0/create.md @@ -0,0 +1,98 @@ + + +本文将通过创建一个新应用的方式,涵盖整个应用的开发,`数据请求,接口跨域,模板渲染,store,表单校验,全局方法,数据存储,登录权限,路由传参,自定义组件及传参`等,带您快速了解BUI的基本使用,建议按步骤一步步操作,文档中有不理解或者错误的地方,请通过帮助提问反馈,谢谢。 + +最终完成的效果:[下载bui-demo.zip](/examples/chapter0/bui-demo.zip ':ignore') + + + +``` +账号: easybui +密码: easybui +``` + +# 创建工程 + +!> **完整的创建工程命令如下** 如果没有这些环境,请先安装[node12](https://npmmirror.com/mirrors/node/v12.13.1/)以上,再按步骤一步步安装。 + +```bash +# 创建工程 +buijs create bui-demo +# 进入工程 +cd bui-demo +# 安装工程依赖 +npm install +# 运行预览 +npm run dev +``` + +![构建GIF预览](../static/images/buijs/buijs-create-demo_low.gif) + +## 1. 全局安装 buijs + +`buijs`是一个cli命令工具(需要node 12支持),用于快速构建工程,模板,更新平台等功能。 + +> Windows用户 + +```bash +npm install -g buijs +``` + +> MAC用户 + +```bash +sudo npm install -g buijs +``` +MAC需要加上权限,输入开机密码 + +## 2. 创建单页工程 + +创建名为`bui-demo`的工程模板。 + +```bash +# 创建工程模板 +buijs create bui-demo +# 进入工程目录 +cd bui-demo + +``` + +!> 也可以直接下载 [BUI单页工程开发包](http://easybui.com/downloads/source/bui/bui_router_dev_latest.zip) ,解压后进行第3步安装依赖。 + + +## 3. 安装依赖 + +第1种, 通过npm (部分地区安装较慢) + +```bash +# 安装依赖 +$ npm install +``` + +第2种, 通过[cnpm](https://npmmirror.com/) (推荐) + +```bash +# 安装cnpm +$ npm install -g cnpm --registry=https://registry.npmmirror.com +# 安装依赖 +$ cnpm install +``` + +第3种, yarn安装 +```bash +# 安装 +$ npm install -g yarn +# 安装依赖 +$ yarn install +``` + +## 4. 运行预览 + +执行`npm run dev`会自动打开默认浏览器预览,编辑内容实时刷新。 + +```bash +# 运行预览 +$ npm run dev +``` + +![预览图](../static/images/template/preview.png) diff --git a/docs/chapter0/createpage.md b/docs/chapter0/createpage.md new file mode 100644 index 0000000..eff7852 --- /dev/null +++ b/docs/chapter0/createpage.md @@ -0,0 +1,65 @@ +# 创建新页面 + +```bash +# 创建新页面 +buijs create -t page-article +``` + +`-t` 为template的简写,`page-article` 为内置的模板名 + +更多模板及buijs命令的使用请参考[buijs使用文档](https://github.com/imouou/buijs-cli) + +如果没有这个命令行,也可以根据页面的定义规则,手动创建。 + +## 新页面 + +BUI的单页页面,由同名不同类型的2个文件组成,一个是模板,一个是模块(包含特定的格式)。 + +通过上面命令会在工程 *src/pages/* 目录下新增一个 *article* 的文件夹,包含 *article.html* *article.js* 两个文件。 + +### 模板 + +*pages/article/article.html* + +```html +
    +
    +
    +
    +
    +
    +
    文章详情
    +
    +
    +
    +
    +
    +
    +
    + ... +
    +
    +
    +``` + +### 模块 + +*pages/article/article.js* + +```js +loader.define(function(require, exports, module, global) { + // 业务逻辑必须在 loader.define 里面执行,默认进来就是执行的 + console.log("article page") + // 接收上一个页面传过来的参数 + let params = bui.history.getParams(module.id) +}) +``` + +通常用来接收上一个页面的参数,组织当前页面的业务及交互; + + +## 页面预览 + +修改浏览器的地址 `index.html#main` 为 `index.html#pages/article/article` 就可以直接预览效果 + + diff --git a/docs/chapter0/debug.md b/docs/chapter0/debug.md new file mode 100644 index 0000000..8fdfd7f --- /dev/null +++ b/docs/chapter0/debug.md @@ -0,0 +1,140 @@ +# 跨域调试 + +## 接口跨域配置 + +**1. 修改配置** + +?> 假设请求的接口地址为: http://www.easybui.com/api/getDetail?id=123 + +打开根目录下的 `app.json`,里面有个键值 *proxy* 的对象。 + +```js +{ +... +"proxy": { + "/api": { + "target": "http://www.easybui.com", + "changeOrigin":true, + "ssl": false + } + } +... +} +``` + +`"/api"`: 为请求接口的二级目录 + +`"target": "http://www.easybui.com"`: 为请求接口的域名地址 + + +**2. 修改请求的方法** + +```js +// 一定要注意这个请求的url是 "api/xxx", 不能是 "/api/xxx" +bui.ajax({ + url: "api/getDetail", + data: { + id:"123" + } +}).then(function(res){ + +}) +``` + +!> **注意:** ajax请求的时候请使用`相对工程路径`,这样代理才会正确转发. + + +> 结合全局配置,可以把url前部分作为变量配置项, 调试的时候为空, 打包的时候再改为正式环境,打包后没有跨域问题。 + +*global.js* +```js +loader.global(function(){ + // 本地调试为空"",会自动转发到app.json配置的域名,正式环境修改为接口域名: http://www.easybui.com/ + let baseurl = ""; + // 模拟请求的接口 + let apiGetListUrl = baseurl + "api/getDetail/"; + + return { + api: { + getListUrl: apiGetListUrl + } + } + +}) +``` + +*main.js* + +```js +loader.define(function(require,exports,module,global){ + + // 请求 + global.ajax({ + url: global.api.getListUrl + data: { + id:"123" + } + }).then(function(res){ + console.log(res) + }) +}) + +``` + +> 关于代理的更多配置,可以查看 [http-proxy-middleware](https://www.npmjs.com/package/http-proxy-middleware) 的使用说明. + +## 手机远程调试 + +VConsole 是在手机端调试的利器, 1.7.x 工程默认内置了这个模块,直接引入即可。 + +方法1: + +*src/index.js* +```js +// 手机调试,正式环境请自行去掉 +import VConsole from 'vconsole'; +const vConsole = new VConsole(); + +bui.ready(function(){ + // 控件初始化 +}) +``` + +方法2: + +*src/index.html* + +```html + + +``` + +## 手机远程预览 + +假设打开的预览地址为 http://localhost:3000 ,把`localhost`改成 您的本机IP `10.0.0.123`,可以通过微信扫码预览,或者手动输入地址。 + + +## 微信调试缓存 + +> 微信调试需要注意的是,微信里面的缓存很严重,每次修改,需要给修改的js引用,后面增加`?t=时间戳`之类的方式,来确保脚本的更新. + +### 去除脚本缓存 + +*例如:* +```html + +``` +> 单页模块化开发, 通过重新初始化`window.loader`设置缓存参数为false, 加载的模块便会采用时间戳的方式加载. + +*src/index.js* +```js +// 这行代码必须在bui.ready 之前 +window.loader = bui.loader({cache: false}); + +bui.ready(function(){ + // +}) +``` diff --git a/docs/chapter0/form.md b/docs/chapter0/form.md new file mode 100644 index 0000000..bb60545 --- /dev/null +++ b/docs/chapter0/form.md @@ -0,0 +1,537 @@ +# 表单 + +## 基本元素 + +**综合效果展示** + + + + +```html + + + +``` + +## 表单控件 + +### 带删除图标 + +```html +
    + +
    +``` +```js +// 显示删除 +var userInput = bui.input({ + id: ".user-input", + callback: function(e) { + // 清空数据 + this.empty(); + } +}) +``` + +### 显示密码 + +```html +
    + +
    +``` +```js +// 显示密码 +var password = bui.input({ + id: "#passwordInput", + iconClass: ".icon-eye", + onBlur: function(e) { + + if (e.target.value == '') { return false; } + // 注册的时候校验只能4-18位密码 + var rule = /^[a-zA-Z0-9_-]{4,18}$/; + if (!rule.test(e.target.value)) { + bui.hint("密码只能由4-18位字母或者数字上下横杠组成"); + return false; + } + + return true; + }, + callback: function(e) { + //切换类型 + this.toggleType(); + // + $(e.target).toggleClass("active") + } +}) +``` + +### 字数限制 + +```html +
    + +
    +``` + +```js +// 字数限制 +var comment = bui.input({ + id: "#commentContent", + showLength: true, + showIcon: false, + maxLength: 100 +}) + +``` + + +## 表单案例 + +以 bui.store + 表单为例,开发一个注册页面。 + +> 快速书写:`ui-page` 生成BUI标准页面,`ui-form-edit` 编辑表单生成的左右结构,`ui-form-submit` 生成按钮提交结构, + + +以下结构加入了 `b-model`的实时绑定指令,绑定数据到store到datas的某个字段上,`b-model-lazy` 1.7.0 新增,支持输入结束后再绑定。 + +*pages/register/index.html* + +```html +
    +
    +
    +
    + +
    +
    注册页
    +
    +
    +
    +
    +
      +
    • + +
      + +
      +
    • +
    • + +
      + +
      +
    • +
    • + +
      + +
      +
    • +
    • + +
      + + +
      +
    • +
    +
    +
    +
    +
    +
    +
    重置
    +
    +
    +
    提交
    +
    +
    +
    +
    +
    + +``` + +*pages/register/index.js* + +```js +loader.define(function(requires, exports, module, global){ + // 初始化数据行为存储 + const bs = bui.store({ + el: `#formpage`, // 容器下的行为指令 + scope: "form", // 容器下的相同作用域指令 + data: { + datas: { + username:"", // 账号名 + password:"", // 密码 + comfirmpassword:"",//确认密码 + sex:"woman", //性别 + }, + }, + methods: { + submit(){ + // 模拟发起请求,提交 + console.log(this.datas); + bui.ajax({ + url: global.apiurl + "json/token.json", + data: this.datas // 表单收集到的内容 + }).then((res)=>{ + bui.hint("提交成功") + }) + }, + reset(){ + // 重置清空 + this.datas = { + username:"", // 账号名 + password:"", // 密码 + comfirmpassword:"",//确认密码 + sex:"", //性别 + } + bui.hint("重置成功"); + } + }, + templates: {}, + mounted: function(){ + // 数据解析后执行 + } + }) + + return bs; +}) +``` + +点击提交按钮,得到右边的数据 + +## 效果预览 + +![](../static/images/template/register.jpg) + +## 表单校验 + + +### 全局校验 + +在表单填写完成以后提交的时候再做提醒。 + +在methods新增一个方法,用于全局校验,点击提交才触发 + +*pages/register/index.js* + +```js +... +methods: { + checkForm(datas){ + // 全局校验 + for(let key in datas ){ + let item = datas[key]; + if( item === ""){ + bui.hint(`${key}的内容不能为空`) + return false; + } + } + if( datas["password"] !== datas["comfirmpassword"]){ + bui.hint(`两次密码不一致,请检查后提交`) + } + return true; + }, + submit(){ + // 如果有为空的数据不能提交 + let canSumit = this.checkForm(this.datas); + if( !canSumit ){ + return; + } + + bui.ajax({ + url: global.apiurl + "json/token.json", + data: this.datas // 表单收集到的内容 + }).then((res)=>{ + bui.hint("提交成功") + }) + }, +} +... +``` + +> 真正的表单校验肯定比示例要复杂很多,复杂的校验可以使用第三方插件校验。 + +### 局部校验 + +局部校验有两种方式,一种是失去焦点的时候执行方法判断(1.6.0以上),一种是实时判断触发(1.7.0以上支持) + + +*pages/register/index.html* + +1.6.x 失去焦点判断 `b-blur` + +```html +
    + ... +
    +
      +
    • + +
      + +
      +
    • + ... +
    +
    + ... +
    +``` + +1.7.x 实时判断 `b-trigger` + +```html +
    + ... +
    +
      +
    • + +
      + +
      +
    • + ... +
    +
    + ... +
    +``` + +*pages/register/index.js* + +```js +... +methods: { + regexFromString(string) { + // 把正则字符串转为表达式 + var match = /^\/(.*)\/([a-z]*)$/.exec(string) + + return new RegExp(match[1], match[2]) + }, + checkRule(dom,keyname){ + // 自定义规则 + let rule = dom.getAttribute("rule"); + // 自定义提醒 + let tip = dom.getAttribute("tip"); + // 转正则表达式 + let regexp = this.regexFromString(rule); + // 取值 + let val = dom.value; + + if( !regexp.test(val) ){ + // 清空错误格式 属性为 b-trigger 时不做清空处理 + this.datas[keyname] = ""; + // 提醒 + bui.hint(tip) + return false; + } + }, +} +... +``` + diff --git a/docs/chapter0/global.md b/docs/chapter0/global.md new file mode 100644 index 0000000..96b6410 --- /dev/null +++ b/docs/chapter0/global.md @@ -0,0 +1,144 @@ +# 公共方法与配置 + +?> 像上一章一样,直接调用 `bui.ajax` 来实现数据请求,用起来方便,维护起来却十分困难,所以需要有一个放公共方法及配置的地方。 + +## 公共方法的定义 + +1. 我们在 *src/js/* 目录下,新建config目录,目录下新建一个`global.js`文件,内容如下: + +*js/config/global.js* + +```js +loader.global(function(global) { + + /** + * @description: 公共的请求方法 + * @param {object} opt 参考 bui.ajax + * @param {string} opt.url 必填url地址 默认 "" + * @param {object} [opt.data] 默认 {} + * @param {string} [opt.method] 默认的请求方法 "GET" | "POST" + * @return {*} + * @example {*} + * + global.ajax({ + url:"http://easybui.com/demo/json/shop.json", + data:{} + }).then(function(res){ + // 成功的时候输出 + console.log(res); + }) + + */ + function ajax(opt){ + + // 可以公共处理请求的headers + let opts = $.extend(true,{ headers:{"token":"buixxxx"} },opt); + + return bui.ajax(opts) + } + + + // 一定要抛出这个方法,外部才能调用到 + return { + ajax: ajax + } +}) +``` + +## 公共方法的使用 + +### 1. 首页引入 + +*src/index.html* + +```html + +``` + +## 2. 按需动态引入 + +在需要引入的地方,通过 *loader.import* 动态引入 + +```js +loader.define(function(requires, exports, module, global) { + + // 例如:异步导入 + loader.import(["js/plugins/echarts/echarts.css","js/plugins/echarts/echarts.js"], function() { + // 回调里才能拿到 echarts全局变量 + echarts.init() + }); + +}) +``` + +!> 有些插件,例如高德地图,只支持全局引入。 + +## 3. 导入NPM模块 + +1.7.0 以上支持引入NPM模块,且默认工程已经加入 *vconsole* 模块,如果没有,请先执行以下命令。导入的npm模块最终是静态编译在脚本中。 + +执行安装模块命令 +```bash +# 进入工程 +cd bui-demo +# 安装模块 +npm i vconsole --save +``` + +在需要的地方导入模块 + +*src/index.js* + +```js +// 导入手机调试模块 +import VConsole from 'vconsole'; +// 初始化手机调试 +const vConsole = new VConsole(); +``` diff --git a/docs/chapter0/layout.md b/docs/chapter0/layout.md new file mode 100644 index 0000000..6f95b09 --- /dev/null +++ b/docs/chapter0/layout.md @@ -0,0 +1,424 @@ +# 常用布局 + +!> 打包的应用开发不推荐使用flex布局,有些底层对flex的支持不好,`bui-box`跟flex类似,移动端兼容性更好。底下示例展示加了圆角和背景颜色,实际代码是无色无圆角的,且不要学直接加style属性的做法。 + +## 弹性布局 + +弹性布局,不管子集有多少元素,都会在一行展示。 + +### 弹性布局-等比 `bui-box` + +*例子: 把整行分成 4份,4=span1+span2+span1,子集可以是 span1-span12* + +
    +
    + 1/4大小 +
    +
    + 2/4大小 +
    +
    + 1/4大小 +
    +
    + +```html +
    +
    + 1/4大小 +
    +
    + 2/4大小 +
    +
    + 1/4大小 +
    +
    + +``` + +### 弹性布局-自适应 `bui-box` + + +*例子: span1的宽度 = 整行宽度 - 100px, `span1`称之自适应* + +
    +
    宽度100px
    +
    + // 自适应内容 +
    +
    + +```html +
    +
    宽度100px
    +
    + // 自适应内容 +
    +
    +``` + +### 弹性布局-垂直 `bui-box-vertical` + +*例子: span1的高度 = 整行高度100px - 30px* + +
    +
    高度30px
    +
    + // 自适应内容 +
    +
    + +```html +
    +
    高度30px
    +
    + // 自适应内容 +
    +
    +``` + +### 弹性布局-反序 `bui-box-reverse` + +*例子: 宽度100px的div,在右边展示* + +
    +
    宽度100px
    +
    + // 自适应内容 +
    +
    + +```html +
    +
    宽度100px
    +
    + // 自适应内容 +
    +
    +``` + +## 弹性布局-对齐 + +#### 弹性布局-绝对居中 `bui-box-center` + +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` + +#### 弹性布局-水平居中 `bui-box-align-center` + +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` + +#### 弹性布局-水平居左 `bui-box-align-left` + +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` +#### 弹性布局-水平居右 `bui-box-align-right` +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` + +#### 弹性布局-垂直居中 `bui-box-align-middle` +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` + +#### 弹性布局-顶部对齐 `bui-box-align-top` +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` + +#### 弹性布局-底部对齐 `bui-box-align-bottom` + +*例子:* + +
    +
    宽度100px,
    高度50px
    +
    + +```html +
    +
    宽度100px,
    高度50px
    +
    +``` +#### 弹性布局-两端对齐 `bui-box-align-justify` + +*例子:* + +
    +
    宽度100px
    +
    宽度100px
    +
    + +```html +
    +
    宽度100px
    +
    宽度100px
    +
    +``` +#### 弹性布局-子集等高 `bui-box-align-stretch` + +*例子:* + +
    +
    内容自适应高度内容自适应高度内容自适应高度
    +
    文字的高度
    +
    + + +```html +
    +
    根据内容高度等高展示
    +
    文字的高度
    +
    +``` + +## 流式12列布局 + +?> 流式布局把一行分为12列,后面的数字加起来等于12则一行,大于12则另起一行. + +
    +
    2/12
    +
    4/12
    +
    4/12
    +
    2/12
    +
    4/12
    +
    4/12
    +
    4/12
    +
    + +```html +
    + +
    2/12
    +
    4/12
    +
    4/12
    +
    2/12
    + +
    4/12
    +
    4/12
    +
    4/12
    +
    +``` + +## 流式等列布局 + +?> 流式等列布局认为子元素全部是等分的,由父层数字决定子集占比,最多12列. + + +```html + +``` + + + +## 间隙布局 + +?> 每种布局都有一种带间隔的布局, 只需在后面加上`-space` + +### 流式间隙 `bui-fluid-space` +*例子:* +
    +
    + 1/2大小 +
    +
    + 1/2大小 +
    +
    + +```html +
    +
    + 1/2大小 +
    +
    + 1/2大小 +
    +
    +``` + +### 流式等比间隙 `bui-fluid-space-2` + +*例子:* +
    +
    + 1/2大小 +
    +
    + 1/2大小 +
    +
    + +```html +
    +
    + 1/2大小 +
    +
    + 1/2大小 +
    +
    +``` + +### 弹性间隙 `bui-box-space` + +*例子:* +
    +
    + 1/2大小 +
    +
    + 1/2大小 +
    +
    + +```html +
    +
    + 1/2大小 +
    +
    + 1/2大小 +
    +
    +``` + + +## 嵌套布局 + +?> 几种布局之间可以嵌套自身,也可以相互嵌套,实现更复杂的布局. + +*例子: 流式等列布局,嵌套弹性布局及流式布局* + + + +```html + +``` + +*例子: 弹性布局,嵌套流式等列布局及流式布局* + +
    +
    +
      +
    • 1/4
    • +
    • 1/4
    • +
    +
    +
    +
    +
    1/4
    +
    1/4
    +
    +
    +
    + +```html +
    +
    +
      +
    • 1/4
    • +
    • 1/4
    • +
    +
    +
    +
    +
    1/4
    +
    1/4
    +
    +
    +
    +``` \ No newline at end of file diff --git a/docs/chapter0/login.md b/docs/chapter0/login.md new file mode 100644 index 0000000..1573bbf --- /dev/null +++ b/docs/chapter0/login.md @@ -0,0 +1,172 @@ +# 登录权限 + +登录的权限的处理取决于你的应用展示方式,展示方式不同,实现方式也会有所不同。 + +## 1. 首页登录 + +最简单的一种处理,只需配置首页`main`的指向为登录页,每次都只能通过首页登录进来。 + +*src/index.js* + +```js + +bui.ready(function(global) { + + // 初始化路由 + router.init({ + id: "#bui-router", + indexModule:{ + template:"pages/login/index.html", + script:"pages/login/index.js", + }, + beforeLoad(e){ + let token = global.storage.get("token",0); + // 如果不在登录页,且没有用户信息,则只能进入首页 + if( e.target.name !== "main" && !token){ + bui.load({ + url:"main" + }) + // 禁止进入其它页面 + return false; + } + } + }) +}) +``` + +*pages/login/index.js* + +```js +... +// 修改登录成功的方法 +submit(){ + bui.ajax({ + url: global.apiurl + "json/token.json", + data: this.datas // 表单收集到的内容 + }).then((res)=>{ + bui.hint("登录成功") + // 保存token,用于跳转前的检测 + global.storage.set("token",res.data); + + // 跳转到列表页,这时候main指向的是 pages/login/index.html + bui.load({ + url:"pages/main/main.html" + }) + }) +} +... +``` + +## 2. 全局登录 + +在任意的页面里面,根据需要展示登录。 + +1. 右上角新增触发登录按钮 + +*pages/main/main.html* + +```html +
    +``` + +2. 定义个打开弹窗的方法,以及关闭弹窗以后的数据操作方法。 + +*pages/main/main.js* + +```js +loader.define(function(requires, exports, module, global){ + + // 登录页 + var loginPage = null; + + // 初始化数据行为存储 + const bs = bui.store({ + el: `#${module.id}`, + scope: "list", + ... + methods: { + login(){ + // 并传参给登录页,登录页登录成功以后,指向 + if( loginPage ){ + loginPage.open(); + return; + } + loginPage = bui.page({ + url:"pages/login/page.html", + param: {} + }) + }, + refresh(){ + // 配合弹窗关闭时的方法,执行数据刷新方法, 例如新增数据 + this.datas.push({ + "id":"bui4", + "title":"文章标题4", + "image":"images/applogo.png", + "desc":"文章的内容简介" + }) + }, + }, + }) + + return bs; +}) +``` + +3. 在登录页复制一个 page.html page.js 来实现,原本的后退按钮那里改成了点击绑定关闭方法。 + +*pages/login/page.html* + +```html + +``` + +*pages/login/page.js* + +```js +loader.define(function(requires, exports, module, global){ + + // 初始化数据行为存储 + const bs = bui.store({ + el: `#loginpart`, // 容器下的行为指令 + ... + methods: { + close(){ + // 关闭登录页,且刷新当前要做的操作 + var dialog = bui.history.getPageDialog(module.id); + + // 关闭当前弹窗 + dialog.close(); + + }, + submit(){ + ... + + bui.ajax({ + url: global.apiurl + "json/token.json", + data: this.datas // 表单收集到的内容 + }).then((res)=>{ + bui.hint("登录成功") + + // 关闭弹窗并刷新页面 + this.close(); + // 获取最后的页面,执行某个刷新方法 + let lastHistory = bui.history.getLast("exports"); + lastHistory.refresh(); + }) + }, + }, + ... + }) + + return bs; +}) + +``` + +> 以上只展示了关键代码,请参考案例加以理解。 + +## 登录效果预览 + +点击登录会更新多一条数据 + +![登录预览](../static/images/gif/login.gif) diff --git a/docs/chapter0/module.md b/docs/chapter0/module.md new file mode 100644 index 0000000..56adc4f --- /dev/null +++ b/docs/chapter0/module.md @@ -0,0 +1,98 @@ +# 模块 + +> 模块:模块是一个应用里面对局部通用业务的划分,只跟部分业务关联抽离出来的方法。 + +## 特点 + +| 特点 | BUI模块 | BUI组件 | ES6模块 +|:--------------------:|:---------------:|:---------------:|:---------------:| +| 静态编译 | 支持 | 支持 | 支持 +| 动态编译 | 支持 | 支持 | 不支持 +| 一次性加载 | 支持 | 支持 | 支持 +| 按需加载 | 支持 | 支持 | 不支持 + +BUI组件跟模块的进一步区别:组件包含 html、js文件,且是默认执行初始化的;模块只有js文件,只定义,不执行。 + + +## 模块定义 + +*pages/main/cart.js* + +```js +loader.define(function(requires, exports, module, global){ + // 只定义返回方法,不在模块中执行 + // 缓存购物车数据 + let data = []; + + return { + data: data, + add(opt){ + // 添加购物车方法 + data.push(opt); + }, + remove(id){ + // 删除购物车的某个数据 + bui.array.delete(data,id,"id"); + } + } +}) +``` + +## 模块使用 + +*pages/main/main.js* + +方法1: 使用依赖前置的方式,模块中都可以调用 + +```js +loader.define(["pages/main/cart"],function(cart, requires, exports, module, global){ + + // 业务组件中调用对应的方法 + cart.add({ + id:"cart1", + name:"", + type:"", + }) +}) +``` + + +方法2: 局部使用 + +```js +loader.define(function(requires, exports, module, global){ + + // 异步局部使用 + requires("pages/main/cart",function(cart){ + // 业务组件中调用对应的方法 + cart.add({ + id:"cart1", + name:"", + type:"", + }) + }) + +}) +``` + +方法3: 同步使用 + +```js +loader.define(async function(requires, exports, module, global){ + + // 方法1: + // const cart = await requires("pages/main/cart"); + // 方法2: + const cart = await loader.require("pages/main/cart"); + + // 业务组件中调用对应的方法 + cart.add({ + id:"cart1", + name:"", + type:"", + }) + + console.log(cart.data) + +}) +``` \ No newline at end of file diff --git a/docs/chapter0/package.md b/docs/chapter0/package.md new file mode 100644 index 0000000..6e75f40 --- /dev/null +++ b/docs/chapter0/package.md @@ -0,0 +1,23 @@ +# 打包部署 + + +## 1. 案例下载 + +恭喜您,通过前面章节的学习,一个包含BUI的大部分知识点,完整有登录权限的案例,已经完成了!可以点击[bui-demo.zip](/examples/chapter0/bui-demo.zip ':ignore')下载。如果您还想进一步学习,可以通过高级篇,组件篇,API篇,及专栏的文章来学习。 + +## 2. 编译 + +```bash +# 进入工程 +cd bui-demo +# 编译工程为es5且压缩版本 +npm run build +``` + +## 3. 存成压缩包 + +进入`dist`目录,全选文件,右键另存为压缩包 zip格式,上传或部署到相应平台。 + +## 4. 打包应用 + +请查看第三方平台教程,或[BUI专栏](article.md)文章。 diff --git a/docs/chapter0/plugin.md b/docs/chapter0/plugin.md new file mode 100644 index 0000000..a76e423 --- /dev/null +++ b/docs/chapter0/plugin.md @@ -0,0 +1,3 @@ +# 扩展插件 + +暂缺 \ No newline at end of file diff --git a/docs/chapter0/quickstart.md b/docs/chapter0/quickstart.md new file mode 100644 index 0000000..052b227 --- /dev/null +++ b/docs/chapter0/quickstart.md @@ -0,0 +1,145 @@ +# 快速开始 + +引入CDN依赖即可开发调试。 + +1. **cdn.jsdelivr.net** [buijs](https://www.jsdelivr.com/package/npm/buijs) +```html + + + +``` + +2. **unpkg.com** [buijs](https://unpkg.com/browse/buijs/) +```html + + + +``` + +## 多页开发 + +* 优点:简单,支持后端语言输出展示; +* 缺点:体验较差,无法定制交互及路由操作; + +*index.html* + +```html + + + + + BUI + + + + +
    +
    + +
    +
    +
    +
    +
    BUI首页
    +
    +
    +
    +
    + +
    中间按钮
    +
    +
    + +
    底部按钮
    +
    +
    + + + + + + + +``` + +## 单页开发 + +> 推荐:官网例子默认以单页开发为主。 + +* 优点:体验好,媲美app,操控强,按需加载或一次性加载; +* 缺点:不支持后端语言输出展示; + +!> 单页开发预览需要部署,或者node工程的支持,默认需要3个文件,。 + +*index.html* + +```html + + + + BUI + + + +
    + + + + + + + +``` + +*pages/main/main.html* + +```html + +
    +
    + +
    +
    +
    +
    +
    BUI首页
    +
    +
    +
    +
    + +
    中间按钮
    +
    +
    + +
    底部按钮
    +
    +
    +``` + +*pages/main/main.js* 特定的模块包装 + +```js +loader.define(function(requires,exports,module,global){ + // requires: 加载模块 + // module: 模块信息 + // global: 获取全局方法 + bui.alert("done"); + +}) +``` \ No newline at end of file diff --git a/docs/chapter0/router.md b/docs/chapter0/router.md new file mode 100644 index 0000000..2e30ec5 --- /dev/null +++ b/docs/chapter0/router.md @@ -0,0 +1,96 @@ +# 跳转与传参 + +> 通过修改首页的模板,实现点击跳转功能。 + +通过 `npm run dev` 默认打开的就是首页,`http://localhost:3000/#main` + +默认的首页模块名为`main` ,代表首页的主要入口,它是一个自定义名字的组件,可以指定任何一个页面组件作为首页。 +默认的 *main* 指向的路径为 *pages/main/main.html* *pages/main/main.js* 。 + +## 静态跳转 + +*pages/main/main.html* + +```html +
    +
    +
    +
    +
    +
    首页
    +
    +
    +
    +
    +
    +
    跳转到详情页
    +
    +
    +``` + +main新增了一个按钮,按钮样式名为 `bui-btn` 加上`href=""`属性,指向一个相对路径,称为静态跳转,后面加了参数 `id=b1`。 + +## 动态跳转 + +在参数是未知的情况下,就需要用到动态跳转了。 + +*pages/main/main.html* + +```html +
    +
    +
    +
    +
    首页
    +
    +
    +
    +
    +
    跳转到详情页
    +
    +
    +``` + +*pages/main/main.js* + +```js +loader.define(function(require, exports, module, global) { + + // 单页模板里的DOM事件绑定需要把 $ 改成 router.$ + router.$("#gotoArticle").click(function(e){ + bui.load({ + url:"pages/article/article.html", + param:{ + id: "b1" + } + }) + }); +}) +``` + +## 接收参数 + +有3种接收参数 + +*pages/article/article.js* + +```js +loader.define(function(require, exports, module, global) { + + // 1. 接收组件参数包含URL, 推荐 + let params = bui.history.getParams(module.id); + // params = { id: "a1"} + + // 2. 只接收URL参数 + let params = bui.history.getParams("url"); + // params = { id: "a1"} + + // 3. 1.7.x 支持 + let props = module.props + +}) +``` + +## 预览效果 + +![预览跳转](../static/images/gif/load.gif) diff --git a/docs/chapter0/standard.md b/docs/chapter0/standard.md new file mode 100644 index 0000000..e02d5e4 --- /dev/null +++ b/docs/chapter0/standard.md @@ -0,0 +1,112 @@ +# 开发规范 + +遵循以下规范开发,可以避免开发中出现的奇奇怪怪的问题。 + +## 1. 切图规范 + +> BUI基于REM适配手机,保持跟原生DPI一致的缩放效果, 需要把设计稿转换为750的设计稿,量取到的值,直接除以100,便是rem值. + +#### 量取设计稿内容的大小/100, 转成rem单位 +![转换尺寸为rem单位](../static/images/getSlideHeight.png) + +```css +.slide { width:100%;height:2.7rem; } +``` + + +## 2. 目录规范 +![目录截图](../static/images/router/catalog.png) + +!> 注意: 工程目录下不能有`中文文件名`,会影响打包. 整个工程目录也不能有`中文路径`, 保存代码热更新才会有效. + +**目录说明:** + +| **目录名** | **描述** | **是否必须** | +|:------------- |:--------------------------------|--------------:| +| /app.json | 插件及跨域的配置 | 否 | +| /gulpfile.js | gulp编译配置 | 否 | +| /package.json | 工程依赖配置 | 否 | +| /src/index.html | 应用首页入口文件 | `是` | +| /src/index.js | 路由的初始化脚本及全局事件 | `是` | +| /src/css/ | 应用样式及bui.css样式 | `是` | +| /src/font/ | bui.css用到的字体图标 | `是` | +| /src/images/ | 应用图片目录 | 否 | +| /src/js/ | 应用脚本 | `是` | +| /src/js/plugins | 第三方插件目录,避免编译错误 | 否 | +| /src/js/platform | 第三方平台脚本,避免编译错误 | 否 | +| /src/js/zepto.js | bui.js默认依赖于zepto.js 或 jquery | `是` | +| /src/js/bui.js | BUI交互控件库 | `是` | +| /src/pages/ | 应用的模块,在这个文件夹下划分 | `是` | +| /src/pages/main/ | 默认路由初始化以后会先载入这个main模块 | `是` | +| /src/pages/main/main.html | main模块的模板 | `是` | +| /src/pages/main/main.js | main模块的业务脚本 | `是` | + +## 3. 路径使用规范 + +假设你的页面在 `pages/main/index.html`; + +1. 单页开发, 使用相对根目录的路径, 无论你的页面的层级目录有多深, 里面的图片路径,跳转路径, 应该使用 `images/xxx.jpg`, `pages/xxx/xxx.html` 的写法; + +2. 不使用绝对根路径的写法 `/images/xxx.jpg`, `/pages/xxx/xxx.html`; 打包后本地的路径查找会从 file:///xxxx 来查找你的文件, 最终导致路径错误. + +## 4. 页面结构规范 +?> 一个标准的结构包含, .bui-page 子集分别是 `header`, `main`, `footer` 等标签, `main` 标签必须有, 因为页面初始化的时候会自动撑开main的高度. 快速书写 `ui-page` Tab + +```html +
    +
    + +
    + +
    +
    +
    BUI开发工程模板
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +``` + +## 5. 模块化规范 + +1. 一个js 文件里面只能有一个 `loader.define` 的匿名模块; +2. 业务逻辑需要在 `loader.define` 里面,防止加载其它模块的时候冲突; +3. 模块的路径以及资源等,都使用相对路径; +4. 模块里面不能有`bui.ready`的执行; + +```js +// 异步模块或组件 +loader.define(function(requires,exports,module,global){ + // requires: 加载依赖模块 + // module: 当前模块的基本信息 + // global: 定义的全局方法 + + return {} +}) +``` + +## 6. 事件绑定 + +?> 单页开发里面很容易造成事件重复绑定, 首先, `$` 选择器要改成 `router.$` 选择器. + +```js + +// 单页不应该这样绑定 +$(".bui-page").click(function(e){ + +}) + +// 应该使用 +router.$(".bui-page").click(function(e){ + console.log("点击了页面") +}) + +``` diff --git a/docs/chapter0/storage.md b/docs/chapter0/storage.md new file mode 100644 index 0000000..fcc5b71 --- /dev/null +++ b/docs/chapter0/storage.md @@ -0,0 +1,166 @@ +# 数据存储 + +> bui.storage 是基于localStorage,sessionStorage封装的存储对象及多条数据的方法库。 + +## 存储数据 + +```js +// 初始化,默认使用localstorage保存一条数据 +const uiStorage = bui.storage(); + +uiStorage.set("userinfo",{ + username:"bui", +}) +``` + +## 存储多条数据 + +```js +// 可以存2条数据,大于2则覆盖最先存储的一条数据 +const uiStorage = bui.storage({size:2}); + +// 存储第1条 +uiStorage.set("userinfo",{ + username:"wangxiaoo", +}) +// 存储第2条 +uiStorage.set("userinfo",{ + username:"bui", +}) +// 存储第3条, username:"wangxiaoo" 会删除,变成第一条数据为 username:"bui" +uiStorage.set("userinfo",{ + username:"easybui", +}) + +``` + + +## 获取数据 + +```js + +// 获取到数组 +let uinfos = uiStorage.get("userinfo"); + +// 获取第一条数据 +let uinfo = uiStorage.get("userinfo",0); + +``` + +## 删除数据 + +```js + +// 删除第一条数据 +uiStorage.remove("userinfo",0); + +// 删除整个字段 +uiStorage.remove("userinfo"); + +``` + +## 缓存案例 + + +**效果预览** + + + +新增一个登录页,增加登录缓存功能。 + +*pages/login/login.html* +```html +
    +
    +
      +
    • + +
      + +
      +
    • +
    • + +
      + +
      +
    • +
    • + +
      + +
      +
    • +
    +
    +
    +
    +
    登录
    +
    +
    +
    +
    +
    + +``` + +*pages/login/login.js* + +```js +loader.define(function(requires, exports, module, global){ + + // 初始化数据行为存储 + const bs = bui.store({ + el: `#loginpage`, // 容器下的行为指令 + scope: "form", // 容器下的相同作用域指令 + data: { + datas: { + username:"", // 账号名 + password:"", // 密码 + save: false, //保存密码 + }, + }, + methods: { + savePassword(val){ + // 保存密码 + if(this.$data.datas.save){ + global.storage.set("userinfo",val); + }else{ + global.storage.remove("userinfo"); + } + }, + submit(){ + + bui.ajax({ + url: global.apiurl + "json/token.json", + data: this.datas // 表单收集到的内容 + }).then((res)=>{ + bui.hint("登录成功") + // 成功的账号才需要保存密码,且密码应该使用md5之类的进行加密再存储到本地 + this.savePassword(this.$data.datas); + // 保存token + global.storage.set("token",res.data); + + // 跳转首页 + bui.load({ + url:"main" + }) + }) + }, + }, + templates: {}, + mounted: function(){ + // 获取本地缓存 + let uinfo = global.storage.get("userinfo",0); + + // 如果有缓存数据,则赋值 + typeof uinfo ==="object" &&( this.datas = uinfo); + } + }) + + return bs; +}) + +``` + +把storage放在了global.js的公共方法里,可以通过global.storage调用,具体代码请查看整个案例。 \ No newline at end of file diff --git a/docs/chapter0/update.md b/docs/chapter0/update.md new file mode 100644 index 0000000..e456990 --- /dev/null +++ b/docs/chapter0/update.md @@ -0,0 +1,49 @@ +# 版本升级 + +**查看当前版本** + +在chrome调试面板输入 `bui.version`(当前版本),`bui.versionCode`(当前版本的日期) + +**查看当前平台** + +在chrome调试面板输入 `bui.currentPlatform` + +## 更新Webapp版 + +webapp版为默认通用的版本 + +```bash +# 进入工程 +cd bui-demo +# 更新 bui.js,bui.css 为webapp最新版 +buijs update +``` + +## 更新Link版 + +> link版为在link容器运行的版本 + +```bash +# 进入工程 +cd bui-demo +# 更新 bui.js,bui.css 为link最新版 +buijs update -p link +``` + +## 更新Dcloud版 + +```bash +# 进入工程 +cd bui-demo +# 更新 bui.js,bui.css 为dcloud最新版 +buijs update -p dcloud +``` + +## 更新APICloud版 + +```bash +# 进入工程 +cd bui-demo +# 更新 bui.js,bui.css 为apicloud最新版 +buijs update -p apicloud +``` diff --git a/docs/chapter2/README.md b/docs/chapter2/README.md new file mode 100644 index 0000000..e5c44e8 --- /dev/null +++ b/docs/chapter2/README.md @@ -0,0 +1,3 @@ + +# 高级 + diff --git a/docs/chapter2/_sidebar.md b/docs/chapter2/_sidebar.md new file mode 100644 index 0000000..0ed447a --- /dev/null +++ b/docs/chapter2/_sidebar.md @@ -0,0 +1,31 @@ + +* 高级 + * [组件化](chapter2/component.md) + * [组件通讯](chapter2/link.md) + * [单页路由](chapter2/router.md) + * [弹窗加载组件](chapter2/page.md) + * [历史记录](chapter2/history.md) + * [控件用法](chapter2/controls.md) + * [动画交互](chapter2/animate.md) + * [常用方法](chapter2/method.md) + * [插件扩展](chapter2/extend.md) + * [发布订阅](chapter2/emitter.md) + +* 数据驱动 + * [介绍](chapter2/store/about.md) + * [store 实例](chapter2/store/distance.md) + * [计算属性与侦听器](chapter2/store/computed.md) + * [模板语法](chapter2/store/template-synatax.md) + * [属性与值绑定](chapter2/store/attribute.md) + * [class与style绑定](chapter2/store/class.md) + * [模板渲染](chapter2/store/template.md) + * [表单绑定](chapter2/store/form.md) + * [事件处理](chapter2/store/event.md) + * [混入](chapter2/store/mixins.md) + * [数据调试](chapter2/store/debug.md) + * [综合案例](chapter2/store/case.md) + +* 规范 + * [切图规范](chapter2/ui/cutimage.md) + * [开发规范](chapter2/ui/standard.md) + * [样式规范](chapter2/ui/style.md) diff --git a/docs/chapter2/mpa/mpa.md b/docs/chapter2/mpa/mpa.md new file mode 100644 index 0000000..e5004df --- /dev/null +++ b/docs/chapter2/mpa/mpa.md @@ -0,0 +1,181 @@ +# 多页路由开发 + +?> [上一节](chapter1/quickstart) 我们用最简单的方式,创建了一个`index.html`, 当我们创建了多个页面以后, 就需要页面跳转了. + +?> 多页路由简单, 跟以前PC的开发方式是一致的, 利用浏览器的历史记录来解决页面之间的前进,后退,传参问题. 可以用于各种PHP框架的模板. + +!> 注意, 多页开发跟单页开发用到的方法可以是一致的. + +?> 多页开发只需直接引入对应的脚本就可以开发. 以下地址为cdn地址,仅用于测试. + +```html + + + + +``` + +## 页面跳转 + +?> 页面跳转有2种: `bui.btn`(绑定静态属性href跳转) 跟 `bui.load`(动态跳转) +- `静态属性跳转`,含有属性 `href` 则会调用跳转页面操作; +- `动态跳转`, 需要自己绑定按钮跳转操作; + +### 1. bui.btn(option) `静态属性绑定` + +*参数: option是一个对象 * + +#### option.id +- Type: `string` +- Detail: `父层选择器` + +#### option.handle +- Type: `string` +- Detail: `要点击的目标` + +#### option.progress +- Type: `boolean` +- Detail: `是否开启进度条` + +?> 绑定`.bui-page` 结构中 `.bui-btn`, `a`, 如果含有 `href` 属性则会跳转. bui.btn API +- 多页开发:`一个页面绑定一次`. +- 单页开发:`只在首页绑定一次`. + +*示例:* + +```html +
    +
    普通跳转
    +
    传参跳转
    +
    +``` +```js +// .bui-page 下的所有bui-btn按钮带href属性,点击会调用 bui.load 跳转. +bui.btn({id:".bui-page",handle:".bui-btn"}).load(); + +``` +!> 这里为什么还要初始化bui.btn,不直接使用a链接跳转呢? 通过bui.btn绑定对连续快速点击做了处理, 防止多次跳转. + +### 2. bui.load(option) `动态跳转` +?> 传参的时候比较方便 bui.load API + +*参数: option是一个对象 * + +#### option.url +- Type: `string` +- Detail: `相对路径` + +#### option.param +- Type: `object` +- Detail: `传给目标页面的参数` + +#### option.replace +- Type: `boolean` +- Detail: `替换页面,默认:false` + +*page1.html 示例:* + +```html +
    点击跳转
    ; +``` +```js +// 绑定按钮跳转 +$("#btnGo").on("click",function(e){ + bui.load({ url: "pages/page2.html", param: { id: "page1"} }); +}) +``` + +## 接收参数 + +### bui.getPageParams() + +?> 页面接收参数, 这里参数的值是在回调里面, 部分原生参数的接收是异步的, 这是为了保持接收参数的方式统一 bui.getPageParams API +1.6.x的版本可以使用 bui.history.getParams("url"); + +*page2.html 示例:* + +```js +// 需要跟原生结合使用这种异步方式 +var getParams = bui.getPageParams(); + getParams.done(function(result){ + console.log(result); + // {id:"page2"} + }) + +// 1.6.x 默认不再推荐原生路由,因此可以使用 +var urlparams = bui.history.getParams("url"); + +``` + +## 页面后退 + +### bui.back(option) + +?> 后退页面 bui.back API + +*参数: option是一个对象 * + +#### option.callback +- Type: `function` +- Detail: `后退以后执行回调` + +*示例:* + +```js +bui.back(); +``` + +!> webapp版的多页开发不支持后退刷新等操作. 如果需要更复杂的路由定制, 就需要以[单页开发](chapter2/router), 自由度会更高. + + +## 页面刷新 +### bui.refresh() + +?> 后退页面 bui.refresh API + +*示例:* + +```js +bui.refresh(); +``` + +## 页面替换 +### bui.load(option) + +?> 页面替换不会有历史记录 bui.load API + +*示例:* + +```js +bui.load({ url: "pages/page2.html", replace:true }); +``` + + +## bui.ready +?> 设备准备完毕, 一个页面只需要一个 `bui.ready`, 里面可以执行`$`的方法. +``` + bui.ready(function(){ + // 执行 + }) +``` +!> 注意, 以上的使用方式都需要在`bui.ready`的回调里面, `$` 选择器指 `Zepto`跟`jQuery`通用的方法. + +## 使用原生方法 + +```bash +# 创建 dcloud 平台版本 +$ buijs create -p dcloud +``` +在`bui.ready`上面加入一个`bui.isWebapp = false;` 的配置项, 运行在 `bui.ready` 里面的综合方法, `bui.load`,`bui.back`,`bui.getPageparams` 等等, 都会采用原生的处理. Yes, 就是这么简单! `1.5.x`以后 `bui.ajax`, `bui.upload` 的切换需要通过 `{needNative:true}` 参数来进行切换. + +```js +bui.isWebapp = false; + +``` + +!> 启用原生以后,Chrome无法调试, 需要在`dcloud`或者对应的平台容器上才能调试.. + + +?> 接下来可以继续学习 + +- [数据交互](chapter1/request) diff --git a/docs/chapter2/mpa/quickstart.md b/docs/chapter2/mpa/quickstart.md new file mode 100644 index 0000000..9e078e9 --- /dev/null +++ b/docs/chapter2/mpa/quickstart.md @@ -0,0 +1,220 @@ +# 快速开始 + +?> 通过简单例子可以了解到bui的页面标准,及控件的基本使用, 后面还有一些工具的简单介绍. + +## 简单示例 + +![焦点图](../../static/images/controls/bui-slide_low.gif) + +?> 这是BUI最简单的使用方式,引入相应的库即可使用. + + +```html + + + + +``` + +*index.html* + +```html + + + + + BUI 多页开发标准页面 + + + + + + + + + +``` + +?> 你还需要一个BUI的标准结构, 放在body中间. + +!> 1.6.x以后推荐使用以下结构,适配性更强 + +```html +
    +
    + +
    +
    + +
    +
    BUI标准页面
    +
    +
    +
    +
    + +
    +
    + +
    +
    +``` + +!> 一个页面对应一个 bui-page, `bui-box-vertical`代表纵向布局, main自适应. BUI 页面标准模板,包含 header(非必须) main(内容滚动区) footer(非必须), 不建议使用 `position:fixed` `position:absolute` 样式. + +## 效果预览 +?> 效果有点像这样: 可以直接在chrome浏览器打开html文件. + +![BUI标准页预览](../../static/images/template/preview.png) + +## 控件基本使用 + +?> 接下来我们给页面加一个焦点图控件, 一个BUI的控件包含结构跟脚本初始化. 结构放main标签里面. + +*焦点图结构* + +```html +
    +``` + +!> 脚本初始化必须在 `bui.ready` 里面执行, 多页开发`一个页面对应一个` bui.ready 其它自由编写, 便于自己维护就好. + +*焦点图初始化* + +```js + // 焦点图控件初始化 + var uiSlide = bui.slide({ + id: "#uiSlide", + height: 380, + autopage: true, + data: [{ + image: "images/banner01.png", + url: "pages/ui_controls/bui.slide_title.html", + },{ + image: "images/banner02.png", + url: "pages/ui_controls/bui.slide_title.html", + }] + }) +``` +?> 给实例增加事件监听. tab可以通过滑动、点击等方式触发, 需要通过以下方式来监听. + +```js + // 监听跳转以后触发 + uiSlide.on("to",function(){ + // 获取跳转后的索引,从0开始 + var index = this.index(); + console.log(index) + }) + +``` +?> 执行实例对应的方法, 具体请查看对应的 [API](http://www.easybui.com/demo/api/index.html). + +```js + // 跳转到第2个,索引值从0开始 + uiSlide.to(1); + +``` + +!> `注意:` 事件监听必须在方法执行之前. slide默认支持滑动,点击等事件, 但必须在手机或者开启Chrome设备预览才能操作, + +## 在线预览 + + +?> 最终组合以后的代码, 你可以点击这里 在线预览效果 + + + +*index.html* + +```html + + + + + BUI 多页开发标准页面 + + + + + +
    + +
    +
    +
    + +
    +
    BUI标准页面
    +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + + + + + +``` + + +## BUI-Fast 让编写更简单 + +?> 这是BUI的多页开发方式, 是不是很简单? BUI不止简单,还快. 上面的代码如果使用 `BUI-Fast` 插件来使用的话, 只需这几行代码就可以了. [如何安装BUI-Fast插件](https://github.com/imouou/BUI-Fast-Snippets/) + +*方案1:* +- ui-html Tab 生成bui页面引用 +![BUI-Fast焦点图预览](../../static/images/bui-fast/ui-html.gif) + +- ui-page Tab 生成bui标准页面结构 +![BUI-Fast焦点图预览](../../static/images/bui-fast/ui-page.gif) + +- bui-slide-demo Tab 生成焦点图控件初始化代码及结构 +![BUI-Fast焦点图预览](../../static/images/bui-fast/bui-slide-demo.gif) + +*方案2: * +- ui-html Tab 生成bui页面引用 +- ui-page Tab 生成bui标准页面结构 +- ui-slide Tab 生成焦点图控件静态结构 +- bui-slide Tab 生成焦点图控件初始化代码 + + +## 准备好了吗? + +?> `bui-fast` 跟 `buijs` 这里给大家做个简单的介绍, 接下来你可以继续学习 + +- [多页路由](chapter1/multipage) +- [组件化](chapter2/component) + diff --git a/docs/store/about.md b/docs/chapter2/store/about.md similarity index 62% rename from docs/store/about.md rename to docs/chapter2/store/about.md index 5ab6c45..989b027 100644 --- a/docs/store/about.md +++ b/docs/chapter2/store/about.md @@ -1,11 +1,11 @@ # 介绍 -我们按照vue的接口设计了一个不一样的数据驱动方式, 如果你熟悉vue, 那可以很容易就上手. 如果不熟悉也没有关系, 数据驱动不是必须掌握的, bui就是一个单独的解决方案. +我们按照vue的接口设计了一个不一样的数据驱动方式, 如果你熟悉vue, 很容易上手. !> 注意: 使用 `bui.store` 意味着放弃安卓低版本的兼容, 比方安卓4.3 的浏览器对这种数据解析方式支持不太好, 打包影响不大, 取决于打包的内核. -?> 这个目前还不支持复杂的对象处理, 建议设计的时候,层级在1层左右. 如果一定要多层级, 可以使用 `this.set("xx.xxx",value)` 这种方式可以确保一定会触发对应的数据变更. +?> 这个目前还不支持复杂的对象处理, 建议设计的时候, 层级在2层左右. 如果一定要多层级, 可以使用 `this.setState("xx.xxx",value)` 这种方式可以确保一定会触发对应的数据变更. [查看示例](http://easybui.com/demo/#pages/store/index) diff --git a/docs/store/attribute.md b/docs/chapter2/store/attribute.md similarity index 100% rename from docs/store/attribute.md rename to docs/chapter2/store/attribute.md diff --git a/docs/store/case.md b/docs/chapter2/store/case.md similarity index 100% rename from docs/store/case.md rename to docs/chapter2/store/case.md diff --git a/docs/store/class.md b/docs/chapter2/store/class.md similarity index 100% rename from docs/store/class.md rename to docs/chapter2/store/class.md diff --git a/docs/store/computed.md b/docs/chapter2/store/computed.md similarity index 100% rename from docs/store/computed.md rename to docs/chapter2/store/computed.md diff --git a/docs/store/controls.md b/docs/chapter2/store/controls.md similarity index 100% rename from docs/store/controls.md rename to docs/chapter2/store/controls.md diff --git a/docs/store/debug.md b/docs/chapter2/store/debug.md similarity index 100% rename from docs/store/debug.md rename to docs/chapter2/store/debug.md diff --git a/docs/store/distance.md b/docs/chapter2/store/distance.md similarity index 100% rename from docs/store/distance.md rename to docs/chapter2/store/distance.md diff --git a/docs/store/event.md b/docs/chapter2/store/event.md similarity index 100% rename from docs/store/event.md rename to docs/chapter2/store/event.md diff --git a/docs/store/form-dynamic.md b/docs/chapter2/store/form-dynamic.md similarity index 100% rename from docs/store/form-dynamic.md rename to docs/chapter2/store/form-dynamic.md diff --git a/docs/store/form.md b/docs/chapter2/store/form.md similarity index 100% rename from docs/store/form.md rename to docs/chapter2/store/form.md diff --git a/docs/store/mixins.md b/docs/chapter2/store/mixins.md similarity index 100% rename from docs/store/mixins.md rename to docs/chapter2/store/mixins.md diff --git a/docs/store/template-synatax.md b/docs/chapter2/store/template-synatax.md similarity index 100% rename from docs/store/template-synatax.md rename to docs/chapter2/store/template-synatax.md diff --git a/docs/store/template.md b/docs/chapter2/store/template.md similarity index 100% rename from docs/store/template.md rename to docs/chapter2/store/template.md diff --git a/docs/ui/cutimage.md b/docs/chapter2/ui/cutimage.md similarity index 100% rename from docs/ui/cutimage.md rename to docs/chapter2/ui/cutimage.md diff --git a/docs/ui/standard.md b/docs/chapter2/ui/standard.md similarity index 100% rename from docs/ui/standard.md rename to docs/chapter2/ui/standard.md diff --git a/docs/ui/style.md b/docs/chapter2/ui/style.md similarity index 100% rename from docs/ui/style.md rename to docs/chapter2/ui/style.md diff --git a/docs/controls/README.md b/docs/controls/README.md index 8f55f83..6c88791 100644 --- a/docs/controls/README.md +++ b/docs/controls/README.md @@ -1,6 +1,11 @@ # 组件使用必读说明 + +[Demo](http://easybui.com/demo/) + + + ## 组件示例说明 - 滑动交互类控件, 需要用chrome开启模拟设备, 或者 扫码在手机端操作, 比如 `bui.slide`焦点图, `bui.tab` 选项卡, `bui.sidebar`侧滑菜单, `bui.listview`侧滑列表, `bui.pullrefresh`下拉刷新等; diff --git a/docs/controls/main/list-layout.md b/docs/controls/main/list-layout.md index c6b7265..b5b83de 100644 --- a/docs/controls/main/list-layout.md +++ b/docs/controls/main/list-layout.md @@ -15,13 +15,13 @@ ## 图文列表 - + ## 图片列表 ## 宫格列表 - + ## 交互列表 diff --git a/docs/examples/chapter0/bui-demo.zip b/docs/examples/chapter0/bui-demo.zip new file mode 100644 index 0000000..097a670 Binary files /dev/null and b/docs/examples/chapter0/bui-demo.zip differ diff --git a/docs/examples/chapter0/bui-demo/.tmp/index.js b/docs/examples/chapter0/bui-demo/.tmp/index.js new file mode 100644 index 0000000..6566999 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/index.js @@ -0,0 +1 @@ +"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));window.router=bui.router(),bui.ready(function(n){router.init({id:"#bui-router",progress:!0,hash:!0,indexModule:{template:"pages/login/index.html",script:"pages/login/index.js"},beforeLoad:function(i){var a=n.storage.get("token",0);if("main"!==i.target.name&&!a)return bui.load({url:"main"}),!1}}),bui.btn({id:"#bui-router",handle:".bui-btn"}).load(),$("#bui-router").on("click",".btn-back",function(i){bui.back()})}),loader.set("pages/article/article",{template:function(){return'
    \n
    \n
    \n
    \n
    \n
    \n
    文章详情
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \x3c!--

    标题

    \n \n
    \n

    11月1日,温江区检察院召开党组(扩大)会议,传达学习党的十九大精神,研究学习宣传贯彻工作。会议由党组书记、检察长钟磊主持,院领导、全体部门负责人参加。

    \n\n

    \n\n

    小节标题

    \n

    会上首先传达学习了党的十九大精神以及省、市、区委常委(扩大)会议精神,省、市、区传达学习党的十九大精神大会精神和市院党组(扩大)会议精神。院领导结合检察工作实际,逐一谈学习十九大精神感想和体会。钟磊检察长结合自身检察工作实际,分享自己学习十九大精神感想和体会,并作讲话。

    \n
    --\x3e\n
    \n
    \n
    '},loaded:function(i,a,e,s){var n=bui.history.getParams(e.id);bui.store({el:"#".concat(e.id),scope:"article",data:{datas:{}},methods:{bindShare:function(){bui.actionsheet({trigger:".btn-share",buttons:[{name:"分享到微博",value:"weibo"},{name:"朋友圈",value:"pyq"}],callback:function(i){"cancel"==$(i.target).attr("value")&&this.hide()}})},getDetail:function(a){var n=this;s.ajax({url:"".concat(e.path,"article.json"),data:{id:a}}).then(function(i){i=bui.array.get(i.data,a,"id");n.datas=i},function(i,a){})}},templates:{tpl:function(i){return"

    ".concat(i.title,'

    \n
    \n 互联网\n
    2021-03-14
    \n 42\n 142\n
    \n
    \n

    \n ').concat(i.content,"\n
    ")}},mounted:function(){this.getDetail(n.id),this.bindShare()}})}}),loader.set("pages/components/slide/slide",{template:function(){return'
    '},loaded:function(i,a,n,e){var s=n.props;return s.id="#".concat(n.id," .bui-slide"),s.height=s.height||200,s.autopage=!0,s.data=s.data||[{image:"http://easybui.com/demo/images/banner01.png"},{image:"http://easybui.com/demo/images/banner02.png"}],bui.slide(s)}}),loader.set("main",{template:function(){return'
    \n
    \n
    \n
    \n
    \n
    登录页
    \n
    \n \x3c!-- 右边按钮 --\x3e\n
    \n
    \n
    \n
    \n
      \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n
      \n
    • \n
    \n
    \n
    \n
    \n
    注册
    \n
    \n
    \n
    登录
    \n
    \n
    \n
    \n
    \n
    \n'},loaded:function(i,a,n,e){return bui.store({el:"#loginpage",scope:"form",data:{datas:{username:"",password:"",save:!1}},methods:{checkForm:function(i){for(var a in i)if(""===i[a])return bui.hint("".concat(a,"的内容不能为空")),!1;return!0},savePassword:function(i){this.$data.datas.save?e.storage.set("userinfo",i):e.storage.remove("userinfo")},submit:function(){var a=this;this.checkForm(this.datas)&&bui.ajax({url:e.apiurl+"json/token.json",data:this.datas}).then(function(i){bui.hint("登录成功"),a.savePassword(a.$data.datas),e.storage.set("token",i.data),bui.load({url:"pages/main/main.html"})})}},templates:{},mounted:function(){var i=e.storage.get("userinfo",0);"object"===(0,_typeof2.default)(i)&&(this.datas=i)}})}}),loader.set("pages/login/page",{template:function(){return'
    \n
    \n
    \n
    \n \n
    \n
    弹出登录页
    \n
    \n \x3c!-- 右边按钮 --\x3e\n
    \n
    \n
    \n
    \n
      \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n
      \n
    • \n
    \n
    \n
    \n
    \n
    登录
    \n
    \n
    \n
    \n
    \n
    \n'},loaded:function(i,a,n,e){return bui.store({el:"#loginpart",scope:"form",data:{datas:{username:"",password:"",save:!1}},methods:{checkForm:function(i){for(var a in i)if(""===i[a])return bui.hint("".concat(a,"的内容不能为空")),!1;return!0},savePassword:function(i){this.$data.datas.save?e.storage.set("userinfo",i):e.storage.remove("userinfo")},close:function(){bui.history.getPageDialog(n.id).close()},submit:function(){var a=this;this.checkForm(this.datas)&&bui.ajax({url:e.apiurl+"json/token.json",data:this.datas}).then(function(i){bui.hint("登录成功"),a.savePassword(a.$data.datas),a.close(),bui.history.getLast("exports").refresh()})}},templates:{},mounted:function(){var i=e.storage.get("userinfo",0);"object"===(0,_typeof2.default)(i)&&(this.datas=i)}})}}),loader.set("pages/main/cart",{template:function(){return""},loaded:function(i,a,n,e){var s=[];return{data:s,add:function(i){s.push(i),console.log(s)},remove:function(i){bui.array.delete(s,i,"id")}}}}),loader.set("pages/main/main",{template:function(){return'\x3c!-- 这里还是一个标准的BUI页面 --\x3e\n
    \n
    \n
    \n
    \n \x3c!-- 左边有图标示例 --\x3e\n
    \n
    \n
    BUI单页开发工程模板
    \n
    \n \x3c!-- 右边有图标示例 --\x3e\n
    \n
    \n
    \n
    \n
    \n \n\n \x3c!-- 中间内容 --\x3e\n
      \n \x3c!-- \n
    • \n
      \n
      文本
      \n \n
    • \n --\x3e\n
    \n
    \n
    \n \x3c!-- 底部内容 --\x3e\n
    \n
    '},loaded:function(i,a,n,e){e.ajax({url:e.apiurl+"json/slide.json"}).then(function(i){i=i.data.map(function(i,a){return{image:"http://easybui.com/demo/"+i.image}});loader.delay({id:"#slide",param:{height:300,data:i}})});var s=null;return bui.store({el:"#".concat(n.id),scope:"list",data:{datas:[]},mounted:function(){this.getList({url:"".concat(n.path,"main.json"),data:{}})},methods:{login:function(){s?s.open():s=bui.page({url:"pages/login/page.html",param:{}})},refresh:function(){this.datas.push({id:"bui4",title:"文章标题4",image:"images/applogo.png",desc:"文章的内容简介"})},getList:function(i){var a=this;bui.ajax(i).then(function(i){a.datas=i.data},function(i,a){})}},watch:{},computed:{},templates:{tplList:function(i){var a="";return i.forEach(function(i){a+='
  • \n
    \n
    ').concat(i.title,'
    \n \n
  • ')}),a}}})}}),loader.set("pages/register/index",{template:function(){return'
    \n
    \n
    \n
    \n \n
    \n
    注册页
    \n
    \n \x3c!-- 右边按钮 --\x3e\n
    \n
    \n
    \n
    \n
      \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n
      \n
    • \n
    • \n \n
      \n \n \n
      \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n
    重置
    \n
    \n
    \n
    提交
    \n
    \n
    \n
    \n
    \n
    \n'},loaded:function(i,a,n,e){return bui.store({el:"#formpage",scope:"form",data:{datas:{username:"",password:"",comfirmpassword:"",sex:"woman"}},methods:{regexFromString:function(i){i=/^\/(.*)\/([a-z]*)$/.exec(i);return new RegExp(i[1],i[2])},checkRule:function(i,a){var n=i.getAttribute("rule"),e=i.getAttribute("tip"),n=this.regexFromString(n),i=i.value;if(i&&!n.test(i))return bui.hint(e),!1},checkForm:function(i){for(var a in i)if(""===i[a])return bui.hint("".concat(a,"的内容不能为空")),!1;return i.password!==i.comfirmpassword&&bui.hint("两次密码不一致,请检查后提交"),!0},submit:function(){this.checkForm(this.datas)&&bui.ajax({url:e.apiurl+"json/token.json",data:this.datas}).then(function(i){bui.hint("提交成功")})},reset:function(){this.datas={username:"",password:"",comfirmpassword:"",sex:""},bui.hint("重置成功")}},templates:{},mounted:function(){}})}}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/js/config/global.js b/docs/examples/chapter0/bui-demo/.tmp/js/config/global.js new file mode 100644 index 0000000..dd655e9 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/js/config/global.js @@ -0,0 +1 @@ +"use strict";loader.global(function(t){return{baseurl:"",apiurl:"",storage:bui.storage(),ajax:function(t){return t=$.extend(!0,{headers:{token:"buixxxx"}},t),bui.ajax(t)},hint:function(t){return t=$.extend(!0,{position:"bottom",effect:"fadeInUp"},{content:t}),bui.hint(t)}}}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/article/article.js b/docs/examples/chapter0/bui-demo/.tmp/pages/article/article.js new file mode 100644 index 0000000..9bd320b --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/article/article.js @@ -0,0 +1 @@ +"use strict";loader.define(function(t,a,n,e){var i=bui.history.getParams(n.id);bui.store({el:"#".concat(n.id),scope:"article",data:{datas:{}},methods:{bindShare:function(){bui.actionsheet({trigger:".btn-share",buttons:[{name:"分享到微博",value:"weibo"},{name:"朋友圈",value:"pyq"}],callback:function(t){"cancel"==$(t.target).attr("value")&&this.hide()}})},getDetail:function(a){var i=this;e.ajax({url:"".concat(n.path,"article.json"),data:{id:a}}).then(function(t){t=bui.array.get(t.data,a,"id");i.datas=t},function(t,a){})}},templates:{tpl:function(t){return"

    ".concat(t.title,'

    \n
    \n 互联网\n
    2021-03-14
    \n 42\n 142\n
    \n
    \n

    \n ').concat(t.content,"\n
    ")}},mounted:function(){this.getDetail(i.id),this.bindShare()}})}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/components/slide/slide.js b/docs/examples/chapter0/bui-demo/.tmp/pages/components/slide/slide.js new file mode 100644 index 0000000..f08f6b5 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/components/slide/slide.js @@ -0,0 +1 @@ +"use strict";loader.define(function(e,a,i,t){var n=i.props;return n.id="#".concat(i.id," .bui-slide"),n.height=n.height||200,n.autopage=!0,n.data=n.data||[{image:"http://easybui.com/demo/images/banner01.png"},{image:"http://easybui.com/demo/images/banner02.png"}],bui.slide(n)}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/login/index.js b/docs/examples/chapter0/bui-demo/.tmp/pages/login/index.js new file mode 100644 index 0000000..343d0f4 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/login/index.js @@ -0,0 +1 @@ +"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));loader.define(function(e,t,a,r){return bui.store({el:"#loginpage",scope:"form",data:{datas:{username:"",password:"",save:!1}},methods:{checkForm:function(e){for(var t in e)if(""===e[t])return bui.hint("".concat(t,"的内容不能为空")),!1;return!0},savePassword:function(e){this.$data.datas.save?r.storage.set("userinfo",e):r.storage.remove("userinfo")},submit:function(){var t=this;this.checkForm(this.datas)&&bui.ajax({url:r.apiurl+"json/token.json",data:this.datas}).then(function(e){bui.hint("登录成功"),t.savePassword(t.$data.datas),r.storage.set("token",e.data),bui.load({url:"pages/main/main.html"})})}},templates:{},mounted:function(){var e=r.storage.get("userinfo",0);"object"===(0,_typeof2.default)(e)&&(this.datas=e)}})}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/login/page.js b/docs/examples/chapter0/bui-demo/.tmp/pages/login/page.js new file mode 100644 index 0000000..44ec87f --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/login/page.js @@ -0,0 +1 @@ +"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof"));loader.define(function(e,t,a,r){return bui.store({el:"#loginpart",scope:"form",data:{datas:{username:"",password:"",save:!1}},methods:{checkForm:function(e){for(var t in e)if(""===e[t])return bui.hint("".concat(t,"的内容不能为空")),!1;return!0},savePassword:function(e){this.$data.datas.save?r.storage.set("userinfo",e):r.storage.remove("userinfo")},close:function(){bui.history.getPageDialog(a.id).close()},submit:function(){var t=this;this.checkForm(this.datas)&&bui.ajax({url:r.apiurl+"json/token.json",data:this.datas}).then(function(e){bui.hint("登录成功"),t.savePassword(t.$data.datas),t.close(),bui.history.getLast("exports").refresh()})}},templates:{},mounted:function(){var e=r.storage.get("userinfo",0);"object"===(0,_typeof2.default)(e)&&(this.datas=e)}})}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/main/cart.js b/docs/examples/chapter0/bui-demo/.tmp/pages/main/cart.js new file mode 100644 index 0000000..8843bd1 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/main/cart.js @@ -0,0 +1 @@ +"use strict";loader.define(function(e,n,o,r){var t=[];return{data:t,add:function(e){t.push(e),console.log(t)},remove:function(e){bui.array.delete(t,e,"id")}}}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/main/main-sync-example.js b/docs/examples/chapter0/bui-demo/.tmp/pages/main/main-sync-example.js new file mode 100644 index 0000000..83de655 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/main/main-sync-example.js @@ -0,0 +1 @@ +"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault"),_regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));loader.define(function(){var n=(0,_asyncToGenerator2.default)(_regenerator.default.mark(function e(t,a,r,n){var i,u;return _regenerator.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.ajax({url:n.apiurl+"json/token.json",data:{uid:"bui"}});case 2:return i=e.sent,e.next=5,n.ajax({url:n.apiurl+"json/slide.json",data:{token:i.data}});case 5:return u=e.sent,u=u.data.map(function(e,t){return{image:"http://easybui.com/demo/"+e.image}}),e.next=9,loader.delay({id:"#slide",param:{height:300,data:u}});case 9:return e.sent,u=bui.store({el:"#".concat(r.id),scope:"list",data:{datas:[]},mounted:function(){this.getList({url:"".concat(r.path,"main.json"),data:{}})},methods:{getList:function(e){var t=this;bui.ajax(e).then(function(e){t.datas=e.data},function(e,t){})}},watch:{},computed:{},templates:{tplList:function(e){var t="";return e.forEach(function(e){t+='
  • \n
    \n
    ').concat(e.title,'
    \n \n
  • ')}),t}}}),e.abrupt("return",u);case 12:case"end":return e.stop()}},e)}));return function(e,t,a,r){return n.apply(this,arguments)}}()); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/main/main.js b/docs/examples/chapter0/bui-demo/.tmp/pages/main/main.js new file mode 100644 index 0000000..f4ebba7 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/main/main.js @@ -0,0 +1 @@ +"use strict";loader.define(function(t,a,i,n){n.ajax({url:n.apiurl+"json/slide.json"}).then(function(t){t=t.data.map(function(t,a){return{image:"http://easybui.com/demo/"+t.image}});loader.delay({id:"#slide",param:{height:300,data:t}})});var e=null;return bui.store({el:"#".concat(i.id),scope:"list",data:{datas:[]},mounted:function(){this.getList({url:"".concat(i.path,"main.json"),data:{}})},methods:{login:function(){e?e.open():e=bui.page({url:"pages/login/page.html",param:{}})},refresh:function(){this.datas.push({id:"bui4",title:"文章标题4",image:"images/applogo.png",desc:"文章的内容简介"})},getList:function(t){var a=this;bui.ajax(t).then(function(t){a.datas=t.data},function(t,a){})}},watch:{},computed:{},templates:{tplList:function(t){var a="";return t.forEach(function(t){a+='
  • \n
    \n
    ').concat(t.title,'
    \n \n
  • ')}),a}}})}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/.tmp/pages/register/index.js b/docs/examples/chapter0/bui-demo/.tmp/pages/register/index.js new file mode 100644 index 0000000..04a6259 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/.tmp/pages/register/index.js @@ -0,0 +1 @@ +"use strict";loader.define(function(t,e,r,i){return bui.store({el:"#formpage",scope:"form",data:{datas:{username:"",password:"",comfirmpassword:"",sex:"woman"}},methods:{regexFromString:function(t){t=/^\/(.*)\/([a-z]*)$/.exec(t);return new RegExp(t[1],t[2])},checkRule:function(t,e){var r=t.getAttribute("rule"),i=t.getAttribute("tip"),r=this.regexFromString(r),t=t.value;if(t&&!r.test(t))return bui.hint(i),!1},checkForm:function(t){for(var e in t)if(""===t[e])return bui.hint("".concat(e,"的内容不能为空")),!1;return t.password!==t.comfirmpassword&&bui.hint("两次密码不一致,请检查后提交"),!0},submit:function(){this.checkForm(this.datas)&&bui.ajax({url:i.apiurl+"json/token.json",data:this.datas}).then(function(t){bui.hint("提交成功")})},reset:function(){this.datas={username:"",password:"",comfirmpassword:"",sex:""},bui.hint("重置成功")}},templates:{},mounted:function(){}})}); \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/app.json b/docs/examples/chapter0/bui-demo/app.json new file mode 100644 index 0000000..4b5a9f0 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/app.json @@ -0,0 +1,38 @@ +{ + "distServer": { + "livereload": true, + "port": 3281 + }, + "devServer": { + "livereload": false, + "port": 3279 + }, + "qrcode": "/index.html", + "ignored": [ + "!src/README.md", + "!src/preview.png" + ], + "proxy": { + "/demo": { + "target": "http://www.easybui.com", + "changeOrigin": true, + "ssl": false + } + }, + "babel": { + "presets": [ + "es2015" + ] + }, + "package": { + "uglify": true, + "folder": "pages", + "main": "pages/login/index" + }, + "cleancss": false, + "autoprefixer": true, + "uglify": true, + "htmlmin": false, + "imagemin": false, + "license": "MIT" +} \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/gulpfile.js b/docs/examples/chapter0/bui-demo/gulpfile.js new file mode 100644 index 0000000..4266355 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/gulpfile.js @@ -0,0 +1,922 @@ +let enviroment = process.env.NODE_ENV || 'development'; +// 默认文件夹配置 .tmp为临时babel编译的临时文件, mac上是隐藏文件夹, 实际打包应该为 dist 目录里面的 +const folder = { + src: 'src', + dist: 'dist', + temp: '.tmp' +} + +const gulp = require('gulp'); +const { + task, + dest, + src, + series +} = require('gulp'); +// 压缩包 +const zip = require('gulp-zip'); +// ES6 转ES5 +const babel = require('gulp-babel'); +// 打包es6 +const browserify = require('browserify'); +const buffer = require('vinyl-buffer'); +const stream = require('vinyl-source-stream'); + +// 任务流 +const es = require('event-stream'); +// 文件读取 +const fs = require('fs'); +// 读写保存配置 +const fse = require("fs-extra"); +const join = require('path').join; + +// 生成css,js map图 +const sourcemaps = require('gulp-sourcemaps'); +// 错误处理 +const plumber = require('gulp-plumber'); +// html压缩 +const htmlmin = require('gulp-htmlmin'); +// 图片压缩 +const imagemin = require('gulp-imagemin'); +// less 编译 +const less = require('gulp-less'); +const minifycss = require('gulp-clean-css'); +const autoprefixer = require('gulp-autoprefixer'); +// 脚本压缩 +const uglify = require('gulp-uglify'); +// 静态服务器 +const connect = require('gulp-connect'); +// 跨域代理 +const proxy = require('http-proxy-middleware'); +// 配合fs +const path = require("path"); +// 配合watch增删改 +const watch = require('gulp-watch'); +// 只修改改动的文件 +const changed = require('gulp-changed'); +// 生成样式脚本?的引入 +const md5 = require('gulp-md5-assets'); +// 删除文件 +const del = require('del'); + +// 加入二维码 +const qrcode = require('qrcode-terminal'); +// 用于获取本机信息 +const os = require('os'); +const ip = getNetwork().ip || "localhost"; +// 读取配置 +const package = require('./package.json'); +// 起服务 +var browserSync = require('browser-sync').create(); +var reload = browserSync.reload; + +// 获取package的项目配置,支持多个项目配置 +var configName = package['projects'] && package['projects'][process.env.NODE_ENV] || 'app.json'; +var app = require("./" + configName), + // 编译服务配置 + distServer = app.distServer || {}, + // 开发服务配置 + devServer = app.devServer || {}, + // 实时刷新,仅在开发模式 + isDevLivereload = devServer.livereload == false ? false : true, + // 实时刷新,仅在编译模式 + isDistLivereload = distServer.livereload == false ? false : true, + // 源文件目录 + sourcePath = process.env.NODE_ENV ? process.env.NODE_ENV + '/' + folder.src : folder.src, + // 源文件目录 + sourceBuild = process.env.NODE_ENV ? process.env.NODE_ENV + '/' + folder.dist : folder.dist; +// 源文件es5缓存目录 +sourceTemp = process.env.NODE_ENV ? process.env.NODE_ENV + '/' + folder.temp : folder.temp; + + +// 配置编译的服务 +var config = { + source: { + // 源文件目录 + root: sourcePath, + // 源文件样式目录 + css: [sourcePath + "/css/**/*.css"], + // style.css 源文件目录 + scss: [sourcePath + '/scss/**/*.scss'], + // style.css 源文件目录 + less: [sourcePath + '/less/**/*.less', '!' + sourcePath + '/less/**/_*.less'], + // 源文件图片目录 + images: [sourcePath + '/**/*.{png,jpg,gif,ico}'], + }, + // 编译的输出路径 + build: sourceBuild, + // 输出配置 + output: { + // 输出的根目录 + root: sourceBuild, + // 输出的样式目录 + css: sourceBuild + '/css', + images: sourceBuild + '/' + }, + watcher: { + rootRule: sourcePath + '/**', + moveRule: [sourcePath + '/**', '!' + sourcePath + '/scss'], + jsRule: [sourcePath + '/**/*.js', '!' + sourcePath + '/js/bui.js', '!' + sourcePath + '/js/zepto.js', '!' + sourcePath + '/js/platform/**/*.js', '!' + sourcePath + '/js/plugins/**/*.js', '!' + sourcePath + '/**/*.min.js', '!' + sourcePath + '/**/*.json'], + htmlRule: [sourcePath + '/**/*.html'], + } +} + + +// 增加用户配置的忽略文件 +if ("ignored" in app) { + app.ignored.forEach(function (item, index) { + var type = item.substr(item.lastIndexOf(".") + 1); + switch (type) { + case "css": + config.source.css.push(item); + break; + case "scss": + config.source.scss.push(item); + break; + case "less": + config.source.less.push(item); + break; + case "png": + case "jpg": + case "gif": + case "jpeg": + config.source.images.push(item); + break; + case "js": + config.watcher.jsRule.push(item); + break; + case "html": + config.watcher.htmlRule.push(item); + break; + default: + config.watcher.moveRule.push(item); + break; + } + }) +} + +// 获取本机IP +function getNetwork() { + let iptable = {}, + ifaces = os.networkInterfaces(); + + for (let dev in ifaces) { + ifaces[dev].forEach(function (details, alias) { + if (details.family == 'IPv4') { + iptable[dev + (alias ? ':' + alias : '')] = details.address; + iptable["ip"] = details.address; + } + }); + } + + return iptable; +} + +// 获取随机端口 +function getRandomPort() { + let random = Math.random() * 10000 + 2000; + let randomPort = parseInt(random); + + return randomPort; +} + +// 获取端口并写入配置 +function getServerPort() { + + // 开发版运行端口 + let devPort = getRandomPort(); + // 编译版运行端口 + let distPort = devPort + 2; + // 写入端口 + if (!devServer.port) { + app.devServer.port = devPort; + fse.writeFileSync(path.resolve(configName), JSON.stringify(app, null, 2)); + } + if (!distServer.port) { + app.distServer.port = distPort; + fse.writeFileSync(path.resolve(configName), JSON.stringify(app, null, 2)); + } + + return { + devPort: app.devServer.port, + distPort: app.distServer.port + } +} + + + +// 找到文件进行打包处理 +function findSync(startPath) { + let result = [] + + function finder(path) { + let files = fs.readdirSync(path) + files.forEach(val => { + let fPath = join(path, val); + let stats = fs.statSync(fPath) + if (stats.isDirectory()) { + finder(fPath) + } + if (stats.isFile() && val.lastIndexOf(".js") > -1) { + result.push({ + path: fPath, + name: val, + relativePath: path.substr(folder.temp.length) + }) + } + }) + + } + finder(startPath) + let res = result.map(item => { + item.path = item.path.replace(/\\/g, '/') + return item + }) + return res +} +// 转es5 部分打包平台的webview对es6不友好,譬如: async await 等 +task('babel', cb => { + + let step = src(config.watcher.jsRule) + .pipe(babel({ + presets: ['@babel/preset-env'], + plugins: ['@babel/plugin-transform-runtime', '@babel/plugin-transform-object-assign'] + })) + .pipe(plumber({ + errorHandler: function (error) { + console.log(error) + this.emit('end'); + } + })) + .pipe(dest(sourceTemp)) + return step; +}) +// 转义并压缩 +task('babel-mini', cb => { + + return src(config.watcher.jsRule) + .pipe(babel({ + presets: ['@babel/preset-env'], + plugins: ['@babel/plugin-transform-runtime', '@babel/plugin-transform-object-assign'] + })) + .pipe(plumber({ + errorHandler: function (error) { + console.log(error) + this.emit('end'); + } + })) + // 混淆 + .pipe(app.uglify ? uglify({ + "compress": { + "drop_debugger": false + }, + "output": { + "max_line_len": false, + "comments": /^!/ + }, + "mangle": true + }) : plumber()) + .pipe(dest(sourceTemp)); +}) +// 模块化打包 +task('browserify', cb => { + let files = findSync(sourceTemp) + + var task = files.map(entry => { + // 去除 .temp/ 前缀 + let relativeFile = process.env.NODE_ENV ? sourceBuild + entry.relativePath.substr(5) : folder.dist + entry.relativePath; + + return browserify({ + entries: entry.path, + debug: false + }) + .bundle() + .on('error', function (error) { + console.log(error.toString()) + }) + .pipe(stream(entry.name)) + .pipe(buffer()) + .pipe(dest(relativeFile)) + }) + // 任务合并 + es.merge.apply(null, task) + cb() //这一句其实是因为V4不再支持同步任务,所以需要以这种方式或者其他API中提到的方式 +}) + + +// 清空文件,在最后构建的时候才加入这部 +task('clean-dist', cb => { + return del([sourceBuild + '/**/*'], cb); +}); +// 清空文件,在最后构建的时候才加入这部 +task('clean-tmp', cb => { + return del([sourceTemp], cb); +}); + +// less 初始化的时候编译, 并生成sourcemap 便于调试 +task('less', function () { + let autoprefixOpt = {}; //参考 https://github.com/postcss/autoprefixer#options + + src([sourcePath + '/pages/**/*.less', '!' + sourcePath + '/pages/**/_*.less']) + .pipe(less()) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(dest(sourceBuild + "/pages/")) + + return src(config.source.less) + .pipe(sourcemaps.init()) + .pipe(less()) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(sourcemaps.write('./')) + .pipe(dest(sourceBuild + "/css")) + .pipe(dest(sourcePath + "/css")) +}); +// less 初始化的时候编译, 并生成sourcemap 便于调试 +task('less-build', function (cb) { + let autoprefixOpt = {}; //参考 https://github.com/postcss/autoprefixer#options + del([sourceBuild + '/css/*.css.map']); + + // 输出单独组件的less文件 + src([sourcePath + '/pages/**/*.less', '!' + sourcePath + '/pages/**/_*.less']) + .pipe(less()) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(dest(sourceBuild + "/pages/")) + + return src(config.source.less) + .pipe(less()) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(dest(sourceBuild + "/css")) + .pipe(dest(sourcePath + "/css")) +}); +// css 编译 +task('css', function () { + // 编译style.scss文件 + return src(config.source.css) + .pipe(changed(sourceBuild + '/css/')) + .pipe(dest(config.output.css)) +}) + +// 改变的时候才执行压缩 +task('css-minify', function () { + // 编译style.scss文件 + return src(config.source.css) + .pipe(app.cleancss ? minifycss({ + "compatibility": "ie8" + }) : plumber()) + .pipe(dest(config.output.css)) +}) + + +// move all file except pages/js/** .sass .md +task('move', function () { + return src(config.watcher.moveRule) + .pipe(changed(config.watcher.rootRule)) + .pipe(dest(config.output.root)); +}); + +// compress html +task('html', function () { + var options = { + "removeComments": true, + "collapseWhitespace": false, + "collapseBooleanAttributes": false, + "removeEmptyAttributes": false, + "removeScriptTypeAttributes": true, + "removeStyleLinkTypeAttributes": true, + "minifyJS": true, + "minifyCSS": true + }; + return src(config.watcher.htmlRule) + .pipe(app.htmlmin ? htmlmin(options) : changed(sourceBuild)) + .pipe(dest(sourceBuild)) + +}); + +// compress image +task('images', function () { + // 有大图会很慢,默认不开启 + return src(config.source.images) + // .pipe(changed(config.output.images)) + .pipe(app.imagemin ? imagemin([ + imagemin.jpegtran({ + progressive: true + }), + imagemin.optipng({ + optimizationLevel: 5 + }), + imagemin.svgo({ + plugins: [{ + removeViewBox: true + }, + { + cleanupIDs: false + } + ] + }) + ]) : changed(config.output.images)) + .pipe(dest(config.output.images)); + +}); + +task('mergeFile', function (cb) { + // 默认是 "dist/pages" + findFileMerge(folder.dist + "/" + app.package.folder); + + cb(); +}); + + +function getTime() { + var date = new Date(); + + return "" + date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours() + date.getMinutes() + date.getSeconds(); +} + +task('index-babel-mini', cb => { + return src(folder.dist + "/index.js") + .pipe(babel({ + compact: false, // 取消压缩文件超500k提醒 + presets: ['@babel/preset-env'], + plugins: ['@babel/plugin-transform-runtime', '@babel/plugin-transform-object-assign'] + })) + .pipe(plumber({ + errorHandler: function (error) { + console.log(error) + this.emit('end'); + } + })) + // 混淆 + .pipe(app.uglify ? uglify({ + "compress": { + "drop_debugger": false + }, + "output": { + "max_line_len": false, + "comments": /^!/ + }, + "mangle": true + }) : plumber()) + .pipe(dest(folder.temp)); +}); +// 模块化打包 +task('index-browserify', cb => { + let files = [{ + path: folder.temp + "/index.js", + name: "index.js", + relativePath: "index.js", + }]; + + var tag = getTime(); + console.log('dist/dist' + tag + '.zip 文件创建成功') + // 这里需要找到多个文件再进行合并,是异步的, 会造成dist-zip压缩的时候,文件还是没有编译混淆的版本 + var task = files.map(entry => { + return browserify({ + entries: entry.path, + debug: false + }) + .bundle() + .on('error', function (error) { + console.log(error.toString()) + }) + .pipe(stream(entry.name)) + .pipe(buffer()) + .pipe(dest(folder.dist)) + .pipe(src('dist/**')) + .pipe(zip('dist' + tag + '.zip')) + .pipe(gulp.dest(folder.dist)) + }) + // 任务合并 + es.merge.apply(null, task) + cb() //这一句其实是因为V4不再支持同步任务,所以需要以这种方式或者其他API中提到的方式 +}) + +// 模块化打包 +task('dist-zip', cb => { + var tag = getTime(); + console.log('dist/dist' + tag + '.zip 文件创建成功') + return src('dist/**') + .pipe(zip('dist' + tag + '.zip')) + .pipe(gulp.dest(folder.dist)) + cb(); +}) +task('backup', cb => { + var tag = getTime(); + return src('src/**') + .pipe(zip('src' + tag + '.zip')) + .pipe(gulp.dest('backup')) + cb(); +}) + +// 找到文件进行打包处理 +function findFileMerge(startPath) { + let results = [] + let startFolder = "dist"; + let bundleFile = "index.js"; // 合并到首页 + + let indexImports = []; // 首页用到import的地方 + + function finder(path) { + let files = fs.readdirSync(path) + + files.forEach(val => { + let fPath = join(path, val); + let stats = fs.statSync(fPath) + if (stats.isDirectory()) { + finder(fPath) + } + if (stats.isFile() && val.lastIndexOf(".js") > -1 && val.lastIndexOf(".json") < 0) { + results.push({ + path: fPath, + name: val, + relativePath: path.substr(folder.temp.length) + }) + } + }) + + } + + // 单独寻找首页匹配 import + function findeIndex(){ + let data = fs.readFileSync("src/index.js", 'utf-8'); + + // 去掉注释的字符 + let datastr = data.toString().replace(/\/\*[\s\S]*\*\/|\/\/.*/gm,""); + + let importrule = /import\s[\{|\}]*.+['|;]*/gm; + let importModules = datastr.match(importrule) || []; + + // 去空格 + importModules = importModules.map((item)=>{ + let str = item.replace(/{\s*/g,'{').replace(/\s*}/g,'}').replace(/[\s]*,[\s]/g,','); + + return str; + }) + + indexImports = [...importModules]; + + } + findeIndex(); + // 查找dist目录 + finder(startPath); + + // results = [ + // { + // path: 'dist/pages/slide/slide.js', + // name: 'slide.js', + // relativePath: '/pages/slide' + // } + // ] + + // 导入的所有依赖模块 + let importAllModules = []; + let res = results.forEach((item, index) => { + + item.path = item.path.replace(/\\/g, '/'); + let moduleName = item.path.replace(startFolder + "/" + app.package.folder, app.package.folder).replace(".js", ""); + let _moduleName = moduleName; + // 读取每个文件 + let data = fs.readFileSync(item.path, 'utf-8'); + // 去掉多行注释和单行注释 + let datastr = data.toString().replace(/\/\*[\s\S]*\*\/|^\s*\/\/.*/gm,""); + + let templateFile = startFolder + "/" + moduleName + ".html"; + + let templateHtml = ""; + // 能否读取模板 + try { + fs.accessSync(templateFile, fs.constants.R_OK); + templateHtml = fs.readFileSync(templateFile, "utf-8") || ""; + } catch (err) { + templateHtml = ""; + } + + // 把html模板变成一个function + let template = `function(){ + return ${"\`"+templateHtml+"\`"}; + }` + + // 匹配 loader.define() 括号里面的内容, 里面有5种书写格式, + /* + 1. loader.define(function(){}); + 2. loader.define("name",function(){}); + 3. loader.define("name",["pages/main"],function(main){}); + 4. loader.define(["pages/main"],function(main){}); + 5. loader.define({ + moduleName:"", + depend: [], + loaded: function(){} + }); + */ + let rule = /(?<=loader\.define\()\s*([\s\S]+)\)/gm; + let ruleName = /^"([\s\S]+?)",/gm; + // 前面是数组的时候,loader.define([],function(){}); + let ruleDepend = /[\s,]*(\[[.|\s\S]*?])[,|\s]*?/; + // 必须出现,前面必须有loader.define("",[],function(){}); + let ruleDepend2 = /[,]+(\[[.|\s\S]*?])[,|\s]*?/; + let ruleFunction = /(function[\s\S]+\([\s\S]+\})/gm; + // 提取 loader.define里面的内容 + let datas = rule.exec(datastr) || []; + // 第2个是返回的值 + let result = datas[1] || ""; + // 获取 + let getRuleName = ruleName.exec(result); + // + moduleName = getRuleName && getRuleName[1] ? (getRuleName[1] || moduleName) : moduleName; + // 如果入口的配置 + if (_moduleName === app.package.main || item.path === app.package.main) { + moduleName = "main"; + } + // 通过import 导入的模块也要进行打包 + // let importrule = /(import[\s\S|.]+from\s+["|'].+?["|'])/gm; + let importrule = /import\s[\{|\}]*.+['|;]*/gm; + let importModules = datastr.match(importrule) || []; + // 当前文件路径 + let apath = item.relativePath.split("/"); + apath[0] = "."; + + // 去空格 + importModules = importModules.map((item)=>{ + let str = item.replace(/{\s*/g,'{').replace(/\s*}/g,'}').replace(/[\s]*,[\s]/g,','); + + return str; + }) + + importModules.forEach(function (el, index) { + // 有多少个 ../ + let hasRelativePath = el.match(/\.\.\//g) || []; + let newpath = ""; + for (let i = 0; i < apath.length - hasRelativePath.length; i++) { + newpath += apath[i] + "/"; + } + // 把路径处理成相对根路径 + let importfile = el.indexOf("../") > -1 ? el.replace("../", newpath).replace(/\.\.\//g, "") : el.replace("./", "." + item.relativePath + "/"); + + // 如果里面有相同,则不导入 + if( importAllModules.includes(importfile) || indexImports.includes(importfile) ){ + return; + } + + importAllModules.push(importfile); + fs.appendFileSync(startFolder + '/' + bundleFile, ";" + importfile); + }) + + let hasName = result && (result.indexOf('"') == 0 || result.indexOf("'") == 0); + let isObject = result && result.indexOf('{') == 0; + let isArray = result && result.indexOf('[') == 0; + let isFunctioin = result && result.indexOf('function') == 0; + if (isObject) { + // 把值增加到 bundle.js , 这个文件会被首先引用进去, 等于所有模块都已经加载. + fs.appendFileSync(startFolder + '/' + bundleFile, `;loader.set("${moduleName}",{ + template:${template}}); + loader.set("${moduleName}",${result})`, + 'utf8') + console.log(moduleName + ' 对象模块合并成功'); + } else { + + let newloader = ""; + if (isFunctioin) { + // 如果是只有回调, result = function(){} + newloader = `;loader.set("${moduleName}",{ + template:${template}, + loaded:${result}});`; + } else if (hasName || isArray) { + // 如果有依赖 result = [],function(){} + // 只有数组开头的时候, loader.define([],function(){}) 或者 loader.define("",[],function(){}) + let depend1 = isArray ? ruleDepend.exec(result) || [] : []; + let depend2 = hasName ? ruleDepend2.exec(result) || [] : []; + let depend = isArray ? depend1 : depend2; + // if( moduleName.indexOf("store/template") > -1){ + // console.log(ruleDepend.exec(result)[1]+"测试") + // } + let loaded = ruleFunction.exec(result) || []; + newloader = `;loader.set("${moduleName}",{ + template:${template}, + depend:${depend[1]||[]}, + loaded:${loaded[1]}});`; + } + + // 把值增加到 bundle.js , 这个文件会被首先引用进去, 等于所有模块都已经加载. + fs.appendFileSync(startFolder + '/' + bundleFile, newloader, 'utf8') + console.log(moduleName + ' define模块合并成功'); + } + if (index === results.length - 1) { + console.log("合并完成") + } + + }) + return res +} + +// 监测新增 +function addFile(file) { + console.log(file, "added"); + gulp.src(file, { + base: './' + sourcePath + }) //指定这个文件 + .pipe(gulp.dest('./' + sourceBuild)) +} +// 监测新增 + +function changeFile(file) { + console.info(file, "changed"); + + let isJs = file.lastIndexOf(".js") > -1 && file.lastIndexOf(".json") < 0; + let isHtml = file.lastIndexOf(".html") > -1; + let isScss = file.lastIndexOf(".scss") > -1; + let isCss = file.lastIndexOf(".css") > -1; + let isLess = file.lastIndexOf(".less") > -1; + let autoprefixOpt = {}; //参考 https://github.com/postcss/autoprefixer#options + + if (isJs) { + let relativePath = path.relative('./' + sourcePath, file); + let distfile = './' + folder.dist + '/' + relativePath; + // 文件单独打包成es5 + browserify(file) + .transform("babelify", { + presets: ["@babel/preset-env"], + plugins: ['@babel/plugin-transform-runtime', '@babel/plugin-transform-object-assign'] + }) + .bundle() + .pipe(fs.createWriteStream(distfile)) + + // 刷新 + gulp.src(distfile) + .pipe(reload({ + stream: true + })) + + } else if (isScss) { + + let sassOpt = { + "outputStyle": "compressed" + } + gulp.src(config.source.scss) + // 生成css对应的sourcemap + .pipe(sourcemaps.init()) + .pipe(sass(sassOpt).on('error', sass.logError)) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(sourcemaps.write('./')) + .pipe(dest(sourceBuild + "/css")) + .pipe(dest(sourcePath + "/css")) + .pipe(reload({ + stream: true + })); + + } else if (isLess) { + + if( file.indexOf("pages/") > -1 ){ + // 输出单独组件的less文件 + + gulp.src(file) + .pipe(less()) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(dest(path.dirname(file))) + .pipe(reload({ + stream: true + })); + }else{ + gulp.src(config.source.less) + .pipe(sourcemaps.init()) + .pipe(less()) + .pipe(app.autoprefixer ? autoprefixer(autoprefixOpt) : plumber()) + .pipe(sourcemaps.write('./')) + .pipe(dest(sourceBuild + "/css")) + .pipe(dest(sourcePath + "/css")) + .pipe(reload({ + stream: true + })); + } + + } else if (isHtml) { + + gulp.src(file, { + base: './' + sourcePath + }) + .pipe(plumber()) + .pipe(htmlmin(app.htmlmin)) + .pipe(gulp.dest('./' + sourceBuild)) + .pipe(md5(10)) + .pipe(reload({ + stream: true + })) + } else if (isCss) { + + gulp.src(file, { + base: './' + sourcePath + }) + .pipe(gulp.dest('./' + sourceBuild)) + .pipe(md5(10, sourceBuild + "/**/*.html")) + .pipe(reload({ + stream: true + })) + } else { + gulp.src(file, { + base: './' + sourcePath + }) + .pipe(gulp.dest('./' + sourceBuild)) + .pipe(reload({ + stream: true + })) + } + +} + +// 起一个普通服务 +task('server', function () { + var portObj = getServerPort(); + + let proxys = []; + if ("proxy" in app) { + let proxyObj = app["proxy"]; + let keys = Object.keys(proxyObj); + + keys.forEach(function (item, i) { + let proxyItem = proxy(item, proxyObj[item]) + proxys.push(proxyItem); + }) + } + + // 起一个同步服务 + browserSync.init({ + ui: { + port: portObj.devPort + 1 + }, + server: { + baseDir: sourceBuild, + middleware: proxys + }, + port: portObj.devPort, + ghostMode: false, + codeSync: isDevLivereload + }); + + // 插入二维码,手机扫码调试 + var qrurl = "http://" + ip + ":" + portObj.devPort + app.qrcode; + qrcode.generate(qrurl, { + small: true + }); + +}); + +// 起一个同步实时修改的服务 +task('server-sync', function () { + var portObj = getServerPort(); + + let proxys = []; + if ("proxy" in app) { + let proxyObj = app["proxy"]; + let keys = Object.keys(proxyObj); + + keys.forEach(function (item, i) { + let proxyItem = proxy(item, proxyObj[item]) + proxys.push(proxyItem); + }) + } + + // 起一个同步服务 + browserSync.init({ + ui: { + port: portObj.distPort + 1 + }, + server: { + baseDir: sourceBuild, + middleware: proxys + }, + port: portObj.distPort, + ghostMode: false, + notify: false, + codeSync: isDistLivereload, + // plugins: ['bs-console-qrcode'] + }); + + // 插入二维码,手机扫码调试 + var qrurl = "http://" + ip + ":" + portObj.distPort + app.qrcode; + + qrcode.generate(qrurl, { + small: true + }); + console.log("手机扫码预览效果"); + + // 新增删除由插件负责 + watch(config.watcher.rootRule) + .on('add', addFile) + .on('change', changeFile) + .on('unlink', function (file) { + //删除文件 + let distFile = './' + sourceBuild + '/' + path.relative('./' + sourcePath, file); //计算相对路径 + fse.existsSync(distFile) && fse.unlink(distFile); + console.warn(file, "deleted") + }); +}); + + +// 清空缓存, 重新编译 +exports.build = series('clean-tmp', 'clean-dist', 'move', 'css-minify', 'images', 'html', 'less-build', 'babel-mini', 'browserify') //series是gulpV4中新方法,按顺序执行 + +// 先编译再起服务,不需要每次都清除文件夹的内容 如果有scss目录,会在最后才生成, 如果没有,则以src/css/style.css 作为主要样式 +exports.dev = series('move', 'html', 'css', 'images', 'less', 'babel', 'browserify', 'server-sync') +// 打包成一个独立脚本,是否压缩 +if (app.package && app.package.uglify) { + exports.package = series('clean-tmp', 'clean-dist', 'move', 'css-minify', 'images', 'html', 'less-build', 'babel-mini', 'browserify', 'mergeFile', 'index-babel-mini', 'index-browserify'); +} else { + exports.package = series('clean-tmp', 'clean-dist', 'move', 'css-minify', 'images', 'html', 'less-build', 'babel', 'browserify', 'mergeFile', 'dist-zip'); +} \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/package.json b/docs/examples/chapter0/bui-demo/package.json new file mode 100644 index 0000000..04b6a18 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/package.json @@ -0,0 +1,57 @@ +{ + "name": "buiapp", + "version": "1.0.0", + "description": "", + "projects": {}, + "main": "gulpfile.js", + "scripts": { + "dev": "gulp dev", + "server": "gulp server", + "start": "gulp dev", + "build": "gulp build", + "package": "gulp package", + "backup": "gulp backup" + }, + "author": "imouou@hotmail.com", + "homepage": "http://www.easybui.com", + "license": "MIT", + "devDependencies": { + "@babel/core": "^7.7.7", + "@babel/plugin-transform-object-assign": "^7.12.1", + "@babel/plugin-transform-runtime": "^7.7.6", + "@babel/preset-env": "^7.7.7", + "autoprefixer": "^9.7.3", + "babelify": "^10.0.0", + "browser-sync": "^2.26.7", + "browserify": "^16.5.0", + "cross-env": "^6.0.3", + "del": "^5.1.0", + "event-stream": "^4.0.1", + "fs-extra": "^8.1.0", + "gulp": "^4.0.2", + "gulp-autoprefixer": "^7.0.1", + "gulp-babel": "^8.0.0", + "gulp-changed": "^4.0.2", + "gulp-clean-css": "^4.2.0", + "gulp-connect": "^5.7.0", + "gulp-htmlmin": "^5.0.1", + "gulp-imagemin": "^6.2.0", + "gulp-less": "^4.0.1", + "gulp-md5-assets": "^1.0.1", + "gulp-plumber": "^1.2.1", + "gulp-sourcemaps": "^2.6.5", + "gulp-uglify": "^3.0.2", + "gulp-watch": "^5.0.1", + "gulp-zip": "^5.0.1", + "http-proxy-middleware": "^0.20.0", + "os": "^0.1.1", + "path": "^0.12.7", + "qrcode-terminal": "^0.12.0", + "vinyl-buffer": "^1.0.1", + "vinyl-source-stream": "^2.0.0" + }, + "dependencies": { + "@babel/runtime": "^7.7.7", + "vconsole": "^3.10.1" + } +} diff --git a/docs/examples/chapter0/bui-demo/src/.gitignore b/docs/examples/chapter0/bui-demo/src/.gitignore new file mode 100644 index 0000000..3969135 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/.gitignore @@ -0,0 +1,16 @@ +*.svn +*.iml +*.gradle +*.idea +*.DS_Store +*.log +*/build + +*.xcworkspace +*/Podfile.lock +*/Pods +*/build.xcconfig +*/ExportOptions.plist +*/ProvisionFile.plist +模板编辑预览版.zip +demo/* diff --git a/docs/examples/chapter0/bui-demo/src/README.md b/docs/examples/chapter0/bui-demo/src/README.md new file mode 100644 index 0000000..fa1de88 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/README.md @@ -0,0 +1,120 @@ +# BUI-Template + +## 更新日志 +| **描述** | **修改日期** | +|:-------------------|-------------------:| +|去除link平台,整合在bingotouch工程 |2018-5-25 | +|模板更新为1.5.0版本,设计稿更新为750规范 |2018-10-31 | +|新增模板 |2019-01-30 | +|新增node10的npm工程 |2020-03-27 | +|新增webapp平台,支持pwa |2020-09-29 | + +> 重要更新,模板更新为1.5.0, 设计稿升级为750规范, 如果你的版本目前是1.4.7, 创建模板时,请指定对应版本, +如果你的模板还是旧版, 请尝试清空模板缓存. +``` +# 更新buijs 0.5.1 才有清除缓存功能 +$ npm update -g buijs + +# 清除缓存 +$ buijs clear +``` + +默认的npm工程文件为 node8.x, 如果下载的是 node10以上版本, 需要替换工程, 并且使用 cnpm 安装. + +## 简介 + + +这个模板工程文件是为了配合 [buijs](https://github.com/imouou/buijs-cli) 命令行工具而创建. +通过安装该工具,可以快速创建或增加模板, 具体请查看 [buijs使用说明](https://github.com/imouou/buijs-cli) . +> 通过命令行构建的工程,每次都会自动获取最新的BUI模板工程, 并且可以指定模板名称及指定平台. +BUI官网还有更多模板, 需要手动下载 [进入官网预览模板](http://www.easybui.com/scenes/). + +![buijs 创建工程预览](http://www.easybui.com/docs/images/router/buijs-create-demo_low.gif) + + +## 创建某个模板工程 + +可以先查看有什么模板 `buijs list-template`, [BUI模板图片预览](https://github.com/imouou/BUI-Template/) + +```bash +# 进入工程目录 +$ cd demo + +# 默认创建webapp工程模板 +$ buijs create -t main-tab + +``` +> main-tab 为模板名称 + +> 注意: +1. 同一个工程可以多次创建模板; +模板名以 `main-`开头 会覆盖 main 模块, 例如: 模板名 `main-tab` 预览地址 `index.html`; +模板名以 `page-`开头 会新增页面, 例如: 模板名 `page-login` 预览地址 `index.html#pages/login/login`; +**1.6.x 新增** +模板名以 `case-`开头 会覆盖工程, 例如: 模板名 `case-login` 预览地址 `index.html`; +2. `main-`开头的模板会覆盖main页面, `page-`开头的模板是新增页面, `case-`开头是一个完整的小案例; +3. 同一个工程只能创建一个平台, 多次创建会相互覆盖; + +更多 [buijs使用说明](https://github.com/imouou/buijs-cli) ; + +# 模板预览 + +## 通用及常用的案例类 +- case-login: 全局登录权限处理 +- case-tablogin: tab局部登录处理 +- case-163: 163新闻案例 + + + + + + +
    案例: case-login
    预览: index.html
    案例: case-tablogin
    预览: index.html
    案例: case-163
    预览: index.html
    + +## 覆盖main模块的模板 +- main-tab: tab底部动态加载 +- main-tab-head: tab顶部动态加载Component +- main-tab-foot: tab底部动态加载Component + + + + + + + +
    模板: main-tab
    预览: index.html
    模板: main-tab-head
    预览: index.html
    模板: main-tab-foot
    预览: index.html
    + +## 新增页面模板 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    模板: page-addressbook
    预览: index.html#pages/addressbook/addressbook
    模板: page-blog
    预览: index.html#pages/blog/blog
    模板: page-icon
    预览: index.html#pages/icon/icon
    模板: page-article
    预览: index.html#pages/article/article
    模板: page-article-list
    预览: index.html#pages/article-list/article-list
    模板: page-comment
    预览: index.html#pages/comment/comment
    模板: page-list
    预览: index.html#pages/list/list
    模板: page-search
    预览: index.html#pages/search/search
    模板: page-history
    预览: index.html#pages/history/history
    模板: page-login
    预览: index.html#pages/login/login
    模板: page-register
    预览: index.html#pages/register/register
    模板: page-form
    预览: index.html#pages/form/form
    模板: page-chat
    预览: index.html#pages/chat/chat
    模板: page-panel
    预览: index.html#pages/panel/panel
    模板: page-personal
    预览: index.html#pages/personal/personal
    模板: page-sidebar
    预览: index.html#pages/sidebar/sidebar
    模板: page-photo
    预览: index.html#pages/photo/photo
    模板: page-msg
    预览: index.html#pages/msg/msg
    diff --git a/docs/examples/chapter0/bui-demo/src/css/bui.css b/docs/examples/chapter0/bui-demo/src/css/bui.css new file mode 100644 index 0000000..5768305 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/css/bui.css @@ -0,0 +1 @@ +*{-webkit-box-sizing:border-box;box-sizing:border-box}html,body{overflow:hidden;width:100%;height:100%}html{font-size:40px;-webkit-text-size-adjust:100%}body{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;font-family:"PingFang SC","Apple LiGothic Medium","Droid Sans","Microsoft YaHei","Microsoft JhengHei","Helvetica Neue",Helvetica,sans-serif;font-size:.3rem;margin:0;padding:0;color:#666;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:link,a:visited,a:hover,a:active{color:#333}xmp{white-space:pre-wrap;word-break:break-all;word-wrap:break-word;font-size:.26rem;margin:0;padding:0;-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}ol,ul,li,dl,dt,dd,article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary,video,audio,pre{margin:0;padding:0}ol,ul,li{list-style:none}h1,h2,h3,h4,h5,h6{margin:0;font-weight:normal}h1,.bui-h1{font-size:.42rem}h2,.bui-h2{font-size:.38rem}h3,.bui-h3{font-size:.3rem}h4,.bui-h4{font-size:.26rem}h5,.bui-h5{font-size:.26rem}h6,.bui-h6{font-size:.26rem}p{margin:0;margin-bottom:.1rem}article{padding:.1rem}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent;text-decoration:none}a:focus{outline:thin dotted #333;outline:0px auto -webkit-focus-ring-color;outline-offset:-2px}a:active,a:hover{outline:0;text-decoration:none}abbr[title]{border-bottom:1px dotted}strong{font-weight:bold}dfn{font-style:italic}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:0.2rem}button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit;font-size:100%;vertical-align:middle}input,textarea{-webkit-user-modify:read-write-plaintext-only;-webkit-box-shadow:none;box-shadow:none}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button:focus,textarea:focus,select:focus,input[type="button"]:focus,input[type="reset"]:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="number"]:focus,input[type="submit"]:focus{outline:0}input[type="search"]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[disabled]{color:#ccc;opacity:1}textarea{overflow:auto;vertical-align:top}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;-webkit-appearance:none}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-spacing:0;border-collapse:collapse;width:100%}td,th{margin:0;padding:0}label{display:inline-block}[placeholder]{font-family:'Microsoft yahei'}input[type="password"]{padding-left:0}input{text-shadow:rgba(0,0,0,0) 0px 0px 0px}input.focus-fixed{text-shadow:none}b{font-weight:normal;font-style:normal}component{height:inherit}text{display:inline-block}.bui-arrow-left,.bui-arrow-right,.bui-arrow-up,.bui-arrow-down{position:relative}.bui-arrow-left:before,.bui-arrow-right:before,.bui-arrow-up:before,.bui-arrow-down:before{content:"";display:block;border-width:8px;border-style:solid;position:absolute;width:0;height:0;box-sizing:content-box;z-index:120}.bui-arrow-left:after,.bui-arrow-right:after,.bui-arrow-up:after,.bui-arrow-down:after{content:"";display:block;border-width:8px;border-style:solid;position:absolute;width:0;height:0;box-sizing:content-box;z-index:121}.bui-arrow-left:before{border-color:transparent #eee transparent transparent;top:50%;margin-top:-8px;left:-16px}.bui-arrow-left:after{border-color:transparent #fff transparent transparent;top:50%;margin-top:-8px;left:-15px}.bui-arrow-right:before{border-color:transparent transparent transparent #eee;top:50%;margin-top:-8px;left:auto;right:-16px}.bui-arrow-right:after{border-color:transparent transparent transparent #fff;top:50%;margin-top:-8px;left:auto;right:-15px}.bui-arrow-down:before{border-color:#eee transparent transparent transparent;top:auto;margin-left:-8px;left:50%;bottom:-16px}.bui-arrow-down:after{border-color:#fff transparent transparent transparent;left:50%;top:auto;margin-left:-8px;bottom:-15px}.bui-arrow-up:before{border-color:transparent transparent #eee transparent;top:-16px;left:50%;margin-left:-8px}.bui-arrow-up:after{border-color:transparent transparent #fff transparent;top:-15px;left:50%;margin-left:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-up:before,.bui-arrow-center .bui-arrow-up:before{left:50%;right:auto;margin-left:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-up:after,.bui-arrow-center .bui-arrow-up:after{left:50%;right:auto;margin-left:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-down:before,.bui-arrow-center .bui-arrow-down:before{left:50%;right:auto;margin-left:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-down:after,.bui-arrow-center .bui-arrow-down:after{left:50%;right:auto;margin-left:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-left:before,.bui-arrow-center .bui-arrow-left:before{top:50%;bottom:auto;margin-top:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-left:after,.bui-arrow-center .bui-arrow-left:after{top:50%;bottom:auto;margin-top:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-right:before,.bui-arrow-center .bui-arrow-right:before{top:50%;bottom:auto;margin-top:-8px}.bui-dropdown.bui-arrow-center .bui-arrow-right:after,.bui-arrow-center .bui-arrow-right:after{top:50%;bottom:auto;margin-top:-8px}.bui-badges,[class^=bui-badges]{display:inline-block;text-align:center;color:#fff;min-width:8px;min-height:8px;background:#f9342a;padding-left:4px;padding-right:4px;-webkit-border-radius:8px;-ms-border-radius:8px;border-radius:8px;font-size:.25rem;font-style:normal;margin:0;white-space:nowrap;padding-top:1px;padding-bottom:1px}.bui-badges-mini{min-width:3px;min-height:3px;padding:3px}@font-face{font-family:"icon";src:url("../font/iconfont.eot");src:url("../font/iconfont.eot?#iefix") format("embedded-opentype"),url("../font/iconfont.woff") format("woff"),url("../font/iconfont.ttf") format("truetype"),url("../font/iconfont.svg#iconfont") format("svg")}[class^="icon-"],.icon{display:inline-block;font-family:"icon" !important;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0.2px;-moz-osx-font-smoothing:grayscale;vertical-align:middle;text-align:center;background-position:center;background-repeat:no-repeat}.bui-icon{display:inline-block;text-align:center;vertical-align:middle;width:.88rem;height:.88rem;line-height:.88rem;font-weight:300;-webkit-border-radius:.88rem;-ms-border-radius:.88rem;border-radius:.88rem}.bui-icon i{color:#fff;font-size:.64rem;margin:0}.bui-icon img{height:.64rem;margin:0}.bui-icon,.icon,.thumbnail,i{position:relative}.bui-icon .bui-badges,.icon .bui-badges,.thumbnail .bui-badges,i .bui-badges{position:absolute;top:-10%;right:-8px;line-height:1}.icon-back:before{content:"\e650"}.icon-next:before{content:"\e64c"}.icon-menu:before{content:"\e60c"}.icon-share:before{content:"\e62e"}.icon-safe:before{content:"\e68c"}.icon-check:before{content:"\e625"}.icon-listright:before{content:"\e64c"}.icon-listdown:before{content:"\e649"}.icon-listup:before{content:"\e646"}.icon-listleft:before{content:"\e650"}.icon-more:before{content:"\e62f"}.icon-more2:before{content:"\e656"}.icon-setting:before{content:"\e612"}.icon-remove:before{content:"\e61c"}.icon-removefill:before{content:"\e61b"}.icon-user:before{content:"\e67b"}.icon-lock:before{content:"\e65d"}.icon-unlock:before{content:"\e65e"}.icon-plus:before{content:"\e61e"}.icon-minus:before{content:"\e620"}.icon-search:before{content:"\e606"}.icon-loading:before{content:"\e602"}.icon-refresh:before{content:"\e655"}.icon-arrowup:before{content:"\e645"}.icon-arrowdown:before{content:"\e648"}.icon-close:before{content:"\e61a"}.icon-filter:before{content:"\e613"}.icon-home:before{content:"\e659"}.icon-homefill:before{content:"\e65a"}.icon-eye:before{content:"\e680"}.icon-eyefill:before{content:"\e67f"}.icon-camera:before{content:"\e60e"}.icon-camerafill:before{content:"\e60d"}.icon-fav:before{content:"\e62a"}.icon-favfill:before{content:"\e629"}.icon-pic:before{content:"\e679"}.icon-picfill:before{content:"\e676"}.icon-face:before{content:"\e610"}.icon-facefill:before{content:"\e60f"}.icon-warning:before{content:"\e60b"}.icon-warningfill:before{content:"\e60a"}.icon-success:before{content:"\e628"}.icon-successfill:before{content:"\e627"}.icon-info:before{content:"\e622"}.icon-infofill:before{content:"\e621"}.icon-help:before{content:"\e624"}.icon-helpfill:before{content:"\e623"}.icon-error:before{content:"\e61c"}.icon-errorfill:before{content:"\e61b"}.icon-fallback:before{content:"\e62b"}.icon-scan:before{content:"\e611"}.icon-tel:before{content:"\e603"}.icon-ecode:before{content:"\e657"}.icon-alert:before{content:"\e63f"}.icon-addressbook:before{content:"\e65b"}.icon-userinfo:before{content:"\e63a"}.icon-clock:before{content:"\e658"}.icon-edit:before{content:"\e62d"}.icon-time:before{content:"\e63c"}.icon-timefill:before{content:"\e63b"}.icon-comment:before{content:"\e633"}.icon-commentfill:before{content:"\e632"}.icon-chat:before{content:"\e678"}.icon-chatfill:before{content:"\e677"}.icon-doubt:before{content:"\e624"}.icon-doubtfill:before{content:"\e623"}.icon-shoppingcart:before{content:"\e631"}.icon-shoppingcartfill:before{content:"\e630"}a[class^=bui-btn]{display:block}button[class^=bui-btn],input[type="button"][class^=bui-btn]{width:100%}.bui-btn,[class^=bui-btn]{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;cursor:pointer;text-align:center;padding-top:.25rem;padding-bottom:.25rem;padding-left:.2rem;padding-right:.2rem;line-height:1.2;vertical-align:middle;-webkit-appearance:none;border:1px solid #eee;margin:0 auto;min-height:.6rem}.bui-btn.active,.bui-btn:active,[class^=bui-btn].active,[class^=bui-btn]:active{background-color:#f2f2f2}.bui-btn .icon,[class^=bui-btn] .icon{width:.7rem;height:.7rem;line-height:.7rem;margin:0 0.2rem 0 0;font-size:.48rem}.bui-btn .icon img,[class^=bui-btn] .icon img{width:100%;height:auto}.bui-btn .icon [class^=icon-],[class^=bui-btn] .icon [class^=icon-]{margin-right:0}.bui-btn .bui-icon,[class^=bui-btn] .bui-icon{margin-right:.2rem;font-size:.48rem}.bui-btn .bui-icon .icon,.bui-btn .bui-icon [class^=icon-],[class^=bui-btn] .bui-icon .icon,[class^=bui-btn] .bui-icon [class^=icon-]{margin-right:0}.bui-btn .bui-thumbnail,[class^=bui-btn] .bui-thumbnail{margin-right:.2rem;width:2rem}.bui-btn label,[class^=bui-btn] label{display:block}.bui-btn.bui-box,[class^=bui-btn].bui-box{display:-webkit-box;display:-ms-flexbox;display:box;-webkit-box-align:center;-ms-flex-align:center;box-align:center;text-align:left}.bui-btn.bui-box-vertical,[class^=bui-btn].bui-box-vertical{text-align:center}.bui-btn img,[class^=bui-btn] img{vertical-align:middle}.bui-btn .bui-loading .bui-loading-cell,[class^=bui-btn] .bui-loading .bui-loading-cell{margin-top:0;vertical-align:top}.bui-btn .bui-loading-inline .bui-loading-text,[class^=bui-btn] .bui-loading-inline .bui-loading-text{line-height:inherit;display:inline-block}.bui-thumbnail{margin:0;width:100%}[class^=bui-btn-text]{background:none;border:none;padding-top:.1rem;padding-bottom:.1rem}.bui-group{padding:0;margin:0 auto;text-align:center}.bui-group:after{content:"";display:block;clear:both}.bui-group>[class^=bui-btn]{border-left-width:0;display:inline-block}.bui-tag{display:inline-block;padding:.05rem .2rem;background:#efefef;color:#999}.bui-group{padding:0;margin:0 auto;text-align:center}.bui-group:after{content:"";display:block;clear:both}.bui-group>[class*=bui-btn]{border-left-width:0;display:inline-block}.bui-group>.bui-check{display:inline-block;width:auto}.bui-list{text-align:left}.bui-list>[class*=bui-btn]{border:0;text-align:left;border-bottom:1px solid #eee}.bui-list>[class*=bui-btn] .bui-list{border-top:0;border-bottom:0}.bui-list>[class*=bui-btn]:last-child{border-bottom:0}.bui-list>[class*=bui-btn]:last-child:after{content:"";position:relative}.bui-list>[class*=bui-btn] input[type="text"],.bui-list>[class*=bui-btn] input[type="password"],.bui-list>[class*=bui-btn] input[type="tel"],.bui-list>[class*=bui-btn] input[type="email"],.bui-list>[class*=bui-btn] input[type="number"]{padding-left:0}.bui-list>[class*=bui-btn]>.icon{margin-right:.2rem}.bui-list .bui-box{-webkit-box-align:center;-ms-flex-align:center;box-align:center}.bui-list .bui-box .span1{text-align:left}.bui-list>.bui-box-align-top{-webkit-box-align:start;-ms-flex-align:start;box-align:start}.bui-list>.bui-box-align-bottom{-webkit-box-align:end;-ms-flex-align:end;box-align:end}.bui-list>.bui-btn-title{padding-top:.12rem;padding-bottom:.12rem;color:#999;background:#f3f5f8;min-height:0}.bui-list>.active{background-color:#f2f2f2}.bui-list>.bui-btn-line{padding-top:.15rem;padding-bottom:.15rem;line-height:.6rem}.bui-list .bui-select{padding-left:0}.bui-list .thumbnail{margin:0;margin-right:.2rem}.bui-list .thumbnail img{width:100%;height:100%}.bui-list .icon{width:.54rem;height:.54rem;line-height:.54rem;text-align:center;margin:0}.bui-list .icon img{width:100%;height:auto}.bui-list .bui-value{color:#666}.bui-list textarea{border:0}.bui-list textarea.bui-input{padding:0}.bui-list .bui-pickerdate{border:0}.bui-list .bui-dropdown>[class*=bui-btn]{border:0;margin-top:-.1rem;margin-bottom:-.1rem;padding-right:0}.bui-list .bui-dropdown>[class*=bui-btn].active{background:none}.bui-list .bui-dropdown>[class*=bui-btn] ~ .bui-list{border:1px solid #eee}.bui-list .bui-dropdown .icon-dropdown{color:#666;margin-left:.2rem}.bui-menu{text-align:left;border-top:1px solid #eee;border-bottom:1px solid #eee}.bui-menu>[class*=bui-btn]{border:0;text-align:left;border-bottom:1px solid #eee}.bui-menu>[class*=bui-btn]:active{-webkit-transition:all 0.2s ease-in-out 0s;transition:all 0.2s ease-in-out 0s}.bui-menu>[class*=bui-btn]:active:before{width:0}.bui-menu>[class*=bui-btn]:active:after{width:100%}.bui-menu>[class*=bui-btn]:last-child{border:0;text-align:left;border-bottom:0}.bui-list-pic .bui-pic,.bui-list-photo .bui-thumbnail{margin-bottom:.2rem;margin-right:0;width:100%}.bui-list-pic .bui-pic img,.bui-list-photo .bui-thumbnail img{max-width:100%}.bui-list-thumbnail .item-title{margin-bottom:.2rem}.bui-navbar{width:100%;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;overflow-x:auto}.bui-navbar::-webkit-scrollbar{display:none}.bui-navbar .bui-nav{display:block;-webkit-padding-start:0;white-space:nowrap}.bui-navbar .bui-nav>[class*=bui-btn]{border-bottom:0}.bui-navbar .bui-nav>[class*=span],.bui-navbar .bui-nav>li{display:inline-block;float:none;clear:none;word-break:break-all;margin:0;width:auto;min-width:1rem;padding-left:.2rem;padding-right:.2rem;vertical-align:bottom}.bui-navbar .bui-nav>[class=span1]{width:.08333rem}.bui-navbar .bui-nav>[class=span2]{width:.16667rem}.bui-navbar .bui-nav>[class=span3]{width:.25rem}.bui-navbar .bui-nav>[class=span4]{width:.33333rem}.bui-navbar .bui-nav>[class=span5]{width:.41667rem}.bui-navbar .bui-nav>[class=span6]{width:.5rem}.bui-navbar .bui-nav>[class=span7]{width:.58333rem}.bui-navbar .bui-nav>[class=span8]{width:.66667rem}.bui-navbar .bui-nav>[class=span9]{width:.75rem}.bui-navbar .bui-nav>[class=span10]{width:.83333rem}.bui-navbar .bui-nav>[class=span11]{width:.91667rem}.bui-navbar .bui-nav>[class=span12]{width:1rem}.bui-nav{display:-webkit-box;display:-ms-flexbox;display:box;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;box-pack:justify;-webkit-box-align:center;-ms-flex-align:center;box-align:center;position:relative;margin:0 auto;border-bottom:1px solid #eee}.bui-nav.bui-nav-skin01>[class*=bui-btn]:after{left:50%;right:auto;width:.6rem;margin-left:-.3rem}.bui-nav>[class*=bui-btn]{-webkit-box-flex:1;-ms-flex:1;box-flex:1;flex:1;width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin:0;padding-left:0;padding-right:0;border-right:0;border-left:0;position:relative;border:0}.bui-nav>[class*=bui-btn]:after{position:absolute;bottom:0;left:0;right:0;content:"";transition:-webkit-transform .2s ease-out,transform .2s ease-out;-webkit-transform:scaleX(0);transform:scaleX(0);height:2px}.bui-nav>[class*=bui-btn]>.span1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bui-nav>[class*=bui-btn] .icon,.bui-nav>[class*=bui-btn] i{margin:0 .1rem;display:inline-block;font-size:.48rem;width:.48rem;height:.48rem;text-align:center;line-height:.48rem}.bui-nav>[class*=bui-btn].active:after{content:"";display:block;-webkit-transform:scaleX(1);transform:scaleX(1);background:#39a4ff}.bui-nav>.active{color:#39a4ff;background:#fff}.bui-nav>.active i{color:inherit}.bui-nav.bui-fluid{border-top:1px solid #eee}.bui-nav.bui-fluid>[class*=bui-btn]{border-top:0}.bui-nav.bui-fluid>[class*=bui-btn].bui-box-vertical{padding-top:.1rem;padding-bottom:.1rem}.bui-nav .bui-box-vertical{padding-top:.1rem;padding-bottom:.1rem;font-size:.208rem}.bui-nav .bui-box-vertical .icon,.bui-nav .bui-box-vertical i{margin:0 auto}.bui-nav i{background-size:auto .4rem}.bui-nav .icon-nav01{background-image:url(../images/icons/icon-nav01.png)}.bui-nav .icon-nav02{background-image:url(../images/icons/icon-nav02.png)}.bui-nav .icon-nav03{background-image:url(../images/icons/icon-nav03.png)}.bui-nav .icon-nav04{background-image:url(../images/icons/icon-nav04.png)}.bui-nav .active .icon-nav01{background-image:url(../images/icons/icon-nav01-active.png)}.bui-nav .active .icon-nav02{background-image:url(../images/icons/icon-nav02-active.png)}.bui-nav .active .icon-nav03{background-image:url(../images/icons/icon-nav03-active.png)}.bui-nav .active .icon-nav04{background-image:url(../images/icons/icon-nav04-active.png)}.bui-nav-vertical{-webkit-box-orient:vertical;-ms-flex-orient:vertical;box-orient:vertical;border-bottom:1px solid #eee}.bui-nav-vertical>[class*=bui-btn]{width:100%;border-bottom:0;border-right:1px solid #eee}.bui-nav-vertical>[class*=bui-btn]:first-child{border-left:1px solid #eee}.bui-nav-round>[class*=bui-btn]:first-child{-webkit-border-radius:.1rem 0 0 .1rem;-ms-border-radius:.1rem 0 0 .1rem;border-radius:.1rem 0 0 .1rem}.bui-nav-round>[class*=bui-btn]:last-child{-webkit-border-radius:0 .1rem .1rem 0;-ms-border-radius:0 .1rem .1rem 0;border-radius:0 .1rem .1rem 0}header .bui-nav{border-bottom:0}.bui-tab-foot .bui-nav,footer .bui-nav{border-top:1px solid #eee;border-bottom:0}.bui-tab-foot .bui-nav [class*=bui-btn],footer .bui-nav [class*=bui-btn]{border-bottom:0}.bui-tab-foot .bui-nav [class*=bui-btn].bui-box-vertical,footer .bui-nav [class*=bui-btn].bui-box-vertical{padding-top:.15rem}.bui-tab-foot .bui-nav [class*=bui-btn].bui-box-vertical i,footer .bui-nav [class*=bui-btn].bui-box-vertical i{margin-bottom:.05rem}.bui-tab-foot .bui-nav [class*=bui-btn]:after,footer .bui-nav [class*=bui-btn]:after{transition:none;height:0}.bui-nav-icon{background:#fff}.bui-nav-icon .bui-btn i,.bui-nav-icon .bui-btn .icon,.bui-nav-icon .bui-btn [class^=icon-],.bui-nav-icon .bui-btn [class^=bui-icon-]{display:block;font-size:.64rem;width:.88rem;height:.88rem;line-height:.88rem;margin:0 auto;text-align:center}.bui-nav-icon .bui-btn i i,.bui-nav-icon .bui-btn .icon i,.bui-nav-icon .bui-btn [class^=icon-] i,.bui-nav-icon .bui-btn [class^=bui-icon-] i{margin:0}.bui-nav-icon .bui-btn{padding-top:.2rem;padding-bottom:.2rem;border:0}.bui-nav-icon .bui-btn>.bui-icon,.bui-nav-icon .bui-btn>.icon{margin-right:auto;margin-bottom:.2rem}.bui-nav-icon .bui-badges{min-width:.34rem;min-height:.34rem;line-height:.34rem;padding:0;padding-top:.03rem}.bui-nav-icon .item-title{font-size:.3rem}.bui-bar{background:#fff;display:-webkit-box;display:-ms-flexbox;display:box;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;-webkit-box-align:center;-ms-flex-align:center;box-align:center}.bui-bar .bui-bar-main{color:#666;padding:0;font-size:.34rem;text-align:center;-webkit-box-flex:1;-ms-flex:1;box-flex:1;flex:1;width:0}.bui-bar .bui-bar-main .bui-nav{width:80%}.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]{background:#fff;border-color:#fff;color:#666;font-size:.26rem;min-height:.5rem;line-height:.5rem;padding-top:0;padding-bottom:0}.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:after{height:0}.bui-bar .bui-bar-main .bui-nav>.active{color:#666;background:#fff}.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:first-child{-webkit-border-radius:.5rem 0 0 .5rem;-ms-border-radius:.5rem 0 0 .5rem;border-radius:.5rem 0 0 .5rem;border-left:1px solid #fff}.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:last-child{-webkit-border-radius:0 .5rem .5rem 0;-ms-border-radius:0 .5rem .5rem 0;border-radius:0 .5rem .5rem 0;border-right:1px solid #fff}.bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-btn]{background:none;border:0;color:#666;height:.9rem;line-height:.9rem;text-align:center;padding:0}.bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-btn] i{font-size:.36667rem}.bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-dropdown-menu] .span1{text-align:center}.bui-bar .bui-bar-main>[class*=bui-dropdown] .bui-menu-bottom [class*=bui-btn]{color:#666}.bui-bar .bui-bar-main>.bui-input{padding:.08rem .1rem}.bui-bar [class^="icon-"]{width:.44rem;height:.44rem;line-height:.44rem;position:relative}.bui-bar .bui-bar-left,.bui-bar .bui-bar-right{width:1.2rem;height:.9rem;overflow:hidden}.bui-bar .bui-bar-left>[class*=bui-btn],.bui-bar .bui-bar-right>[class*=bui-btn]{height:100%;padding:0;line-height:.9rem;border:0;background:none;display:inline-block;font-size:.27rem}.bui-bar .bui-bar-left>[class*=bui-btn]>i,.bui-bar .bui-bar-right>[class*=bui-btn]>i{color:#666;font-size:.44rem}.bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-btn],.bui-bar .bui-bar-right>[class*=bui-dropdown]>[class*=bui-btn]{background:none;border:0;color:#fff;height:.9rem;text-align:center;padding-left:0;padding-right:0}.bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-btn]>i,.bui-bar .bui-bar-right>[class*=bui-dropdown]>[class*=bui-btn]>i{color:#666;font-size:.44rem}.bui-bar .bui-bar-left{text-align:left}.bui-bar .bui-bar-left>[class*=bui-btn]{text-align:left;padding-left:.2rem;width:100%}.bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-list]{left:.1rem !important}.bui-bar .bui-bar-left>[class*=bui-dropdown] .bui-menu-bottom.bui-arrow-up:before,.bui-bar .bui-bar-left>[class*=bui-dropdown] .bui-menu-bottom.bui-arrow-up:after{left:.17rem !important}.bui-bar .bui-bar-left>[class*=bui-dropdown] .bui-menu-top.bui-arrow-down:before,.bui-bar .bui-bar-left>[class*=bui-dropdown] .bui-menu-top.bui-arrow-down:after{left:.17rem !important}.bui-bar .bui-bar-right{text-align:right;padding-right:.2rem}.bui-bar .bui-bar-right>[class*=bui-btn]{text-align:right;margin-right:.1rem;margin-left:.1rem}.bui-bar .bui-bar-auto{width:auto}.bui-bar .bui-bar-text{width:1.4rem}.bui-bar input[type="radio"]:before,.bui-bar input[type="checkbox"]:before{color:#fff}.bui-bar .bui-input{background:#f3f5f8}.bui-bar .bui-list{border-top:1px solid #eee}header.bui-bar,header .bui-bar{background:#39a4ff}header.bui-bar .bui-bar-main,header .bui-bar .bui-bar-main{color:#fff;font-size:.34rem}header.bui-bar .bui-bar-main .bui-nav,header .bui-bar .bui-bar-main .bui-nav{width:80%}header.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn],header .bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]{background:#39a4ff;color:#fff;border:1px solid #fff}header.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]>i,header .bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]>i{color:#fff}header.bui-bar .bui-bar-main .bui-nav>.active,header .bui-bar .bui-bar-main .bui-nav>.active{color:#39a4ff;background:#fff}header.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:first-child,header .bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:first-child{border-left:1px solid #fff}header.bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:last-child,header .bui-bar .bui-bar-main .bui-nav>[class*=bui-btn]:last-child{border-right:1px solid #fff}header.bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-btn],header .bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-btn]{background:none;color:#fff}header.bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-btn]>i,header .bui-bar .bui-bar-main>[class*=bui-dropdown]>[class*=bui-btn]>i{color:#fff}header.bui-bar .bui-bar-left>[class*=bui-btn],header.bui-bar .bui-bar-right>[class*=bui-btn],header .bui-bar .bui-bar-left>[class*=bui-btn],header .bui-bar .bui-bar-right>[class*=bui-btn]{background:none;color:#fff}header.bui-bar .bui-bar-left>[class*=bui-btn]>i,header.bui-bar .bui-bar-right>[class*=bui-btn]>i,header .bui-bar .bui-bar-left>[class*=bui-btn]>i,header .bui-bar .bui-bar-right>[class*=bui-btn]>i{color:#fff}header.bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-btn],header.bui-bar .bui-bar-right>[class*=bui-dropdown]>[class*=bui-btn],header .bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-btn],header .bui-bar .bui-bar-right>[class*=bui-dropdown]>[class*=bui-btn]{background:none;color:#fff}header.bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-btn]>i,header.bui-bar .bui-bar-right>[class*=bui-dropdown]>[class*=bui-btn]>i,header .bui-bar .bui-bar-left>[class*=bui-dropdown]>[class*=bui-btn]>i,header .bui-bar .bui-bar-right>[class*=bui-dropdown]>[class*=bui-btn]>i{color:#fff}header.bui-bar input[type="radio"]:before,header.bui-bar input[type="checkbox"]:before,header .bui-bar input[type="radio"]:before,header .bui-bar input[type="checkbox"]:before{color:#fff}header.bui-bar .bui-input,header .bui-bar .bui-input{background:#fff}.bui-bar-side .bui-bar-main{text-align:left}.bui-bar-side .bui-bar-right{width:auto}.bui-bar-side .bui-bar-right [class*=bui-btn]{padding-left:0}.bui-bar-side .bui-bar-left{width:auto;padding-right:.2rem}.bui-accordion{overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;border-top:1px solid #eee}.bui-accordion>dt,.bui-accordion>[class*=bui-btn]{border:0;border-bottom:1px solid #eee;background:#fff}.bui-accordion>dt:active,.bui-accordion>[class*=bui-btn]:active{background:#f2f2f2}.bui-accordion>dt .clearactive:active,.bui-accordion>[class*=bui-btn] .clearactive:active{background:#fff}.bui-accordion>.active .icon-accordion{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.bui-accordion>[class*=bui-btn]+dd,.bui-accordion>dt+dd,.bui-accordion>dd{display:none;border:0;overflow-y:auto;border-bottom:1px solid #eee}.bui-accordion>[class*=bui-btn]+dd>.bui-list,.bui-accordion>dt+dd>.bui-list,.bui-accordion>dd>.bui-list{border-top:0;border-bottom:0}.bui-accordion>[class*=bui-btn]+dd>.bui-list>.bui-btn:last-child,.bui-accordion>dt+dd>.bui-list>.bui-btn:last-child,.bui-accordion>dd>.bui-list>.bui-btn:last-child{border-bottom:0}.bui-accordion .icon-accordion{-webkit-transition:-webkit-transform 0.3s ease-in-out 0s;transition:transform 0.3s ease-in-out 0s}.bui-accordion .icon-accordion:before{content:"\e649"}.bui-choose,.bui-like,.bui-fav,.bui-checkbox,.bui-radio{display:inline-block;-webkit-appearance:none;background-color:transparent;border:0;outline:0;width:.44rem;height:.44rem;line-height:.44rem;font-family:"icon";-webkit-text-stroke-width:0.1px;-webkit-font-smoothing:antialiased;font-size:.44rem;margin-left:.1rem;margin-right:.1rem;vertical-align:middle;color:#ccc}.bui-choose:before,.bui-like:before,.bui-fav:before,.bui-checkbox:before,.bui-radio:before{display:inline-block;content:"\e626";line-height:1}.bui-choose.active,.bui-choose:checked,.bui-like.active,.bui-like:checked,.bui-fav.active,.bui-fav:checked,.bui-checkbox.active,.bui-checkbox:checked,.bui-radio.active,.bui-radio:checked{color:#39a4ff}.bui-choose.active:before,.bui-choose:checked:before,.bui-like.active:before,.bui-like:checked:before,.bui-fav.active:before,.bui-fav:checked:before,.bui-checkbox.active:before,.bui-checkbox:checked:before,.bui-radio.active:before,.bui-radio:checked:before{content:"\e615"}.bui-choose.disabled,.bui-choose:disabled,.bui-like.disabled,.bui-like:disabled,.bui-fav.disabled,.bui-fav:disabled,.bui-checkbox.disabled,.bui-checkbox:disabled,.bui-radio.disabled,.bui-radio:disabled{color:#eee}.bui-choose.disabled:before,.bui-choose:disabled:before,.bui-like.disabled:before,.bui-like:disabled:before,.bui-fav.disabled:before,.bui-fav:disabled:before,.bui-checkbox.disabled:before,.bui-checkbox:disabled:before,.bui-radio.disabled:before,.bui-radio:disabled:before{content:"\e626"}.bui-choose.disabled:checked,.bui-choose:disabled:checked,.bui-like.disabled:checked,.bui-like:disabled:checked,.bui-fav.disabled:checked,.bui-fav:disabled:checked,.bui-checkbox.disabled:checked,.bui-checkbox:disabled:checked,.bui-radio.disabled:checked,.bui-radio:disabled:checked{color:#ccc}.bui-choose.disabled:checked:before,.bui-choose:disabled:checked:before,.bui-like.disabled:checked:before,.bui-like:disabled:checked:before,.bui-fav.disabled:checked:before,.bui-fav:disabled:checked:before,.bui-checkbox.disabled:checked:before,.bui-checkbox:disabled:checked:before,.bui-radio.disabled:checked:before,.bui-radio:disabled:checked:before{content:"\e616"}.bui-choose[title],.bui-like[title],.bui-fav[title],.bui-checkbox[title],.bui-radio[title]{display:inline-block;width:inherit}.bui-choose[title]:after,.bui-like[title]:after,.bui-fav[title]:after,.bui-checkbox[title]:after,.bui-radio[title]:after{content:attr(title);display:block;padding-left:.54rem;margin-top:-.44rem;font-size:.3rem}.bui-checkbox:before{content:"\e617"}.bui-checkbox.active:before,.bui-checkbox:checked:before{content:"\e618"}.bui-checkbox:disabled:before{content:"\e617"}.bui-checkbox:disabled:checked:before{content:"\e618"}.bui-checkbox[type="radio"]:before{content:"\e626"}.bui-checkbox[type="radio"].active:before,.bui-checkbox[type="radio"]:checked:before{content:"\e627"}.bui-checkbox[type="radio"]:disabled:before{content:"\e626"}.bui-checkbox[type="radio"]:disabled:checked:before{content:"\e627"}.bui-choose:before{content:""}.bui-choose[type="checkbox"]:before{content:"\e626"}.bui-choose.active:before,.bui-choose:checked:before{content:"\e625"}.bui-choose.active[type="checkbox"]:before,.bui-choose:checked[type="checkbox"]:before{content:"\e627"}.bui-choose.disabled:before,.bui-choose:disabled:before{content:"\e617"}.bui-choose.disabled[type="checkbox"]:before,.bui-choose:disabled[type="checkbox"]:before{content:"\e626"}.bui-choose.disabled:checked:before,.bui-choose:disabled:checked:before{content:"\e619"}.bui-choose.disabled:checked[type="checkbox"]:before,.bui-choose:disabled:checked[type="checkbox"]:before{content:"\e627"}.bui-like:before{content:"\e641"}.bui-like:checked:before{content:"\e640"}.bui-like.disabled:before,.bui-like:disabled:before{content:"\e641"}.bui-like.disabled:checked:before,.bui-like:disabled:checked:before{content:"\e640"}.bui-fav:before{content:"\e62a"}.bui-fav:checked:before{content:"\e629"}.bui-fav.disabled:before,.bui-fav:disabled:before{content:"\e62a"}.bui-fav.disabled:checked:before,.bui-fav:disabled:checked:before{content:"\e629"}.bui-date{margin-left:.1rem;margin-right:.1rem;-webkit-appearance:none;background-color:#fff;border:1px solid #eee;min-width:1.6rem;height:.6rem}input.bui-input{border:0;min-height:.6rem;padding-left:.2rem}input.bui-input:focus{outline:0}.bui-textarea{width:100%;min-height:.6rem;padding-left:.2rem;border:1px solid #eee}input[type="button"].bui-input,input[type="reset"].bui-input,input[type="submit"].bui-input{text-align:center}.placeholder{color:#b3b3b3}.bui-input{display:-webkit-box;display:-ms-flexbox;display:box;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;box-pack:justify;-webkit-box-align:center;-ms-flex-align:center;box-align:center;background:#fff;color:#666;font-size:.27rem;position:relative}.bui-input input[type="text"],.bui-input input[type="password"],.bui-input input[type="number"],.bui-input input[type="search"],.bui-input input[type="tel"],.bui-input input[type="email"],.bui-input textarea{display:block;padding-top:.1rem;padding-bottom:.1rem;padding-left:.1rem;color:#666;height:.6rem;border:1px solid #ddd;-webkit-box-flex:1;-ms-flex:1;box-flex:1;flex:1;width:0;border:0;background:none;padding-left:0}.bui-input i{font-size:.39rem;color:#ccc;display:inline-block;text-align:center;width:.6rem;height:.6rem;line-height:.6rem}.bui-input .icon-listright,.bui-input .icon-dropdown{font-size:.3rem;width:.48rem;height:.48rem}.bui-input .bui-dropdown:first-child>[class*=bui-btn]{border-radius:.1rem 0 0 .1rem}.bui-input .bui-dropdown>[class*=bui-btn]{padding-top:0;padding-bottom:0;text-align:center}.bui-input>.bui-btn{display:inline-block}.bui-input textarea{height:auto;padding:.2rem}.icon-eye.active:before{content:"\e67f";color:#39a4ff}textarea.bui-input{padding:.2rem}.bui-input-length{position:absolute;bottom:.1rem;right:.1rem;color:#999}.bui-input-length em{color:#ff9236;font-style:normal}.bui-label{display:inline-block;width:1.8rem;padding-right:.1rem}.bui-value{display:inline-block;padding-left:.2rem}.bui-value textarea,.bui-value input[type="text"]{border:0}.bui-filter{padding-top:.1rem;padding-bottom:.1rem}.bui-filter .bui-check{margin-top:.1rem;margin-bottom:.1rem}header .bui-input{text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;-webkit-border-radius:.5rem;-ms-border-radius:.5rem;border-radius:.5rem}.bui-btn.bui-box-vertical .bui-label{margin-bottom:.2rem}.bui-switch-text,.bui-switch{-webkit-appearance:none;position:relative;display:inline-block;width:.9rem;height:.52rem;background-color:#dfdfdf;background-clip:padding-box;border-radius:.52rem;margin-right:.1rem;margin-left:.1rem}.bui-switch-text:focus,.bui-switch:focus{outline:0}.bui-switch-text:before,.bui-switch:before{position:absolute;right:0;line-height:.52rem;color:#777;text-transform:uppercase;content:""}.bui-switch-text:after,.bui-switch:after{content:'';position:absolute;top:.02rem;left:.02rem;width:.46rem;height:.46rem;background-color:#fff;background-clip:padding-box;border-radius:50%;-webkit-transition:-webkit-transform 0.2s ease-in-out 0s;transition:transform 0.2s ease-in-out 0s}.bui-switch-text:checked,.bui-switch:checked{background-color:#39a4ff;background-clip:padding-box}.bui-switch-text:checked:before,.bui-switch:checked:before{right:auto;left:.23rem;color:#fff;content:""}.bui-switch-text:checked:after,.bui-switch:checked:after{border:0;top:.02rem;left:.02rem;-webkit-transform:translateX(.38rem);transform:translateX(.38rem)}.bui-switch-text:disabled:after,.bui-switch:disabled:after{background:#ddd}.bui-switch-text{width:1.3rem;height:.52rem}.bui-switch-text:before{content:attr(uncheck);padding-right:.15rem;font-size:.22rem;color:#fff}.bui-switch-text:after{font-size:.22rem;height:.46rem;line-height:.52rem;left:.04rem}.bui-switch-text:after{background:#fff;text-align:center;width:.46rem;overflow:hidden;-webkit-border-radius:.52rem;-ms-border-radius:.52rem;border-radius:.52rem;color:#fff}.bui-switch-text:checked{background:#39a4ff}.bui-switch-text:checked:after{-webkit-transform:translateX(.78rem);transform:translateX(.78rem)}.bui-switch-text:checked:before{content:attr(check);color:#fff}.bui-switch-btn{-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem;-webkit-appearance:none;position:relative;border:0px solid #e5e5e5;text-align:center;display:block;width:100%;padding:0;margin:0;background:#fff;color:#666}.bui-switch-btn:focus{outline:0}.bui-switch-btn:before{content:attr(uncheck);display:block;min-width:1rem;padding:.1rem .1rem}.bui-switch-btn:checked{background:RGBA(166, 227, 255, 0.21);border:1px solid #39a4ff}.bui-switch-btn:checked:before{content:attr(check)}input.bui-tag,input.bui-check{-webkit-appearance:none;position:relative;border:0px solid #e5e5e5;text-align:center;display:block;border:1px solid #e5e5e5;min-width:1rem;min-height:.6rem;line-height:.6rem;width:100%;padding:0 .1rem;-webkit-border-radius:inherit;border-radius:inherit;margin:0;background:#fff;color:#666}input.bui-tag:focus,input.bui-check:focus{outline:0}input.bui-tag:before,input.bui-check:before{content:attr(uncheck)}input.bui-tag:checked,input.bui-check:checked{background:RGBA(166, 227, 255, 0.21);border:1px solid #39a4ff}input.bui-tag:checked:before,input.bui-check:checked:before{content:attr(check)}.bui-check input[type="checkbox"],.bui-check input[type="radio"]{display:none}.bui-check label{display:block;padding:.1rem .2rem;background:#fff;border:1px solid #eee;text-align:center}.bui-check :checked ~ label{background:RGBA(166, 227, 255, 0.21);border:1px solid #39a4ff}.bui-range{-webkit-appearance:none;-ms-appearance:none;margin:0 .1rem;width:auto;height:1px}.bui-range:focus{outline:none}.bui-range::-webkit-slider-runnable-track{width:auto;height:1px;cursor:pointer;animate:0.2s;background:#ddd;border-radius:.06rem}.bui-range::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #fff;height:11px;width:11px;border-radius:5.5px;background:#39a4ff;cursor:pointer;border:0;margin-top:-5px}.bui-number{display:-webkit-box;display:-ms-flexbox;display:box;width:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;box-pack:justify;-webkit-box-align:center;-ms-flex-align:center;box-align:center;width:1.8rem;-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem;border:1px solid #ddd;background:#fff}.bui-number .bui-number-prev,.bui-number .bui-number-next{width:.5rem;height:.5rem;line-height:.5rem;color:#666;text-align:center;border:0;margin:0}.bui-number .bui-number-prev:active,.bui-number .bui-number-next:active{background:#f1f1f1}.bui-number .bui-number-prev i,.bui-number .bui-number-next i{margin-right:0}.bui-number .bui-number-prev{-webkit-border-radius:.1rem 0 0 .1rem;-ms-border-radius:.1rem 0 0 .1rem;border-radius:.1rem 0 0 .1rem}.bui-number .bui-number-next{-webkit-border-radius:0 .1rem .1rem 0;-ms-border-radius:0 .1rem .1rem 0;border-radius:0 .1rem .1rem 0}.bui-number input{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0;display:block;padding-top:.1rem;padding-bottom:.1rem;padding-left:.1rem;color:#666;height:.6rem;border:1px solid #ddd;-webkit-box-flex:1;-ms-flex:1;box-flex:1;flex:1;width:0;padding-left:0;text-align:center;border:0;-webkit-box-shadow:none;box-shadow:none;height:.5rem;border-left:1px solid #ddd;border-right:1px solid #ddd}.bui-number input:disabled{background:#fff}.bui-number .disabled{background:#fff}.bui-number-skin01{border:0;float:right;-webkit-box-pack:end;-ms-flex-pack:end;box-pack:end}.bui-number-skin01 .bui-number-prev,.bui-number-skin01 .bui-number-next,.bui-number-skin01 input{border:0}.bui-number-skin01 input{width:.44rem;height:.44rem;line-height:.44rem}.bui-number-skin01 .bui-number-prev,.bui-number-skin01 .bui-number-next{width:.44rem;height:.44rem;line-height:.44rem;border-radius:50%;background:#D8D8D8;color:#fff}.bui-table{display:table}.bui-table th,.bui-table td{border:1px solid #ddd;padding:.1rem;color:#666;font-weight:normal;font-size:.28rem;background:#fff;padding:.25rem .1rem}.bui-table-fixed{display:table;table-layout:fixed}.bui-table-cell{display:table-cell;vertical-align:middle;text-align:center}.bui-table-odd tr:nth-child(odd) td,.bui-table-odd tr:nth-child(odd) th,.bui-table-odd tbody tr:nth-child(odd) td,.bui-table-odd tbody tr:nth-child(odd) th{background:#f1f1f1}.bui-table-plain th,.bui-table-plain td{background:none;border:0;border-bottom:1px solid #ddd}.bui-table-plain th{text-align:left;color:#999}.bui-table-plain td{color:#333}.bui-table-plain tbody tr:last-child td{border-bottom:0}.bui-table-card{border:1px solid #ddd;border-collapse:separate;overflow:hidden}.bui-table-card.bui-panel .bui-panel-head{padding:0;border-bottom:0}.bui-table-card.bui-panel .bui-panel-foot{border-top:1px solid #ddd;overflow:visible}.bui-table-card th,.bui-table-card td{background:#fff;border:0;border-bottom:1px solid #ddd}.bui-table-card tr:active td{background:#f0f2f6}.bui-table-card th{text-align:left;color:#999}.bui-table-card td{color:#333}.bui-table-card tbody tr:last-child td{border-bottom:0}.bui-table-card .bui-btn{padding-top:.1rem;padding-bottom:.1rem}.bui-table-card .bui-group .bui-btn{float:left}.bui-table-card .bui-group .bui-btn:first-child{border-left-width:1px}.bui-table-card .bui-dropdown-page{margin-right:.2rem}.bui-table-card .bui-dropdown-page>.bui-btn{border-left:1px solid #eee}.bui-table-card .bui-dropdown-page .icon-dropdown{margin-left:.1rem}.bui-table-card .bui-dropdown-page .bui-list{border:1px solid #eee}.bui-table-even tr:nth-child(even) td,.bui-table-even tr:nth-child(even) th,.bui-table-even tbody tr:nth-child(even) td,.bui-table-even tbody tr:nth-child(even) th{background:#f1f1f1}.bui-grid{background:#fff}.bui-grid .bui-table th,.bui-grid .bui-table td{border:0}.bui-grid .bui-grid-space .bui-table th,.bui-grid .bui-grid-space .bui-table td{border-right:1px solid #eee}.bui-grid .bui-grid-main{overflow:auto}.bui-grid .bui-grid-main .bui-table th,.bui-grid .bui-grid-main .bui-table td{border-right:1px solid #eee;border-bottom:1px solid #eee}.bui-grid .bui-grid-head{border-bottom:1px solid #eee}.bui-grid .bui-grid-head .bui-table th,.bui-grid .bui-grid-head .bui-table td{border-right:1px solid #eee}.bui-grid .bui-grid-left .bui-table th,.bui-grid .bui-grid-left .bui-table td{border-right:1px solid #eee;border-bottom:1px solid #eee}.bui-flex{-webkit-display:flex;display:flex;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:wrap;flex-wrap:wrap}.bui-flex.nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.bui-flex .bui-flex-cell{-webkit-flex-basis:100%;flex-basis:100%;-webkit-flex-grow:1;flex-grow:1}.bui-flex>[class*=span1]{-webkit-flex-basis:10%;flex-basis:10%}.bui-flex>[class*=span2]{-webkit-flex-basis:20%;flex-basis:20%}.bui-flex>[class*=span3]{-webkit-flex-basis:30%;flex-basis:30%}.bui-flex>[class*=span4]{-webkit-flex-basis:40%;flex-basis:40%}.bui-flex>[class*=span5]{-webkit-flex-basis:50%;flex-basis:50%}.bui-flex>[class*=span6]{-webkit-flex-basis:60%;flex-basis:60%}.bui-flex>[class*=span7]{-webkit-flex-basis:70%;flex-basis:70%}.bui-flex>[class*=span8]{-webkit-flex-basis:80%;flex-basis:80%}.bui-flex>[class*=span9]{-webkit-flex-basis:90%;flex-basis:90%}.bui-flex>[class*=span10]{-webkit-flex-basis:100%;flex-basis:100%}.bui-flex>[class*=span11]{-webkit-flex-basis:100%;flex-basis:100%}.bui-flex>[class*=span12]{-webkit-flex-basis:100%;flex-basis:100%}.bui-flex.space{padding-left:0.1rem;padding-right:0.1rem}.bui-flex.space .bui-flex-cell,.bui-flex.space [class*=span]{padding-left:0.1rem;padding-right:0.1rem}[class*=bui-box]{display:-webkit-box;display:-ms-flexbox;display:box;display:-webkit-flex;display:flex;margin:0}[class*=bui-box]>[class*=bui-btn],[class*=bui-box]>*{float:none;clear:both;display:block;margin:0}[class*=bui-box]>[class^=span],[class*=bui-box]>li{display:block;margin:0;padding-left:0;padding-right:0;width:auto;white-space:normal;word-break:break-all;-webkit-box-flex:1;-ms-flex:1;box-flex:1;flex:1}[class*=bui-box]>[class*=span1]{-webkit-box-flex:1;box-flex:1;-ms-flex:1;-webkit-flex:1;flex:1;width:0}[class*=bui-box]>[class*=span2]{-webkit-box-flex:2;box-flex:2;-ms-flex:2;-webkit-flex:2;flex:2;width:0}[class*=bui-box]>[class*=span3]{-webkit-box-flex:3;box-flex:3;-ms-flex:3;-webkit-flex:3;flex:3;width:0}[class*=bui-box]>[class*=span4]{-webkit-box-flex:4;box-flex:4;-ms-flex:4;-webkit-flex:4;flex:4;width:0}[class*=bui-box]>[class*=span5]{-webkit-box-flex:5;box-flex:5;-ms-flex:5;-webkit-flex:5;flex:5;width:0}[class*=bui-box]>[class*=span6]{-webkit-box-flex:6;box-flex:6;-ms-flex:6;-webkit-flex:6;flex:6;width:0}[class*=bui-box]>[class*=span7]{-webkit-box-flex:7;box-flex:7;-ms-flex:7;-webkit-flex:7;flex:7;width:0}[class*=bui-box]>[class*=span8]{-webkit-box-flex:8;box-flex:8;-ms-flex:8;-webkit-flex:8;flex:8;width:0}[class*=bui-box]>[class*=span9]{-webkit-box-flex:9;box-flex:9;-ms-flex:9;-webkit-flex:9;flex:9;width:0}[class*=bui-box]>[class*=span10]{-webkit-box-flex:10;box-flex:10;-ms-flex:10;-webkit-flex:10;flex:10;width:0}[class*=bui-box]>[class*=span11]{-webkit-box-flex:11;box-flex:11;-ms-flex:11;-webkit-flex:11;flex:11;width:0}[class*=bui-box]>[class*=span12]{-webkit-box-flex:12;box-flex:12;-ms-flex:12;-webkit-flex:12;flex:12;width:0}[class*=bui-box]>[class=span1]:only-child{width:auto}.bui-box-vertical{-webkit-box-orient:vertical;-ms-flex-orient:vertical;box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.bui-box-vertical>[class*=span],.bui-box-vertical>li{width:100%}.bui-box-reverse{-webkit-box-direction:reverse;-ms-flex-direction:reverse;box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}[class*=bui-box].bui-box-center{display:-webkit-box;display:-ms-flexbox;display:box}.bui-box-center{-webkit-box-align:center;-ms-flex-align:center;box-align:center;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;text-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center}.bui-box-align-top{-webkit-box-align:start;-ms-flex-align:start;box-align:start;-webkit-align-items:flex-start;-ms-align-items:flex-start;align-items:flex-start}.bui-box-align-bottom{-webkit-box-align:end;-ms-flex-align:end;box-align:end;-webkit-align-items:flex-end;-ms-align-items:flex-end;align-items:flex-end}.bui-box-align-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;box-align:stretch;-webkit-align-items:stretch;-ms-align-items:stretch;align-items:stretch}.bui-box-align-middle{-webkit-box-align:center;-ms-flex-align:center;box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}.bui-box-align-middle>i{display:block}.bui-box-align-left{-webkit-box-pack:start;-ms-flex-pack:start;box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start}.bui-box-align-right{-webkit-box-pack:end;-ms-flex-pack:end;box-pack:end;-webkit-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end}.bui-box-align-center{-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center}.bui-box-align-center>[class*=span],.bui-box-align-center>li{text-align:center}.bui-box-align-justify{-webkit-box-pack:justify;-ms-flex-pack:justify;box-pack:justify;-webkit-justify-content:space-between;-ms-justify-content:space-between;justify-content:space-between}.bui-box-space [class*=span],.bui-box.space [class*=span]{padding-left:0.1rem;padding-right:0.1rem}.bui-box-space [class*=span]:first-child,.bui-box.space [class*=span]:first-child{padding-left:0.2rem}.bui-box-space [class*=span]:last-child,.bui-box.space [class*=span]:last-child{padding-right:0.2rem}.bui-box-text-hide{display:-webkit-box;display:-ms-flexbox;display:box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-ms-line-clamp:2;-webkit-box-orient:vertical}[class*=bui-fluid]{display:block}[class*=bui-fluid]:after{clear:both;content:"";display:block;height:0;visibility:hidden}[class*=bui-fluid]>[class*=span],[class*=bui-fluid]>li{float:left;clear:none;word-break:break-all;padding:0;margin:0}[class*=bui-fluid]>li{width:100%}[class*=bui-fluid]>[class*=span1]{width:8.33333%}[class*=bui-fluid]>[class*=span2]{width:16.66667%}[class*=bui-fluid]>[class*=span3]{width:25%}[class*=bui-fluid]>[class*=span4]{width:33.33333%}[class*=bui-fluid]>[class*=span5]{width:41.66667%}[class*=bui-fluid]>[class*=span6]{width:50%}[class*=bui-fluid]>[class*=span7]{width:58.33333%}[class*=bui-fluid]>[class*=span8]{width:66.66667%}[class*=bui-fluid]>[class*=span9]{width:75%}[class*=bui-fluid]>[class*=span10]{width:83.33333%}[class*=bui-fluid]>[class*=span11]{width:91.66667%}[class*=bui-fluid]>[class*=span12]{width:100%}.bui-fluid-space,.bui-fluid.space{padding-left:.1rem;padding-right:.1rem}.bui-fluid-space [class*=span],.bui-fluid.space [class*=span]{padding-left:.1rem;padding-right:.1rem}.bui-fluid-1>li,.bui-fluid-1>[class*=bui-btn],.bui-fluid-1>[class*=span],.bui-fluid-1>*{float:left;width:100%}.bui-fluid-2>li,.bui-fluid-2>[class*=bui-btn],.bui-fluid-2>[class*=span],.bui-fluid-2>*{float:left;width:50%}.bui-fluid-3>li,.bui-fluid-3>[class*=bui-btn],.bui-fluid-3>[class*=span],.bui-fluid-3>*{float:left;width:33.33333%}.bui-fluid-4>li,.bui-fluid-4>[class*=bui-btn],.bui-fluid-4>[class*=span],.bui-fluid-4>*{float:left;width:25%}.bui-fluid-5>li,.bui-fluid-5>[class*=bui-btn],.bui-fluid-5>[class*=span],.bui-fluid-5>*{float:left;width:20%}.bui-fluid-6>li,.bui-fluid-6>[class*=bui-btn],.bui-fluid-6>[class*=span],.bui-fluid-6>*{float:left;width:16.66667%}.bui-fluid-7>li,.bui-fluid-7>[class*=bui-btn],.bui-fluid-7>[class*=span],.bui-fluid-7>*{float:left;width:14.28571%}.bui-fluid-8>li,.bui-fluid-8>[class*=bui-btn],.bui-fluid-8>[class*=span],.bui-fluid-8>*{float:left;width:12.5%}.bui-fluid-9>li,.bui-fluid-9>[class*=bui-btn],.bui-fluid-9>[class*=span],.bui-fluid-9>*{float:left;width:11.11111%}.bui-fluid-10>li,.bui-fluid-10>[class*=bui-btn],.bui-fluid-10>[class*=span],.bui-fluid-10>*{float:left;width:10%}.bui-fluid-11>li,.bui-fluid-11>[class*=bui-btn],.bui-fluid-11>[class*=span],.bui-fluid-11>*{float:left;width:9.09091%}.bui-fluid-12>li,.bui-fluid-12>[class*=bui-btn],.bui-fluid-12>[class*=span],.bui-fluid-12>*{float:left;width:8.33333%}.bui-fluid-1.space,.bui-fluid-space-1{padding-left:.1rem;padding-right:.1rem}.bui-fluid-1.space>li,.bui-fluid-1.space>[class*=bui-btn],.bui-fluid-1.space>[class*=span],.bui-fluid-1.space>*,.bui-fluid-space-1>li,.bui-fluid-space-1>[class*=bui-btn],.bui-fluid-space-1>[class*=span],.bui-fluid-space-1>*{float:left;width:100%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-2.space,.bui-fluid-space-2{padding-left:.1rem;padding-right:.1rem}.bui-fluid-2.space>li,.bui-fluid-2.space>[class*=bui-btn],.bui-fluid-2.space>[class*=span],.bui-fluid-2.space>*,.bui-fluid-space-2>li,.bui-fluid-space-2>[class*=bui-btn],.bui-fluid-space-2>[class*=span],.bui-fluid-space-2>*{float:left;width:50%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-3.space,.bui-fluid-space-3{padding-left:.1rem;padding-right:.1rem}.bui-fluid-3.space>li,.bui-fluid-3.space>[class*=bui-btn],.bui-fluid-3.space>[class*=span],.bui-fluid-3.space>*,.bui-fluid-space-3>li,.bui-fluid-space-3>[class*=bui-btn],.bui-fluid-space-3>[class*=span],.bui-fluid-space-3>*{float:left;width:33.33333%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-4.space,.bui-fluid-space-4{padding-left:.1rem;padding-right:.1rem}.bui-fluid-4.space>li,.bui-fluid-4.space>[class*=bui-btn],.bui-fluid-4.space>[class*=span],.bui-fluid-4.space>*,.bui-fluid-space-4>li,.bui-fluid-space-4>[class*=bui-btn],.bui-fluid-space-4>[class*=span],.bui-fluid-space-4>*{float:left;width:25%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-5.space,.bui-fluid-space-5{padding-left:.1rem;padding-right:.1rem}.bui-fluid-5.space>li,.bui-fluid-5.space>[class*=bui-btn],.bui-fluid-5.space>[class*=span],.bui-fluid-5.space>*,.bui-fluid-space-5>li,.bui-fluid-space-5>[class*=bui-btn],.bui-fluid-space-5>[class*=span],.bui-fluid-space-5>*{float:left;width:20%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-6.space,.bui-fluid-space-6{padding-left:.1rem;padding-right:.1rem}.bui-fluid-6.space>li,.bui-fluid-6.space>[class*=bui-btn],.bui-fluid-6.space>[class*=span],.bui-fluid-6.space>*,.bui-fluid-space-6>li,.bui-fluid-space-6>[class*=bui-btn],.bui-fluid-space-6>[class*=span],.bui-fluid-space-6>*{float:left;width:16.66667%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-7.space,.bui-fluid-space-7{padding-left:.1rem;padding-right:.1rem}.bui-fluid-7.space>li,.bui-fluid-7.space>[class*=bui-btn],.bui-fluid-7.space>[class*=span],.bui-fluid-7.space>*,.bui-fluid-space-7>li,.bui-fluid-space-7>[class*=bui-btn],.bui-fluid-space-7>[class*=span],.bui-fluid-space-7>*{float:left;width:14.28571%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-8.space,.bui-fluid-space-8{padding-left:.1rem;padding-right:.1rem}.bui-fluid-8.space>li,.bui-fluid-8.space>[class*=bui-btn],.bui-fluid-8.space>[class*=span],.bui-fluid-8.space>*,.bui-fluid-space-8>li,.bui-fluid-space-8>[class*=bui-btn],.bui-fluid-space-8>[class*=span],.bui-fluid-space-8>*{float:left;width:12.5%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-9.space,.bui-fluid-space-9{padding-left:.1rem;padding-right:.1rem}.bui-fluid-9.space>li,.bui-fluid-9.space>[class*=bui-btn],.bui-fluid-9.space>[class*=span],.bui-fluid-9.space>*,.bui-fluid-space-9>li,.bui-fluid-space-9>[class*=bui-btn],.bui-fluid-space-9>[class*=span],.bui-fluid-space-9>*{float:left;width:11.11111%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-10.space,.bui-fluid-space-10{padding-left:.1rem;padding-right:.1rem}.bui-fluid-10.space>li,.bui-fluid-10.space>[class*=bui-btn],.bui-fluid-10.space>[class*=span],.bui-fluid-10.space>*,.bui-fluid-space-10>li,.bui-fluid-space-10>[class*=bui-btn],.bui-fluid-space-10>[class*=span],.bui-fluid-space-10>*{float:left;width:10%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-11.space,.bui-fluid-space-11{padding-left:.1rem;padding-right:.1rem}.bui-fluid-11.space>li,.bui-fluid-11.space>[class*=bui-btn],.bui-fluid-11.space>[class*=span],.bui-fluid-11.space>*,.bui-fluid-space-11>li,.bui-fluid-space-11>[class*=bui-btn],.bui-fluid-space-11>[class*=span],.bui-fluid-space-11>*{float:left;width:9.09091%;padding-left:.1rem;padding-right:.1rem}.bui-fluid-12.space,.bui-fluid-space-12{padding-left:.1rem;padding-right:.1rem}.bui-fluid-12.space>li,.bui-fluid-12.space>[class*=bui-btn],.bui-fluid-12.space>[class*=span],.bui-fluid-12.space>*,.bui-fluid-space-12>li,.bui-fluid-space-12>[class*=bui-btn],.bui-fluid-space-12>[class*=span],.bui-fluid-space-12>*{float:left;width:8.33333%;padding-left:.1rem;padding-right:.1rem}.bui-box-fluid{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.bui-box-fluid>[class*=span1]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span2]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span3]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span4]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span5]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span6]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span7]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span8]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span9]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span10]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span11]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-fluid>[class*=span12]{width:auto;-webkit-flex:none;-ms-flex:none;flex:none}.bui-box-vertical>.bui-label{margin-bottom:.2rem}.bui-box-vertical.bui-box-reverse{-webkit-box-direction:reverse;-ms-flex-direction:reverse;box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.bui-box-vertical>.span1,.bui-box-vertical>.bui-panel-main,.bui-box-vertical>.bui-tab-main,.bui-box-vertical>.bui-dialog-main,.bui-box-vertical>[class$="-main"],.bui-box-vertical>main{-webkit-box-flex:1;-ms-flex-flex:1;box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:auto !important}.bui-page>main .bui-tab.bui-box-vertical{height:100% !important}.bui-tab.bui-box-vertical>[class$="-main"]>ul{height:100%}.bui-tab.bui-box-vertical>[class$="-main"]>ul>li{height:100% !important}.bui-list.bui-fluid-1>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-1>.bui-btn:nth-child(1n+0){border-right:0}.bui-list.bui-fluid-2>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-2>.bui-btn:nth-child(2n+0){border-right:0}.bui-list.bui-fluid-3>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-3>.bui-btn:nth-child(3n+0){border-right:0}.bui-list.bui-fluid-4>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-4>.bui-btn:nth-child(4n+0){border-right:0}.bui-list.bui-fluid-5>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-5>.bui-btn:nth-child(5n+0){border-right:0}.bui-list.bui-fluid-6>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-6>.bui-btn:nth-child(6n+0){border-right:0}.bui-list.bui-fluid-7>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-7>.bui-btn:nth-child(7n+0){border-right:0}.bui-list.bui-fluid-8>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-8>.bui-btn:nth-child(8n+0){border-right:0}.bui-list.bui-fluid-9>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-9>.bui-btn:nth-child(9n+0){border-right:0}.bui-list.bui-fluid-10>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-10>.bui-btn:nth-child(10n+0){border-right:0}.bui-list.bui-fluid-11>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-11>.bui-btn:nth-child(11n+0){border-right:0}.bui-list.bui-fluid-12>.bui-btn{padding:.25rem .2rem;border-bottom:1px solid #eee;border-right:1px solid #eee}.bui-list.bui-fluid-12>.bui-btn:nth-child(12n+0){border-right:0}.bui-loading{font-size:.26rem;position:absolute;left:50%;top:50%;margin-left:-.5rem;margin-top:-.5rem;z-index:130;width:1rem;height:1rem;text-align:center}.bui-loading .bui-loading-cell{-webkit-border-radius:50%;-ms-border-radius:50%;border-radius:50%;display:inline-block;margin:0 auto;margin-top:-2px;border-top:.04rem solid rgba(221,221,221,0.3);border-right:.04rem solid rgba(221,221,221,0.3);border-bottom:.04rem solid rgba(221,221,221,0.3);border-left:.04rem solid #ccc;-webkit-animation:loader 1.1s infinite linear;animation:loader 1.1s infinite linear}.bui-loading .bui-loading-text{color:#ccc;font-size:.26rem;display:-webkit-box;display:-ms-flexbox;display:box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-ms-line-clamp:2;-webkit-box-orient:vertical;-ms-flex-orient:vertical;line-height:1.5}.bui-loading-block{background:rgba(0,0,0,0.4);width:2rem !important;height:2rem !important;display:-webkit-box;display:-ms-flexbox;display:box;-webkit-box-align:center;-ms-flex-align:center;box-align:center;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;-webkit-box-orient:vertical;-ms-flex-orient:vertical;box-orient:vertical;border-radius:.1rem;margin-top:-1rem !important;margin-left:-1rem !important;text-align:center;line-height:1.5 !important}.bui-loading-block .bui-loading-text{text-align:center;line-height:1.4;white-space:normal;padding:0 .1rem}.bui-loading-pause .bui-loading-cell{-webkit-animation:none;animation:none}.bui-loading .bui-loading-cell.pause{-webkit-animation:none;animation:none}.bui-loading-inline{width:auto;height:auto;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center}.bui-loading-inline .bui-loading-cell{display:inline-block;vertical-align:middle}.bui-loading-inline .bui-loading-text{padding-left:.1rem;display:inline-block;overflow:inherit;border:.04rem solid transparent}@-webkit-keyframes loader{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loader{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.section-title+.bui-panel{margin-top:0}.bui-panel{background:#fff;-webkit-user-select:element;-khtml-user-select:element;-moz-user-select:element;-ms-user-select:element;user-select:element}.bui-panel>.active .icon-accordion{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.bui-panel .bui-panel-head{border:0;border-bottom:1px solid #eee;padding:.2rem .2rem;color:#666;font-size:.3rem;margin:0}.bui-panel .bui-panel-head .icon-accordion{-webkit-transition:-webkit-transform 0.3s ease-in-out 0s;transition:transform 0.3s ease-in-out 0s}.bui-panel .bui-panel-head .icon-accordion:before{content:"\e649"}.bui-panel .bui-panel-main{margin:0;overflow:auto}.bui-panel .bui-panel-main>.container{padding-top:.2rem;padding-bottom:.2rem}.bui-panel .bui-panel-foot{margin:0;border:0;padding:.18rem .2rem;overflow:hidden;font-size:.3rem;border-top:1px solid #eee}.bui-panel .bui-list{border-top:0;border-bottom:0}.bui-panel .bui-list>li:last-child{border-bottom:0}.bui-dropdown{position:relative}.bui-dropdown .icon-dropdown{-webkit-transition:-webkit-transform 0.3s ease-in-out 0s;transition:transform 0.3s ease-in-out 0s;color:#aaa}.bui-dropdown .icon-dropdown:before{content:"\e649"}.bui-dropdown>[class*=bui-btn]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;border-left:0}.bui-dropdown>[class*=bui-btn] .span1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bui-dropdown>.active{background:#f9f9f9}.bui-dropdown>.active .icon-dropdown{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.bui-dropdown>.bui-list{max-height:5rem;overflow-y:auto;display:none}.bui-dropdown>.bui-list>[class*=bui-btn]{text-align:center}.bui-dropdown>.bui-list>[class*=bui-btn].active{color:#39a4ff;background:#fff}.bui-dropdown>.bui-menu-top{border-top:1px solid #eee}.bui-dropdown .bui-dropdown-menu{display:none}.bui-dropdown .bui-dropdown-menu>[class*=bui-btn]{border:0;border-bottom:1px solid #eee;padding-left:.2rem}.bui-dropdown>[class*=bui-btn] ~ *{display:none}.bui-dropdown>.active ~ *{display:block}.bui-dropdown-tab .bui-menu-bottom{top:auto}.bui-dropdown-tab .bui-tab-sidenav{width:50%}.bui-dropdown-tab .bui-tab-wrap{padding-left:50%}.bui-menu-top,.bui-menu-bottom,.bui-menu-left,.bui-menu-right{position:absolute;width:100%;z-index:20}.bui-menu-bottom{top:100%;bottom:auto;left:0;right:0}.bui-menu-bottom.bui-arrow-up{overflow:visible}.bui-menu-bottom.bui-arrow-up:before{left:auto;margin-left:0;right:.22rem}.bui-menu-bottom.bui-arrow-up:after{left:auto;margin-left:0;right:.22rem}.bui-menu-top{top:auto;bottom:100%;left:0;right:0}.bui-menu-top.bui-arrow-down{overflow:visible}.bui-menu-top.bui-arrow-down:before{left:auto;margin-left:0;right:.22rem}.bui-menu-top.bui-arrow-down:after{left:auto;margin-left:0;right:.22rem}.bui-menu-left{left:auto;right:100%;top:0}.bui-menu-left.bui-arrow-right:before{top:.22rem;margin-top:0}.bui-menu-left.bui-arrow-right:after{top:.22rem;margin-top:0}.bui-menu-right{left:100%;right:auto;top:0}.bui-menu-right.bui-arrow-left:before{top:.22rem;margin-top:0}.bui-menu-right.bui-arrow-left:after{top:.22rem;margin-top:0}.bui-dropdown-tab{z-index:10}.bui-dropdown-tab .bui-dropdown-content{background:#fff;position:absolute}.bui-dropdown-tab .bui-dropdown-content .bui-tab-wrap{background:#f3f5f8}.bui-dropdown-tab .bui-dropdown-content .bui-btn{border-bottom:0}.bui-dropdown-tab .bui-dropdown-content .bui-btn i{color:#fff}.bui-dropdown-tab .bui-dropdown-content .bui-list .active{background:#fff;color:#1daafc}.bui-dropdown-tab .bui-dropdown-content .bui-list .active i{color:#39a4ff}.bui-stepbar{padding-top:.2rem;padding-left:.3rem;background:#fff}.bui-stepbar .bui-stepbar-text{width:100%;float:left;margin-top:-.05rem;min-height:.8rem;color:#777}.bui-stepbar .bui-stepbar-cell{border-left:1px solid #ccc;padding-left:.3rem;padding-right:.3rem;position:relative}.bui-stepbar .bui-stepbar-cell:last-child{border-left:1px solid transparent}.bui-stepbar .bui-stepbar-cell:after{clear:both;content:".";display:block;height:0;visibility:hidden}.bui-stepbar .bui-stepbar-dot{position:absolute;left:-4px;top:0;display:inline-block;text-align:center;color:#fff;width:8px;height:8px;background:#ccc;-webkit-border-radius:50%;-ms-border-radius:50%;border-radius:50%}.bui-stepbar .bui-stepbar-text h3{margin:0;padding-top:0}.bui-stepbar .bui-stepbar-text .bui-stepbar-time{color:#999;margin-bottom:.2rem}.bui-stepbar .bui-stepbar-text .bui-stepbar-desc{color:#999;padding-bottom:.1rem;margin-bottom:.2rem}.bui-stepbar .visited{border-left:1px solid #52c41a}.bui-stepbar .visited .bui-stepbar-dot{background:#52c41a}.bui-stepbar .active .bui-stepbar-dot{background:#52c41a;width:16px;height:16px;line-height:16px;left:-8px;font-family:"icon";font-size:.24rem;text-align:center}.bui-stepbar .active .bui-stepbar-dot:before{content:"\e625";color:#fff}.bui-stepbar .active .bui-stepbar-text{color:#52c41a}.bui-stepbar .active .bui-stepbar-text .bui-stepbar-time{color:#52c41a}.bui-stepbar .active .bui-stepbar-text a{color:#52c41a}.bui-stepbar .error .bui-stepbar-dot{background-color:#f9342a}.bui-stepbar .error .bui-stepbar-dot:before{content:"\e61a"}.bui-stepbar .error .bui-stepbar-text{color:#f9342a}.bui-stepbar .error .bui-stepbar-text .bui-stepbar-time{color:#f9342a}.bui-stepbar .error .bui-stepbar-text a{color:#f9342a}.bui-stepbar .bui-stepbar-number .bui-stepbar-dot{width:19.2px;height:19.2px;line-height:19.2px;left:-9.6px}.bui-stepbar .bui-stepbar-number .bui-stepbar-dot{font-size:.3rem}.bui-stepbar .bui-stepbar-number .bui-stepbar-dot:before{content:""}.bui-stepbar-line{position:relative;padding:.4rem;display:-webkit-box;display:-ms-flexbox;display:box}.bui-stepbar-line .bui-stepbar-cell{border-left:0;border-top:1px solid #ccc;padding-top:.1rem;padding-bottom:.1rem;position:relative;-webkit-box-flex:1;-ms-flex:1;width:0}.bui-stepbar-line .bui-stepbar-cell:first-child{-webkit-box-flex:0;-ms-flex:0;box-flex:0;border-top-color:transparent;white-space:nowrap;padding-left:.2rem}.bui-stepbar-line .bui-stepbar-cell:first-child .bui-stepbar-text{width:1rem;left:50%;margin-left:-.5rem}.bui-stepbar-line .bui-stepbar-cell:first-child .bui-stepbar-dot{right:0}.bui-stepbar-line .bui-stepbar-dot{position:absolute;top:-5px;-webkit-border-radius:50%;-ms-border-radius:50%;border-radius:50%;right:0;display:inline-block;width:8px;height:8px;background:#ccc;margin-left:-4px;z-index:2}.bui-stepbar-line .bui-stepbar-dot.small{width:6px;height:6px;top:-3px}.bui-stepbar-line .bui-stepbar-text{padding-top:.1rem;font-size:.24rem;text-align:center;position:absolute;width:100%;left:50%;margin-left:-4px}.bui-stepbar-line .bui-stepbar-text h3{display:block;text-align:center}.bui-stepbar-line .active ~ .active{border-top-color:#52c41a}.bui-stepbar-line .active .bui-stepbar-dot{background:#52c41a;color:#fff;margin-top:-4px}.bui-stepbar-line .visited{border-top-color:#52c41a}.bui-stepbar-line .visited ~ .active{border-top-color:#52c41a}.bui-stepbar-line .visited .bui-stepbar-dot{background:#52c41a;color:#fff}.bui-stepbar-line .bui-stepbar-number{border-top-width:2px}.bui-stepbar-line .bui-stepbar-number:first-child .bui-stepbar-text{text-indent:-9.6px}.bui-stepbar-line .bui-stepbar-number .bui-stepbar-dot{width:19.2px;height:19.2px;line-height:19.2px;text-align:center;top:-9.6px;margin-top:0}.bui-stepbar-line .bui-stepbar-number .bui-stepbar-text{padding-top:.2rem;margin-left:-9.6px}.bui-stepbar-line.bui-stepbar-center{padding-left:0;padding-right:0}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell{text-align:center;padding-left:0;border-top:1px solid #ccc}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell.visited{border-top-color:#52c41a}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell:first-child{-webkit-box-flex:1;-ms-flex:1;box-flex:1;padding-left:0;white-space:nowrap}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell:first-child .bui-stepbar-text{width:100%;position:static;text-align:center;margin:0;left:auto;text-indent:0}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell:first-child .bui-stepbar-text h3{text-align:inherit}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell .bui-stepbar-dot{left:50%;right:auto;margin-left:-9.6px}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell .bui-stepbar-text{width:100%;position:static;text-align:center;margin-left:0}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-cell .bui-stepbar-text h3{text-align:inherit}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-number{border-top-width:2px}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-number .bui-stepbar-dot{top:-10.6px;left:50%;right:auto;margin-left:-9.6px}.bui-stepbar-line.bui-stepbar-center .bui-stepbar-number.active .bui-stepbar-dot{top:-10.6px}.bui-stepbar-line.bui-stepbar-center .active,.bui-stepbar-line.bui-stepbar-center .visited{border-top-color:#52c41a}.bui-mask{width:100%;height:100%;background:rgba(0,0,0,0.4);position:absolute;top:0;left:0;bottom:0;right:0;z-index:100;color:#fff;text-align:center}.bui-mask i{font-size:.48rem}.bui-rating .bui-rating-cell{position:relative;font-family:"icon";-webkit-text-stroke-width:0.1px;-webkit-font-smoothing:antialiased;margin:0 .05rem;display:inline-block;-webkit-appearance:none;-ms-appearance:none;background-color:transparent;border:0;outline:0;background-size:100% auto;color:#aaa;font-size:.48rem}.bui-rating .bui-rating-cell:before{display:inline-block;content:"\e62a";line-height:1;border-radius:0}.bui-rating .bui-rating-cell:checked{color:#fc3}.bui-rating .bui-rating-cell:checked:before{display:inline-block;content:"\e629";line-height:1;border-radius:0}.bui-rating .bui-rating-cell .bui-rating-cell-full{position:absolute;top:0;left:0;z-index:2;overflow:hidden}.bui-rating .bui-rating-cell-half,.bui-rating .bui-rating-cell-full{-webkit-appearance:none;background-color:transparent;color:#fc3}.bui-rating .bui-rating-cell-half:before,.bui-rating .bui-rating-cell-full:before{content:"\e629";line-height:1;border-radius:0}.bui-rating .bui-rating-cell-half:before{content:"\e601"}.bui-rating.mini .bui-rating-cell{font-size:.2rem}.bui-rating.small .bui-rating-cell{font-size:.36rem}.bui-rating.large .bui-rating-cell{font-size:.6rem}.bui-rating.xlarge .bui-rating-cell{font-size:.76rem}.bui-dialog{-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem;display:none;overflow:hidden;background:#fff;position:absolute;z-index:101;left:.5rem;right:.5rem;bottom:auto;top:50%}.bui-dialog .bui-dialog-main{-webkit-border-radius:0 0 .1rem .1rem;-ms-border-radius:0 0 .1rem .1rem;border-radius:0 0 .1rem .1rem;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;overflow-y:auto;text-align:center;font-size:.3rem}.bui-dialog .bui-dialog-main>.bui-list{margin-top:0}.bui-dialog .bui-dialog-main p{padding:.1rem .2rem}.bui-dialog i.icon-success{color:#52c41a}.bui-dialog i.icon-close{color:#39a4ff}.bui-dialog i.icon-errorfill{color:#f9342a}.bui-dialog i.icon-infofill{color:#39a4ff}.bui-dialog i.icon-warningfill{color:#ff9236}.bui-dialog i.warning{color:#ff9236}.bui-dialog i.success{color:#52c41a}.bui-dialog i.danger{color:#f9342a}.bui-dialog i.primary{color:#39a4ff}.bui-dialog i.info{color:#39a4ff}.bui-dialog .bui-dialog-text{padding:0 .3rem;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;font-size:.34rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.bui-dialog .bui-dialog-text h1,.bui-dialog .bui-dialog-text h2,.bui-dialog .bui-dialog-text h3,.bui-dialog .bui-dialog-text h4,.bui-dialog .bui-dialog-text h5,.bui-dialog .bui-dialog-text h6{font-size:.34rem;color:#000}.bui-dialog .bui-dialog-text p{font-size:.26rem;color:#999}.bui-dialog .bui-dialog-text i{display:inline-block;font-size:1.08rem;height:1.188rem;overflow:hidden;margin:0 .1rem .1rem .1rem}.bui-dialog .bui-dialog-head{-webkit-border-radius:.1rem .1rem 0 0;-ms-border-radius:.1rem .1rem 0 0;border-radius:.1rem .1rem 0 0;padding:.15rem .2rem;min-height:.6rem;line-height:.6rem}.bui-dialog .bui-dialog-head [class*=bui-btn]{min-height:.5rem;line-height:.5rem;padding-top:0;padding-bottom:0}.bui-dialog .bui-dialog-foot{-webkit-border-radius:0 0 .1rem .1rem;-ms-border-radius:0 0 .1rem .1rem;border-radius:0 0 .1rem .1rem;border-top:1px solid #eee;background:#fff}.bui-dialog .bui-dialog-foot [class*=bui-btn]{border:0;border-left:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:box;-webkit-box-align:center;-ms-flex-align:center;box-align:center;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;text-align:center;min-height:.9rem}.bui-dialog .bui-dialog-foot .blue,.bui-dialog .bui-dialog-foot .info{color:#39a4ff}.bui-dialog .bui-dialog-foot [class*=bui-btn]:first-child{-webkit-border-radius:0 0 0 .1rem;-ms-border-radius:0 0 0 .1rem;border-radius:0 0 0 .1rem}.bui-dialog .bui-dialog-foot [class*=bui-btn]:last-child{-webkit-border-radius:0 0 .1rem 0;-ms-border-radius:0 0 .1rem 0;border-radius:0 0 .1rem 0}.bui-dialog .bui-dialog-foot [class*=bui-btn]:only-child{-webkit-border-radius:0 0 .1rem .1rem;-ms-border-radius:0 0 .1rem .1rem;border-radius:0 0 .1rem .1rem}.bui-dialog .bui-dialog-foot.bui-box :first-child [class*=bui-btn]{-webkit-border-radius:0 0 0 .1rem;-ms-border-radius:0 0 0 .1rem;border-radius:0 0 0 .1rem;border-left:0}.bui-dialog .bui-dialog-foot.bui-box :last-child [class*=bui-btn]{-webkit-border-radius:0 0 .1rem 0;-ms-border-radius:0 0 .1rem 0;border-radius:0 0 .1rem 0}.bui-dialog .bui-dialog-foot.bui-box :only-child [class*=bui-btn]{-webkit-border-radius:0 0 .1rem .1rem;-ms-border-radius:0 0 .1rem .1rem;border-radius:0 0 .1rem .1rem}.bui-dialog .bui-dialog-close{position:absolute;top:.1rem;right:.2rem;height:.6rem;line-height:.6rem;text-align:right;z-index:102}.bui-dialog .bui-dialog-close i{font-size:.48rem;color:#999}.bui-dialog-top,.bui-dialog-bottom,.bui-dialog-left,.bui-dialog-right,.bui-dialog-center,.bui-dialog-custom,.bui-dialog-fullscreen{position:absolute;z-index:101}.bui-dialog-top{top:0;bottom:auto;left:0;right:0;-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-bottom{top:auto;bottom:0;left:0;right:0;-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-left{top:0;bottom:0;left:0;right:auto}.bui-dialog-right{top:0;bottom:0;left:auto;right:0}.bui-dialog-center{top:50%;bottom:auto;left:.5rem;right:.5rem}.bui-dialog-align-center{top:50%;bottom:auto;left:50%;right:auto}.bui-dialog-fullscreen{top:0;bottom:0;left:0;right:0;max-height:none;-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-fullscreen .bui-dialog-head{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-fullscreen .bui-dialog-foot{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-fullscreen .bui-dialog-main{max-height:none}.bui-dialog-custom{top:0;bottom:auto;left:0;right:0;max-height:none;-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-custom .bui-dialog-head{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-custom .bui-dialog-foot{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.bui-dialog-custom .bui-dialog-main{max-height:none}.bui-dialog-minimize{height:.9rem;right:.1rem;left:auto;width:2.2rem;transition:all .3s}.bui-dialog-page .bui-dialog-main{height:100%;-webkit-overflow-scrolling:touch;overflow:auto;text-align:left}.bui-dialog-page .bui-dialog-close{top:.15rem}.bui-dialog-page .bui-dialog-close i{color:#ccc}.bui-dialog-page.bui-box-vertical .bui-dialog-main{height:100% !important}.bui-scroll-list,.bui-scroll-pullrefresh,.bui-scroll{position:relative;overflow-y:auto;max-height:100%}.bui-scroll-list .bui-scroll-head,.bui-scroll-pullrefresh .bui-scroll-head,.bui-scroll .bui-scroll-head{position:absolute;top:0;left:0;right:0;z-index:0;height:1rem}.bui-scroll-list .bui-scroll-head.active,.bui-scroll-pullrefresh .bui-scroll-head.active,.bui-scroll .bui-scroll-head.active{transform:translateY(0px)}.bui-scroll-list .bui-scroll-main,.bui-scroll-pullrefresh .bui-scroll-main,.bui-scroll .bui-scroll-main{position:relative;background:#fff;z-index:12}.bui-scroll-list .bui-scroll-foot,.bui-scroll-pullrefresh .bui-scroll-foot,.bui-scroll .bui-scroll-foot{position:relative;background:none;height:1rem}.bui-scroll-list .bui-scroll-foot .bui-loading,.bui-scroll-pullrefresh .bui-scroll-foot .bui-loading,.bui-scroll .bui-scroll-foot .bui-loading{margin-top:.3rem}.bui-scroll-xy{overflow:auto}.bui-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.bui-scroll-x>.bui-scroll-main{width:2000px}.bui-scroll-x .bui-list-pic li,.bui-scroll-x .bui-list-photo li{float:left;width:2rem;margin-left:.2rem}.bui-scroll[direction=x]{overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.bui-scroll[direction=x] .bui-scroll-foot{width:.6rem}.bui-scroll[direction=x] .bui-scroll-foot .bui-loading{width:.6rem !important;height:100%;writing-mode:vertical-lr;writing-mode:tb-lr;height:auto !important;line-height:auto !important;margin-top:0;margin-left:0 !important;margin-right:0 !important}.bui-scroll[direction=x] .bui-scroll-foot .bui-loading-text{padding-left:0}.bui-scroll[direction=x] .bui-list-pic li,.bui-scroll[direction=x] .bui-list-photo li{float:left;width:2rem;margin-left:.2rem}.bui-slide-loop .bui-slide-head ul li:first-child{display:none}.bui-slide-loop .bui-slide-head ul li:last-child{display:none}.bui-slide-head{text-align:center;position:absolute;bottom:.1rem;right:0;left:0;padding:0 .2rem;z-index:10}.bui-slide-head:after{clear:both;content:"";display:block;height:0;visibility:hidden}.bui-slide-head ul li{display:inline-block;width:6px;height:6px;line-height:6px;-webkit-border-radius:6px;-ms-border-radius:6px;border-radius:6px;background:#ccc;text-align:center;font-size:.26rem;margin-left:.05rem;margin-right:.05rem;text-indent:-999999px}.bui-slide-head ul .active{background:#fff;color:#ccc}.bui-slide{width:100%;margin:0 auto}.bui-slide .bui-slide-video{width:100%;height:100%;position:relative}.bui-slide .bui-slide-main>ul>li{position:relative}.bui-slide .bui-slide-main>ul>li img{max-width:100%}.bui-slide .bui-slide-title{position:absolute;bottom:0;left:0;right:0;z-index:10;background:rgba(0,0,0,0.3);color:#f3f5f8;padding:.1rem .2rem;text-align:left}.bui-slide-skin01 .bui-slide-head ul li{-webkit-transition:width .2s ease-out;transition:width .2s ease-out}.bui-slide-skin01 .bui-slide-head ul .active{width:.4rem}.bui-slide-skin02 .bui-slide-head{padding:0;bottom:auto;top:0}.bui-slide-skin02 .bui-slide-head ul{display:-webkit-box;display:-ms-flexbox;display:box;width:100%}.bui-slide-skin02 .bui-slide-head ul li{display:block;margin:0;padding:0;width:auto;white-space:normal;word-break:break-all;-webkit-box-flex:1;-ms-flex:1;box-flex:1;-webkit-border-radius:0;-ms-border-radius:0;border-radius:0;height:2px;background:#fff}.bui-slide-skin02 .bui-slide-head ul .active ~ li{background:#ccc}.bui-slide-autoheight{height:auto !important}.bui-slide-autoheight .bui-tab-main,.bui-slide-autoheight .bui-slide-main{width:100% !important;-webkit-transform:translate(0, 0) !important;-ms-transform:translate(0, 0) !important;transform:translate(0, 0) !important}.bui-slide-autoheight .bui-tab-main>div>div,.bui-slide-autoheight .bui-tab-main>ul>li,.bui-slide-autoheight .bui-slide-main>div>div,.bui-slide-autoheight .bui-slide-main>ul>li{height:auto !important;display:none}.bui-slide-autoheight .bui-tab-main>div>div.active,.bui-slide-autoheight .bui-tab-main>ul>li.active,.bui-slide-autoheight .bui-slide-main>div>div.active,.bui-slide-autoheight .bui-slide-main>ul>li.active{display:block}.bui-slide-fullscreen{background:#fff;height:100%}.bui-slide-fullscreen>.bui-slide-main{height:inherit}.bui-slide-fullscreen>.bui-slide-main>ul{height:inherit}.bui-slide-fullscreen>.bui-slide-main>ul>li{height:inherit}.bui-slide-fullscreen .bui-slide-title{line-height:.5rem;padding-top:0;padding-bottom:0}.bui-slide-fullscreen .bui-slide-img{background-repeat:no-repeat;background-color:#000;background-size:contain}.bui-slide-fullscreen .bui-slide-img img{object-fit:contain}.bui-slide-vertical>.bui-slide-head{top:44%;right:0;z-index:10}.bui-slide-vertical>.bui-slide-head>ul>li{float:none}.bui-slide-vertical>.bui-slide-head>ul>.active{background:#fff;color:#ccc}.bui-slide-cross .bui-cross-prev,.bui-slide-cross .li-prev{transform:translateX(1.1rem);-webkit-transform:translateX(1.1rem);display:-webkit-box;display:-ms-flexbox;display:box;display:-webkit-flex;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;box-pack:end;-webkit-justify-content:flex-end;-ms-justify-content:flex-end;justify-content:flex-end}.bui-slide-cross .bui-cross-prev .bui-slide-img,.bui-slide-cross .li-prev .bui-slide-img{margin-right:.6rem}.bui-slide-cross .bui-cross-next,.bui-slide-cross .li-next{transform:translateX(-1.1rem);-webkit-transform:translateX(-1.1rem);-ms-transform:translateX(-1.1rem);display:-webkit-box;display:-ms-flexbox;display:box;display:-webkit-flex;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start}.bui-slide-cross .bui-cross-next .bui-slide-img,.bui-slide-cross .li-next .bui-slide-img{margin-left:.6rem}.bui-slide-cross .active{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.bui-slide-cross .bui-slide-img{width:80%;margin:0 auto;text-align:center}.bui-slide-notice{background:#F6F8FA;position:relative;overflow:hidden;height:1rem}.bui-slide-notice:before{font-family:"icon" !important;display:inline-block;content:"\e63e";font-size:.4rem;position:absolute;top:50%;left:.2rem;margin-top:-.2rem;color:#3da1ff}.bui-slide-notice .bui-slide-main ul li{padding-left:.8rem}.bui-slide-notice .icon-listright{margin-right:.2rem}.bui-slide-notice .bui-slide-main .notice-item{line-height:1rem}.bui-slide-notice .bui-slide-main .notice-item .span1{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.bui-slide-img{width:100%;height:100%;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}.bui-slide-img img{width:100%;height:100%;object-fit:cover}.bui-slide-bg{width:100%;height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}.bui-tab{width:100%}.bui-tab .bui-nav li{border:0}.bui-tab .bui-nav .active{color:#39a4ff;background-color:#fff}.bui-tab .bui-tab-head{z-index:10}.bui-tab .bui-tab-main{overflow:hidden}.bui-tab .bui-tab-main .bui-list{border-top:0}.bui-tab .bui-tab-main>ul>li{position:relative}.bui-tab-sidenav{position:absolute;left:0;top:0;width:3rem;height:100%;overflow-y:auto;z-index:10;background:#f3f5f8}.bui-tab-sidenav.bui-nav{display:block}.bui-tab-sidenav.bui-nav [class*=bui-btn]{width:100%}.bui-tab-sidenav.bui-nav .active{border:0;background:#fff;border-left:2px solid #39a4ff}.bui-tab-sidenav.bui-nav .active:after{display:none}.bui-tab-sidenav [class*=bui-btn]{background:#f3f5f8;border-bottom:0;border-left:2px solid #f3f5f8}.bui-tab-sidenav .active{background:#fff;border-left:2px solid #39a4ff}.bui-tab-left,.bui-tab-right{display:-webkit-box;display:-ms-flexbox;display:box;display:-webkit-flex;display:flex}.bui-tab-left .span1,.bui-tab-right .span1{-webkit-box-flex:1;-ms-flex:1;box-flex:1;flex:1;width:0}.bui-nav>[class*=bui-btn] .icon-close{font-size:.32rem;height:.3rem;line-height:.3rem}.bui-tab-left .bui-tab-sidenav .span1{padding-left:.2rem}.bui-tab-right .bui-tab-sidenav [class*=bui-btn]{background:#f3f5f8;border:0;border-right:2px solid #f3f5f8;padding-left:.2rem}.bui-tab-right .bui-tab-sidenav .active{background:#fff;border-right:2px solid #39a4ff}.bui-tab-wrap{padding-left:3rem;position:relative;height:100%}.bui-tab-wrap .bui-tab-main{background:#fff}.bui-tab-autoheight{height:auto !important}.bui-tab-autoheight .bui-tab-main>div>div,.bui-tab-autoheight .bui-tab-main>ul>li{height:auto !important}.bui-tab-show{height:auto !important}.bui-tab-show .bui-tab-main{-webkit-transform:translate(0, 0) !important;transform:translate(0, 0) !important}.bui-tab-show .bui-tab-main>div,.bui-tab-show .bui-tab-main>ul{display:block !important}.bui-tab-show .bui-tab-main>div>div,.bui-tab-show .bui-tab-main>ul>li{height:auto !important;display:none}.bui-tab-show .bui-tab-main>div>div.active,.bui-tab-show .bui-tab-main>ul>li.active{display:block}.bui-tab-item-component{display:block}.bui-sidebar{position:absolute;z-index:0;width:280px}.bui-sidebar-wrap{overflow:hidden;width:100%;height:100%}.bui-sidebar-wrap .bui-sidebar{z-index:11}.bui-listview{border-top:1px solid #eee}.bui-listview>[class*=bui-btn]{border-top:0}.bui-listview>li{position:relative;overflow:hidden}.bui-listview>li>[class*=bui-btn]{border:0;text-align:left;-webkit-border-radius:0;-ms-border-radius:0;border-radius:0;height:100%;border-bottom:1px solid #eee}.bui-listview>li>.active{background-color:#efefef}.bui-listview-menu{position:absolute !important;top:0;bottom:0;display:table;table-layout:fixed;height:100%}.bui-listview-menu [class*=bui-btn]{display:table-cell;vertical-align:middle;border:0;border-bottom:1px solid #eee;line-height:inherit;padding:.12rem .1rem}.bui-hint{background:rgba(0,0,0,0.4);color:#fff;padding:.2rem .2rem;text-align:center;background:rgba(0,0,0,0.3);z-index:111;-webkit-box-align:center;-ms-flex-align:center;box-align:center;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;text-align:center}.bui-hint i{margin:0 .1rem;font-size:.34rem}.bui-hint .bui-hint-close i{font-size:.48rem;margin-bottom:0}.bui-hint-top{position:absolute;left:50%;margin-left:-50%;right:0;top:0;bottom:auto}.bui-hint-top i{margin:0 .1rem;font-size:.34rem}.bui-hint-bottom{position:absolute;left:50%;margin-left:-50%;right:0;top:auto;bottom:0}.bui-hint-center{position:absolute;display:-webkit-box;display:-ms-flexbox;display:box;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;-webkit-box-align:center;-ms-flex-align:center;box-align:center;top:50%;left:50%;width:2.4rem;height:2.4rem;margin-top:-1.2rem;margin-left:-1.2rem;-webkit-border-radius:.1rem;border-radius:.1rem}.bui-hint-center i{font-size:1rem;margin-bottom:.3rem}.bui-hint-close{position:absolute;z-index:1;right:.1rem;top:.1rem}.bui-select{min-height:.6rem;line-height:.6rem;padding-left:.2rem;padding-right:.2rem}.bui-list-select .thumbnail{margin-right:.2rem}.bui-list-select .icon{margin-right:.2rem}.bui-list-select .bui-choose[title]:after,.bui-list-select .bui-like[title]:after,.bui-list-select .bui-fav[title]:after,.bui-list-select .bui-checkbox[title]:after,.bui-list-select .bui-radio[title]:after{content:""}.bui-dialog-select{display:block;max-height:100%}.bui-dialog-select input{margin-right:.2rem}.bui-dialog-select .bui-dialog-main{position:relative}.bui-dialog-select .bui-dialog-result{position:absolute;display:none;background:#fff;top:0;width:100%;height:100%;text-align:center;overflow:auto;z-index:1}.bui-dialog-select .bui-searchbar-close{display:none}.bui-dialog-select .bui-dialog-result-close{position:absolute;display:none;top:.2rem;right:.2rem;z-index:2}.bui-progress{height:.1rem;min-width:1rem;overflow:hidden;border-radius:.15rem;-webkit-appearance:none;background:#dedede;display:block;width:100%}.bui-progress .bui-progress-cell{background:#39a4ff;height:100%;max-width:100%;color:#fff}.bui-progress::-webkit-progress-bar{background:#dedede}.bui-progress::-webkit-progress-value{background:#39a4ff}.bui-progress-text{padding:0 .2rem;text-align:center}.bui-searchbar{background:#fff;padding:.15rem .2rem}.bui-searchbar .bui-input{-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem;background:#f3f5f8}.bui-searchbar .bui-input input[type="search"],.bui-searchbar .bui-input input[type="text"],.bui-searchbar .bui-input input[type="password"],.bui-searchbar .bui-input textarea{height:.7rem;padding-top:0;padding-bottom:0}.bui-searchbar .bui-input i{height:.7rem;line-height:.7rem;width:.7rem}.bui-searchbar .bui-input i.icon-search{margin-right:.05rem}.bui-searchbar [class*=bui-btn]{border:0}.bui-searchbar [class*=bui-dropdown] [class*=bui-list]{border-top:1px solid #eee}.bui-searchbar [class*=bui-dropdown] [class*=bui-list] [class*=bui-btn]{border:1px solid #eee;border-top:0}.bui-searchbar .btn-search{padding-left:.2rem;height:.7rem;line-height:.7rem;text-align:right;display:block}.bui-bar .bui-searchbar{background:none}.bui-bar .bui-searchbar .bui-input{-webkit-border-radius:.6rem;-ms-border-radius:.6rem;border-radius:.6rem;height:.6rem;line-height:.6rem;-webkit-box-align:center;-ms-flex-align:center;box-align:center}.bui-bar .bui-searchbar .bui-input input{height:100%}.bui-bar .placeholder{margin:0}.bui-actionsheet{position:absolute;bottom:0;left:0;right:0;background:#f3f5f8}.bui-actionsheet .bui-list{border-top:0}.bui-actionsheet [class*=bui-btn]{border-left:0;border-right:0;text-align:center;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center;padding-top:.4rem;padding-bottom:.4rem;font-size:.34rem;color:#595959}.bui-actionsheet>[class*=bui-btn]{margin-top:.1rem;color:#f9342a}.bui-actionsheet .bui-btn{font-size:.26rem}.picker-modal{position:absolute;left:0;bottom:0;width:100%;height:260px;z-index:12500;display:none;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-ms-transition-property:-ms-transform;-o-transition-property:-o-transform;transition-property:transform;background:#cfd5da;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}.picker-modal.modal-in,.picker-modal.modal-out{-webkit-transition-duration:400ms;transition-duration:400ms}.picker-modal.modal-in{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.picker-modal.modal-out{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}.picker-modal .picker-modal-inner{height:100%;position:relative}.picker-modal .toolbar{position:relative;width:100%;background:#f7f7f8}.picker-modal .toolbar:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#929499;display:block;z-index:15;-webkit-transform-origin:50% 0%;transform-origin:50% 0%}html.pixel-ratio-2 .picker-modal .toolbar:before{-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}html.pixel-ratio-3 .picker-modal .toolbar:before{-webkit-transform:scaleY(0.33);transform:scaleY(0.33)}.picker-modal .toolbar+.picker-modal-inner{height:-webkit-calc(100% - 44px);height:-moz-calc(100% - 44px);height:calc(100% - 44px)}.picker-modal.picker-modal-inline,.popover .picker-modal{display:block;position:relative;background:none;z-index:inherit;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.picker-modal.picker-modal-inline .toolbar:before,.popover .picker-modal .toolbar:before{display:none}.picker-modal.picker-modal-inline .toolbar:after,.popover .picker-modal .toolbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#929499;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-modal.picker-modal-inline .toolbar:after,html.pixel-ratio-2 .popover .picker-modal .toolbar:after{-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}html.pixel-ratio-3 .picker-modal.picker-modal-inline .toolbar:after,html.pixel-ratio-3 .popover .picker-modal .toolbar:after{-webkit-transform:scaleY(0.33);transform:scaleY(0.33)}.popover .picker-modal{width:auto}.popover .picker-modal .toolbar{background:none}.picker-modal.smart-select-picker .page{background:#fff}.picker-modal.smart-select-picker .toolbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-modal.smart-select-picker .toolbar:after{-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}html.pixel-ratio-3 .picker-modal.smart-select-picker .toolbar:after{-webkit-transform:scaleY(0.33);transform:scaleY(0.33)}.picker-modal.smart-select-picker .list-block{margin:0}.picker-modal.smart-select-picker .list-block ul:before{display:none}.picker-modal.smart-select-picker .list-block ul:after{display:none}.picker-columns{width:100%;height:260px;z-index:11500}.picker-columns.picker-modal-inline,.popover .picker-columns{height:200px;background:#fff}@media (orientation: landscape) and (max-height: 415px){.picker-columns:not(.picker-modal-inline){height:200px}}.popover.popover-picker-columns{width:280px}.picker-items{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;padding:0;text-align:right;font-size:.3rem;-webkit-mask-box-image:-webkit-linear-gradient(bottom, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent);-webkit-mask-box-image:linear-gradient(to top, transparent, transparent 5%, #fff 20%, #fff 80%, transparent 95%, transparent)}.picker-items-col{overflow:hidden;position:relative;max-height:100%}.picker-items-col.picker-items-col-left{text-align:left}.picker-items-col.picker-items-col-center{text-align:center}.picker-items-col.picker-items-col-right{text-align:right}.picker-items-col.picker-items-col-divider{color:#000;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}.picker-items-col-wrapper{-webkit-transition-duration:300ms;transition-duration:300ms;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.picker-item{height:36px;line-height:36px;padding:0 10px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;color:#707274;left:0;top:0;width:100%;box-sizing:border-box;-webkit-transition-duration:300ms;transition-duration:300ms}.picker-items-col-absolute .picker-item{position:absolute}.picker-item.picker-item-far{pointer-events:none}.picker-item.picker-selected{color:#39a4ff;-webkit-transform:translate3d(0, 0, 0) rotateX(0deg);transform:translate3d(0, 0, 0) rotateX(0deg)}.picker-center-highlight{height:36px;box-sizing:border-box;position:absolute;left:0;width:100%;top:50%;margin-top:-18px;pointer-events:none;border-left:2px solid #39a4ff}.picker-center-highlight:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#eee;display:block;z-index:15;-webkit-transform-origin:50% 0%;transform-origin:50% 0%}html.pixel-ratio-2 .picker-center-highlight:before{-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}html.pixel-ratio-3 .picker-center-highlight:before{-webkit-transform:scaleY(0.33);transform:scaleY(0.33)}.picker-center-highlight:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#eee;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-center-highlight:after{-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}html.pixel-ratio-3 .picker-center-highlight:after{-webkit-transform:scaleY(0.33);transform:scaleY(0.33)}.picker-3d .picker-items{overflow:hidden;-webkit-perspective:1200px;perspective:1200px}.picker-3d .picker-items-col,.picker-3d .picker-items-col-wrapper,.picker-3d .picker-item{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-3d .picker-items-col{overflow:visible}.picker-3d .picker-item{-webkit-transform-origin:center center -110px;transform-origin:center center -110px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swipeleft,.swiperight,.swipeup,.swipedown{position:absolute;z-index:11;-webkit-overflow-scrolling:touch;overflow-scrolling:touch}.swipeleft{left:auto;right:0;top:0;bottom:0;-webkit-transform:translateX(101%);transform:translateX(101%);overflow-y:auto;overflow-x:hidden}.swiperight{left:0;right:auto;top:0;bottom:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);overflow-y:auto;overflow-x:hidden}.swipeup{left:0;right:0;top:auto;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);overflow:auto}.swipedown{left:0;right:0;top:0;bottom:auto;-webkit-transform:translateY(-100%);transform:translateY(-100%);overflow:auto}.bui-list-onepx{border-top-width:0;position:relative}.bui-list-onepx:before{content:"";display:block;height:1px;background:#eee;position:absolute;top:-1px;bottom:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-list-onepx>.bui-btn{border:0 !important;border-bottom-width:0;position:relative}.bui-list-onepx>.bui-btn:after{content:"";display:block;height:1px;background:#eee;position:absolute;bottom:0;top:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-listview-onepx{border-top-width:0;position:relative}.bui-listview-onepx:before{content:"";display:block;height:1px;background:#eee;position:absolute;top:-1px;bottom:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-listview-onepx>li>.bui-btn{border-bottom-width:0;position:relative;border:0}.bui-listview-onepx>li>.bui-btn:after{content:"";display:block;height:1px;background:#eee;position:absolute;bottom:0;top:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-onepx{border:0;border-left-width:0;position:relative;border-right-width:0;position:relative}.bui-onepx:before{content:"";display:block;width:1px;background:#eee;position:absolute;left:0;right:auto;top:0;bottom:0;z-index:10;-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transform:scaleX(0.5);transform:scaleX(0.5)}.bui-onepx:after{content:"";display:block;width:1px;background:#eee;position:absolute;left:auto;right:0;top:0;bottom:0;z-index:10;-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transform:scaleX(0.5);transform:scaleX(0.5)}.bui-onepx>.bui-btn{border:0;border-top-width:0;position:relative;border-bottom-width:0;position:relative}.bui-onepx>.bui-btn:before{content:"";display:block;height:1px;background:#eee;position:absolute;top:-1px;bottom:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-onepx>.bui-btn:after{content:"";display:block;height:1px;background:#eee;position:absolute;bottom:0;top:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-onepx-left{border-left-width:0;position:relative}.bui-onepx-left:before{content:"";display:block;width:1px;background:#eee;position:absolute;left:0;right:auto;top:0;bottom:0;z-index:10;-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transform:scaleX(0.5);transform:scaleX(0.5)}.bui-onepx-right{border-right-width:0;position:relative}.bui-onepx-right:after{content:"";display:block;width:1px;background:#eee;position:absolute;left:auto;right:0;top:0;bottom:0;z-index:10;-webkit-transform-origin:100% 50%;transform-origin:100% 50%;-webkit-transform:scaleX(0.5);transform:scaleX(0.5)}.bui-onepx-top{border-top-width:0;position:relative}.bui-onepx-top:before{content:"";display:block;height:1px;background:#eee;position:absolute;top:-1px;bottom:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.bui-onepx-bottom{border-bottom-width:0;position:relative}.bui-onepx-bottom:after{content:"";display:block;height:1px;background:#eee;position:absolute;bottom:0;top:auto;left:0;right:0;z-index:10;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:scaleY(0.5);transform:scaleY(0.5)}.animated{-webkit-animation-duration:0.4s;animation-duration:0.4s;-webkit-animation-timing-function:ease;animation-timing-function:ease}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.alternate{-webkit-animation-direction:alternate;animation-direction:alternate}.animated.loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-direction:alternate}.animated-fix{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;-ms-perspective:1000;perspective:1000}.animated.linear{-webkit-animation-timing-function:linear;animation-timing-function:linear}.animated.ease{-webkit-animation-timing-function:ease;animation-timing-function:ease}.animated.ease-in{-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.ease-out{-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}.animated.ease-in-out{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}.animated.flipOutX,.animated.flipOutY,.animated.bounceIn,.animated.bounceOut{animation-duration:.75s}.animated.delay-1-1{-webkit-animation-delay:1.1s;-moz-animation-delay:1.1s;animation-delay:1.1s}.animated.delay-1-2{-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s;animation-delay:1.2s}.animated.delay-1-3{-webkit-animation-delay:1.3s;-moz-animation-delay:1.3s;animation-delay:1.3s}.animated.delay-1-4{-webkit-animation-delay:1.4s;-moz-animation-delay:1.4s;animation-delay:1.4s}.animated.delay-1-5{-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s;animation-delay:1.5s}.animated.delay-1-6{-webkit-animation-delay:1.6s;-moz-animation-delay:1.6s;animation-delay:1.6s}.animated.delay-1-7{-webkit-animation-delay:1.7s;-moz-animation-delay:1.7s;animation-delay:1.7s}.animated.delay-1-8{-webkit-animation-delay:1.8s;-moz-animation-delay:1.8s;animation-delay:1.8s}.animated.delay-1-9{-webkit-animation-delay:1.9s;-moz-animation-delay:1.9s;animation-delay:1.9s}.animated.delay-1-10{-webkit-animation-delay:2s;-moz-animation-delay:2s;animation-delay:2s}.animated.delay-1{-webkit-animation-delay:1s;-moz-animation-delay:1s;animation-delay:1s}.animated.delay-2{-webkit-animation-delay:2s;-moz-animation-delay:2s;animation-delay:2s}.animated.delay-3{-webkit-animation-delay:3s;-moz-animation-delay:3s;animation-delay:3s}.animated.delay-4{-webkit-animation-delay:4s;-moz-animation-delay:4s;animation-delay:4s}.animated.delay-5{-webkit-animation-delay:5s;-moz-animation-delay:5s;animation-delay:5s}.animated.delay-6{-webkit-animation-delay:6s;-moz-animation-delay:6s;animation-delay:6s}.animated.delay-7{-webkit-animation-delay:7s;-moz-animation-delay:7s;animation-delay:7s}.animated.delay-8{-webkit-animation-delay:8s;-moz-animation-delay:8s;animation-delay:8s}.animated.delay-9{-webkit-animation-delay:9s;-moz-animation-delay:9s;animation-delay:9s}.animated.delay-10{-webkit-animation-delay:10s;-moz-animation-delay:10s;animation-delay:10s}.animated.duration-0-1{-webkit-animation-duration:.1s;-moz-animation-duration:.1s;animation-duration:.1s}.animated.duration-0-2{-webkit-animation-duration:.2s;-moz-animation-duration:.2s;animation-duration:.2s}.animated.duration-0-3{-webkit-animation-duration:.3s;-moz-animation-duration:.3s;animation-duration:.3s}.animated.duration-0-4{-webkit-animation-duration:.4s;-moz-animation-duration:.4s;animation-duration:.4s}.animated.duration-0-5{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;animation-duration:.5s}.animated.duration-0-6{-webkit-animation-duration:.6s;-moz-animation-duration:.6s;animation-duration:.6s}.animated.duration-0-7{-webkit-animation-duration:.7s;-moz-animation-duration:.7s;animation-duration:.7s}.animated.duration-0-8{-webkit-animation-duration:.8s;-moz-animation-duration:.8s;animation-duration:.8s}.animated.duration-0-9{-webkit-animation-duration:.9s;-moz-animation-duration:.9s;animation-duration:.9s}.animated.duration-0-10{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s}.animated.duration-1-1{-webkit-animation-duration:1.1s;-moz-animation-duration:1.1s;animation-duration:1.1s}.animated.duration-1-2{-webkit-animation-duration:1.2s;-moz-animation-duration:1.2s;animation-duration:1.2s}.animated.duration-1-3{-webkit-animation-duration:1.3s;-moz-animation-duration:1.3s;animation-duration:1.3s}.animated.duration-1-4{-webkit-animation-duration:1.4s;-moz-animation-duration:1.4s;animation-duration:1.4s}.animated.duration-1-5{-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;animation-duration:1.5s}.animated.duration-1-6{-webkit-animation-duration:1.6s;-moz-animation-duration:1.6s;animation-duration:1.6s}.animated.duration-1-7{-webkit-animation-duration:1.7s;-moz-animation-duration:1.7s;animation-duration:1.7s}.animated.duration-1-8{-webkit-animation-duration:1.8s;-moz-animation-duration:1.8s;animation-duration:1.8s}.animated.duration-1-9{-webkit-animation-duration:1.9s;-moz-animation-duration:1.9s;animation-duration:1.9s}.animated.duration-1-10{-webkit-animation-duration:2s;-moz-animation-duration:2s;animation-duration:2s}.animated.duration-1{-webkit-animation-duration:1s;-moz-animation-duration:1s;animation-duration:1s}.animated.duration-2{-webkit-animation-duration:2s;-moz-animation-duration:2s;animation-duration:2s}.animated.duration-3{-webkit-animation-duration:3s;-moz-animation-duration:3s;animation-duration:3s}.animated.duration-4{-webkit-animation-duration:4s;-moz-animation-duration:4s;animation-duration:4s}.animated.duration-5{-webkit-animation-duration:5s;-moz-animation-duration:5s;animation-duration:5s}.animated.duration-6{-webkit-animation-duration:6s;-moz-animation-duration:6s;animation-duration:6s}.animated.duration-7{-webkit-animation-duration:7s;-moz-animation-duration:7s;animation-duration:7s}.animated.duration-8{-webkit-animation-duration:8s;-moz-animation-duration:8s;animation-duration:8s}.animated.duration-9{-webkit-animation-duration:9s;-moz-animation-duration:9s;animation-duration:9s}.animated.duration-10{-webkit-animation-duration:10s;-moz-animation-duration:10s;animation-duration:10s}.showIn{display:block;-webkit-animation-duration:0s;animation-duration:0s}.showOut{display:none;-webkit-animation-duration:0s;animation-duration:0s}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0, -100%, 0);transform:translate3d(0, -100%, 0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(0.6, 0.6, 0.3);transform:scale3d(0.6, 0.6, 0.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(0.6, 0.6, 0.3);transform:scale3d(0.6, 0.6, 0.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(0.3, 0.3, 0.3);transform:scale3d(0.3, 0.3, 0.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@keyframes rollIn{from{opacity:0;transform:translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)}to{opacity:1;transform:none}}.rollIn{animation-name:rollIn}@keyframes rollOut{from{opacity:1}to{opacity:0;transform:translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)}}.rollOut{animation-name:rollOut}@keyframes bounceIn{from,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(0.215, 0.61, 0.355, 1)}0%{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}20%{transform:scale3d(1.1, 1.1, 1.1)}40%{transform:scale3d(0.9, 0.9, 0.9)}60%{opacity:1;transform:scale3d(1.03, 1.03, 1.03)}80%{transform:scale3d(0.97, 0.97, 0.97)}to{opacity:1;transform:scale3d(1, 1, 1)}}.bounceIn{animation-name:bounceIn}@keyframes bounceOut{20%{transform:scale3d(0.9, 0.9, 0.9)}50%,55%{opacity:1;transform:scale3d(1.1, 1.1, 1.1)}to{opacity:0;transform:scale3d(0.3, 0.3, 0.3)}}.bounceOut{animation-name:bounceOut}@keyframes rotateIn{from{transform-origin:center;transform:rotate3d(0, 0, 1, -200deg);opacity:0}to{transform-origin:center;transform:none;opacity:1}}.rotateIn{animation-name:rotateIn}@keyframes rotateOut{from{transform-origin:center;opacity:1}to{transform-origin:center;transform:rotate3d(0, 0, 1, 200deg);opacity:0}}.rotateOut{animation-name:rotateOut}@keyframes flipInX{from{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(1, 0, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(1, 0, 0, -5deg)}to{transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;animation-name:flipInX}@keyframes flipInY{from{transform:perspective(400px) rotate3d(0, 1, 0, 90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotate3d(0, 1, 0, -20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotate3d(0, 1, 0, 10deg);opacity:1}80%{transform:perspective(400px) rotate3d(0, 1, 0, -5deg)}to{transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;animation-name:flipInY}@keyframes flipOutX{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(1, 0, 0, -20deg);opacity:1}to{transform:perspective(400px) rotate3d(1, 0, 0, 90deg);opacity:0}}.flipOutX{animation-name:flipOutX;-webkit-backface-visibility:visible !important;backface-visibility:visible !important}@keyframes flipOutY{from{transform:perspective(400px)}30%{transform:perspective(400px) rotate3d(0, 1, 0, -15deg);opacity:1}to{transform:perspective(400px) rotate3d(0, 1, 0, 90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible !important;backface-visibility:visible !important;animation-name:flipOutY}@keyframes lightSpeedIn{from{transform:translate3d(100%, 0, 0) skewX(-30deg);opacity:0}60%{transform:skewX(20deg);opacity:1}80%{transform:skewX(-5deg);opacity:1}to{transform:none;opacity:1}}.lightSpeedIn{animation-name:lightSpeedIn;animation-timing-function:ease-out}@keyframes lightSpeedOut{from{opacity:1}to{transform:translate3d(100%, 0, 0) skewX(30deg);opacity:0}}.lightSpeedOut{animation-name:lightSpeedOut;animation-timing-function:ease-in}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{-webkit-transform:none;transform:none}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}to{-webkit-transform:none;transform:none}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideOutLeft{from{}to{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}@keyframes slideOutLeft{from{}to{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);z-index:5}to{-webkit-transform:none;transform:none;z-index:5}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);z-index:5}to{-webkit-transform:none;transform:none;z-index:5}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideOutRight{from{}to{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes slideOutRight{from{}to{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes coverInLeft{from{-webkit-transform:none;transform:none}to{-webkit-transform:none;transform:none}}@keyframes coverInLeft{from{-webkit-transform:none;transform:none}to{-webkit-transform:none;transform:none}}.coverInLeft{-webkit-animation-name:coverInLeft;animation-name:coverInLeft}@-webkit-keyframes coverOutLeft{from{-webkit-transform:none;transform:none}to{-webkit-transform:none;transform:none}}@keyframes coverOutLeft{from{-webkit-transform:none;transform:none}to{-webkit-transform:none;transform:none}}.coverOutLeft{-webkit-animation-name:coverOutLeft;animation-name:coverOutLeft}@-webkit-keyframes coverInRight{from{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);z-index:6}to{-webkit-transform:none;transform:none;z-index:6}}@keyframes coverInRight{from{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);z-index:6}to{-webkit-transform:none;transform:none;z-index:6}}.coverInRight{-webkit-animation-name:coverInRight;animation-name:coverInRight}@-webkit-keyframes coverOutRight{from{}to{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes coverOutRight{from{}to{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.coverOutRight{-webkit-animation-name:coverOutRight;animation-name:coverOutRight}.animated.zoomSlideInLeft,.animated.zoomSlideOutLeft{animation-duration:1s}.animated.zoomSlideInRight,.animated.zoomSlideOutRight{animation-duration:1s}@-webkit-keyframes zoomSlideInLeft{0%,35%{-webkit-transform:translate3d(-100%, 0, 0) scale(0.8, 0.8);transform:translate3d(-100%, 0, 0) scale(0.8, 0.8)}65%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8)}100%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1)}}@keyframes zoomSlideInLeft{0%,35%{-webkit-transform:translate3d(-100%, 0, 0) scale(0.8, 0.8);transform:translate3d(-100%, 0, 0) scale(0.8, 0.8)}65%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8)}100%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1)}}.zoomSlideInLeft{-webkit-animation-name:zoomSlideInLeft;animation-name:zoomSlideInLeft}@-webkit-keyframes zoomSlideOutLeft{0%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1)}35%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8)}100%{-webkit-transform:translate3d(-100%, 0, 0) scale(0.8, 0.8);transform:translate3d(-100%, 0, 0) scale(0.8, 0.8)}}@keyframes zoomSlideOutLeft{0%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1)}35%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8)}100%{-webkit-transform:translate3d(-100%, 0, 0) scale(0.8, 0.8);transform:translate3d(-100%, 0, 0) scale(0.8, 0.8)}}.zoomSlideOutLeft{-webkit-animation-name:zoomSlideOutLeft;animation-name:zoomSlideOutLeft}@-webkit-keyframes zoomSlideInRight{0%,35%{-webkit-transform:translate3d(100%, 0, 0) scale(0.8, 0.8);transform:translate3d(100%, 0, 0) scale(0.8, 0.8);z-index:6}65%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8);z-index:6}100%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1);z-index:6}}@keyframes zoomSlideInRight{0%,35%{-webkit-transform:translate3d(100%, 0, 0) scale(0.8, 0.8);transform:translate3d(100%, 0, 0) scale(0.8, 0.8);z-index:6}65%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8);z-index:6}100%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1);z-index:6}}.zoomSlideInRight{-webkit-animation-name:zoomSlideInRight;animation-name:zoomSlideInRight}@-webkit-keyframes zoomSlideOutRight{0%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1)}35%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8)}100%{-webkit-transform:translate3d(100%, 0, 0) scale(0.8, 0.8);transform:translate3d(100%, 0, 0) scale(0.8, 0.8)}}@keyframes zoomSlideOutRight{0%{-webkit-transform:translate3d(0, 0, 0) scale(1, 1);transform:translate3d(0, 0, 0) scale(1, 1)}35%{-webkit-transform:translate3d(0, 0, 0) scale(0.8, 0.8);transform:translate3d(0, 0, 0) scale(0.8, 0.8)}100%{-webkit-transform:translate3d(100%, 0, 0) scale(0.8, 0.8);transform:translate3d(100%, 0, 0) scale(0.8, 0.8)}}.zoomSlideOutRight{-webkit-animation-name:zoomSlideOutRight;animation-name:zoomSlideOutRight}@-webkit-keyframes pushOutLeft{from{}to{-webkit-transform:translate3d(-50%, 0, 0);transform:translate3d(-50%, 0, 0)}}@keyframes pushOutLeft{from{}to{-webkit-transform:translate3d(-50%, 0, 0);transform:translate3d(-50%, 0, 0)}}.pushOutLeft{-webkit-animation-name:pushOutLeft;animation-name:pushOutLeft}@-webkit-keyframes pushInLeft{from{-webkit-transform:translate3d(-50%, 0, 0);transform:translate3d(-50%, 0, 0)}to{-webkit-transform:none;transform:none}}@keyframes pushInLeft{from{-webkit-transform:translate3d(-50%, 0, 0);transform:translate3d(-50%, 0, 0);z-index:5}to{-webkit-transform:none;transform:none;z-index:5}}.pushInLeft{-webkit-animation-name:pushInLeft;animation-name:pushInLeft}@-webkit-keyframes pushInRight{from{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);z-index:5}to{-webkit-transform:none;transform:none;z-index:5}}@keyframes pushInRight{from{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);z-index:5}to{-webkit-transform:none;transform:none;z-index:5}}.pushInRight{-webkit-animation-name:pushInRight;animation-name:pushInRight}@-webkit-keyframes pushOutRight{from{-webkit-transform:none;transform:none}to{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}@keyframes pushOutRight{from{-webkit-transform:none;transform:none}to{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.pushOutRight{-webkit-animation-name:pushOutRight;animation-name:pushOutRight}.bui-prompt-main{padding:0 .3rem;height:100%;-webkit-box-pack:center;-ms-flex-pack:center;box-pack:center}.bui-prompt-main .span1{-webkit-box-flex:inherit;-ms-flex:inherit;box-flex:inherit}.bui-prompt-main .bui-prompt-label{text-align:left;margin-bottom:.3rem;padding-top:.3rem;font-size:.34rem}.bui-prompt-main .bui-prompt-text{border:1px solid #eee;width:100%;padding:.15rem;min-height:.8rem;-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem;background:#f3f5f8}#bui-router{overflow:hidden;width:100%;height:100%}.bui-router{overflow:hidden;width:100%;height:100%}.bui-router-main{overflow:hidden;height:100%;height:inherit;width:100%;position:relative}.bui-router-item{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;height:inherit;z-index:0;background:#f3f5f8}.bui-router-fixiframe{-webkit-overflow-scrolling:touch;overflow:scroll}.bui-router-iframe{width:100%;height:100%;border:0}.bui-levelselect-value{margin-right:.1rem}.bui-levelselect-value .delimiter{margin:0 .05rem 0 .1rem;font-style:normal}.bui-levelselect .bui-dialog-head{border-bottom:1px solid #f1f1f1}.bui-levelselect .bui-navbar{border-bottom:1px solid #f1f1f1}.bui-levelselect .delimiter{margin:0 .05rem 0 .1rem;font-style:normal}.bui-levelselect .select-value{padding-left:.2rem}.bui-levelselect .select-value span,.bui-levelselect .select-value div{display:inline-block;border-bottom:2px solid #fff;padding-top:.2rem;padding-bottom:.2rem}.bui-levelselect .select-value .active{border-bottom:2px solid #39a4ff}.bui-levelselect .bui-list{border-top:0}.bui-levelselect .bui-list .bui-btn{border-bottom:0}.bui-levelselect .bui-list .bui-btn.active{color:#39a4ff;border-bottom:0;background:none}.bui-levelselect .bui-tab-main>ul>li:nth-child(odd){background:#f3f5f8}.bui-levelselect .bui-tab-main>ul>li:nth-child(odd) .bui-list .bui-btn{background:#f3f5f8}.bui-floor{position:absolute;height:100%;left:0;right:0;top:0;bottom:0;overflow-y:scroll}.bui-floor .bui-floor-foot{height:50%}.bui-floor-head{position:absolute;top:0;left:0;right:0;width:100%;background:#fff;z-index:20;padding:.2rem;transition:transform 300ms ease-out;-webkit-transition:transform 300ms ease-out;border-bottom:1px solid #eee;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.bui-floor-head.active{-webkit-transform:translateY(0);transform:translateY(0)}.bui-upload .bui-btn{width:100%;margin:0 auto;height:1.4rem;line-height:1.4rem;padding:0;margin-bottom:.2rem}.bui-upload .bui-upload-thumbnail{height:1.4rem;text-align:center;background:#fff;margin-bottom:.2rem;position:relative}.bui-upload .bui-upload-thumbnail img{height:100%}.bui-upload .bui-upload-thumbnail .icon-removefill{position:absolute;right:-.18rem;top:-.18rem;font-size:.54rem;color:#999}.bui-article{background:#fff;padding:.3rem}.bui-article h1,.bui-article h2,.bui-article h3,.bui-article h4{color:#333;font-weight:bold}.bui-article h1{margin-bottom:.3rem}.bui-article h2{margin-bottom:.3rem}.bui-article h3{margin-bottom:.2rem}.bui-article .article-from{color:#39a4ff;margin-right:.1rem}.bui-article .article-info{margin-bottom:.3rem}.bui-article .article-info i{vertical-align:middle;margin-right:.1rem;height:.5rem;line-height:.5rem;color:#999;font-size:.26rem}.bui-article .article-intro{margin-bottom:.3rem;color:#999;border:1px solid #ddd;line-height:1.5;padding:.2rem;font-size:.26rem}.bui-article p{text-indent:2em;margin-top:.3rem;margin-bottom:.3rem;line-height:1.5;word-spacing:2px;font-size:.3rem}.bui-article section p{color:#333}.bui-article section p img{display:inline;margin-left:-2em}.bui-sub{overflow:hidden;position:relative}.bui-sub:before{content:"";display:block;width:20px;height:20px;border-style:solid;border-color:transparent #39a4ff transparent transparent;border-width:20px;position:absolute;top:-32px;left:-32px;transform:rotate(45deg);z-index:1}.bui-sub:after{content:attr(data-sub);position:absolute;top:4px;left:4px;z-index:2;color:#fff;transform:rotate(315deg);font-size:.24rem}.bui-sub-bottom{overflow:hidden;position:relative}.bui-sub-bottom:before{content:"";display:block;width:20px;height:20px;border-style:solid;border-color:transparent transparent transparent #39a4ff;border-width:20px;position:absolute;bottom:-32px;right:-32px;transform:rotate(45deg);z-index:1}.bui-sub-bottom:after{content:attr(data-sub);position:absolute;bottom:4px;right:4px;z-index:2;color:#fff;transform:rotate(315deg);font-size:.24rem}.bui-list>[class*=bui-btn].bui-sub:last-child:after{content:attr(data-sub);position:absolute}.bui-pic{position:relative;background:#fff;text-align:inherit}.bui-pic img{display:inline}.bui-abs-bottom.bui-pic-title{color:#fff;background:linear-gradient(180deg, rgba(187,187,187,0.03) 0%, rgba(133,133,133,0.77) 100%)}.bui-pic-img{overflow:hidden}.bui-pic-title{padding:.15rem .1rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;font-weight:bold}.bui-pic-text,.bui-pic-detail{padding:.15rem .1rem;font-size:.26rem}.bui-fluid-space-4 .bui-pic-title,.bui-fluid-space-5 .bui-pic-title{font-size:.26rem}.bui-page{position:relative;height:100%;width:100%}.bui-page>.main,.bui-page>main{-webkit-overflow-scrolling:touch;overflow-scrolling:touch;overflow-y:auto;overflow-x:hidden}.bui-page img{max-width:100%}.container{padding-left:.2rem;padding-right:.2rem}.container-xy{padding:.2rem}.container-x{padding-left:.2rem;padding-right:.2rem}.container-y{padding-top:.2rem;padding-bottom:.2rem}.container-full{margin-left:-.2rem;margin-right:-.2rem}.page-title{margin:0;font-size:.34rem;font-weight:500}.section-title{margin:0;padding:.15rem .2rem .15rem .2rem;color:gray}.item-title{padding:0;padding-right:.1rem;margin-bottom:.1rem;font-size:.34rem}.item-text{padding:0;font-size:.26rem;color:#b3b3b3}.title{font-size:.34rem}.subtitle{padding:.1rem .2rem;font-size:.3rem}.time{font-size:.26rem;color:#b3b3b3}.thumbnail{width:1rem;height:1rem;margin:0 .1rem}.thumbnail img{width:100%;height:auto}.bui-thumbnail{-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem;display:block;text-align:center;vertical-align:middle;width:100%;overflow:hidden;background:#fff;position:relative}.bui-thumbnail img{width:100%;float:left}.bui-thumbnail-title{clear:both;padding:.15rem .2rem;font-size:.26rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel-article .bui-thumbnail-title{clear:both;font-size:.34rem;position:absolute;bottom:0;padding:.2rem;left:0;right:0;color:#fff;text-align:left}.bui-tips{background:#fffce7;padding:.2rem .2rem;color:#ff9236;font-size:.26rem}.panel-photo .bui-panel-head{border-bottom:0}hr{background:#f3f5f8;border:0;padding:0;margin:0;display:block;height:.2rem;width:100%}.bui-fixed{position:fixed;top:0;left:0;right:0;z-index:10}.bui-fixed-top{position:fixed;top:.9rem;bottom:auto;left:0;right:0;z-index:10}.bui-fixed-bottom{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:10}.bui-position,.bui-abs{position:absolute;top:0;left:0;right:0;z-index:10}.bui-position-top,.bui-abs-top{position:absolute;top:0;bottom:auto;left:0;right:0;z-index:10}.bui-position-bottom,.bui-abs-bottom{position:absolute;top:auto;bottom:0;left:0;right:0;z-index:10}.bui-relative{position:relative}.bui-fullscreen{position:absolute;left:0;right:0;top:0;bottom:0;z-index:100;-webkit-border-radius:0;border-radius:0}.bui-interval>*{margin-bottom:.2rem}.bui-interval-x>*{margin-right:.2rem}.bui-interval-y>*{margin-bottom:.2rem}.bui-interval-xy>*{margin-right:.2rem;margin-bottom:.2rem}.noborder{border-width:0}.border{border:1px solid #eee}.border.bui-input{border:1px solid #eee}.border.bui-btn{border:1px solid #eee}.round{-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem}.round[class*=bui-list]>[class*=bui-btn]{border-left:1px solid #eee;border-right:1px solid #eee}.round[class*=bui-list]>[class*=bui-btn]:first-child{-webkit-border-radius:.1rem .1rem 0 0;border-radius:.1rem .1rem 0 0}.round[class*=bui-list]>[class*=bui-btn]:last-child{-webkit-border-radius:0 0 .1rem .1rem;border-radius:0 0 .1rem .1rem}.round[class*=bui-list]>[class*=bui-btn]:only-child{-webkit-border-radius:.1rem;border-radius:.1rem}.round.bui-group>[class*=bui-btn]:first-child{-webkit-border-radius:.1rem 0 0 .1rem;-ms-border-radius:.1rem 0 0 .1rem;border-radius:.1rem 0 0 .1rem}.round.bui-group>[class*=bui-btn]:last-child{-webkit-border-radius:0 .1rem .1rem 0;-ms-border-radius:0 .1rem .1rem 0;border-radius:0 .1rem .1rem 0}.round.bui-group>[class*=bui-btn]:only-child{-webkit-border-radius:.1rem;-ms-border-radius:.1rem;border-radius:.1rem}.round[class*=bui-panel]>[class*=bui-panel-main]{-webkit-border-radius:0 0 .1rem .1rem;border-radius:0 0 .1rem .1rem}.ring{-webkit-border-radius:200px;-ms-border-radius:200px;border-radius:200px;min-width:.3rem;min-height:.3rem;text-align:center}.ring img{max-width:100%;max-height:100%}.ring[class*=bui-btn]{-webkit-border-radius:100px;-ms-border-radius:100px;border-radius:100px}.ring.bui-group{-webkit-border-radius:.6rem 0 0 .6rem;-ms-border-radius:.6rem 0 0 .6rem;border-radius:.6rem 0 0 .6rem}.ring.bui-group [class*=bui-btn]:first-child{-webkit-border-radius:.6rem 0 0 .6rem;-ms-border-radius:.6rem 0 0 .6rem;border-radius:.6rem 0 0 .6rem}.ring.bui-group [class*=bui-btn]:last-child{-webkit-border-radius:0 .6rem .6rem 0;-ms-border-radius:0 .6rem .6rem 0;border-radius:0 .6rem .6rem 0}.ring.bui-group [class*=bui-btn]:only-child{-webkit-border-radius:.6rem;-ms-border-radius:.6rem;border-radius:.6rem}.noround{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.noround[class*=bui-btn]{-webkit-border-radius:0;-ms-border-radius:0;border-radius:0}.clearactive:active{background:#fff}.bui-scroll-touch,.scroll-touch{-webkit-overflow-scrolling:touch !important;overflow-scrolling:touch !important;overflow-y:auto !important}.bui-scroll-auto,.scroll-auto{-webkit-overflow-scrolling:auto !important;overflow-scrolling:auto !important;overflow-y:auto !important}.bui-scroll-hide,.scroll-hide{overflow-y:hidden !important}.rect{width:2rem;height:1.4rem;line-height:1.4rem;text-align:center}.rect img{width:100%}.square{width:1rem;height:1rem;line-height:1rem;text-align:center}.square img{width:100%}.shadow{box-shadow:0 1px 3px #ccc}.underline{border:none;border-bottom:1px solid #eee}.autoheight{height:auto !important}.apicloud .bui-page header .bui-bar,.apicloud .bui-page header.bui-bar{padding-top:.5rem}.bui-text-select,.select-copy{-webkit-user-select:text !important;user-select:text !important}.bui-text-unselect,.unselect{-webkit-user-select:none !important;user-select:none !important}.fullheight{height:100% !important}.fullwidth{width:100% !important}.bui-align-right{text-align:right}.bui-align-right img{display:inline;margin-left:inherit;margin-right:inherit}.bui-align-left{text-align:left}.bui-align-left img{display:inline;margin-left:inherit;margin-right:inherit}.bui-align-center{text-align:center}.bui-align-center img{display:inline;margin:0 auto}.bui-align-justify{text-align:justify;text-justify:inter-ideograph;text-align-last:justify;word-wrap:break-word;word-break:break-all}.bui-align-last-justify{text-align-last:justify;text-justify:inter-ideograph}.bui-right{float:right}.bui-left{float:left}.bui-clear{clear:both}.bui-show{display:block !important}.bui-hide{display:none}.bui-inline,.inline{display:inline-block;width:auto}.bui-block{display:block}.bui-text-show{white-space:normal;overflow:auto}.bui-text-hide{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bui-text-clip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-overflow:clip}.bui-text-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bui-text-line-2{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:box;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;-ms-flex-orient:vertical;-ms-line-clamp:2;-ms-flex-direction:column}[b-cloak]{display:none}.default{background-color:#fff;color:#666}.default[class^=icon-]{background:none;color:#fff}.default.bui-switch{background:#dfdfdf}.default.bui-switch:checked{background-color:#fff}.default.bui-switch:checked:after{background:#666}.default.bui-switch-text{background:#dfdfdf}.default.bui-switch-text:checked{background:#fff}.default.bui-check,.default.bui-switch-btn{background:#fff}.default.bui-check:before,.default.bui-switch-btn:before{color:#666}.default.bui-check:checked,.default.bui-switch-btn:checked{background:#f1f1f1;border-color:#fff}.default.bui-check:checked:before,.default.bui-switch-btn:checked:before{color:#fff}.default.bui-fav,.default.bui-like{background:none;color:#999}.default.bui-fav:checked:before,.default.bui-like:checked:before{color:#fff}.default.bui-sub{background:none}.default.bui-sub:before{border-right-color:#fff}.default.bui-tips,.default.bui-hint{background:#f1f1f1;color:#fff}.default.bui-tips i,.default.bui-hint i{color:#fff}.default.bui-range{background:none}.default.bui-range::-webkit-slider-thumb{background:#fff}.default.bui-stepbar{background:none}.default.bui-stepbar .bui-stepbar-cell{color:#666}.default.bui-stepbar .bui-stepbar-cell.visited,.default.bui-stepbar .bui-stepbar-cell.active{border-left-color:#fff}.default.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-dot,.default.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#fff}.default.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-text,.default.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.default.bui-stepbar-line{background:none}.default.bui-stepbar-line .bui-stepbar-cell{color:#666}.default.bui-stepbar-line .bui-stepbar-cell.visited,.default.bui-stepbar-line .bui-stepbar-cell.active{border-top-color:#fff}.default.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-dot,.default.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#fff}.default.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-text,.default.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.default.bui-progress{background:#dedede}.default.bui-progress::-webkit-progress-value{background:#fff}.default.bui-progress .bui-progress-cell{background:#fff}.default.outline,.default.reverse{background:inherit;color:#fff}.default-outline,.default-reverse{color:#fff;border-color:#fff}[class*=bui-btn].default{border-color:#fff}[class*=bui-btn].default:active{background:#f2f2f2;color:#666;border-color:#f2f2f2}[class*=bui-btn].disabled{background-color:#f8f8f8;border-color:#eee;color:#ccc}[class*=bui-btn].disabled.default{background:#fff;color:#ebebeb;border-color:#ebebeb}[class*=bui-btn].disabled.default:active{background:#fff;color:#ebebeb;border-color:#ebebeb}.primary{background-color:#39a4ff;color:#fff}.primary[class^=icon-]{background:none;color:#39a4ff}.primary.bui-switch{background:#dfdfdf}.primary.bui-switch:checked{background-color:#39a4ff}.primary.bui-switch:checked:after{background:#fff}.primary.bui-switch-text{background:#dfdfdf}.primary.bui-switch-text:checked{background:#39a4ff}.primary.bui-check,.primary.bui-switch-btn{background:#39a4ff}.primary.bui-check:before,.primary.bui-switch-btn:before{color:#fff}.primary.bui-check:checked,.primary.bui-switch-btn:checked{background:rgba(235,246,255,0.9);border-color:#39a4ff}.primary.bui-check:checked:before,.primary.bui-switch-btn:checked:before{color:#39a4ff}.primary.bui-fav,.primary.bui-like{background:none;color:#999}.primary.bui-fav:checked:before,.primary.bui-like:checked:before{color:#39a4ff}.primary.bui-sub{background:none}.primary.bui-sub:before{border-right-color:#39a4ff}.primary.bui-tips,.primary.bui-hint{background:rgba(235,246,255,0.9);color:#39a4ff}.primary.bui-tips i,.primary.bui-hint i{color:#39a4ff}.primary.bui-range{background:none}.primary.bui-range::-webkit-slider-thumb{background:#39a4ff}.primary.bui-stepbar{background:none}.primary.bui-stepbar .bui-stepbar-cell{color:#666}.primary.bui-stepbar .bui-stepbar-cell.visited,.primary.bui-stepbar .bui-stepbar-cell.active{border-left-color:#39a4ff}.primary.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-dot,.primary.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#39a4ff}.primary.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-text,.primary.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.primary.bui-stepbar-line{background:none}.primary.bui-stepbar-line .bui-stepbar-cell{color:#666}.primary.bui-stepbar-line .bui-stepbar-cell.visited,.primary.bui-stepbar-line .bui-stepbar-cell.active{border-top-color:#39a4ff}.primary.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-dot,.primary.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#39a4ff}.primary.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-text,.primary.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.primary.bui-progress{background:#dedede}.primary.bui-progress::-webkit-progress-value{background:#39a4ff}.primary.bui-progress .bui-progress-cell{background:#39a4ff}.primary.outline,.primary.reverse{background:inherit;color:#39a4ff}.primary-outline,.primary-reverse{color:#39a4ff;border-color:#39a4ff}[class*=bui-btn].primary{border-color:#39a4ff}[class*=bui-btn].primary:active{background:#2098ff;color:#fff;border-color:#2098ff}[class*=bui-btn].disabled{background-color:#f8f8f8;border-color:#eee;color:#ccc}[class*=bui-btn].disabled.primary{background:#9fd3ff;color:#ebebeb;border-color:#ebebeb}[class*=bui-btn].disabled.primary:active{background:#9fd3ff;color:#ebebeb;border-color:#ebebeb}.warning{background-color:#ff9236;color:#fff}.warning[class^=icon-]{background:none;color:#ff9236}.warning.bui-switch{background:#dfdfdf}.warning.bui-switch:checked{background-color:#ff9236}.warning.bui-switch:checked:after{background:#fff}.warning.bui-switch-text{background:#dfdfdf}.warning.bui-switch-text:checked{background:#ff9236}.warning.bui-check,.warning.bui-switch-btn{background:#ff9236}.warning.bui-check:before,.warning.bui-switch-btn:before{color:#fff}.warning.bui-check:checked,.warning.bui-switch-btn:checked{background:rgba(255,252,231,0.9);border-color:#ff9236}.warning.bui-check:checked:before,.warning.bui-switch-btn:checked:before{color:#ff9236}.warning.bui-fav,.warning.bui-like{background:none;color:#999}.warning.bui-fav:checked:before,.warning.bui-like:checked:before{color:#ff9236}.warning.bui-sub{background:none}.warning.bui-sub:before{border-right-color:#ff9236}.warning.bui-tips,.warning.bui-hint{background:rgba(255,252,231,0.9);color:#ff9236}.warning.bui-tips i,.warning.bui-hint i{color:#ff9236}.warning.bui-range{background:none}.warning.bui-range::-webkit-slider-thumb{background:#ff9236}.warning.bui-stepbar{background:none}.warning.bui-stepbar .bui-stepbar-cell{color:#666}.warning.bui-stepbar .bui-stepbar-cell.visited,.warning.bui-stepbar .bui-stepbar-cell.active{border-left-color:#ff9236}.warning.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-dot,.warning.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#ff9236}.warning.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-text,.warning.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.warning.bui-stepbar-line{background:none}.warning.bui-stepbar-line .bui-stepbar-cell{color:#666}.warning.bui-stepbar-line .bui-stepbar-cell.visited,.warning.bui-stepbar-line .bui-stepbar-cell.active{border-top-color:#ff9236}.warning.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-dot,.warning.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#ff9236}.warning.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-text,.warning.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.warning.bui-progress{background:#dedede}.warning.bui-progress::-webkit-progress-value{background:#ff9236}.warning.bui-progress .bui-progress-cell{background:#ff9236}.warning.outline,.warning.reverse{background:inherit;color:#ff9236}.warning-outline,.warning-reverse{color:#ff9236;border-color:#ff9236}[class*=bui-btn].warning{border-color:#ff9236}[class*=bui-btn].warning:active{background:#ff841d;color:#fff;border-color:#ff841d}[class*=bui-btn].disabled{background-color:#f8f8f8;border-color:#eee;color:#ccc}[class*=bui-btn].disabled.warning{background:#ffc99c;color:#ebebeb;border-color:#ebebeb}[class*=bui-btn].disabled.warning:active{background:#ffc99c;color:#ebebeb;border-color:#ebebeb}.success{background-color:#52c41a;color:#fff}.success[class^=icon-]{background:none;color:#52c41a}.success.bui-switch{background:#dfdfdf}.success.bui-switch:checked{background-color:#52c41a}.success.bui-switch:checked:after{background:#fff}.success.bui-switch-text{background:#dfdfdf}.success.bui-switch-text:checked{background:#52c41a}.success.bui-check,.success.bui-switch-btn{background:#52c41a}.success.bui-check:before,.success.bui-switch-btn:before{color:#fff}.success.bui-check:checked,.success.bui-switch-btn:checked{background:rgba(248,254,246,0.9);border-color:#52c41a}.success.bui-check:checked:before,.success.bui-switch-btn:checked:before{color:#52c41a}.success.bui-fav,.success.bui-like{background:none;color:#999}.success.bui-fav:checked:before,.success.bui-like:checked:before{color:#52c41a}.success.bui-sub{background:none}.success.bui-sub:before{border-right-color:#52c41a}.success.bui-tips,.success.bui-hint{background:rgba(248,254,246,0.9);color:#52c41a}.success.bui-tips i,.success.bui-hint i{color:#52c41a}.success.bui-range{background:none}.success.bui-range::-webkit-slider-thumb{background:#52c41a}.success.bui-stepbar{background:none}.success.bui-stepbar .bui-stepbar-cell{color:#666}.success.bui-stepbar .bui-stepbar-cell.visited,.success.bui-stepbar .bui-stepbar-cell.active{border-left-color:#52c41a}.success.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-dot,.success.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#52c41a}.success.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-text,.success.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.success.bui-stepbar-line{background:none}.success.bui-stepbar-line .bui-stepbar-cell{color:#666}.success.bui-stepbar-line .bui-stepbar-cell.visited,.success.bui-stepbar-line .bui-stepbar-cell.active{border-top-color:#52c41a}.success.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-dot,.success.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#52c41a}.success.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-text,.success.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.success.bui-progress{background:#dedede}.success.bui-progress::-webkit-progress-value{background:#52c41a}.success.bui-progress .bui-progress-cell{background:#52c41a}.success.outline,.success.reverse{background:inherit;color:#52c41a}.success-outline,.success-reverse{color:#52c41a;border-color:#52c41a}[class*=bui-btn].success{border-color:#52c41a}[class*=bui-btn].success:active{background:#49ad17;color:#fff;border-color:#49ad17}[class*=bui-btn].disabled{background-color:#f8f8f8;border-color:#eee;color:#ccc}[class*=bui-btn].disabled.success{background:#8ae95b;color:#ebebeb;border-color:#ebebeb}[class*=bui-btn].disabled.success:active{background:#8ae95b;color:#ebebeb;border-color:#ebebeb}.danger{background-color:#f9342a;color:#fff}.danger[class^=icon-]{background:none;color:#f9342a}.danger.bui-switch{background:#dfdfdf}.danger.bui-switch:checked{background-color:#f9342a}.danger.bui-switch:checked:after{background:#fff}.danger.bui-switch-text{background:#dfdfdf}.danger.bui-switch-text:checked{background:#f9342a}.danger.bui-check,.danger.bui-switch-btn{background:#f9342a}.danger.bui-check:before,.danger.bui-switch-btn:before{color:#fff}.danger.bui-check:checked,.danger.bui-switch-btn:checked{background:rgba(254,239,239,0.9);border-color:#f9342a}.danger.bui-check:checked:before,.danger.bui-switch-btn:checked:before{color:#f9342a}.danger.bui-fav,.danger.bui-like{background:none;color:#999}.danger.bui-fav:checked:before,.danger.bui-like:checked:before{color:#f9342a}.danger.bui-sub{background:none}.danger.bui-sub:before{border-right-color:#f9342a}.danger.bui-tips,.danger.bui-hint{background:rgba(254,239,239,0.9);color:#f9342a}.danger.bui-tips i,.danger.bui-hint i{color:#f9342a}.danger.bui-range{background:none}.danger.bui-range::-webkit-slider-thumb{background:#f9342a}.danger.bui-stepbar{background:none}.danger.bui-stepbar .bui-stepbar-cell{color:#666}.danger.bui-stepbar .bui-stepbar-cell.visited,.danger.bui-stepbar .bui-stepbar-cell.active{border-left-color:#f9342a}.danger.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-dot,.danger.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#f9342a}.danger.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-text,.danger.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.danger.bui-stepbar-line{background:none}.danger.bui-stepbar-line .bui-stepbar-cell{color:#666}.danger.bui-stepbar-line .bui-stepbar-cell.visited,.danger.bui-stepbar-line .bui-stepbar-cell.active{border-top-color:#f9342a}.danger.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-dot,.danger.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#f9342a}.danger.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-text,.danger.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.danger.bui-progress{background:#dedede}.danger.bui-progress::-webkit-progress-value{background:#f9342a}.danger.bui-progress .bui-progress-cell{background:#f9342a}.danger.outline,.danger.reverse{background:inherit;color:#f9342a}.danger-outline,.danger-reverse{color:#f9342a;border-color:#f9342a}[class*=bui-btn].danger{border-color:#f9342a}[class*=bui-btn].danger:active{background:#f81c11;color:#fff;border-color:#f81c11}[class*=bui-btn].disabled{background-color:#f8f8f8;border-color:#eee;color:#ccc}[class*=bui-btn].disabled.danger{background:#fc938d;color:#ebebeb;border-color:#ebebeb}[class*=bui-btn].disabled.danger:active{background:#fc938d;color:#ebebeb;border-color:#ebebeb}.info{background-color:#39a4ff;color:#fff}.info[class^=icon-]{background:none;color:#39a4ff}.info.bui-switch{background:#dfdfdf}.info.bui-switch:checked{background-color:#39a4ff}.info.bui-switch:checked:after{background:#fff}.info.bui-switch-text{background:#dfdfdf}.info.bui-switch-text:checked{background:#39a4ff}.info.bui-check,.info.bui-switch-btn{background:#39a4ff}.info.bui-check:before,.info.bui-switch-btn:before{color:#fff}.info.bui-check:checked,.info.bui-switch-btn:checked{background:rgba(235,246,255,0.9);border-color:#39a4ff}.info.bui-check:checked:before,.info.bui-switch-btn:checked:before{color:#39a4ff}.info.bui-fav,.info.bui-like{background:none;color:#999}.info.bui-fav:checked:before,.info.bui-like:checked:before{color:#39a4ff}.info.bui-sub{background:none}.info.bui-sub:before{border-right-color:#39a4ff}.info.bui-tips,.info.bui-hint{background:rgba(235,246,255,0.9);color:#39a4ff}.info.bui-tips i,.info.bui-hint i{color:#39a4ff}.info.bui-range{background:none}.info.bui-range::-webkit-slider-thumb{background:#39a4ff}.info.bui-stepbar{background:none}.info.bui-stepbar .bui-stepbar-cell{color:#666}.info.bui-stepbar .bui-stepbar-cell.visited,.info.bui-stepbar .bui-stepbar-cell.active{border-left-color:#39a4ff}.info.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-dot,.info.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#39a4ff}.info.bui-stepbar .bui-stepbar-cell.visited .bui-stepbar-text,.info.bui-stepbar .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.info.bui-stepbar-line{background:none}.info.bui-stepbar-line .bui-stepbar-cell{color:#666}.info.bui-stepbar-line .bui-stepbar-cell.visited,.info.bui-stepbar-line .bui-stepbar-cell.active{border-top-color:#39a4ff}.info.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-dot,.info.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-dot{background-color:#39a4ff}.info.bui-stepbar-line .bui-stepbar-cell.visited .bui-stepbar-text,.info.bui-stepbar-line .bui-stepbar-cell.active .bui-stepbar-text{color:#666}.info.bui-progress{background:#dedede}.info.bui-progress::-webkit-progress-value{background:#39a4ff}.info.bui-progress .bui-progress-cell{background:#39a4ff}.info.outline,.info.reverse{background:inherit;color:#39a4ff}.info-outline,.info-reverse{color:#39a4ff;border-color:#39a4ff}[class*=bui-btn].info{border-color:#39a4ff}[class*=bui-btn].info:active{background:#2098ff;color:#fff;border-color:#2098ff}[class*=bui-btn].disabled{background-color:#f8f8f8;border-color:#eee;color:#ccc}[class*=bui-btn].disabled.info{background:#9fd3ff;color:#ebebeb;border-color:#ebebeb}[class*=bui-btn].disabled.info:active{background:#9fd3ff;color:#ebebeb;border-color:#ebebeb}.mini>[class*=bui-btn],.miniinput[class*=bui-input],.minitextarea[class*=bui-input],.mini[class*=bui-btn]{padding-top:.1rem;padding-bottom:.1rem;font-size:.21rem;min-height:auto;height:auto}.mini[class*=bui-input] input,.mini[class*=bui-input] textarea{padding-top:.1rem;padding-bottom:.1rem;font-size:.21rem;min-height:auto;height:auto}.mini.icon,.mini[class^="icon-"]{font-size:.24rem}.mini.bui-progress{padding:0;height:.1rem}.mini.bui-listview [class*=bui-btn]{padding-top:.1rem;padding-bottom:.1rem;font-size:.21rem;min-height:auto;height:auto}.small>[class*=bui-btn],.smallinput[class*=bui-input],.smalltextarea[class*=bui-input],.small[class*=bui-btn]{padding-top:.15rem;padding-bottom:.15rem;font-size:.27rem;min-height:auto;height:auto}.small[class*=bui-input] input,.small[class*=bui-input] textarea{padding-top:.15rem;padding-bottom:.15rem;font-size:.27rem;min-height:auto;height:auto}.small.icon,.small[class^="icon-"]{font-size:.384rem}.small.bui-progress{padding:0;height:.15rem}.small.bui-listview [class*=bui-btn]{padding-top:.15rem;padding-bottom:.15rem;font-size:.27rem;min-height:auto;height:auto}.large>[class*=bui-btn],.largeinput[class*=bui-input],.largetextarea[class*=bui-input],.large[class*=bui-btn]{padding-top:.2rem;padding-bottom:.2rem;font-size:.3rem;min-height:auto;height:auto}.large[class*=bui-input] input,.large[class*=bui-input] textarea{padding-top:.2rem;padding-bottom:.2rem;font-size:.3rem;min-height:auto;height:auto}.large.icon,.large[class^="icon-"]{font-size:.576rem}.large.bui-progress{padding:0;height:.2rem}.large.bui-listview [class*=bui-btn]{padding-top:.2rem;padding-bottom:.2rem;font-size:.3rem;min-height:auto;height:auto}.xlarge>[class*=bui-btn],.xlargeinput[class*=bui-input],.xlargetextarea[class*=bui-input],.xlarge[class*=bui-btn]{padding-top:.3rem;padding-bottom:.3rem;font-size:.36rem;min-height:auto;height:auto}.xlarge[class*=bui-input] input,.xlarge[class*=bui-input] textarea{padding-top:.3rem;padding-bottom:.3rem;font-size:.36rem;min-height:auto;height:auto}.xlarge.icon,.xlarge[class^="icon-"]{font-size:.768rem}.xlarge.bui-progress{padding:0;height:.3rem}.xlarge.bui-listview [class*=bui-btn]{padding-top:.3rem;padding-bottom:.3rem;font-size:.36rem;min-height:auto;height:auto}.xxlarge>[class*=bui-btn],.xxlargeinput[class*=bui-input],.xxlargetextarea[class*=bui-input],.xxlarge[class*=bui-btn]{padding-top:.35rem;padding-bottom:.35rem;font-size:.39rem;min-height:auto;height:auto}.xxlarge[class*=bui-input] input,.xxlarge[class*=bui-input] textarea{padding-top:.35rem;padding-bottom:.35rem;font-size:.39rem;min-height:auto;height:auto}.xxlarge.icon,.xxlarge[class^="icon-"]{font-size:.96rem}.xxlarge.bui-progress{padding:0;height:.35rem}.xxlarge.bui-listview [class*=bui-btn]{padding-top:.35rem;padding-bottom:.35rem;font-size:.39rem;min-height:auto;height:auto}.bui-reset{display:block;color:inherit;background:none;height:inherit;width:inherit;cursor:pointer;text-align:left;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;line-height:1;verticle-align:middle;text-shadow:none;-webkit-box-shadow:none;-ms-box-shadow:none;box-shadow:none;position:static;-webkit-border-radius:0;border-radius:0;border:0}.bui-reset:active{display:block;color:inherit;height:inherit;width:inherit;background:none}.bui-reset:before{content:none}.bui-reset:after{content:none}@media screen and (min-width: 500px) and (orientation: portrait){html{font-size:55.2px !important}}@media (min-width: 854px) and (max-width: 854px){html{font-size:113.86667px}.view-mini{font-size:101.86667px}.view-small{font-size:107.86667px}.view-large{font-size:117.86667px}.view-xlarge{font-size:121.86667px}}@media (min-width: 800px) and (max-width: 800px){html{font-size:106.66667px}.view-mini{font-size:94.66667px}.view-small{font-size:100.66667px}.view-large{font-size:110.66667px}.view-xlarge{font-size:114.66667px}}@media (min-width: 768px) and (max-width: 768px){html{font-size:102.4px}.view-mini{font-size:90.4px}.view-small{font-size:96.4px}.view-large{font-size:106.4px}.view-xlarge{font-size:110.4px}}@media (min-width: 750px) and (max-width: 750px){html{font-size:100px}.view-mini{font-size:88px}.view-small{font-size:94px}.view-large{font-size:104px}.view-xlarge{font-size:108px}}@media (min-width: 600px) and (max-width: 600px){html{font-size:80px}.view-mini{font-size:68px}.view-small{font-size:74px}.view-large{font-size:84px}.view-xlarge{font-size:88px}}@media (min-width: 540px) and (max-width: 540px){html{font-size:72px}.view-mini{font-size:60px}.view-small{font-size:66px}.view-large{font-size:76px}.view-xlarge{font-size:80px}}@media (min-width: 534px) and (max-width: 534px){html{font-size:71.2px}.view-mini{font-size:59.2px}.view-small{font-size:65.2px}.view-large{font-size:75.2px}.view-xlarge{font-size:79.2px}}@media (min-width: 512px) and (max-width: 512px){html{font-size:68.26667px}.view-mini{font-size:56.26667px}.view-small{font-size:62.26667px}.view-large{font-size:72.26667px}.view-xlarge{font-size:76.26667px}}@media (min-width: 480px) and (max-width: 480px){html{font-size:64px}.view-mini{font-size:52px}.view-small{font-size:58px}.view-large{font-size:68px}.view-xlarge{font-size:72px}}@media (min-width: 435px) and (max-width: 435px){html{font-size:58px}.view-mini{font-size:46px}.view-small{font-size:52px}.view-large{font-size:62px}.view-xlarge{font-size:66px}}@media (min-width: 414px) and (max-width: 414px){html{font-size:55.2px}.view-mini{font-size:43.2px}.view-small{font-size:49.2px}.view-large{font-size:59.2px}.view-xlarge{font-size:63.2px}}@media (min-width: 412px) and (max-width: 412px){html{font-size:54.93333px}.view-mini{font-size:42.93333px}.view-small{font-size:48.93333px}.view-large{font-size:58.93333px}.view-xlarge{font-size:62.93333px}}@media (min-width: 411px) and (max-width: 411px){html{font-size:54.8px}.view-mini{font-size:42.8px}.view-small{font-size:48.8px}.view-large{font-size:58.8px}.view-xlarge{font-size:62.8px}}@media (min-width: 393px) and (max-width: 393px){html{font-size:52.4px}.view-mini{font-size:40.4px}.view-small{font-size:46.4px}.view-large{font-size:56.4px}.view-xlarge{font-size:60.4px}}@media (min-width: 384px) and (max-width: 384px){html{font-size:51.2px}.view-mini{font-size:39.2px}.view-small{font-size:45.2px}.view-large{font-size:55.2px}.view-xlarge{font-size:59.2px}}@media (min-width: 375px) and (max-width: 375px){html{font-size:50px}.view-mini{font-size:38px}.view-small{font-size:44px}.view-large{font-size:54px}.view-xlarge{font-size:58px}}@media (min-width: 360px) and (max-width: 360px){html{font-size:48px}.view-mini{font-size:36px}.view-small{font-size:42px}.view-large{font-size:52px}.view-xlarge{font-size:56px}}@media (min-width: 320px) and (max-width: 320px){html{font-size:42.66667px}.view-mini{font-size:30.66667px}.view-small{font-size:36.66667px}.view-large{font-size:46.66667px}.view-xlarge{font-size:50.66667px}}@media (min-width: 240px) and (max-width: 240px){html{font-size:32px}.view-mini{font-size:20px}.view-small{font-size:26px}.view-large{font-size:36px}.view-xlarge{font-size:40px}}@media (min-width: 2732px) and (max-width: 2732px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-height: 2732px) and (max-height: 2732px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-width: 2048px) and (max-width: 2048px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-height: 2048px) and (max-height: 2048px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-width: 1536px) and (max-width: 1536px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-height: 1536px) and (max-height: 1536px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-width: 1024px) and (max-width: 1024px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-height: 1024px) and (max-height: 1024px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-width: 768px) and (max-width: 768px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-height: 768px) and (max-height: 768px) and (-webkit-device-pixel-ratio: 2){html{font-size:50px}}@media (min-width: 384px) and (max-width: 384px) and (-webkit-device-pixel-ratio: 3){html{font-size:46.2px}}@media only screen and (device-width: 412px) and (device-height: 664px) and (-webkit-device-pixel-ratio: 2.625){html{font-size:62px}}@media only screen and (device-width: 393px) and (device-height: 688px) and (-webkit-device-pixel-ratio: 2.75){html{font-size:62px}}@media only screen and (device-width: 393px) and (device-height: 803px) and (-webkit-device-pixel-ratio: 2.75){html{font-size:62px}}@media (min-width: 320px) and (max-width: 540px){.iphone header .bui-bar,.iphone header.bui-bar{padding-top:20px}}@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3){.iphoneX header .bui-bar,.iphoneX header.bui-bar{padding-top:30px}.iphoneX .bui-dialog-bottom .bui-dialog-foot,.iphoneX footer{padding-bottom:34px}.webixinIphoneX .bui-dialog-bottom .bui-dialog-foot,.webixinIphoneX footer{padding-bottom:34px}}@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2){.iphoneX header .bui-bar,.iphoneX header.bui-bar{padding-top:30px}.iphoneX .bui-dialog-bottom .bui-dialog-foot,.iphoneX footer{padding-bottom:34px}.webixinIphoneX .bui-dialog-bottom .bui-dialog-foot,.webixinIphoneX .footer{padding-bottom:34px}}@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3){.iphoneX header .bui-bar,.iphoneX header.bui-bar{padding-top:30px}.iphoneX .bui-dialog-bottom .bui-dialog-foot,.iphoneX footer{padding-bottom:34px}.webixinIphoneX .bui-dialog-bottom .bui-dialog-foot,.webixinIphoneX footer{padding-bottom:34px}}@media (min-width: 360px) and (height: 760px){.bui-page header.bui-bar{padding-top:20px}}@media (min-width: 360px) and (height: 780px){.bui-page header.bui-bar{padding-top:20px}} diff --git a/docs/examples/chapter0/bui-demo/src/css/style.css b/docs/examples/chapter0/bui-demo/src/css/style.css new file mode 100644 index 0000000..c8b5e41 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/css/style.css @@ -0,0 +1,5 @@ +@charset "utf-8"; + +/*示例样式, 可以删掉 start*/ +.page-home .intro{color:#fff;padding:.3rem;background:linear-gradient(215deg, #33c3ff 0%, #4d7fed 100%)}.page-home .intro h1{font-size:.58rem;margin-bottom:.1rem}.page-home .intro p{font-size:.26rem;letter-spacing:1px;font-weight:300}.page-home main .bui-accordion{border-top:0}.page-home main>.bui-list .bui-btn{padding-left:.4rem}.page-home dl dt{padding-left:.4rem}.page-home dl dd{background:#fff;padding-left:.5rem;padding-right:0}.page-home .bui-nav li{background:none;color:#999;font-size:.3rem}.page-home .bui-nav li.active{color:#333;background:none}.page-home .bui-accordion i{color:#999}.page-home .bui-accordion .bui-btn{color:#666}.page-home .bui-accordion>.bui-btn{color:#666}.page-home .bui-accordion .active{color:#39a4ff}.page-home .bui-accordion .active i{color:#39a4ff}.bui-sidebar img{width:100%}.bui-sidebar-wrap .bui-page main{background:#fff}.menu{margin:.2rem;display:inline-block;background:#39a4ff;border-radius:.06rem;color:#fff;width:.7rem;height:.7rem;line-height:.6rem;text-align:center}.menu.active{background:red}.menu i{font-size:.48rem}.placeholder{margin-top:1rem;text-align:center}.placeholder img{width:1.4rem;margin:0 auto .3rem auto}.placeholder-text{width:5.6rem;margin:0 auto;border:1px dashed #70B1E9;background:#ECF9FF;border-radius:.3rem;padding:.3rem}.placeholder-text h3{color:#333;font-size:.4rem;margin-bottom:.2rem}.bui-accordion dd{background:#fff}.bui-list-thumbnail .bui-btn{border-bottom:0}.price i{font-size:.2rem;font-style:normal;margin-right:.05rem}.price{font-size:.36rem;color:#FF6701}.controls-btn{background:#fff;margin:0;padding:.3rem .2rem;border-top:1px solid #efefef}.controls-btn .bui-btn{margin-bottom:.2rem}.stepbar .bui-list{margin-bottom:.1rem}.stepbar .tips{margin-bottom:.5rem} +/*示例样式, 可以删掉 end*/ \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/src/font/iconfont.eot b/docs/examples/chapter0/bui-demo/src/font/iconfont.eot new file mode 100644 index 0000000..62be309 Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/font/iconfont.eot differ diff --git a/docs/examples/chapter0/bui-demo/src/font/iconfont.svg b/docs/examples/chapter0/bui-demo/src/font/iconfont.svg new file mode 100644 index 0000000..7f0107e --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/font/iconfont.svg @@ -0,0 +1,429 @@ + + + + +Created by FontForge 20120731 at Tue Apr 26 15:19:12 2016 + By admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/examples/chapter0/bui-demo/src/font/iconfont.ttf b/docs/examples/chapter0/bui-demo/src/font/iconfont.ttf new file mode 100644 index 0000000..f61f310 Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/font/iconfont.ttf differ diff --git a/docs/examples/chapter0/bui-demo/src/font/iconfont.woff b/docs/examples/chapter0/bui-demo/src/font/iconfont.woff new file mode 100644 index 0000000..64a3cd2 Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/font/iconfont.woff differ diff --git a/docs/examples/chapter0/bui-demo/src/images/aimg1.jpeg b/docs/examples/chapter0/bui-demo/src/images/aimg1.jpeg new file mode 100644 index 0000000..f66a7c7 Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/images/aimg1.jpeg differ diff --git a/docs/examples/chapter0/bui-demo/src/images/aimg2.jpeg b/docs/examples/chapter0/bui-demo/src/images/aimg2.jpeg new file mode 100644 index 0000000..1183d5e Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/images/aimg2.jpeg differ diff --git a/docs/examples/chapter0/bui-demo/src/images/aimg3.jpeg b/docs/examples/chapter0/bui-demo/src/images/aimg3.jpeg new file mode 100644 index 0000000..6df053a Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/images/aimg3.jpeg differ diff --git a/docs/examples/chapter0/bui-demo/src/images/applogo.png b/docs/examples/chapter0/bui-demo/src/images/applogo.png new file mode 100644 index 0000000..4fab6c8 Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/images/applogo.png differ diff --git a/docs/examples/chapter0/bui-demo/src/images/placeholder-list.png b/docs/examples/chapter0/bui-demo/src/images/placeholder-list.png new file mode 100644 index 0000000..aa2405f Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/images/placeholder-list.png differ diff --git a/docs/examples/chapter0/bui-demo/src/images/placeholder-page.png b/docs/examples/chapter0/bui-demo/src/images/placeholder-page.png new file mode 100644 index 0000000..3117bf2 Binary files /dev/null and b/docs/examples/chapter0/bui-demo/src/images/placeholder-page.png differ diff --git a/docs/examples/chapter0/bui-demo/src/index.html b/docs/examples/chapter0/bui-demo/src/index.html new file mode 100644 index 0000000..a984e90 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/index.html @@ -0,0 +1,25 @@ + + + + + + BUI + + + + + + + + + +
    + + + + + + + + + \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/src/index.js b/docs/examples/chapter0/bui-demo/src/index.js new file mode 100644 index 0000000..b85aedc --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/index.js @@ -0,0 +1,46 @@ +// 手机调试请自行去掉 +// import VConsole from 'vconsole'; + +// const vConsole = new VConsole(); + +window.router = bui.router(); + +bui.ready(function(global) { + + // 初始化路由 + router.init({ + id: "#bui-router", + progress: true, + hash: true, + indexModule:{ + template:"pages/login/index.html", + script:"pages/login/index.js", + }, + beforeLoad(e){ + let token = global.storage.get("token",0); + // 如果不在登录页,且没有用户信息,则只能进入首页 + if( e.target.name !== "main" && !token){ + bui.load({ + url:"main" + }) + // 禁止进入其它页面 + return false; + } + } + }) + + // 绑定事件 + bind(); + + // 事件类定义 + function bind() { + // 绑定页面的所有按钮有href跳转 + bui.btn({ id: "#bui-router", handle: ".bui-btn" }).load(); + + // 统一绑定页面所有的后退按钮 + $("#bui-router").on("click", ".btn-back", function(e) { + // 支持后退多层,支持回调 + bui.back(); + }) + } +}) \ No newline at end of file diff --git a/docs/examples/chapter0/bui-demo/src/js/bui.js b/docs/examples/chapter0/bui-demo/src/js/bui.js new file mode 100644 index 0000000..28803c8 --- /dev/null +++ b/docs/examples/chapter0/bui-demo/src/js/bui.js @@ -0,0 +1,7 @@ +function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,i=new Array(t);n3?a>0?"swiperight":"swipeleft":o>0?"swipedown":"swipeup")},e.obj=function(n,i){var a=null;i=i||null;var o=e.hasRouter&&router.currentPage()||"html",r=t(o=i||o),l="string"==typeof n;if("object"===_typeof(n))return a=t(n);if(l&&/^(\d)/.test(n))return a=r.find("[id='"+n+"']");if(l&&/^[a-zA-z]/.test(n)){var c=/^(html|head|body|header|main|footer|ul|li|section|dt|dd|div|span|img|article|i|strong|input|textarea|select|h1|h2|h3|h4|h5|h6|p|view|component|components|iframe)$/gi.test(n)||/^\[.+\]$/.test(n)||n.indexOf("[")>-1?n:"#"+n;return a=r.find(c)}return/^#\d/.test(n)?a=r.find("[id='"+n.substr(1)+"']"):/^\.\d/.test(n)?a=r.find("[class='"+n.substr(1)+"']"):n&&(a=r.find(n)),a},e.$=e.obj,e.objId=function(t){return e.obj(t,"html")},e.selector=function(e){return void 0===e?this:t(e,this)},e.widget=function(e){return e&&e in this?this[e]:this},e.option=function(n,i){if("object"!==e.typeof(n)&&void 0===i)return"string"==typeof n?this.config[n]:this.config;if("id"==n)return e.showLog("不允许修改控件的ID参数"),this;if(n&&"object"===e.typeof(n)){var a=t.extend(this.config,n);return this.init(a)}if(this.config.hasOwnProperty(n)){var o={};o[n]=i;a=t.extend(this.config,o);return this.init(a)}return this}}(window.bui||{},window.libs),function(e,t){e.emitter=function(){function t(){this.handle=Object.create(null)}return t.prototype.on=function(t,n,i){return"function"==typeof n?(i=n,n=this):(i=i,n=n||this),n.handle=n.handle||{},e.unit.stringToArray(t).forEach((function(e,t){void 0===n.handle[e]&&(n.handle[e]=[]),n.handle[e].push(i)})),n},t.prototype.off=function(t,n,i){"function"==typeof n?(i=n,n=this):"function"==typeof i?(i=i,n=n||this):n=this;var a=e.typeof(t);if(void 0===t)n.handle=Object.create(null);else if("string"===a&&"function"==typeof i){var o=n.handle[t]||[];e.array.remove(o,i)}else if("string"===a||"array"===a){"object"!==_typeof(n.handle)&&(n.handle={}),e.unit.stringToArray(t).forEach((function(e,t){n.handle[e]=[]}))}return n},t.prototype.one=function(e,t){var n=this;return this.on(e,(function i(){t&&t.apply(n,arguments),n.off(e,i)})),this},t.prototype.wait=function(t,n){var i=this,a=e.unit.stringToArray(t),o=[],r=!0;return a.forEach((function(t,l){i.on(t,(function(t){o[l]=t,o.length===a.length&&r&&(a.forEach((function(t,n){o[n]=e.history.getLast().component[t]||{}})),n&&n.apply(i,o),r=!1)}))})),this},t.prototype.waited=function(t,n){var i=this,a=e.unit.stringToArray(t),o=[],r=!0;return a.forEach((function(t,l){i.on(t,(function(t){o[l]=t.exports||t,o.length===a.length&&r&&(a.forEach((function(t,n){var i=e.history.getLast().component[t];o[n]=i?i.exports:{}})),n&&n.apply(i,o),r=!1)}))})),this},t.prototype.trigger=function(t){try{var n=this.handle[arguments[0]];if("array"===e.typeof(n)){var i=[].slice.apply(arguments);i.shift();for(var a=0,o=n.length;a-1?Oe(o.substr(0,r)+"."+t(i).index(),(function(e){var t=ue.call(a,n,"b-class");ge(t,e.value[t.index()],e.value)})):Oe(o,(function(e){var t=ue.call(a,n,"b-class");ge(t,e.value[t.index()],e.value)}))}else{var l=function(e){var t=n.value[e],r=n.preValue&&n.preValue[e]||"";Oe(o+"."+e,(function(t){ge(ue.call(a,n,"b-class"),e,t.value)})),ge(i,e,t,r)};for(var c in n.value)l(c)}else if("function"==typeof n.value){var s=me.call(this,"b-class"),u=s[0]&&s[0].keyname||"",d=s[0]&&s[0].param||{},f=n.value.apply(H,d);ge(i,u,f,n.preValue)}else{var p="string"==typeof n.keyname&&n.keyname.split("."),h=p[p.length-1];ge(i,h,n.value,n.preValue)}D=[]},"b-model":function(e){var t=ue.call(this,e,"b-model");v?t.each((function(t,n){pe.call(this,e)})):pe.call(t[0],e)},"b-model-lazy":function(e){var t=ue.call(this,e,"b-model-lazy");v?t.each((function(t,n){pe.call(this,e)})):pe.call(t[0],e)},"b-style":function(e){var t=ue.call(this,e,"b-style"),n=this;if("object"===_typeof(e.value)){var i=function(i){Oe(e.keyname+"."+i,(function(t){ue.call(n,e,"b-style").css(i,t.value)})),t.css(e.value)};for(var a in e.value)i(a)}else t.css(e.keyname,e.value);D=[]},"b-prop":function(t){ue.call(this,t,"b-prop");var n="";if("object"===e.typeof(t.value))n=t.value;else{var i=t.keyname.indexOf(".")>-1?t.keyname.split(".").pop():t.keyname,a={};a[i]=t.value,n=a}var o=this.id?this.id:e.guid();!this.id&&(this.id=o);var r="false"!==this.getAttribute("everytime");e.$("#".concat(this.id)).attr(n),loader.delay({id:"#".concat(this.id),everytime:r,param:n}),D=[]},"b-props":function(n){ue.call(this,n,"b-props");var i="";if("object"===e.typeof(n.value))i=n.value;else{var a=n.keyname.indexOf(".")>-1?n.keyname.split(".").pop():n.keyname,o={};o[a]=n.value,i=o}var r=e.history.getLast().component[this.id],l=r&&r.param,c=t.extend(!0,{},l,i),s=this.id?this.id:e.guid();!this.id&&(this.id=s);var u="false"!==this.getAttribute("everytime");e.$("#".concat(this.id)).attr(c),loader.delay({id:"#".concat(this.id),everytime:u,param:c}),D=[]}},z={"b-text":[],"b-html":[],"b-value":[],"b-show":[],"b-hide":[],"b-checked":[],"b-bind":[],"b-src":[],"b-title":[],"b-data":[],"b-id":[],"b-href":[],"b-class":[],"b-model":[],"b-model-lazy":[],"b-style":[],"b-prop":[],"b-props":[]},_={},U=t.extend(!0,{},c,p,g,d,h),H={$methods:p,$refs:P,mixin:r,$options:a,$templates:h,config:a,watch:W,nextTick:function(t){return Oe("nexttick",(function(n){try{t&&t.call(H,n)}catch(n){e.showLog(n)}})),this},oneTick:function(t,n){var i="nexttick-"+t;if(O.hasOwnProperty(i))return this;return O[i]=n,Oe("nexttick",(function(n){if(n.keyname===t)try{T[t]&&T[t].pop(),0==T[t].length&&O[i]&&O[i].call(H,n)}catch(n){e.showLog(n)}})),this},get:function(t){if(void 0===t)return A=A;if("string"==typeof t){var n=e.unit.getKeyValue(t,A);return D=[],n}return A},set:ke,setState:function(n,i){var r="string"==typeof n,l="array"===e.typeof(i),d=i,p="",h=null,g=/\.\d$/.test(n);n.match(/\d+/g),D=[];var m=e.unit.getKeyValue(n,A);if(o=!0,!r||"$data"===n&&"$root"===n||void 0===i)"$data"!==n&&"$root"!==n||"object"!==e.typeof(i)||(A=t.extend(!0,{},A,i),Te(i),D=[],s);else{if(M&&console.log("set ".concat(n," ")),C=!0,!l&&Se.call(H,"beforeupdate",{target:null,value:d,preValue:m,action:"setState",keyname:n,origin:A}),!l&&a.beforeUpdates.forEach((function(e,t){e.call(H,{target:null,value:d,preValue:m,action:"setState",keyname:n,origin:A})})),d=i,g&&(p=n.replace(/\.\d$/,""),h=e.unit.getKeyValue(p,A)),e.unit.setKeyValue(n,d,c),e.unit.setKeyValue(n,d,A),Se.call(H,n,{target:null,value:d,preValue:m,action:"setState",keyname:n,origin:A}),g){var v=n.replace(/\.\d$/,""),b=e.unit.getKeyValue(v,A);Se.call(H,v,{target:null,value:b,preValue:h,action:"setState",keyname:v,origin:A})}i&&"object"===e.typeof(i)||i&&"array"===e.typeof(i)&&!g&&i.forEach((function(t,i){var o=n+"."+i;Se.call(H,o,{target:null,value:t,preValue:m?m[i]:[],action:"setState",keyname:o,origin:A}),t&&"object"===e.typeof(t)&&a.deep&&Object.keys(t).forEach((function(e,n){var i=o+"."+e;Se.call(H,i,{target:null,value:t[e],preValue:t[e],action:"setState",keyname:i,origin:A})}))}));var y=g?E.find('[b-template*="'.concat(u,".").concat(p,'"]')):E.find('[b-template*="'.concat(u,".").concat(n,'"]'));y.length&&y.each((function(e,n){t(n).length&&Q({el:t(n),action:"setState"})})),Se.call(H,"updated",{target:null,value:d,preValue:m,action:"setState",keyname:n,origin:A}),a.updateds.forEach((function(e,t){e.call(H,{target:null,value:d,preValue:m,action:"setState",keyname:n,origin:A})})),"object"===_typeof(i)&&("array"===e.typeof(i)?ye(c,n.split(f)):ye(i)),D=[]}return this},delete:Ie,del:Ie,observer:ye,compile:K,$mount:K,compileHtml:X,clearKey:function(){return D=[],x=!1,k=!0,C=!1,this},destroy:function(){return D=[],a.beforeDestroys.forEach((function(e,t){e.call(H)})),x=!1,k=!0,C=!1,Pe(),a.beforeMounts=[],a.beforeCompiles=[],a.compileds=[],a.mounteds=[],a.beforeUpdates=[],a.updateds=[],a.destroyeds.forEach((function(e,t){e.call(H)})),this},init:V,connect:function(t,n,i){if("object"!==_typeof(t)||!t.hasOwnProperty("$refs"))return H;var a=this;if("string"==typeof n){xe(t,n);var o=e.unit.getKeyValue(n,a.$data);"object"===e.typeof(o)?d(n,o,i||n):u(i||n,o,n)}else for(var r=Object.keys(A),l=0;l-1?o=t.split(a.paramSplit):o.push(t);return o.forEach((function(t){var n=e.unit.getKeyValue(t,A),a=e.unit.getKeyValue(t,H);if("function"==typeof a)return C=!1,void a.apply(H,i);Se(t,{target:null,value:a,preValue:n,action:"set",keyname:t,param:{},origin:A})})),this}};try{a.autoinit&&V()}catch(t){e.showLog(t)}function V(){var n,i=(L=e.hasRouter?router.$:t)(a.el);for(var o in E="object"===_typeof(a.el)?t(a.el):i.length?i:t(a.el),N=E&&E.parent(),B=E&&E.children(),H.$el=E,H.$parent=N,H.$children=B,H.$data=c,p)p[o]=p[o].bind(H);return H.$methods=p,p&&function(){try{Object.keys(p).forEach((function(t){c.hasOwnProperty(t)?e.showLog("不能跟data的键值相同:"+t):Object.defineProperty(H,t,{get:function(){return p[t].bind(this)},set:function(){}})}))}catch(t){e.showLog(t)}}(),h&&function(){try{Object.keys(h).forEach((function(t){c.hasOwnProperty(t)?e.showLog("不能跟data的键值相同:"+t):Object.defineProperty(H,t,{get:function(){return h[t].bind(this)},set:function(){}})}))}catch(t){e.showLog(t)}}(),Se.call(H,"beforemount"),a.beforeMounts.forEach((function(e,t){e.call(H)})),ye(c),function(){var e=function(e){Object.defineProperty(H,e,{configurable:!0,get:function(){this===H||!x&&k?(x=!0,k=!1,D=[]):(x=!1,k=!1);var t=c[e];return Array.isArray(t)&&j.target&&(Array.isArray(I[e])||(I[e]=[]),I[e].push(j.target)),t},set:function(t){M&&console.log("2. data setting ".concat(e),t),D=[],C=!1,c[e]=t,A[e]=t}})};for(var t in c)e(t)}(),g&&function(t){try{q(t)}catch(t){e.showLog(t)}}(g),d&&function(){try{Object.keys(d).forEach((function(t){if(c.hasOwnProperty(t))e.showLog("不能跟data的键值相同:"+t);else{var n=d[t];Object.defineProperty(H,t,{get:function(){var e,i="function"==typeof n?n.bind(this):n.get.bind(this);return j.target&&(I[t]=[],I[t].push(j.target)),j.target=function(){var e=i();I[t]&&I[t].forEach((function(e){return e()})),Se(t,{target:null,value:e,action:"set",keyname:t,param:[],origin:A}),j.target=null,D=[]},e=i(),j.target=null,D=[],e},set:n&&"object"===e.typeof(n)&&n.set||function(){}})}}))}catch(t){e.showLog(t)}}(),v?a.needCompile&&router&&router.on("complete",(function(e){a.needCompile&&K(),R&&a.mounteds.forEach((function(t,n){t.call(H,e)})),A=t.extend(!0,{},c),x=!1,k=!0,Se.call(H,"mounted",e),R=!1,D=[]})):(R||Pe(),y&&(n=X(n=E.html()),E.html(n)),a.needView?function(e){loader.views({id:e.id,loaded:function(e){K(e.el)},compiled:e.compiled})}({id:E,compiled:function(){a.needCompile&&K(),a.mounteds.forEach((function(e,t){e.call(H)})),E.removeAttr("b-cloak")}}):(a.needCompile&&K(),a.mounteds.forEach((function(e,t){e.call(H)})),E.removeAttr("b-cloak")),A=t.extend(!0,{},c),x=!1,k=!0,D=[],Se.call(H,"mounted"),R=!1),a.uid&&e.history.setUI&&e.history.setUI({uid:a.uid,ui:H}),this}function q(t,n,i){t=t||g;try{var a=Object.keys(t),o=[];a.forEach((function(a,r){var l=i||("object"===_typeof(t[a])?t[a].handler:t[a]);o.push(a),n&&o.unshift(n);var s=o.join("."),u=t[a];if("object"===e.typeof(u)){var d=u.deep?Object.keys(c[a]):Object.keys(t[a]),f=e.unit.getKeyValue(a,c);d.forEach((function(t,n){var i=s+"."+t,a=f[t];"object"===e.typeof(a)&&q(a,i,l),W(i,l),o=[]})),u.immediate&&u.handler&&u.handler.call(H,c[a],A[a])}W(s,l),o=[]}))}catch(t){e.showLog(t)}}function W(t,n){var i=function(t){try{var i=[t.value,t.preValue||"",t];if("init"!==t.action){var a=n;switch(e.typeof(a)){case"function":a.apply(H,i);break;case"array":a.forEach((function(e,t){e.apply(H,i)}));break;case"string":new Function(a+"(".concat(t.value,",").concat(t.preValue||"",")"))();break;default:a.apply(H,i)}}}catch(t){e.showLog(t)}};return Oe(t,i),Pe.bind(this,t,i)}function K(n){try{var i=null,o=null;void 0===n?(i=E,o=a):"string"==typeof n?(i=L(n),o=a):n&&"object"===_typeof(n)&&(i=L(n)||t(n),o=t.extend(!0,{},a,n));var r=!0;if(o.beforeCompiles.forEach((function(e,t){if(!1===(r=e.call(H,o)))return!1})),!1===r)return D=[],!1;if(le(i),Q({el:i,action:"first"}),function(t){var n=t,i=n.find("[b-watch*=".concat(u,"]")),a=n.find("[b-one*=".concat(u,"]"));if(i.length)try{ce(i,"b-watch",Oe)}catch(t){e.showLog(t)}if(a.length)try{ce(a,"b-one",Ce)}catch(t){e.showLog(t)}}(i),o.needComponent)return loader.components({id:i,compiled:function(){ie(i),ne(i),oe(i),ae(i),!0,J(),D=[],o.compileds.forEach((function(e,t){e.call(H,o)}))}}),this;ie(i),ne(i),oe(i),ae(i),!0,J(),D=[],o.compileds.forEach((function(e,t){e.call(H,o)}))}catch(t){e.showLog(t)}return this}function Y(t){("string"==typeof t?e.$(t).find("component"):t.find("component")).each((function(e,t){loader.component({id:t})}))}function J(){return E.find("[ref]").each((function(){var t=this.getAttribute("ref"),n=P.hasOwnProperty(t),i=null;n&&"htmldivelement"===e.typeof(P[t])?((i=[P[t]]).push(this),P[t]=i):n&&"array"===e.typeof(P[t])?P[t].push(this):P[t]=this})),this}function X(n){try{var i=this,a="string"==typeof n?n:"",o=new RegExp("{{[\\s]?"+u+f+"(.*?)}}","mg");return a=a.replace(o,(function(n,a){var o=a.split(u+f);""===t.trim(o[0])&&o.shift();var r=o.length>0&&e.unit.getKeyValue(o.join("."),A)||"";return"function"==typeof r?r.call(i):r}))}catch(t){e.showLog(t)}}function Z(e){var n=t(e).closest("[b-template]"),i=n.length?n.children()[0]:null,a=i&&i.classList[0]?"."+i.classList[0]:i&&i.nodeName||"";return a&&t(e).closest(a)}function G(t,n){var i;return _&&_.hasOwnProperty(t)?i=_[t]:(void 0===(i=e.unit.getKeyValue(t,n))&&M&&console.warn("请检查 ".concat(t," 在bui.store scope:").concat(u," 中有没有声明定义")),_[t]=i),i}function Q(n){var i=1==n.replace;try{var a="object"===e.typeof(n)?n.el:n,o=[],r=(a.prop("outerHTML")||a.html()||"").match(F)||[],l=e.array.uniq(r).reverse();l.length&&l.forEach((function(r,l){var c=a.find("[".concat(r,"*=").concat(u,"]"));c.length<1&&(c=a.closest("[".concat(r,"*=").concat(u,"]"))),c.length&&c.each((function(l,c){var s=this,d="",p=me.call(this,"".concat(r)),h=p[0]&&p[0].keyname||"",g=h.indexOf(".length"),m=g>-1?h.substr(0,g):h,b=p[0]&&p[0].param;G(m,H);var y=me.call(this,"b-linked");if(y.length&&y.forEach((function(t,n){Oe(t.keyname,(function(t){Se(h,{target:null,value:e.unit.getKeyValue(h,H),action:"set",keyname:h,param:b,origin:A})}))})),"b-show"===r)switch(p[0]&&p[0].rule){case"!":d="b-hide";break;default:d="b-show"}else d=r;if(v){var w=e.array.compare(z[d],m);!w&&z[d].push(m),!w&&Oe(m,$[d].bind(s))}else{var I=function(i){var o=arguments;try{if(O.indexOf("$index")>-1){var l=m.match(/([0-9]+)/g),c=l[l.length-1],p=a.find("[".concat(r,'="').concat(T,'"]')),h=p.attr("b-target");p.each((function(e,n){h=t(n).attr("b-target")}));var g=h?a.find(h).eq(c):null,v=arguments;return void(h&&g&&g.length?(g.find("[".concat(r,'="').concat(T,'"]')).each((function(e,t){var n=t||s;$[d].apply(n,v)})),g.closest("[".concat(r,'="').concat(T,'"]')).each((function(e,t){var n=t||s;$[d].apply(n,v)}))):(p.each((function(e,t){var i=t||s;e!=c||"first"!==n.action?"first"!==n.action&&$[d].apply(i,v):$[d].apply(i,v)})),a.closest("[".concat(r,'="').concat(T,'"]')).each((function(e,t){var n=t||s;$[d].apply(n,v)}))))}if(O.indexOf("$key")>-1){var b=Z(s),y=b&&b.index(),w=y||0;O.indexOf("$key1")>-1?w=y+1:O.indexOf("$key01")>-1&&(w=y<10?"0"+(y+1):y+1),i.value=w}if(O.includes("$itemIndex")){var x=i.keyname.match(/[\d]+/g),k=+x[x.length-1],I=null;if(O.includes("$parentItemIndex")){var C=u+f+O.replace(/\.\$parentItemIndex.+/,""),P=u+f+O.replace(/\.\$itemIndex.+/,"").replace(/\$parentItemIndex/,"$itemIndex");E.find('[b-template$="'.concat(C,')"]')).each((function(e,n){var i=t(n).children().eq(x[0]);I=i.find('[b-template*="'.concat(P,'"]')).children().eq(k).find("[".concat(d,'*="').concat(O,'"]'))}))}else I=E.find("[".concat(d,'*="').concat(O,'"]')).closest("[b-template]").children().eq(k).find("[".concat(d,'*="').concat(O,'"]'));I.each((function(e,t){$[d].apply(t,o)}))}else $[d].apply(s,arguments)}catch(t){e.showLog(t)}};!R&&0===l&&Pe(m,I),i&&Pe(m,I);var T=this.getAttribute(r)||"",O=T.replace(u+f,"");Oe(m,(function(){I.apply(s,arguments)}))}e.array.compare(o,m)||o.push(m),D=[],x=!1,k=!0}))})),te(o,n)}catch(t){e.showLog(t)}}function ee(){var t=me.call(this,"b-trigger"),n=t&&t[0]&&t[0].keyname||"",i=t&&t[0]&&t[0].param||[],o=[];return n.indexOf(a.paramSplit)>-1?o=n.split(a.paramSplit):o.push(n),o.forEach((function(t){var n=e.unit.getKeyValue(t,A),a=e.unit.getKeyValue(t,H);if("function"==typeof a)return C=!1,void a.apply(H,i);Se(t,{target:null,value:a,preValue:n,action:"set",keyname:t,param:{},origin:A})})),this}function te(t,n){t.forEach((function(t,i){var a=e.unit.getKeyValue(t,H);Se(t,{target:null,action:"object"===e.typeof(n)&&n.action||"init",value:a,param:null,keyname:t,origin:A}),D=[]}))}function ne(t){var n=t,i='[type="text"][b-model-lazy*='.concat(u,'],\n [type="search"][b-model-lazy*=').concat(u,'],\n [type="password"][b-model-lazy*=').concat(u,'],\n [type="url"][b-model-lazy*=').concat(u,'],\n [type="number"][b-model-lazy*=').concat(u,'],\n [type="email"][b-model-lazy*=').concat(u,'],\n [type="range"][b-model-lazy*=').concat(u,'],\n [type="tel"][b-model-lazy*=').concat(u,"],\n textarea[b-model-lazy*=").concat(u,"]");if("input"===a.modelEvent){var o=!1;n.off("input compositionstart compositionend",i).on(b,i,e.unit.debounce((function(e){o||r.call(e.target,e)}),m)).on("compositionstart",i,(function(e){o=!0,e.stopPropagation()})).on("compositionend",i,e.unit.debounce((function(e){o=!1,r.call(e.target,e),e.stopPropagation()}),m))}function r(t){var n=t.target.value,i=me.call(this,"b-model-lazy"),a=i[0]&&i[0].keyname||"";if(""===a)return e.showLog("b-model-lazy的值不能为空"),!1;ke(a,n),ee.call(this),D=[],t.stopPropagation()}}function ie(n){var i=n,o='[type="text"][b-model*='.concat(u,'],\n [type="search"][b-model*=').concat(u,'],\n [type="password"][b-model*=').concat(u,'],\n [type="url"][b-model*=').concat(u,'],\n [type="number"][b-model*=').concat(u,'],\n [type="email"][b-model*=').concat(u,'],\n [type="range"][b-model*=').concat(u,'],\n [type="tel"][b-model*=').concat(u,"],\n textarea[b-model*=").concat(u,"]");if("input"===a.modelEvent){var r=!1;i.off("input compositionstart compositionend",o).on(b,o,(function(e){r||l.call(e.target,e)})).on("compositionstart",o,(function(e){r=!0,e.stopPropagation()})).on("compositionend",o,(function(e){r=!1,l.call(e.target,e),e.stopPropagation()}))}else i.off(b,o).on(b,o,l);function l(t){var n=t.target.value,i=me.call(this,"b-model"),a=i[0]&&i[0].keyname||"";if(""===a)return e.showLog("b-model的值不能为空"),!1;ke(a,n),ee.call(this),D=[],t.stopPropagation()}var c='[type="checkbox"][b-model*='.concat(u,'],\n [type="radio"][b-model*=').concat(u,"]");i.off("change",c).on("change",c,(function(t){try{var n,a=this,o=this.getAttribute("value")||this.checked,r=this.getAttribute("type"),l=me.call(this,"b-model")[0].keyname,c=this.getAttribute("check-value"),s=this.getAttribute("uncheck-value"),d=this.getAttribute("check"),f=this.getAttribute("uncheck");(d||f||c||s)&&(o=this.checked?c||this.value||d:s||f||""),n=G(l,H);var p=/\{.+\}$/g.test(o),h=p?null:i.find('[type="checkbox"][b-model="'.concat(u+"."+l,'"][value="').concat(o,'"],\n [type="radio"][b-model="').concat(u+"."+l,'"][value="').concat(o,'"]'));switch(r){case"checkbox":var g=p?JSON.parse(o):o;this.checked&&(n&&"array"===e.typeof(n)?!e.array.compare(n,o)&&e.unit.getKeyValue(l,H).push(g):ke(l,g),this.checked=!0),this.checked||(n&&"array"===e.typeof(n)?e.array.remove(e.unit.getKeyValue(l,H),g):ke(l,g),this.checked=!1),h&&h.each((function(e,t){this.checked=a.checked})),ee.call(this);break;case"radio":default:var m=e.unit.getKeyValue(l,H);n&&"array"===e.typeof(n)?m.splice(0,1,o):ke(l,o),ee.call(this)}D=[],t.stopPropagation()}catch(t){e.showLog(t)}}));var s="select[b-model*=".concat(u,"]");i.off("change",s).on("change",s,(function(n){try{var i=t(this).val(),a=(this.selectedIndex,this.multiple),o=me.call(this,"b-model")[0].keyname,r=null;switch(r=G(o,H),a){case!0:"array"!==e.typeof(r)&&e.showLog("".concat(o,"的类型必须为数组")),i.splice(0,0,0,i.length+1),r.splice.apply(r,i);break;default:ke(o,i)}ee.call(this),D=[],n.stopPropagation()}catch(n){e.showLog(n)}}))}function ae(e){e.off("change","[b-checked*=".concat(u,"]")).on("change","[b-checked*=".concat(u,"]"),(function(e){var t=this.checked;ke(me.call(this,"b-checked")[0].keyname,t),ee.call(this),D=[],e.stopPropagation()}))}function oe(t){var n=t;["b-click","b-submit","b-change","b-scroll-lazy","b-scroll","b-keydown","b-keyup","b-keypress","b-focus","b-input-lazy","b-input","b-blur","b-mousedown","b-mouseover","b-mouseup","b-touchstart","b-touchmove","b-touchend"].forEach((function(t,i){var a=t.substr(2),o=function(e){var n=re.call(this,e,t);if(!1===n)return!1;void 0===n&&e.stopPropagation()};if("scroll-lazy"===a||"scroll"===a){var r=n.find("[".concat(t,"*=").concat(u,"]")),l=r.attr("lazy")?parseInt(r.attr("lazy")):300;o="scroll-lazy"===a?e.unit.debounce(o,l):o,r.off("scroll").on("scroll",o)}else if("input-lazy"===a||"input"===a){var c=n.find("[".concat(t,"*=").concat(u,"]")),s=c.attr("lazy")?parseInt(c.attr("lazy")):300;o="input-lazy"===a?e.unit.debounce(o,s):o,c.off("input").on("input",o)}else n.off(a,"[".concat(t,"*=").concat(u,"]")).on(a,"[".concat(t,"*=").concat(u,"]"),o)}))}function re(t,n){var i=me.call(this,n),a=i[0].keyname,o=i[0].param,r=null;o.push(t);try{var l="function"==typeof(r=G(a,H))&&r.apply(H,o);return D=[],Se(a,{target:this,value:r,action:"set",keyname:a,param:o,origin:A}),l}catch(t){e.showLog(t)}}function le(t){var n=t&&t.find("[b-template*=".concat(u,"]"))||[],i=[];if(n.length)try{n.each((function(t,n){var a=L(this),o=me.call(this,"b-template"),r=this.getAttribute("b-template"),l=o[0].keyname,c=o[0].param,s=u+f;c[0]||console.error('b-template 没有找到数据源, 格式为: b-template="page.template(page.sources)"');var d="string"==typeof c[0]&&c[0].replace(new RegExp(s),"")||"",p=a.attr("b-command")||"html",g=a.attr("b-children")||a.children()[0]&&a.children()[0].tagName;G(d,H);v&&Pe(d),T.hasOwnProperty(d)?T[d].push(d):T[d]=[d],Oe(d,(function(t){try{if(r.includes("$itemIndex")){t.keyname.replace(/\d+/,"$itemIndex");var n=t.keyname.match(/\d+/);a=E.find('[b-template*="'.concat(r,'"]')).eq(n[0])}var i,o=t.param;switch(t.action){case"push":case"unshift":i=o;break;case"splice":i=o.slice(2)||"";break;default:i=t.value}if(h&&h.hasOwnProperty(l)){(c=c.map((function(e,t){return"string"==typeof e&&0==e.indexOf(u+f)&&t>0?G(e.replace(new RegExp(s),""),A):e})))[0]=i;var m=void 0!==i&&"undefined"!==i&&h[l]&&h[l].apply(H,c);void 0===m&&(m="",e.showLog("".concat(l,"模板方法需要返回内容,例如:return html;"))),v&&(a=L('[b-template*="'.concat(s+d,'"]')));var b=t.preValue||[];0==b.length&&"html"==p&&a.empty();var y=g?a.children(g):a.children(),w=y,x=o&&o.length||0,k=null;switch(R=!0,t.action){case"push":if(a.append(m),y=a.children(g),x&&x==y.length)Q({el:y,action:"push"}),le(k);else if(x>1)for(var I=w.length,T=I;T1)for(T=0;T=b.length&&"html"==p&&(a.empty(),y=a.children(g));var P=y.length,S=P>0,j=!1;if(0==C)if(S&&P-1>=O){y.eq(O).before(m),y=a.children(g);for(T=0;T0){var N=e.unit.getKeyValue(t.keyname,t.origin);if(o[1]-o[0]>=(N&&N.length)&&(j=!0),void 0!==o[2])if(S&&P-1>=O){y.eq(O).before(m),y=a.children(g);for(T=0;T-1)return t.value.length||0;if("object"!==e.typeof(t.value))return"array"===e.typeof(t.value)?(t.value=t.value.map((function(e,t){if("object"!==_typeof(e))return e;try{return JSON.stringify(e)}catch(t){return e}})),t.value.join(",")):t.value;try{return JSON.stringify(t.value)}catch(t){return t.value}}function fe(t){var n=this.getAttribute("type"),i=this.value,a=this,o=this.getAttribute("b-value");switch(n){case"radio":i==t.value?this.checked=!0:this.checked=!1;break;case"checkbox":"array"===e.typeof(t.value)&&t.value.forEach((function(e,t){i==e&&(a.checked=!0)}));break;default:this.value=de(t,o)}}function pe(n){var i=this,a=i.getAttribute("type"),o=i.value;if(n.param,"SELECT"===i.nodeName&&i.multiple)n.value.length>1?n.value.forEach((function(e,n){"string"==typeof e?t(i).find("option[value=".concat(e,"]")).attr("selected",!0):t(i).find("option[value=".concat(e.value,"]")).attr("selected",!0)})):i.value=n.value[0];else if("COMPONENT"!==i.nodeName){switch(a){case"radio":o==n.value?i.checked=!0:i.checked=!1;break;case"checkbox":if(o&&"array"===e.typeof(n.value))switch(n.action){case"push":case"unshift":n.param&&n.param.filter((function(e,t){o!==e||(i.checked=!0)}));break;case"pop":case"shift":n.param&&n.param.filter((function(e,t){o===e&&(i.checked=!1)}));break;case"splice":var r=n.param,l=r&&r[1]&&parseInt(r[1]),c=r&&r.slice(2);0==l?c.forEach((function(e,t){o===e&&(i.checked=!0)})):l>0&&(n.preValue.forEach((function(e,t){t<=n.param[1]&&(i.checked=!1)})),n.value.forEach((function(e,t){o===e&&(i.checked=!0)})));break;case"length":break;default:n.value.filter((function(e,t){o==e&&(i.checked=!0)}))}else n.value===o||1==n.value?i.checked=!0:i.checked=!1;break;default:if(event&&event.target&&"INPUT"===event.target.nodeName&&event.target===i&&i.value===n.value)break;i.value=n.value}D=[]}else{var s=i.id?i.id:e.guid();!i.id&&(i.id=s);var u="true"===i.getAttribute("everytime");loader.delay({id:"#".concat(i.id),everytime:u,param:{value:n.value,keyname:n.keyname}})}}function he(e,t,n){switch(t){case"disabled":n?e.attr(t,n):e.removeAttr(t);break;case"checked":e.prop(t,n);break;default:var i="object"===_typeof(n)?JSON.stringify(n):n;e.attr(t,i)}D=[]}function ge(e,t,n,i){"boolean"==typeof n?(n&&e.addClass(t),!n&&e.removeClass(t)):"string"==typeof n?(v&&e.removeClass(n),i&&e.removeClass(i),n&&!e.hasClass(n)&&e.addClass(n),void 0!==i&&""===n&&e.removeClass(i)):(Boolean(n)&&e.addClass(t),!Boolean(n)&&e.removeClass(t))}function me(t){var n=[],i=this,o=this.getAttribute(t)||"",r=o.indexOf(a.paramSplit)>-1?o.split(a.paramSplit):o&&[o]||[];try{r.forEach((function(e,a){var o={},r=ve.call(i,e,t);o.scope=u,o.rule=r.rule,o.keyname=r.name,o.param=r.param,o.paramKeyname=r.paramKeyname,o.eventType=r.eventType,o.eventProperty=r.eventProperty,n.push(o)}))}catch(t){e.showLog("参数处理出错")}return n}function ve(n,i){try{var a=n?n.match(/([^\(|\)]+)/g):[],o=[],r="",l="",c=null,s=[],d=null,p=this,h="",g=(P=t(p).attr("b-target"))&&t(p).parents(P)[0]||p,m=null,v="",b="";if(h=(h=(c=(a=a.map((function(e,n){var i=e;if(p.getAttribute("b-template")&&i.indexOf("$itemIndex")>-1){var a=t(p).parents("[b-template]").children()[0],o=a.classList[0]?"."+a.classList[0]:a.nodeName,r=t(p).closest(o).index();i=i.replace(/\$itemIndex/g,r)}return i})))[0]&&a[0].indexOf(u+f)>-1?a[0].split(u+f):[u,a[0]])[0].split(u))[0]||h[1]||"",r=u,(l=c[1]||"").indexOf("$index")>-1){var y=t(g).index();l=l.replace("$index",y)}else if(l.indexOf("$id")>-1){var w=g.id;l=l.replace("$id",w)}else if(l.indexOf("$parentIndex")>-1){var x=t(g).parent().index();l=l.replace("$parentIndex",x)}var k=null,I="";if(!p.getAttribute("b-template")&&(n.indexOf("$itemIndex")>-1||n.indexOf("$itemId")>-1||n.indexOf("$item")>-1)){var T=(k=t(p).closest("[b-template]")||t(p).closest(".bui-template")||t(p).closest(".bui-list")||t(p).closest("ul")).children()[0];I=k?k.attr("b-children")||(T.classList[0]?"."+T.classList[0]:null)||T.nodeName:"";var O=(m=t(p).closest(I)).index();l=l.replace("$itemIndex",O)}if(l.includes("$parentItemIndex")){var C=be(p);l=l.replace(/\$parentItemIndex/g,C)}if(void 0!==a[1]){var P,S=(P=t(g).attr("b-target"))&&t(g).closest(P)[0]||g,j=a[1].replace(/\$index/g,t(S).index())||"";try{var L=/\{.+\}$/g,E=/\[.+\]$/g,N=j?j.match(/(\'(.*?)\'.*?)|(\"(.*?)\".*?)|(\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14})|(^((https|http|ftp|rtsp|mms)?:\/\/)[^\,]+)|([a-zA-Z0-9][-a-zA-Z0-9\._]{0,62})|(\{.+\})|(\[.+])|([$\w\.]+)|([\d\.]+)|([\u4e00-\u9fa5|\w|\d]+)/g):[];a[1].split(",").forEach((function(e,n){e.indexOf(u+f)>-1&&o.push(e.replace(u+f,"").replace(/\$index/g,t(S).index()))})),s=N.map((function(n,a){var o=n.replace(/^\"|^\'|\"$|\'$/g,"");switch(n){case"$this":o=S;break;case"$index":o=t(S).index();break;case"$parentItemIndex":o=be(p);break;case"$itemIndex":o=m.index();break;case"$itemId":o=m.attr("id");break;case"$itemText":o=m.text();break;case"$itemHtml":o=m.html();break;case"$item":o=m[0];break;case"$parentIndex":o=t(S).parent().index();break;case"$parent":o=S.parentNode;break;case"$children":o=t(S).children();break;case"$prev":o=t(S).prev();break;case"$next":o=t(S).next();break;case"$id":o=S.id;break;case"$text":o=S.textContent;break;case"$value":o=S.value;break;case"$html":o=S.innerHTML}if("b-template"!==i){var r=u+f;if(e.unit.startWithStr(o,r)){var l=e.unit.getKeyValue(o.split(r)[1],H);o=void 0===l?o:l}}return o=/^\d+$/.test(o)&&o.length<17?parseFloat(o):o,L.test(n)||E.test(n)?JSON.parse(n):o}))}catch(t){e.showLog(t,"getArguments"),s=[]}}void 0!==a[2]&&(v=(d=a[2].indexOf(".")>-1?a[2].split("."):[a[2]])[0],b=d[1]||"")}catch(t){e.showLog("参数格式错误:"+n)}return{scope:r,rule:h,name:l,param:s,paramKeyname:o,eventType:v,eventProperty:b}}function be(e){var n=t(e).parents("[b-template]"),i=(n[1]||n[0]).children[0],a=i.classList[0]?"."+i.classList[0]:i.nodeName;return t(e).closest(a).index()}function ye(n,i){if(!n||!n.hasOwnProperty("widget")||"function"!=typeof n.widget)return function(n,i){if(i&&"array"===e.typeof(i)){if(i.length>1){var r=i.pop();l(e.unit.getKeyValue(i.join("."),n),r)}else l(n,i[0]);return}function l(n,i){var r=n&&n[i];if(n&&function(n,i){var r=n[i],l="function"==typeof r?r.call(H):r,s=[];Object.defineProperty(n,i,{enumerable:!0,configurable:!0,get:function(){return S.target=this,(x||!x&&k)&&D.push(i),j.target&&s.push(j.target),l},set:function(n){if(n===l)return D=[],C=!1,o=!1,x=!1,k=!0,!0;S.target===this&&(D=[]),S.target=this;var r="array"===e.typeof(l)&&"array"===e.typeof(n);(!k||!x&&k)&&D.push(i);var d=D.join("."),f=e.array.copy(D);!r&&!C&&Se.call(H,"beforeupdate",{action:"set",value:n,preValue:l,keyname:d,origin:A}),!r&&!C&&a.beforeUpdates.forEach((function(e,t){e.call(H,{action:"set",value:n,preValue:l,keyname:d,origin:A})})),M&&console.log("4. data setting ".concat(d),n);var p=e.unit.getKeyValue(d,A);if(r){var h,g=t.extend(!0,[],n);(h=l).splice.apply(h,[0,l.length].concat(_toConsumableArray(g)))}else l="object"===e.typeof(n)?t.extend(!0,{},n):n,!C&&Se(d,{action:"set",value:l,preValue:p,keyname:d,origin:A});s.forEach((function(e){return e()})),e.unit.setKeyValue(d,l,A),"array"===e.typeof(l)?ye(c,f):"object"===e.typeof(l)&&(a.deep&&ye(l),l&&Object.keys(l).forEach((function(e,t){var n=d+"."+e;D=[],Se(n,{target:null,value:l[e],preValue:p&&p[e],action:"set",keyname:n,origin:A})}))),!r&&!C&&Se.call(H,"updated",{action:"set",value:l,preValue:p,keyname:d,origin:A}),!r&&!C&&a.updateds.forEach((function(e,t){e.call(H,{action:"set",value:l,preValue:p,keyname:d,origin:A})}));var m=E.find('[b-template*="'.concat(u,".").concat(d,'"]'));return m.length&&!o&&m.each((function(e,n){Q({el:t(n),action:"set"})})),D=[],C=!1,o=!1,x=!1,k=!0,!0}})}(n,i),"array"===e.typeof(r)&&function(t,n){var i=[],o=Array.prototype,r=Object.create(o);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var l=o[t];Object.defineProperty(r,t,{enumerable:!0,configurable:!0,value:function(o){var r=Array.prototype.slice.call(arguments);Se.call(H,"beforeupdate",{target:null,action:t,param:r,value:this,prevValue:[],keyname:n,origin:A}),!c.hasOwnProperty(n)&&D.length?(i.unshift(D.join(".")),s=i.join(".")||n):(i.push(n),s=i.join("."));var s=i.join(".")||n,d=this.slice(0),f=l.apply(this,r);switch(M&&console.log("5. ".concat(s," action ").concat(t,", param:").concat(r," ")),t){case"pop":case"shift":r=[f]}e.unit.setKeyValue(s,this,A);var p=E.find('[b-template*="'.concat(u,".").concat(s,'"]'));if("splice"===t&&r[1]>=0)if(void 0!==r[2]){var h=_toConsumableArray(r);h.splice(0,2);for(var g=0,m=r[0]+r[1],v=r[0];v-1&&we[i]&&t.$options.el===we[i].el)&&(we[i].disconnect&&we[i].disconnect(),!0)}function ke(n,i){var o="string"==typeof n,r=i;D=[];var l=e.unit.getKeyValue(n,A);if(o&&void 0!==i){var s,u;if(M&&console.log("set ".concat(n," ")),C=!0,Se.call(H,"beforeupdate",(_defineProperty(s={action:"set",target:null,value:r,preValue:l},"action","set"),_defineProperty(s,"keyname",n),_defineProperty(s,"origin",A),s)),a.beforeUpdates.forEach((function(e,t){var i;e.call(H,(_defineProperty(i={action:"set",target:null,value:r,preValue:l},"action","set"),_defineProperty(i,"keyname",n),_defineProperty(i,"origin",A),i))})),i&&"object"===e.typeof(i)?(r=t.extend(!0,{},l,i),Object.keys(i).forEach((function(e,t){var a=n+"."+e;Se.call(H,a,{target:null,value:i[e],preValue:l,action:"set",keyname:a,origin:A})}))):r=i,"array"===e.typeof(r)){var d=e.unit.getKeyValue(n,H);d.splice.apply(d,[0,d.length].concat(_toConsumableArray(r)))}else e.unit.setKeyValue(n,r,c),e.unit.setKeyValue(n,r,A);Se.call(H,n,{target:null,value:r,preValue:l,action:"set",keyname:n,origin:A}),Se.call(H,"updated",(_defineProperty(u={action:"set",target:null,value:r,preValue:l},"action","set"),_defineProperty(u,"keyname",n),_defineProperty(u,"origin",A),u)),a.updateds.forEach((function(e,t){var i;e.call(H,(_defineProperty(i={action:"set",target:null,value:r,preValue:l},"action","set"),_defineProperty(i,"keyname",n),_defineProperty(i,"origin",A),i))})),"object"===_typeof(i)&&("array"===e.typeof(i)?ye(c,n.split(f)):ye(i)),D=[]}else n&&"object"===e.typeof(n)&&(A=t.extend(!0,{},A,n),Te(n));return A}function Ie(t,n){return function(t,n){"string"==typeof t&&(e.unit.delKey(t,A),n&&n.call(H,t))}(t,(function(e){Se(t)})),A}function Te(t,n){for(var i in t){var a=void 0===n?i:n+i,o=t[i];Se(a,{target:null,value:o,preValue:A[i]||"undefined",action:"set",param:null,keyname:a,origin:A}),o&&"object"===e.typeof(o)&&Te(o,i+".")}}function Oe(t,n){var i="";return i=t&&"array"===e.typeof(t)?t.map((function(e,t){return w+"_"+u+f+e})):w+"_"+u+f+t,S.on.call(H,i,n),this}function Ce(e,t){return O.hasOwnProperty(e)||(Oe(e,t),O[e]=t),this}function Pe(e,t){if(e){var n=w+"_"+u+f+e;S.off.call(H,n,t)}else H.handle={};return this}function Se(e){var t=w+"_"+u+f+e;arguments[0]=t;var n=arguments[1]&&arguments[1].value||arguments[1];return M&&console.warn(t,n,"trigger"),S.trigger.apply(H,arguments),x=!1,k=!0,this}return H}}(window.bui||{},window.libs),function(e,t){e.viewport=function(n,i){e.trigger.call(e,"viewportbefore");var a,o=t.extend(!0,{uid:"",width:"device-width",initScale:1,maxScale:1,minScale:1,fit:"cover",scalable:"no",zoom:!0,hd:!0,base:750,size:0,create:!1},e.config.viewport),r="object"==_typeof(n)?t.extend(!0,o,n):o,l=document.querySelector("meta[name=viewport]"),c='"width='.concat(r.width,", initial-scale=").concat(r.initScale,", maximum-scale=").concat(r.maxScale,", minimum-scale=").concat(r.minScale,", user-scalable=").concat(r.scalable,",viewport-fit=").concat(r.fit,'"'),s=window.devicePixelRatio,u=document.documentElement.clientWidth||window.innerWidth,d=document.documentElement.clientHeight||window.innerHeight,f=parseInt(u)*parseInt(s),p=parseInt(d)*parseInt(s);if(u=u>d&&d>1?d+24:u,r.size="number"==typeof n?n:r.size||(u/r.base*100).toFixed(2),l)r.create&&(l.content=c);else{var h=document.createElement("meta");h.name="viewport",h.content=c,document.head.appendChild(h),h=null}var g=e.array.index([240,320,360,375,384,393,412,414,435,480,512,540,768,1024,1080,1536,2048,2732,534,854,750],document.documentElement.clientWidth);g>-1&&void 0===n?a=[32,42.67,48,50,51.2,52.4,54.93,55.2,58,64,68.27,60,60,60,60,60,60,60,60,60,60][g]:v(r);var m={width:function(e){return u||t("body").width()||t("#bui-router").width()||t(".bui-page").width()},height:function(e){return d||t("body").height()||t("#bui-router").height()||t(".bui-page").height()},fontSize:a,screenWidth:function(e){return f},screenHeight:function(e){return p},ratio:function(e){return s},init:v};function v(t){var n=document.head.parentNode,i=t.size;return t.hd&&(i+=s>2?10*(s-2):0),a=i||48,r.zoom&&(n.style.fontSize=a+"px"),r.uid&&e.history.setUI&&e.history.setUI({uid:r.uid,ui:m}),e.trigger.call(e,"viewportinit"),this}return m}}(window.bui||{},window.libs),function(e,t){e.loader=function(n){var i,o=t.extend({},{cache:!0,log:!1,baseUrl:"",relativePath:"pages",needNative:!1,deepView:!1,viewTag:"view",componentTag:"component",deepComponent:!0,scriptSuffix:".js"},e.config.loader,n),r=e.emitter(),l=[],c=[],s={},u={baseUrl:"",modules:{},globals:{}},d={},f={init:function(e){return e=e||{},o=t.extend({},o,e),f.config=o,this},config:o,define:function(n,i,a){var r={moduleName:"",template:"",script:"",path:"",props:null,isComponent:!1,params:null,data:null,depend:[],beforeCreate:null,created:null,beforeLoad:null,loaded:null,hide:null,exports:null,show:null,beforeDestroy:null,destroyed:null},l={},c="";try{var s=v().name?v():function(e){var t=window.location.pathname,n=t.indexOf(".html"),i="",a="";a=n>-1?(i=t.substr(1,n))+".js":(i=t.substr(1))+".js";return{name:i,src:a}}(),f=s.name}catch(e){}var h=[];if(void 0===n)return e.showLog("define第1个参数不能为空"),this;"function"==typeof n?(a=n,c=f,i=[]):"object"===e.typeof(n)?(c=f,i=n.depend||[],a=n.loaded,l=t.extend(!0,{},r,n)):"array"===e.typeof(n)?(a=i,i=n,c=f):"function"==typeof i?(c=n,a=i,i=[]):(c=n,i=i,a=a);var g=d.hasOwnProperty(c)&&d[c].script||s.src,y=window.location.href.substr(0,window.location.href.indexOf("#")).replace("index.html","");g=g.replace(y,""),o.log&&console.log("define "+c),i.length&&(h=m(i,g));if("string"==typeof c&&"function"==typeof a){(l=n&&"object"===e.typeof(n)?t.extend(!0,{},r,d[c],e.config.loader.define,n):t.extend(!0,{},r,d[c],e.config.loader.define)).moduleName=c,l.depend=h,l.style=[],l.script=g,l.path=g.substr(0,g.lastIndexOf("/")+1),l.loaded=function(){var e=[b,d[f]&&d[f].exports,d[f],u.globals],t=[];h.length&&h.forEach((function(e,n){d[e]&&t.push(d[e].exports)}));var n=t.concat(e);return a&&a.apply(this,n)},l.isDefined=!0,p(l)}else e.showLog("define "+c+"模块的参数格式不对");return l},global:function(e){if("object"===_typeof(e))p({globals:e});else{if("function"!=typeof e)return"string"==typeof e?p().globals[e]:p().globals;p({globals:e.call(f,u.globals)})}return f},require:b,destroy:function(n){o.log&&console.log("destroy "+n);var i="string"==typeof n?d[n]:null;if(i){i.beforeDestroy&&i.beforeDestroy.call(i);var a=t('script[name="'+n+'"]').attr("src");l=e.array.remove(l,a),t('script[name="'+n+'"]').remove(),delete u.modules[n],d=u.modules,i.destroyed&&i.destroyed.call(i)}},map:p,import:P,importCss:function(t,n){return new Promise((function(i,a){if("string"==typeof t){var r=e.hasRouter?t:e.unit.relativePath(t,o.relativePath),l=document.createElement("link")||{};l.href=r+(o.cache?"":"?t="+(new Date).getTime()),l.setAttribute("rel","stylesheet"),l.setAttribute("type","text/css"),n&&l.setAttribute("id",n),document.head&&document.head.appendChild(l),l=null,i(t,n)}else e.showLog(t+"的格式不正确")}))},importSync:S,importHtml:j,load:w,syncLoad:function(n){return new Promise((function(i,a){_asyncToGenerator(regeneratorRuntime.mark((function a(){var o,r,l,c,s,u,d,f,p,h;return regeneratorRuntime.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:o=t.extend(!0,{id:"",url:"",param:null,beforeLoad:null,loaded:null},n),r=e.$(o.id),l=[],c=0;case 4:if(!(c-1?i(l[0]):i(l);case 21:case"end":return a.stop()}}),a)})))()}))},checkLoad:function(t){var n=!0,i=[];if(d=u.modules,"string"==typeof t){t.indexOf(",")>-1?i=t.split(","):i.push(t)}else t&&"array"===e.typeof(t)&&(i=t||[]);if(i.length)i.forEach((function(e,t){d.hasOwnProperty(e)||(n=!1),d[e]&&!1===d[e].isLoaded&&(n=!1)}));else for(var a in d)d[a]&&!1===d[a].isLoaded&&(n=!1);return n},components:k,component:x,delay:function(n){for(var i=t.extend(!0,{id:"",deepView:o.deepView,deepComponent:o.deepComponent,delay:!1,everytime:!1,param:null,beforeLoad:null,loaded:null,compiled:null},n),a=e.$(i.id),r=0;r-1?(e=e.replace(/\..\//g,(function(e){var t=a.lastIndexOf("/");return a=a.substr(0,t),""})),n=a?a+"/"+e:e):e.indexOf("./")>-1?n=a+"/"+e.replace(/\.\//g,""):0===e.indexOf("/")&&(n=e.substr(1)),n}function m(e,t){for(var n=[],i=0;i-1||0===a.indexOf("/")?g(a,t):a;if(o.indexOf(".css")>-1)o.indexOf("css!")>-1?styles.push(o.substr(4)):styles.push(o);else{var r=o.indexOf(".js");r>-1&&(o=o.substr(0,r)),n.push(o),d.hasOwnProperty(o)||p({moduleName:o})}}return n}function v(){var e,n=window.location.href,r=[],l=document.currentScript;if(n.indexOf("#")>-1?r=n.split("#"):r.push(n),i=r[0].replace("/index.html","")+"/",l)return e=l.src.replace(i,""),{name:l.getAttribute("name")||e.substr("0",e.indexOf(o.scriptSuffix)),src:e};try{a()}catch(e){var c=(c=(e.stack||e.sourceURL||e.stacktrace||"").split(/[@ ]/g).pop().replace(/(:\d+)?:\d+$/i,"")).replace(new RegExp(i,"g"),"");return{name:(l=t('script[src="'+c+'"]')[0])?l.getAttribute("name"):c.replace(o.scriptSuffix,""),src:c}}}function b(t,n,i){if(o.log&&console.log("require "+t),i=1==i,"boolean"==typeof n&&(i=n,n=function(){}),t&&"string"==typeof t){if(t.indexOf(".css")>-1)return P(t,n);if(t.indexOf(".html")>-1)return P(t,n);t=0===t.indexOf("/")?[t.substr(1)]:[t]}if(n&&"function"!=typeof n&&"boolean"!=typeof n)return e.showLog("require第2个参数格式为函数或布尔值","bui.loader.require"),this;try{return function(t,n,i){var a=[];function r(t,n){t=t||[],d=u.modules;var i=e.array.uniq(t);i.length>1&&i.forEach((function(e,t){var n=d[e];(n&&1==n.isLoaded||n.loaded)&&i.splice(t,1)})),i.forEach((function(t,l){var c=d[t];if(d[t]&&d[t].style&&d[t]&&d[t].style.length&&E(d[t].style),e.array.compare(a,t)||a.unshift(t),c&&c.isLoaded){if(!1===(c&&c.beforeLoad&&c.beforeLoad.call(c,c.depend)))return!1;l==i.length-1&&(n&&n.apply(c),a=[])}else if(c&&c.loaded){if(s(t,l),!1===(d[t].beforeCreate&&d[t].beforeCreate.call(d[t])))return!1;d[t].created&&d[t].created.call(d[t])}else L(t,(function(){var e=d[t];if(!1===(e&&e.beforeCreate&&e.beforeCreate.call(d[t])))return!1;e&&e.style&&e.style.length&&E(e.style),e&&e.created&&e.created.call(d[t]),s(t,l)}),(function(){l==i.length-1&&(n&&n.apply(null),a=[])}));function s(e,t){var a=d[e];return a&&(a.isDefined=!0),a.id=c?c.id:"",a.props=c?c.props:{},!1!==(a&&a.beforeLoad&&a.beforeLoad.call(a,a.depend))&&(a&&a.depend&&a.depend.length?(o.log&&console.warn(a.moduleName+" depend:"),o.log&&console.log(a.depend),void r(a.depend,n)):void(t==i.length-1&&n&&n.apply(a)))}}))}return new Promise((function(l,c){r(t,(function(){if(function(e){var t=!0,n=e||[];if(d=u.modules,n.length)for(var i=0;i-1?(n.url=e,n.module=e.substr(0,i)):(n.url=t[e]&&t[e].template||e+".html",n.module=e);return n}(o.url);if(o.script){var l=o.script.indexOf(".js");r.module=o.script.substr(0,l)}var c="string"==typeof o.id&&(o.id.indexOf("#")>-1||o.id.indexOf(".")>-1)?o.id.substr(1):o.id;o.id=c,o.name=r.module,o.url=r.url,o.param=e.unit.changeParamBoolean(o.param),p({id:c,moduleName:r.module,props:o.param}),e.history.getLast().currentComponent=c,e.history.setComponent({id:o.id,name:o.name,url:o.url,param:o.param||null});var s=p().modules[o.name];if(s&&"function"==typeof s.template){var u=s.template.call(s)||"";return u=(u=e.unit.handleContent(u)).replace(/#module\.id/g,"#"+o.id),!o.cacheHtml&&e.obj(o.id).html(u),m(o),this}if(o.cacheHtml)return m(o),this;if("function"==typeof r.url){var g=r.url(o)||"";return g=(g=e.unit.handleContent(g)).replace(/#module\.id/g,"#"+o.id),!o.cacheHtml&&e.obj(o.id).html(g),m(o),this}P(r.url,(function(t){t=(t=e.unit.handleContent(t)).replace(/#module\.id/g,"#"+o.id),!o.cacheHtml&&e.obj(o.id).html(t),m(o)}),(function(e){o.onFail&&o.onFail.call(this,r),a(r)}))}else e.showLog("url不能为空");else e.showLog("id不能为空");function m(n){var a=p().modules[n.name];if(!1===(a.beforeLoad&&a.beforeLoad.call(a,a.depend)))return!1;if(h(n.name,{id:n.id,props:n.param||null,isComponent:!0,$:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return t("#"+n.id).find(e)}))}),a.isLoaded&&"function"==typeof a.loaded&&!n.cache){a.id=n.id,a.exports=a.loaded&&a.loaded.call(a,a.exports)||a.exports;var o={id:n.id,name:n.name,url:n.url,param:n.param||null,exports:a.exports||{}};return e.history.setComponent(o),window.store&&window.store.$mount&&window.store.$mount(n.id),n.loaded&&n.loaded.call(a,a.exports),i(a.exports),B(n.id,o),f}e.checkLoad(n.name),b(n.name,(function(t){var o={id:n.id,name:n.name,url:n.url,param:n.param||null,exports:t||{}};e.history.setComponent(o),window.store&&window.store.$mount&&window.store.$mount(n.id),n.loaded&&n.loaded.call(a,t),i(t),B(n.id,o)}),n.reload)}}))}function x(n){var i=t.extend(!0,{id:"",isSelf:!0,deepComponent:o.deepComponent,cache:!1,cacheHtml:!1,delay:!0,param:null,beforeLoad:null,loaded:null,compiled:null},e.config.loader.component,n),a=null;a=""===i.id?e.$(o.componentTag):i.isSelf?e.$(i.id):e.$(i.id).find(o.componentTag);for(var r=[],l=[],c=[],s=[],u=p().modules,d=0;d-1&&(b=i.isSelf?v[0]&&v[0].id:m.id);var y=b&&e.history.getComponent(b,"name");if(y)g.parentId=b,g.parentName=y;else{var x=e.history.getLast();g.parentId=x.id,g.parentName=x.name}var k=g.name||f.getAttribute("name"),T="true"===g.rendered||i.cacheHtml;if(k&&(!g.delay||!i.delay)){g=t.extend(!0,{},g,i.param);var O=u[k],C=f.innerHTML,P=O&&"string"==typeof O.template?O.template:k+".html",j=O&&O.script?O.script:k+".js";P=P||k+".html",O&&"function"==typeof O.template?r.push({id:f.id,el:f,name:k,cacheHtml:T,cache:i.cache,deepComponent:i.deepComponent,template:O.template||"",url:P,srcript:j,slot:C,param:g}):(c.push(P),s.push(j),l.push({id:f.id,el:f,name:k,cacheHtml:T,cache:i.cache,deepComponent:i.deepComponent,url:P,srcript:j,slot:C,param:g}))}}return r.length&&(r.forEach((function(e,t){w({id:e.id,url:e.url,param:e.param||null,template:e.template,cacheHtml:e.cacheHtml,cache:e.cache,beforeLoad:i.beforeLoad})})),i.data=r,I(i)),l.length?(S(e.array.merge(c,s),(function(e){!function t(n){var a=l[n];return n==l.length?(i.data=l,I(i),this):a?(a.template=e[n],void w({id:a.id,url:a.url,param:a.param||null,cacheHtml:a.cacheHtml,cache:a.cache,beforeLoad:i.beforeLoad,loaded:function(e){t(n+1)},onFail:function(){t(n+1)}})):this}(0)})),this):(i.compiled&&i.compiled(i.data),B("componentcompiled",i.data),!1)}function k(e){return x(t.extend(!0,{id:"",isSelf:!1,deepComponent:o.deepComponent,cache:!1,cacheHtml:!1,beforeLoad:null,loaded:null,compiled:null},e)),this}function I(t){for(var n=0;n的模板里面存在循环嵌套")):(t.deepComponent&&a.test(i.template)&&k({id:i.id}),t.loaded&&t.loaded(i),B("componentloaded",i))}t.compiled&&t.compiled(t.data),B("componentcompiled",t.data)}function T(n){for(var i=0;i的模板里面存在循环嵌套"));continue}n.deepView&&l.test(a.template)&&!c.test(a.template)&&O({id:t(a.el)})}n.loaded&&n.loaded(a),B("viewloaded",a)}n.compiled&&n.compiled(n.data),B("viewcompiled",n.data)}function O(e){return C(t.extend(!0,{id:"",isSelf:!1,deepView:o.deepView,loaded:null,compiled:null},e)),this}function C(n){var i=t.extend(!0,{id:"",isSelf:!0,deepView:o.deepView,loaded:null,compiled:null},n),a=null;a=""===i.id?e.$(o.viewTag):i.isSelf?e.$(i.id):e.$(i.id).find(o.viewTag);for(var r=[],l=[],c=loader.map().modules,s=0;s-1?(i&&i(n),N(n).then((function(e){o(n)}))):n.indexOf(".html")>-1||n.indexOf(".htm")>-1?j(n).then((function(e){if("function"!=typeof i)return t(i).html(e),a&&a(e),void o(e);i&&i(e),o(e)}),(function(e){a&&a(e),r(e)})):L(n).then((function(e){i&&i(e),o(e)}),(function(e){a&&a(e),r(e)}));else if(n&&"array"===e.typeof(n)){var l=n.map((function(t,n){return(t=e.unit.resolvePath(t)).indexOf(".css")>-1?N(t):t.indexOf(".html")>-1||t.indexOf(".htm")>-1?j(t):L(t)}));Promise.all(l).then((function(e){i&&i(e),o(e)}),(function(e){a&&a(e),r(e)}))}}))}function S(t,n,i){return new Promise((function(a,o){if("string"==typeof t)P(t,n,i);else if(t&&"array"===e.typeof(t)){var r=[];!function i(o){if(o==t.length)return n&&n(r),void a(r);var l=e.unit.resolvePath(t[o]);return l.indexOf(".css")>-1?N(l,(function(e){r.push(e),i(o+1)})):l.indexOf(".html")>-1||l.indexOf(".htm")>-1?j(l,(function(e){r.push(e),i(o+1)}),(function(e){i(o+1)})):L(l,(function(e){r.push(e),i(o+1)}),(function(e){i(o+1)}))}(0)}}))}function j(t,n,i){return new Promise((function(a,r){var l="function"==typeof n;if(t=e.hasRouter?t:e.unit.relativePath(t,o.relativePath),s.hasOwnProperty(t))return l?n&&n.call(f,s[t],200):"string"==typeof n&&e.$(n).html(s[t]),a(s[t],200),this;"string"==typeof t&&bui.ajax({baseUrl:o.baseUrl,url:t,dataType:"html",contentType:"text/html;charset=UTF-8",mimeType:"html",processData:!1,needNative:o.needNative,cache:o.cache,data:null,success:function(o,r,c){s[t]=o,l?n&&n.call(f,o,r,c):"string"==typeof n&&(e.$(n).html(o),i&&i.call(f,o,r,c)),a(o,r)},error:function(e,t,n){l&&i&&i.call(f,e,t,n),r(e,t,n)}})}))}function L(n,i,a){return new Promise((function(r,c){var s;if(d=u.modules,void 0===n||""==n)return a&&a.call(this,n),c(n),this;if(n in d)s=n,n=d[n].script||s+o.scriptSuffix;else{var f=n.indexOf(o.scriptSuffix);f>-1?s=(n=n).substr(0,f):(s=n,n+=o.scriptSuffix)}n=e.hasRouter?n:e.unit.relativePath(n,o.relativePath);var p=document.createElement("script")||{},h=o.cache?"":"?t="+(new Date).getTime(),g=n.indexOf("http://")>-1||n.indexOf("https://")>-1;p.type="text/javascript",p.async=!1,p.src=g?n+h:u.baseUrl+n+h,p.setAttribute("name",s),p.onload=function(){o.log&&console.log("create "+n),i&&i(n),r(n)},p.onerror=function(e){o.log&&console.log("createError "+n),a&&a(n),c(n)};var m=e.array.index(l,n);return d[s]&&d[s].isDefined?(i&&i(n),r(n)):(m>-1&&d.hasOwnProperty(s)&&t('script[name="'+s+'"]').remove(),m>-1&&!d.hasOwnProperty(s)&&t('script[name="'+s+'"]').remove(),document.body&&document.body.appendChild(p),o.cache&&l.push(n)),p=null,this}))}function E(t){return new Promise((function(n,i){if(t.length,"array"===e.typeof(t)){var a=t.map((function(e){return N(e)}));return Promise.all(a)}return N(t)}))}function N(t,n){return new Promise((function(i,a){if("string"==typeof t){if(e.array.index(c,t)<0){var r=e.hasRouter?t:e.unit.relativePath(t,o.relativePath),l=document.createElement("link")||{};l.href=r+(o.cache?"":"?t="+(new Date).getTime()),l.setAttribute("rel","stylesheet"),l.setAttribute("type","text/css"),document.head&&document.head.appendChild(l),l=null,c.push(t)}i(t,n)}else e.showLog(t+"的格式不正确")}))}function B(t){f.self=this==window||this==f?null:this;var n=e.history.getLast("id");arguments[0]=n+"-"+t,r.trigger.apply(f,arguments)}return f},window.loader=e.loader(),e.define=loader.define,e.require=loader.require,e.map=loader.map,e.import=loader.import,e.checkLoad=loader.checkLoad,e.checkDefine=loader.checkDefine,e.checkImport=loader.checkImport}(window.bui||{},window.libs),function(e,t){e.toggle=function(n){if("string"==typeof n){var i=n||"";(n={}).id=i}var a,o,r={show:function(t,n){if(s)return;if(d=e.objId(l.id),!f&&!p)return!1;f=!1,"function"==typeof t?(t=t,n=n||o||""):(n=t||o||"",t=null);d[0]&&"none"==d[0].style.display&&d.css("display",c);if(d.addClass("animated "+n),"showIn"==n||"showOut"==n||"none"==n)l.revert&&d.removeClass("animated "+n),t&&t.call(r,this),h=!0,f=!0;else{var i=e.platform.isIE()?"animationend":"webkitAnimationEnd";d.one(i,(function(){try{!h&&d.css("display",c),l.revert&&d.removeClass("animated "+n),t&&t.call(r,this),h=!0,f=!0}catch(t){e.showLog(t,"toggle show method")}}))}return this},hide:function(t,n){if(s)return;if(d=e.objId(l.id),!f&&!p)return;p=!1,"function"==typeof t?(t=t,n=n||a||""):(n=t||a||"",t=null);if(d.css("display",c).addClass("animated "+n),"showIn"==n||"showOut"==n||"none"==n)d.css("display","none"),l.revert&&d.removeClass("animated "+n),t&&t.call(r,this),h=!1,p=!0;else{var i=e.platform.isIE()?"animationEnd":"webkitAnimationEnd";d.one(i,(function(){try{d.css("display","none"),l.revert&&d.removeClass("animated "+n),t&&t.call(r,this),h=!1,p=!0}catch(t){e.showLog(t,"toggle hide method")}}))}return this},remove:function(){return d.remove(),this},isShow:function(){return h},destroy:function(e){e=1==e;d&&(d.off(),e&&d.remove());s=!0},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(r,t,n)},config:l,init:g},l=r.config=t.extend(!0,{},{id:"",uid:"",effect:"fadeIn",useBox:!1,revert:!0,inOrder:!1},n),c=l.useBox?"-webkit-box":"block",s=!1,u={show:["fadeIn","fadeInLeft","fadeInRight","fadeInDown","fadeInUp","fadeInLeftBig","fadeInRightBig","fadeInUpBig","fadeInDownBig","zoomIn","bounceIn","rotateIn","rollIn","flipInX","flipInY","lightSpeedIn","showIn","slideInRight","slideInLeft","coverInLeft","coverInRight","zoomSlideInLeft","zoomSlideInRight","pushInLeft","pushInRight"],hide:["fadeOut","fadeOutLeft","fadeOutRight","fadeOutUp","fadeOutDown","fadeOutLeftBig","fadeOutRightBig","fadeOutDownBig","fadeOutUpBig","zoomOut","bounceOut","rotateOut","rollOut","flipOutX","flipOutY","lightSpeedOut","showOut","slideOutRight","slideOutLeft","coverOutLeft","coverOutRight","zoomSlideOutLeft","zoomSlideOutRight","pushOutLeft","pushOutRight"],hideInOrder:["fadeOut","fadeOutRight","fadeOutLeft","fadeOutDown","fadeOutUp","fadeOutRightBig","fadeOutLeftBig","fadeOutUpBig","fadeOutDownBig","zoomOut","bounceOut","rotateOut","rollOut","flipOutX","flipOutY","lightSpeedOut","showOut","slideOutLeft","slideOutRight","coverOutRight","coverOutLeft","zoomSlideOutRight","zoomSlideOutLeft","pushOutRight","pushOutLeft"]},d=null,f=!0,p=!0,h=!1;function g(t){if(s=!1,(t=t||l).id){d=e.objId(t.id),l=r.config=t,d.attr("class");var n=t.effect,i=t.inOrder?e.array.index(u.hideInOrder,n):e.array.index(u.hide,n),c=n&&(e.array.index(u.show,n)>-1?e.array.index(u.show,n):i);return h=!(d[0]&&"none"==d[0].style.display||"none"==d.css("display")),c<0?(o=u.show[0],a=t.inOrder?u.hideInOrder[0]:u.hide[0]):(o=u.show[c],a=t.inOrder?u.hideInOrder[c]:u.hide[c]),t.uid&&e.history.setUI&&e.history.setUI({uid:t.uid,ui:r}),this}e.showLog("toggle id不能为空","bui.toggle")}return l.id&&g(l),r}}(window.bui||{},window.libs),function(e,t){e.unit={},e.unit.remToPx=function(e){var t=window&&window.viewport&&window.viewport.fontSize||100;return e=(parseFloat(e)*t).toFixed(2)},e.unit.pxToRem=function(e){var t=window&&window.viewport&&window.viewport.fontSize||100;return e=(parseFloat(e)/t).toFixed(2)},e.unit.pxToRemZoom=function(e){return e=(parseFloat(e)/100).toFixed(2)},e.unit.debounce=function(e,t,n){var i;return function(){var a=n||this,o=arguments,r=function(){i=null,e.apply(a,o)};clearTimeout(i),i=setTimeout(r,t)}},e.unit.throttle=function(e,t,n){var i,a;return t||(t=250),function(){var o=n||this,r=+new Date,l=arguments;i&&r0?window.location.href="mailto:"+t.email+"?subject="+(t.subject||"")+"&body="+(t.body||"")+"&cc="+(t.cc||""):e.showLog(email+"格式不正确"),e},e.unit.openExtral=function(t){var n=[],i="";if((t=String(t)).indexOf("mailto:")>=0)if((i=(n=t.split("mailto:"))[1]).indexOf("?")>-1){var a=i.split("?"),o=e.unit.keyStringToObject(a[1]);o.email=a[0],e.unit.mailto(o)}else e.unit.mailto({email:i});if(t.indexOf("tel:")>=0&&(n=t.split("tel:"),i=parseInt(n[1]),e.unit.tel(i)),t.indexOf("sms:")>=0)if(i=(n=t.split("sms:"))[1],t.indexOf("=")>=0){var r=t.split("=")[1];e.unit.sms(i,r)}else e.unit.sms(i);return e},e.unit.objectToKeyString=function(e,t){var n="";for(var i in e){n+="&"+i+"="+(t?encodeURIComponent(e[i]):e[i])}return n.substr(1)},e.unit.keyStringToObject=function(t,n){var i,a={},o=[];try{for(o=t.split("&"),i=0;i-1){var o,r=(a=i.split(",")).length;for(o=0;o-1&&(a[o]=l.substr(1))}}else i.indexOf(".")>-1?a[0]=i.substr(1):a[0]=i;var c,s=a.length;for(c=0;c-1?t.split(","):[t]},e.unit.setKeyValue=function(e,t,n){var i=e&&e.indexOf(".")>-1?e.split("."):[e];return function e(n,a){if(i.length)return e(i.shift(),a[n]||{});a[n]=t}(i.shift(),n)},e.unit.getKeyValue=function(e,t){var n=e&&e.indexOf(".")>-1?e.split("."):[e];return function e(t,i){var a=i[t];if(a&&"string"==typeof a&&a.indexOf("{")>-1&&a.indexOf("}")>-1)try{i[t]=JSON.parse(a)}catch(e){i[t]=a}return a&&void 0!==a&&n.length?e(n.shift(),a):a}(n.shift(),t)},e.unit.getKeyObj=function(t,n){var i=t&&t.indexOf(".")>-1?t.split("."):[t];return function t(n,a){var o=a[n];return"array"!==e.typeof(o)&&"object"===e.typeof(o)?t(i.shift(),o):o}(i.shift(),n)},e.unit.getKeyName=function(t){var n=field&&field.indexOf(".")>-1?field.split("."):[field];return function t(i,a){var o=a[i];return"array"!==e.typeof(o)&&"object"===e.typeof(o)?t(n.shift(),o):o}(n.shift(),t)},e.unit.delKey=function(e,t){var n=e&&e.indexOf(".")>-1?e.split("."):[e];return function e(i,a){return n.length?e(n.shift(),a[i]):(delete a[i],t)}(n.shift(),t)},e.unit.calcHeight=function(e,n){var i=t(e);i[0]&&(i[0].style.height="calc(100% - "+n+")")},e.unit.resolvePath=function(t){if(!e.hasRouter)return t;var n=t=t||"",i=(router&&router.history&&router.history.getLast()||{url:n}).url||"";if("function"==typeof i)return n;var a=i.lastIndexOf("/"),o=i.substr(0,a);return t.indexOf("../")>-1?(t=t.replace(/\..\//g,(function(e){var t=o.lastIndexOf("/");return o=o.substr(0,t),""})),n=o?o+"/"+t:t):t.indexOf("./")>-1?n=o+"/"+t.replace(/\.\//g,""):0===t.indexOf("/")&&(n=t.substr(1)),n},e.unit.filterField=function(t,n){var i={};if("object"===_typeof(n)){var a="object"===e.typeof(t),o="object"===e.typeof(n),r="array"===e.typeof(t),l="array"===e.typeof(n);if(a){if(o)for(var c in n)i[c]=n[c]?s(t,n[c]):t[c];else l&&n.forEach((function(e,n){i[e]=s(t,e)}));return i}return r?(i=[],l?t.forEach((function(e,t){var a={};n.forEach((function(t,n){a[t]=s(e,t)})),i.push(a)})):o&&t.forEach((function(e,t){var a={};for(var o in n)a[o]=n[o]?s(e,n[o]):e[o];i.push(a)})),i):void 0}function s(t,n){return n.indexOf(".")>-1?e.unit.getKeyValue(n,t):t[n]}},e.unit.fixZero=function(e){return e<10?"0"+e:e},e.unit.getAttributes=function(t){if("object"!==_typeof(t))return null;var n={},i=/\{.+\}$/g,a=/\[.+\]$/g;return t.attributes&&Object.keys(t.attributes).forEach((function(o,r){var l=t.attributes[o],c=l.value;if(i.test(c)||a.test(c))try{c=JSON.parse(c)}catch(t){c=c,e.showLog(t)}n[l.name]=c})),n},e.unit.resolvePathname=function(e,t){t=t||0;var n=e.lastIndexOf("/"),i=e.substring(t,n);return i.indexOf("/")>-1?i.split("/"):[i]},e.unit.relativeUrl=function(e,t){var n=[];return t.length>=e.length?t.forEach((function(t,i){var a=e[i];a&&t===a||(a&&t!==a?(n.unshift(".."),n.push(t)):n.push(t))})):e.forEach((function(e,i){var a=t[i];a&&e===a||(a&&e!==a?(n.unshift(".."),n.push(a)):n.unshift(".."))})),n},e.unit.relativePath=function(t,n){n=n||"pages";var i=window.self.location.href;if(i.indexOf("source.html?url=")>-1&&i.indexOf("code=")>-1)return t;if(0===t.indexOf("http://")||0===t.indexOf("https://")||0===t.indexOf("./"))return t;var a=window.location.href,o=a.indexOf(n),r=t&&t.indexOf("/")>-1?t.split("/"):[t],l=[];if(o<0){var c=window.location.pathname.toLocaleLowerCase(),s=c.indexOf("www"),u=c.indexOf("src"),d=c.indexOf("dist");if(s>-1){var f=e.unit.resolvePathname(c,s+4);l=e.unit.relativeUrl(f,r)}else if(d>-1){var p=e.unit.resolvePathname(c,d+5);l=e.unit.relativeUrl(p,r)}else{if(!(u>-1))return 0==t.indexOf("/")?t.replace("/",""):t;var h=e.unit.resolvePathname(c,u+4);l=e.unit.relativeUrl(h,r)}}else{var g=e.unit.resolvePathname(a,o);l=e.unit.relativeUrl(g,r)}return l.join("/")},e.unit.between=function(t,n,i){var a=!0,o=new Date;if(n=n||0,i=i||e.date.convert(o.getFullYear+"/12/31").getTime(),"number"==typeof t)(ti)&&(a=!1);else{n||e.showLog("bui.unit.between 第2个参数为最小日期");try{n=e.date.convert(n).getTime(),i=e.date.convert(i).getTime(),((t=e.date.convert(t).getTime())i)&&(a=!1)}catch(t){e.showLog("bui.unit.between 用来检测数字或者日期,请检查参数格式是否正确")}}return a},e.unit.numberunit=function(e){var t=+e,n=t;return t>1e4&&(n=parseFloat(t/1e4).toFixed(1)+"万"),n},e.unit.handleStyleScope=function(e){var t=e.match(/(?=[#|\.|\w]).*[,|\{][\s\S]*?}/gm)||[];return t=t.map((function(e){var t=e.indexOf(","),n=e.indexOf("{");return t>-1&&t/g).join("")},e.unit.getStyleContent=function(t){var n=e.unit.getStyleStr(t);return(n=n.replace(/<\/style>/g,"")).replace(//g,"")},e.unit.changeParamBoolean=function(e){for(var t in e)"false"===e[t]?e[t]=!1:"true"===e[t]&&(e[t]=!0);return e},e.unit.handleContent=function(t){var n=//g,i=t&&t.match(n);if(!i)return t;var a=t&&t.match(/@import url.+\)[;]?/g),o=a?a.join(""):"",r=i.join(""),l=t.replace(n,""),c=e.unit.getStyleContent(r);return"")+l+""}}(window.bui||{},window.libs),function(e,t){var n,i,a,o;e.history=(a=[],o={get:function(t,n){if(void 0===t)return a;var i=n||"name";return e.array.get(a,t,i)},getLast:function(e){var t=a.length-1,n=a[t]||{};return e?n[e]:n},getPrev:function(e){var t=a.length-2,n=a[t]||{};return e?n[e]:n},getParams:function(e){var t=this.getLast(),n={};switch(e){case"page":n=this.getPageParam()||n;break;case"part":case"component":n=this.getComponentParam()||n;break;case"url":n=t.param||bui.getUrlParams();break;default:n=this.getComponentParam(e)||this.getPageParam(e)||t.param||bui.getUrlParams()}return n},setComponent:function(t){var n=this.getLast();return(t.param?Object.keys(t.param):[]).length&&(t.param=e.unit.changeParamBoolean(t.param)),n.component[t.id]=t,t},setUI:function(e){var t=this.getLast(),n=e.uid;return t.ui[n]=e.ui,o},getUI:function(t){return t?this.getLast().ui[t]||null:e.showLog("uid不能为空,指ui自定义唯一的名字")},getComponentParam:function(e){var t=this.getLast(),n=e||t.currentComponent;return n&&t.component[n]&&t.component[n].param||null},getComponent:function(t,n){if(void 0!==t){n=n||"exports";var i=this.getLast();return i.component[t]&&i.component[t][n]||null}e.showLog("必须传component id 才能获取实例")},getComponents:function(t,n){if(void 0!==t){for(var i=this.getLast().component,a=Object.keys(i),o=[],r=0;r-1){if(opts.toggle){var c=t.extend(!0,{},n,opts);n.toggle=null,i.splice(o,1,c)}else i.splice(o,1,n);n.syncHistory&&"replaceState"in window.history&&window.history.replaceState(n,null,l)}return i},refresh:function(){if(e.hasRouter){var n=o.getLast(),i=loader.get(n.name);loader.import(n.url,(function(a){t("#"+n.id).html(a),e.config.init.auto&&e.init(),router.config.needView&&loader.views(),i.loaded(),router.config.needComponent&&loader.components()}))}else window.location.reload(!0)},removeNext:function(t){var n=a,i=t.index;if(parseInt(i)<0)return e.showLog("index 必须大于或者等于0"),n;var o=n.length-i;n.splice(i,o);var r=this.getLast(),l=window.location.origin+window.location.pathname+"#"+r.name,c=e.setUrlParams(l,r.param);return t.syncHistory&&"replaceState"in window.history&&window.history.replaceState(r.param,null,c),n},removeLast:function(e){var t=a.length-1;return this.removeNext({index:t,syncHistory:!1!==e})},check:function(t){var n=a;return e.array.compare(n,t,"name")||e.array.compare(n,t,"url")||e.array.compare(n,t,"id")},checkComponent:function(t){var n=this.getLast(),i=Object.keys(n.component);return e.array.compare(i,t)},checkPage:function(e,t){for(var n=this.getLast(),i=Object.keys(n.page),a=0;a-1){var s=t.substr(i+1);l=e.unit.keyStringToObject(s,!0)}return n>-1?(o=(a=0==t.indexOf("/")?t.substr(1,n-1):t.substr(0,n-1))+".html",r=a+".js"):(o=c[a=t]&&c[a].template||"",r=c[a]&&c[a].script||""),{pid:a,name:a,url:o,src:r,param:l}}(window.location.href),i=e.guid(),t(document).ready((function(){document.body.setAttribute("id",i)})),a.push({id:e.guid(),pid:n.pid,name:n.pid,url:n.url,src:n.src,param:n.param,page:{},ui:{},component:{}}),o)}(window.bui||{},window.libs),function(e,t){e.router=function(n){var i,a,o,r=t.extend({},{id:"",uid:"",progress:!1,syncHistory:!0,autoInit:!0,firstAnimate:!1,path:"",indexModule:{moduleName:"main",template:"pages/main/main.html",script:"pages/main/main.js"},repairPath:!0,parseurl:!0,errorPage:"",hash:!1,cache:!0,reloadCache:!1,reload:!1,swipe:!1,swipeBack:!1,distance:100,startDistance:5,swipeDistance:50,onSwipeRight:null,onSwipeLeft:null,onSwipeUp:null,onSwipeDown:null,onBeforeSwipeRight:null,onSwipeCancel:null,pageMove:!0,needNative:!1,needView:!1,needComponent:!0,useScroll:"main,.bui-tab-main>ul>li,.bui-dialog-main,.bui-scroll,.bui-scroll-x",beforeBack:null,beforeLoad:null,loaded:null,store:null,width:0,height:0,async:!0,effect:"push",hashPrefix:"#",scriptSuffix:".js",pageSuffix:".html"},e.config.router,n),l=null,c=this,s=null,u=null,d=null,f="",p="",h=!0,g=!0,m=!1,v=!1,b=!0,y={none:{inRight:"showIn",inLeft:"showIn"},fadein:{inRight:"fadeIn",inLeft:"fadeIn"},fadeinslide:{inRight:"fadeInRight",inLeft:"fadeInLeft"},slide:{inRight:"slideInRight",inLeft:"slideInLeft"},push:{inRight:"pushInRight",inLeft:"pushInLeft"},zoom:{inRight:"zoomIn",inLeft:"zoomIn"},cover:{inRight:"coverInRight",inLeft:"coverInLeft"},zoomslide:{inRight:"zoomSlideInRight",inLeft:"zoomSlideInLeft"},fadeinslideback:{inRight:"fadeInLeft",inLeft:"fadeInRight"},slideback:{inRight:"slideInLeft",inLeft:"slideInRight"},pushback:{inRight:"pushInLeft",inLeft:"pushInRight"},coverback:{inRight:"coverInLeft",inLeft:"coverInRight"},zoomslideback:{inRight:"zoomSlideInLeft",inLeft:"zoomSlideInRight"}},w={},x={},k={},I={},T=!1,O={},C={},P=loader.map(r.indexModule),S=e.history.epmty(),j=P.modules,L=e.storage({local:!1});function E(e){var t=window.location.hash||window.location.search,n=window.location.search,i=n&&n.indexOf("?"),a=(e=0!=e,t&&t.indexOf("?")),o=a>-1?t&&t.substr(1,a-1):window.location.hash.substr(1),l=o&&o.indexOf(r.pageSuffix),c=l>-1?o.substr(0,l):o,s=l>-1?o:o+r.pageSuffix,u={};function d(t,n){var i=t&&t.substr(n+1);if(i.indexOf("?")>-1){var a=i.split("?");o(a[0]),o(a[1])}else o(i);function o(t){for(var n=t&&t.split("&"),i=0;i-1&&(d(n,i),d(t,a)),{pid:c,url:s,param:u}}function N(n){var i={id:"",url:"",param:{},effect:"",command:"html",path:r.path,repairPath:r.repairPath,firstAnimate:r.firstAnimate,progress:r.progress,reload:r.reload,autoInit:r.autoInit,needView:r.needView,needComponent:r.needComponent,replace:!1,iframe:!1,decode:!1,part:!1,cache:r.cache,callback:null,beforeLoad:r.beforeLoad,loaded:r.loaded},c=t.extend(!0,{},i,n),f=t.Deferred(),g=x.getLast()||null;S[S.length-2],c.url.indexOf("./")>-1&&(c.url=function(e,t){var n=e,i=t.url.lastIndexOf("/"),a=t.url.substr(0,i);e.indexOf("../")>-1?(e=e.replace(/\..\//g,(function(e){var t=a.lastIndexOf("/");return a=a.substr(0,t),""})),n=a?a+"/"+e:e):e.indexOf("./")>-1?n=a+"/"+e.replace(/\.\//g,""):0===e.indexOf("/")&&(n=e.substr(1));return n}(c.url,g)),c.repairPath&&0===c.url.indexOf("/")&&(c.url=c.url.substr(1)),c.path&&(c.path="/"==c.path[c.path.length-1]?c.path:c.path+"/"),c.url=c.url in j||c.iframe||c.url.indexOf("http:")>-1?c.url:c.path+c.url,document.activeElement.blur();var v=null,y={};c.id=(c.id&&c.id.indexOf("#")>-1?c.id.substr(1):c.id)||"";var I=c.replace||c.part?g.id:c.id||e.guid(),P=e.objId(I);if(!c.url)return e.showLog("url 不能为空","bui.router.load"),f.promise();if(c.url=c.decode?decodeURIComponent(c.url):c.url,c.url.indexOf("tel:")>=0||c.url.indexOf("mailto:")>=0||c.url.indexOf("sms:")>=0)return e.unit.openExtral(c.url),f.promise();if(c.url&&c.url.indexOf("?")>-1){var L=c.url.split("?");y=e.unit.keyStringToObject(L[1]),c.url=L[0]}v=t.extend(!0,{},y,c.param),v=e.unit.changeParamBoolean(v),"wechat_redirect"==c.url?c.url="main":"undefined"==c.url&&(c.url=r.errorPage||"main"),c.iframe==v.iframe&&v.iframe.toString();var E=B(c.url),D=E.pid||params.errorPage||"main",R=c.iframe?c.url:E.url,_={id:I,pid:D,name:D,url:"function"==typeof R?c.url:R,replace:c.replace,param:v,component:{},page:{},part:{},ui:{},toggle:null,exports:{},effect:n.effect||r.effect,syncHistory:r.syncHistory},V="function"==typeof c.beforeLoad?c.beforeLoad.call(H,{prevTarget:g,target:_}):c.beforeLoad;if(U.call(H,"loadbefore",{prevTarget:g,target:_}),U.call(H,"beforeload",{prevTarget:g,target:_}),!1===V)return h=!1,this;if(c.part,o&&o.show(),c.progress&&a&&a.show(),loader.map({moduleName:D,id:I}),loader.get(_.pid),S.length&&c.effect){var q=S.length-1;S[q].effect=c.effect}!m&&!c.part&&!c.replace&&x.add(_),c.replace&&x.replace(_);var W=_;if(c.part&&(e.history.setComponent({id:I,pid:D,url:R,param:v}),W.currentComponent=I,S.splice(S.length-1,1,W)),c.part||_,k[D])!function(e){G(O.get(e.pid,"template")),e.part?Q(e):(X(),!m&&Z((function(){e.firstAnimate&&(Q(e),e.loaded&&e.loaded({prevTarget:g,target:_}),e.callback&&e.callback({prevTarget:g,target:_})),e.progress&&a&&a.hide()})),!e.firstAnimate&&Q(e))}({pid:D,progress:c.progress,part:c.part,firstAnimate:c.firstAnimate}),r.needComponent&&loader.components(),c.firstAnimate||(c.loaded&&c.loaded({prevTarget:g,target:_}),c.callback&&c.callback({prevTarget:g,target:_})),U.call(H,"complete",{prevTarget:g,target:_});else{if(c.iframe)return function(t){var n=function(t){var n=t.url.indexOf(".html")>-1||0==t.url.indexOf("http")?t.url:t.url+".html",i=t.param?e.setUrlParams(n,t.param):n,a="",o=e.platform.isIos()?'scrolling="no"':"";return a+='
    ',a+='',a+="
    "}({id:t.id,pid:t.pid,url:t.url,param:t.param});s&&s.attr("data-main",t.id).append(n),Z((function(){c.progress&&a&&a.hide()}))}({id:I,pid:D,url:c.url,param:v}),f.promise();if(c.part)return A(R,(function(t,n,i){e.objId(I)[c.command](t),Y(ee),c.cache&&O.add(D,{id:I,pid:D,template:t}),o&&o.hide(),c.progress&&a&&a.hide()}),(function(e,t,n){K(R,e),U.call(H,"loadfail",e,t,n)})),f.promise();A(R,(function(e,t,n){if("object"===_typeof(e))return K(R,e),!1;G(e),c.cache&&O.add(D,{id:I,pid:D,template:e}),X(),c.firstAnimate?Z((function(){Y(ee),c.progress&&a&&a.hide(),C.add(D,{id:I,pid:D,param:v})})):(Z((function(){c.progress&&a&&a.hide()})),Y(ee),C.add(D,{id:I,pid:D,param:v}))}),(function(e,t,n){K(R,e),U.call(H,"loadfail",e,t,n)}))}function K(t,n,i,l){if(o&&o.hide(),c.progress&&a&&a.hide(),x.removeLast(),f.reject(t),"object"===_typeof(n)){switch(e.showLog("找不到页面"+t,"bui.router.load"),window.location.protocol){case"file:":e.hasRouter&&e.showLog("PC调试预览单页时,需要开启跨域的Chrome,或使用部署站点才能访问,具体请查看官网调试章节");break;case"http:":case"https:":e.showLog("请检查下网络是否正常")}return r.errorPage&&function(e){!function(e){var t,n=window.location.href,i=(t=(t=n.indexOf(r.hashPrefix))>-1?t:0)>-1?n.substr(0,t):n;N({url:r.errorPage||i,param:{error:e}}),U.call(H,"error",{target:e,status:404})}(e)}(t),!1}}function Y(n){loader.set(D,{props:v,$:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return t("#"+I).find(e)}))}),m||w[D]?(W.exports=w[D],Q({pid:D}),T&&Z(),n&&n(),r.needComponent&&loader.components(),J()):(loader.checkLoad(D)?(Q({pid:D}),r.needComponent&&loader.components(),n&&n(),J()):(r.needComponent&&loader.components(),loader.require(D,(function(t){try{if(c.firstAnimate&&c.progress&&a&&a.hide(),w[D]=t||null,_.exports=t,f.resolve(t),h||c.firstAnimate||c.replace){var i=loader.get(D);i&&i.show&&i.show({type:"firstload",target:_})}n&&n(),c.loaded&&c.loaded({prevTarget:g,target:_}),c.callback&&c.callback({prevTarget:g,target:_}),J(),!b&&c.firstAnimate&&U.call(H,"pageshow",{type:"load",target:_})}catch(t){e.showLog(t,"bui.router.load"),f.reject()}}))),U.call(H,"complete",{prevTarget:g,target:_}))}function J(e){if(b){var t=x.getLast(),n="pageshow-"+t.pid;!c.firstAnimate&&U.call(H,"pageshow",{type:"load",target:t}),U.call(H,n,{type:"load",target:t}),b=!1}}function X(){var t=(l=e.objId(W.id))&&l.find(".bui-page");t&&t.length&&c.autoInit&&e.init({id:t,height:p})}function Z(t){l=e.objId(I),M(),F();try{h||m||c.replace||c.part?(t&&t(),!c.firstAnimate&&c.progress&&a&&a.hide(),o&&o.hide(),l&&l.css("zIndex",5)):(u&&u.hide(),d&&d.show((function(){t&&t(),!c.firstAnimate&&c.progress&&a&&a.hide(),l&&l.css("zIndex",5),o&&o.hide();var e=S[S.length-2]||{},n=x.getLast(),i=loader.get(n.pid),r=e&&e.pid&&loader.get(e.pid)||null,s="pageshow-"+n.pid,u="pagehide-"+e.pid;r&&r.hide&&r.hide({type:"load",target:e}),i&&i.show&&i.show({type:"load",target:x.getLast()}),U.call(H,u,{type:"load",target:e}),U.call(H,s,{type:"load",target:x.getLast()}),U.call(H,"pagehide",{type:"load",target:e}),c.firstAnimate?loader.checkLoad(S[S.length-1].pid)&&U.call(H,"pageshow",{type:"load",target:n}):U.call(H,"pageshow",{type:"load",target:n})})))}catch(t){e.showLog(t,"bui.router.doAnimate")}}function G(t){var n="";H.store&&(t=H.store.compileHtml(t));var i=e.history.getLast();if(t=(t=e.unit.handleContent(t)).replace(/#module\.id/g,"#"+i.id),c.part)n=z({content:t}),c.id?P.html(n):e.showLog("id 不能为空","router.loadPart");else if(c.replace){var a=x.getLast();P=S.length?e.objId(a.id):s,a.pid=D,a.url=R,a.param=v,e.array.index(S,D,"pid"),n=D in k?O.get(D,"template"):z({content:t}),P.html(n).attr("data-page",D)}else m||(n=$({id:I,content:t,pid:D}),s&&s.attr("data-main",I).append(n));return r.needView&&loader.views({compiled:function(){H.store&&!H.store.config.isPublic&&H.store.config.needCompile&&H.store.compile("#"+I)}}),!H.store||r.needView||H.store.config.isPublic||H.store.config.needCompile&&H.store.compile("#"+I),n}function Q(e){var n=x.getLast(),i=j[e.pid]&&j[e.pid]||{},a=i.loaded;loader.set(e.pid,{props:n.param,$:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return t("#"+n.id).find(e)}))});var r=a&&a.apply(i,i.dependExports)||i.exports;w[e.pid]=r||null,i.exports=r,n.exports=r,m&&U.call(H,"refresh",{prevTarget:g,target:n}),o&&o.hide(),f.resolve(r),m=!1,h=!1}function ee(){var e=S[S.length-2]||null,t=x.getLast();h&&!c.part&&(U.call(H,"firstload",{prevTarget:e,target:t}),h=!1),c.part?U.call(H,"loadpart",{prevTarget:e,target:t}):U.call(H,"load",{prevTarget:e,target:t})}return f.promise()}function B(e){var t="",n=e;P=loader.map(),j=P.modules;var i=n.indexOf(r.pageSuffix);return i>-1?(n=(t=n).substr(0,i),j.hasOwnProperty(n)&&(t=j[n]&&j[n].template||t||"")):t=j[n=n]&&j[n].template||n+r.pageSuffix||"",{pid:n,url:t}}function D(n){var i=this,a={};"function"==typeof n?a.callback=n:a=n||{};var o=t.extend(!0,{index:-1,name:"",beforeBack:r.beforeBack,callback:null,loaded:r.backed},a),l=parseInt(o.index),c=S.length;if(P=loader.map(),j=P.modules,!(l>0)){var f=x.getLast(),p=c-1,h=f.toggle;if(h)return h.hide(),void M();var m="function"==typeof o.beforeBack?o.beforeBack.call(H,{prevTarget:null,target:f}):a.beforeBack;U.call(H,"beforeback",{prevTarget:null,target:f});var v=loader.get(f.pid);return v&&v.beforeDestroy&&v.beforeDestroy(),!1===m?this:(o.name&&(l=R(o.name)),Math.abs(l)>p&&(l=-p),c>1&&g&&(l<-1&&F(l),g=!1,a.effect&&(u.option({effect:a.effect}),d.option({effect:a.effect})),u&&u.show(),d&&d.hide((function(){var n=c+l;!function(e){s.children().each((function(n,i){n>=e&&t(i).remove()}))}(n),x.removeNext(n),F();var a=M(),r=a.pid;e.objId(a.id).css("zIndex",5),function(){var e;e=w[r]||{};var t=loader.get(a.pid);o.callback&&o.callback.call(i,e,a),o.backed&&o.backed.call(H,{prevTarget:f,target:a}),U.call(H,"back",{prevTarget:f,target:a}),a;var n="pageshow-"+a.pid,l="pagehide-"+f.pid;v&&v.hide&&v.hide({type:"back",target:f}),t&&t.show&&t.show({type:"back",target:a}),U.call(H,l,{type:"back",target:f}),U.call(H,n,{type:"back",target:a}),U.call(H,"pageshow",{type:"back",target:a}),U.call(H,"pagehide",{type:"back",target:f}),v&&v.destroyed&&v.destroyed(),g=!0}()}))),this)}e.showLog("index 参数只能是负数","bui.router.back")}function R(t){var n,i=e.array.indexs(S,t,"pid"),a=i.length;if(a){var o=-(S.length-i[a-1]-1);n=0==o?-1:o}else n=-1;return n}function A(t,n,i){if("string"==typeof t){loader.importHtml(t,(function(t,i,a){t=function(e){var t=/)<[^<]*)*<\/script>/gi,n=/]*>([\s\S]*)<\/body>/.exec(e);if(n&&2===n.length)return n[1].replace(t,"");return e}(t),e.history.getLast(),n&&n(t,i,a),U.call(H,"success",t,i,a)}),(function(e,t,n){i&&i(e,t,n),U.call(H,"fail",e,t,n)}))}else if("function"==typeof t){var a=t&&t();n&&n(a,200,{}),U.call(H,"success",a,200,{})}else e.showLog("url 不能为空","bui.router.requestUrl")}function M(){var t=x.getLast(),n=t.id||"",i=t.effect||r.effect;return n&&(U.call(H,"beforepageshow",{target:t}),d=null,d=e.toggle({id:document.getElementById(n),effect:y[i]&&y[i].inRight||""}),s&&s.attr("data-main",n)),t}function F(t){t=t||-1;var n=S.length+t-1,i=S[n],a=i&&i.id||"",o=i&&i.effect||r.effect;return a&&(U.call(H,"beforepagehide",{target:i}),u=null,u=e.toggle({id:document.getElementById(a),effect:y[o]&&y[o].inLeft||""})),i}function $(e){var t="";return t+='
    ',t+=e.content||"",t+="
    "}function z(e){var t="";return t+=e.content}function _(t,n){return e.on.apply(H,arguments),this}function U(t){H.self=this==window||this==H?null:this,e.trigger.apply(H,arguments)}e.hasRouter=!0,x.get=function(){return S},x.add=function(n){if((n=n||{}).toggle){var i=t.extend(!0,{},n);n.toggle=null,S.push(i)}else S.push(n);var a=window.location.origin+window.location.pathname+"#"+n.pid,o=e.setUrlParams(a,n.param);if(!h)return r.syncHistory&&"pushState"in window.history&&window.history.pushState(n,null,o),S;r.syncHistory&&"replaceState"in window.history&&window.history.replaceState(n,null,o)},x.prepend=function(t){t=t||{};var n=window.location.origin+window.location.pathname+"#"+t.pid;return e.setUrlParams(n,t.param),S.unshift(t),S},x.replace=function(t){t=t||{};var n=S.length-1,i=window.location.origin+window.location.pathname+"#"+t.pid,a=e.setUrlParams(i,t.param);return n>-1&&(S.splice(n,1,t),r.syncHistory&&"replaceState"in window.history&&window.history.replaceState(t,null,a)),S},x.getLast=function(e){var t=S.length-1,n=S[t]||{};return e?n[e]:n},x.removeNext=function(t){var n=S.length-t;S.splice(t,n);var i=x.getLast(),a=window.location.origin+window.location.pathname+"#"+i.pid,o=e.setUrlParams(a,i.param);r.syncHistory&&"replaceState"in window.history&&window.history.replaceState(i.param,null,o)},x.removeLast=function(){var e=S.length-1;x.removeNext(e)},x.checkLoad=function(t){return e.array.compare(S,t,"pid")||e.array.compare(S,t,"url")||e.array.compare(S,t,"id")},O.add=function(e,t){return k[e]=t||{},k[e]},O.del=function(e){delete k[e]},O.get=function(e,t){return t?(k[e]||{})[t]:k[e]},O.save=function(){if(S.length>1){var e=i.html();L.set("cacheHtml",e),L.set("cacheHistory",S),L.set("hasCache","true")}},O.load=function(){var t=L.get("cacheHtml",0),n=L.get("cacheHistory",0),a=[];if(n.length>1){i.html(t),s=i.children(".bui-router-main"),D({name:E().pid});try{n.forEach((function(e,t){var n="string"==typeof e?JSON.parse(e):e;a.push(n)}));var o=a[a.length-1];o,loader.require(o.pid,(function(e){w[o.pid]=e||null})),_("back",(function(e){loader.require(e.target.pid,(function(t){w[e.target.pid]=t||null}))}))}catch(t){e.showLog(t)}S=a,M(),F(),h=!1,T=!0,O.clear()}},O.clear=function(){L.remove("cacheHistory"),L.remove("cacheHtml"),L.remove("hasCache")},C.add=function(e,t){return I[e]=t||{},I[e]},C.get=function(e,t){return t?(I[e]||{})[t]:I[e]};var H={init:function(n){H.store=n.store||null,delete n.store,n=t.extend(!0,{},r,e.config.router,n),r=H.config=n;var l,u=e.history.getParams("url");if(u.module&&n.parseurl){var d=u.module;delete u.module;var h=e.setUrlParams(d,u);return window.location.href=window.location.origin+window.location.pathname+"#"+h,this}if("pages/main/main.html"===n.indexModule.template&&"pages/main/main.js"===n.indexModule.script||(P=loader.map(n.indexModule)),v&&"effect"in n&&S.forEach((function(e,t){e.effect=n.effect})),!n.id)return e.showLog("id 不能为空","bui.router.init"),!1;if(i=e.objId(n.id),o=bui.mask({appendTo:i,opacity:0,autoClose:!1}),a=e.loading({display:"block",width:30,height:30,opacity:0}),s=i.children(".bui-router-main"),f=n.width||window&&window.viewport&&window.viewport.width()||document.documentElement.clientWidth||"100%",p=n.height||window&&window.viewport&&window.viewport.height()||document.documentElement.clientHeight||"100%",!s.length){var g=(l="",String(f).indexOf("%"),String(p).indexOf("%"),l+='
    ',l+="
    ");i.html(g),s=i.children(".bui-router-main")}return(n.width>0||String(n.width).indexOf("%")>-1)&&s.width(n.width),(n.height>0||String(n.height).indexOf("%")>-1)&&s.height(n.height),function(n){if(function(){var t=L.get("hasCache",0);Boolean(t)&&r.reloadCache?O.load():function(t){try{var n=E();if(n.pid){if(n.pid.indexOf("http://")>-1||n.pid.indexOf("https://")>-1)return n.param.iframe=!0,void N({url:n.pid,param:n.param,iframe:!0});N({url:n.pid,param:n.param})}else N({url:r.indexModule.moduleName,param:n.param||{}})}catch(t){e.showLog(t,"bui.router.loadUrl")}}()}(),n.swipe&&function(n){var a=/hp-tablet/gi.test(navigator.appVersion),o="ontouchstart"in window&&!a,l=0,c=0,s=!1,u=null,d=null,f={x1:0,x2:0,y1:0,y2:0,direction:""};i.on("touchstart",(function(i){var a=i.originalEvent&&i.originalEvent.targetTouches||i.targetTouches,l=o?a[0]:i;f.x1=l.pageX,f.y1=l.pageY,s=t(i.target).closest(r.useScroll).length,S.length>1&&f.x1>0&&f.x11||i.scale&&1!==i.scale||(s=t(i.target).closest(r.useScroll).length,f.x2-f.x1>0&&!s&&i.preventDefault(),f.direction||(f.direction=e.swipeDirection(f.x1,f.x2,f.y1,f.y2)),"swipeleft"!==f.direction&&"swiperight"!==f.direction||(i.preventDefault(),i.stopPropagation()),l=Math.abs(f.x2-f.x1),c=Math.abs(f.y2-f.y1),"swiperight"===f.direction&&l>n.startDistance&&n.swipeBack&&(d&&d.css("display","block"),n.pageMove&&u&&u.css("transform","translateX(".concat(l,"px)")),i.preventDefault()))})),i.on("touchend",(function(e){(s=t(e.target).closest(r.useScroll).length,"swiperight"===f.direction&&f.x1>n.distance&&n.swipeBack&&(l=0),"swiperight"===f.direction&&l>n.swipeDistance)&&(!1!==(n.onBeforeSwipeRight&&n.onBeforeSwipeRight())&&n.swipeBack&&bui.back(),n.onSwipeRight&&n.onSwipeRight(e),U.call(H,"swiperight"));"swipeleft"===f.direction&&l>n.swipeDistance&&(n.onSwipeLeft&&n.onSwipeLeft(e),U.call(H,"swipeleft")),"swipeup"===f.direction&&c>n.swipeDistance&&!s&&(n.onSwipeUp&&n.onSwipeUp(e),U.call(H,"swipeup")),"swipedown"===f.direction&&c>n.swipeDistance&&!s&&(n.onSwipeDown&&n.onSwipeDown(e),U.call(H,"swipedown")),l-1?(D({index:-(S.length-o-1||1)}),U.call(c,"popstate",{type:"back",prevTarget:S[o-1],target:S[o]})):(N({url:i,param:n.param,iframe:"true"==n.param.iframe,replace:!0}),U.call(c,"popstate",{type:"load",prevTarget:S[S.length-2],target:S[S.length-1]}))})),this;r.syncHistory&&"pushState"in window.history&&window.addEventListener("popstate",(function(t){var n=E(),i=""==n.pid?r.indexModule.moduleName:n.pid,a=R(i);e.array.index(S,i,"pid")>-1?(D({index:a,param:n.param}),U.call(c,"popstate",{type:"back",prevTarget:S[a-1],target:S[a]})):(N({url:i,param:n.param,iframe:"true"==n.param.iframe}),U.call(c,"popstate",{type:"load",prevTarget:S[S.length-2],target:S[S.length-1]}))}))}(n),n.uid&&e.history.setUI&&e.history.setUI({uid:n.uid,ui:H}),U.call(this,"init",{target:i[0]}),H},option:function(t,n){return v=!0,e.option.call(H,t,n)},config:r,data:{},on:_,off:function(t,n){return e.off.apply(H,arguments),this},trigger:U,load:N,resize:function(e){return(e=e||{}).width=e.width||r.width,e.height=e.height||r.height,window.viewport=bui.viewport(),f=e.width||window&&window.viewport&&window.viewport.width()||document.documentElement.clientWidth||"100%",p=e.height||window&&window.viewport&&window.viewport.height()||document.documentElement.clientHeight||"100%",s.css({width:f,height:p}),U.call(this,"resize",{target:S[S.length-1]}),this},destroy:function(t){return"string"==typeof t&&"main"!==t?(loader.destroy(t),O.del(t),t in w&&delete w[t]):e.showLog("参数只能是字符串"),this},loadPart:function(e){var n=t.Deferred(),i=t.extend(!0,{},{id:"",url:"",param:{},loaded:null},e);return i.loaded=function(t){e.loaded&&e.loaded.call(H,t),n.resolve(t),U.call(H,"loadpart",t)},loader.load(i),n.promise()},replace:function(e){return N({url:(e=e||{}).url||"",param:e.param||{},replace:!0}),this},refresh:function(){var t=S.length-1,n=S[t],i=S.length>1?S[S.length-2]:null;return e.history.refresh(),U.call(H,"refresh",{prevTarget:i,target:n}),this},back:D,isLoad:function(e){var t;return e&&(t=e in w),t},$:function(t){var n=x.getLast(),i=document.getElementById(n.id)||document;return e.obj(t,i)},currentId:function(e){return x.getLast().id},currentPage:function(){var e=x.getLast();return document.getElementById(e.id)},currentModule:function(){return x.getLast()},getPageParams:function(){return x.getLast().param},getPartParams:function(t){return e.history.getComponentParam(t)},getHistory:x.get,preload:function(n){var i=t.Deferred(),a=function(t,a){return A(t.url,(function(i){var o=e.guid(),r=B(t.url).pid;$({id:o,content:i,pid:r});var l=[];O.add(r,{id:o,pid:r,template:i}),l.push(r),t.style&&"array"===e.typeof(t.style)?t.style.forEach((function(e,t){l.push(e)})):t.style&&"string"===e.typeof(t.style)&&l.push(t.style),t.script&&"array"===e.typeof(t.script)?t.script.forEach((function(e,t){l.push(e)})):t.script&&"string"===e.typeof(t.script)&&l.push(t.script),loader.import(l,(function(){U.call(H,"preloadafter",{prevTarget:null,target:null}),a&&a(n)}),(function(){U.call(H,"preloadafter",{prevTarget:null,target:null}),a&&a(n)}))}),(function(n){e.showLog(t.url+"请求失败"),i.reject(t.url)})),i.promise()};return n&&"object"===e.typeof(n)?"url"in n&&a(n,(function(){i.resolve(n)})):n&&"array"===e.typeof(n)&&n.forEach((function(e,t){t==n.length-1?"url"in e&&a(e,(function(){i.resolve(n)})):"url"in e&&a(e)})),i},initScroll:function(n){var i=x.getLast(),a=e.objId(i.id),o="object"===_typeof(n)?t(n):a.find(".bui-page");return o.length&&e.init({id:o,height:p}),this},history:{get:x.get,check:x.checkLoad,getLast:x.getLast,add:x.add,removeLast:x.removeLast,replace:x.replace}};return H}}(window.bui||{},window.libs),function(e,t){var n=function(){function n(i){_classCallCheck(this,n),this._default={log:!1,hasLife:!0,onBeforeInit:null,onInited:null},this._plugin=i||{name:"",depend:null,config:null,param:null,callback:null};var a=e.config.hasOwnProperty(this._plugin.name)?e.config[this._plugin.name]:null;this.config=t.extend(!0,{},this._default,a,this._plugin.config,this._plugin.param),this.initStatus=!1,this.reinitStatus=!1,this.widgets=Object.create(null),this.init()}return _createClass(n,[{key:"widget",value:function(e){return e&&e in this.widgets?this.widgets[e]:this.widgets}},{key:"init",value:function(n){var i=this,a=n||null;i.config=t.extend(!0,this.config,a);var o=i.config,r=o.hasLife&&o.onBeforeInit&&o.onBeforeInit.call(i,o);return o.log&&console.log("".concat(i._plugin.name," before init")),!1===r||(i._plugin.callback&&i._plugin.callback.call(i,o),o.log&&console.log("".concat(i._plugin.name," init")),o.hasLife&&o.onInited&&o.onInited.call(i,o),o.log&&console.log("".concat(i._plugin.name," after inited")),this.initStatus=!0,i.config.uid&&e.history.setUI&&e.history.setUI({uid:i.config.uid,ui:i})),i}},{key:"reinit",value:function(){return this.destroy(),this.init(),this.config.log&&console.log("".concat(this._plugin.name," reinit")),this}},{key:"destroy",value:function(t){this.beforeDestroy&&this.beforeDestroy(),this.beforeDestroy=null,this.widgets={},this.off(),this.initStatus=!1,t&&t.call(this);var n=this.config.uid;n&&(e.history.getLast().ui[n]=null);return this.config.log&&console.log("".concat(this._plugin.name," destroyed")),this}},{key:"prefix",value:function(t){return e.config.classNamePrefix+t}},{key:"showLog",value:function(t,n){n=n||"";var i="";return"object"==_typeof(t)&&"message"in t&&"name"in t?i=t.message+":"+t.name+"&&stack:"+t.stack:"string"==typeof t&&(i=t),e.log&&console.error(n+" "+i),e.trace&&console.trace&&console.trace(),this}},{key:"option",value:function(n,i){if("object"!==e.typeof(n)&&void 0===i)return"string"==typeof n?this.config[n]:this.config;if("id"==n)return e.showLog("不允许修改控件的ID参数"),this;if(n&&"object"===e.typeof(n)){var a=t.extend(this.config,n);return this&&this.init(a)}if(this.config.hasOwnProperty(n)){var o={};o[n]=i;var r=t.extend(this.config,o);return instance&&instance.init(r)}return this}},{key:"emitter",get:function(){return e.emitter()}},{key:"on",get:function(){return this.emitter.on}},{key:"off",get:function(){return this.emitter.off}},{key:"trigger",get:function(){return this.emitter.trigger}}]),n}();e.extend=function(t){new(function(){function i(e){_classCallCheck(this,i),this.init(e)}return _createClass(i,[{key:"init",value:function(i){var a=i.name;return this.checkName(a)?(e[a]=function(e){return t.param=e,new n(t)},this):this}},{key:"checkName",value:function(t){return t?!e.hasOwnProperty(t)&&(this.name=t,!0):(console.warn("插件名字不能为空"),!1)}}]),i}())(t)}}(window.bui||{},window.libs),t((function(e){!function(t,n){var i;t.extend({name:"page",config:(i={uid:"",dialogid:"",url:"",param:null,script:"",appendTo:"",className:"bui-dialog-page",effect:"",pageSuffix:".html",height:0,width:0,iframe:!1,openFirst:!0,closeFirst:!1,autoClose:!1,needRemove:!1,useBox:!1,syncHistory:!1,title:"",buttons:null,mask:!1,life:!0,scroll:!1,needView:!1,needComponent:!0,cache:!0,close:!1,autoload:!0,fullscreen:!0},_defineProperty(i,"effect","fadeInRight"),_defineProperty(i,"onError",null),_defineProperty(i,"beforeClose",null),_defineProperty(i,"closed",null),_defineProperty(i,"beforeOpen",null),_defineProperty(i,"opened",null),_defineProperty(i,"beforeLoad",null),_defineProperty(i,"loaded",null),i),callback:function(i){var a=this,o=a.config,r="body"==a.appendTo?n:t.obj,l="",c=!1,s=(loader.map().modules,a.widgets.dialog=t.dialog({autoinit:!1,needRemove:i.needRemove})),u=null,d=!1;function f(e,n){var i="",a=n.close?'
    ':"",o=n.title?'
    '.concat(n.title,"
    "):"";return i+="".concat(o,'
    ').concat(e,"
    ").concat(a)}function p(e){var n=loader.map().modules[u.module]||{};if(n.hide&&o.life){var i=t.hasRouter?t.history.getLast():{};n.hide({type:"page",target:i})}"function"==typeof e&&e.call(a,n.exports),o.closed&&o.closed.call(a,n)}function h(n,i){var r=t.history.getLast(),l=(loader.map().modules||{})[n];if(o.cache&&c&&!d)return!o.openFirst&&s.open(),"function"==typeof i&&i.call(a,l.exports),a;if(t.history.setPage({id:s.config.id,name:n,url:o.url,dialog:s,param:o.param}),loader.set(n,{props:o.param}),d=!1,l&&"function"==typeof l.loaded){var u=l.loaded&&l.loaded.call(e,l.exports)||l.exports;t.history.setPage({id:s.config.id,name:n,url:o.url,dialog:s,exports:u,param:o.param});var f=loader.map().modules[n]||{};return f.show&&o.life&&f.show({type:"page",target:r}),"function"==typeof i&&i.call(a,u),a.compile({id:s.config.id}),o.opened&&o.opened.call(a,u),!o.openFirst&&s.open(),c=!0,this}loader.require(n,(function(e){var l=loader.map().modules[n]||{};t.history.setPage({id:s.config.id,name:n,url:o.url,dialog:s,exports:e,param:o.param}),l.show&&o.life&&l.show({type:"page",target:r}),"function"==typeof i&&i.call(a,e),a.compile({id:s.config.id}),o.opened&&o.opened.call(a,e),c=!0}))}function g(e){var t=loader.map().modules,n={},i=e.indexOf(o.pageSuffix);return i>-1?(n.url=e,n.module=e.substr(0,i)):(n.url=t[e]&&t[e].template||e+o.pageSuffix,n.module=e),n}return a.init=function(e){var i=n.extend(!0,{},a.config,e);if(i.onClose=function(){t.hasRouter&&i.syncHistory&&bui.back(),p()},u=g(i.url),i.iframe){var o=t.platform.isIos()?'scrolling="no"':"";return i.content='"),s.create(i),i.autoload&&s.open(),i.loaded&&i.loaded.call(a,u),a}if(i.script){var c=i.script.indexOf(".js");u.module=i.script.substr(0,c)}return!1===(i.beforeLoad&&i.beforeLoad.call(a,u))?this:(loader.import(u.url,(function(e){"object"!==_typeof(e)?(l=f(e,i),i.id?(s.init(i),e=(e=t.unit.handleContent(e)).replace(/#module\.id/g,"#"+i.id),r(i.id).html(e)):(i.content=e,s=s.create(i)),i.autoload&&a.open(),i.loaded&&i.loaded.call(a,u)):i.onError&&i.onError.call(a,e)})),a)},a.compile=function(e){var t=n.extend(!0,{id:s.config.id,cacheHtml:!1,cache:!1,needComponent:o.needComponent,needView:o.needView},e);t.needView&&loader.views(t),t.needComponent&&loader.components(t)},a.reload=function(e){var i=o=n.extend(!1,a.config,o,e);if(i.param=e.param||{},d=!0,u=g(i.url),i.script){var c=i.script.indexOf(".js");u.module=i.script.substr(0,c)}if(!1===(i.beforeLoad&&i.beforeLoad.call(a,u)))return this;loader.import(u.url,(function(e){"object"!==_typeof(e)?(e=(e=t.unit.handleContent(e)).replace(/#module\.id/g,"#"+(s.config.id||i.dialogid)),l=f(e,i),r("#"+(s.config.id||i.dialogid)).html(l),h(u.module),i.loaded&&i.loaded.call(a,u)):i.onError&&i.onError.call(a,e)}))},a.toggle=function(e,t){return a.isOpen()?a.close(t):a.open(e),a},a.isOpen=s.isOpen,a.close=function(e){return!1===(i.beforeClose&&o.beforeClose.call(a))?this:(t.hasRouter&&o.syncHistory&&t.history.removeLast(o.syncHistory),o.closeFirst?(s.close((function(){a.trigger("close"),p(e)})),a):(p(e),s.close(),a.trigger("close"),a))},a.remove=function(e){return s.remove(e),a.trigger("remove"),a},a.open=function(e){if(!1===(o.beforeOpen&&o.beforeOpen.call(a)))return this;if(o.iframe)return s.open(e),a;var n={hide:a.close,show:a.open};return t.hasRouter&&o.syncHistory&&t.history.add({id:s.config.id,name:u.module,url:o.url,replace:!1,param:o.param||{},part:{},page:{},effect:"push",toggle:n,syncHistory:o.syncHistory}),loader.map({moduleName:u.module,id:s.config.id}),t.history.getLast().currentPage=s.config.id,o.openFirst?(s.open((function(){a.trigger("open"),h(u.module,e)})),a):(h(u.module,e),s.open(),a.trigger("open"),a)},a.setParam=function(e){var i=n.extend(!1,{},o.param,e);t.history.setPage({id:s.config.id,param:i})},a.init(o),a}})}(window.bui||{},window.libs)})),function(e,t){e.setUrlParams=function(t,n,i){i=0!=i,n="object"==_typeof(n)?n:{};var a=e.unit.objectToKeyString(n,i);return""==a?t:t.indexOf("?")>-1?t+"&"+a:t+"?"+a},e.getUrlParams=function(n){n=0!=n;var i=window.location.href,a=i.indexOf("?"),o={};if(a>-1){var r=i.substr(a+1);if(r.indexOf("?")>-1){var l=r.split("?"),c=l[0],s=l[1],u=e.unit.keyStringToObject(c,n),d=e.unit.keyStringToObject(s,n);o=t.extend(!0,u,d)}else o=e.unit.keyStringToObject(r,n)}return o},e.getUrlParam=function(e){var t=window.location.href,n=new RegExp("(^|&|.)"+e+"=([^&]*)(&|$)","i"),i=t.substr(1).match(n);return null!=i?decodeURIComponent(i[2]):null},e.typeof=function(e){var t=Object.prototype.toString.call(e).slice(8,-1);return t=t.toLowerCase()},e.setting=function(t,n){return"string"==typeof t&&"object"===_typeof(n)?e.config[t]=n:"string"==typeof t&&void 0===n?e.config[t]:e.config},e.cmd=function(t){var n=t.split(":")||[],i=e.history.getUI(n[0]);if(n.length>1){var a=[].slice.apply(arguments);a.shift();var o=i[n[1]];return o?o.apply(i,a):void e.showLog("找不到该实例的".concat(n[1],"方法"))}return i}}(window.bui||{},window.libs),function(e,t){e.array={},e.array.index=e.inArray=function(t,n,i){var a,o;"array"===e.typeof(t)?(a=t||[],o=n):(a=n||[],o=t);for(var r=0;r1){for(var l,c=a,s=[],u=function(n){var a=Array.prototype.slice.call(i[n],0);t.forEach((function(t,n){var i=t[o]||t;"array"===e.typeof(a)&&a.forEach((function(e,n){var r=e[o]||e;if(i===r){for(var l in e)t[l]=e[l];a.splice(n,1)}}))})),s.push(a)},d=0;di&&0!=i&&("unshift"==a?f.pop():f.shift());try{u=JSON.stringify(f),l.setItem(t,u)}catch(e){"QuotaExceededError"==e.name&&console.log("超出本地存储限额!")}}}return this},remove:function(t,n,i){if("string"!=typeof(t=o+t))return void e.showLog("要删除的字段名只能是字符串","bui.storage.remove");var a=d(t)||[];if("number"==typeof n){var r="number"==typeof i?i:1;a.splice(n,r);try{var c=JSON.stringify(a)||"";l.setItem(t,c)}catch(t){e.showLog(t.name+": "+t.message,"bui.storage.remove")}}else if("string"==typeof n){var s=e.array.remove(a,n,i);try{c=JSON.stringify(s)||"";l.setItem(t,c)}catch(t){e.showLog(t.name+": "+t.message,"bui.storage.remove")}}else l.removeItem(t);return this},clear:function(){if(o)for(var e=0;e-1&&-1==e.indexOf("GMT")){var r=(e=e.replace("T"," ")).indexOf(".")>-1?e.split("."):[e];return new Date(r[0])}if(e.indexOf("GMT")>-1){var l=(r=e.split(" "))[3]+"/"+{Jan:"1",Feb:"2",Mar:"3",Apr:"4",May:"5",Jun:"6",Jul:"7",Aug:"8",Sep:"9",Oct:"10",Nov:"11",Dec:"12"}[r[1]]+"/"+r[2]+" "+r[4];return new Date(l)}return e.indexOf("/")<0&&e.indexOf(":")>-1&&(e=i+"/"+a+"/"+o+" "+e),4===e.length?e+="/1/1 00:00:00":"MM"===t||"M"===t?e=i+"/"+e+"/1 00:00:00":"dd"!==t&&"d"!==t||(e=i+"/"+a+"/"+e+" 00:00:00"),new Date(e)},e.date.after=function(e,t,n){t=0===t?0:t||1;var i=this.convert(e).getTime()+1e3*parseInt(t)*3600*24;return this.format(i,n||"yyyy-MM-dd")},e.date.afterTime=function(e,t,n){var i=0===t?0:t||30,a=this.format(new Date,"yyyy/MM/dd")+" "+e,o=new Date(a).getTime()+1e3*i*60;return this.format(o,n||"hh:mm")},e.date.count=function(t,n,i){var a,o;switch(i){case"number":a=t,o=n;break;case"hour":var r=this.format(new Date,"yyyy/MM/dd"),l=r+" "+t,c=this.convert(l),s=r+" "+n,u=this.convert(s);a=c.getTime(),o=u.getTime();break;case"date":default:a=this.convert(t).getTime(),o=this.convert(n).getTime()}var d=a-o;d=Math.abs(d);var f=parseInt(d/1e3/3600/24,10),p=parseInt(d/1e3/3600%24,10),h=parseInt(d/1e3/60%60,10),g=parseInt(d/1e3%60,10);return{value:d,day:f,hour:p,minute:h,second:g,tip:"".concat(f,"天 ").concat(e.unit.fixZero(p),":").concat(e.unit.fixZero(h),":").concat(e.unit.fixZero(g))}},e.date.countMonth=function(e){var t=this.convert(e),n=t.getMonth()+1;return t.setMonth(n),t.setDate(0),t.getDate()},e.date.toWeek=function(e,t){var n=this.convert(e),i=null;switch(t){case 1:i=["周日","周一","周二","周三","周四","周五","周六"];break;default:i=t||["星期天","星期一","星期二","星期三","星期四","星期五","星期六"]}return i[n.getDay()]},e.date.today=function(e){return e=e||"M-d",this.format(new Date,e)},e.date.fromnow=function(e){var t=+new Date,n=this.convert(e).getTime(),i="",a=this.count(t,n,"date"),o=t>n?"前":"后";return a.day?i=a.day+"天"+o:a.hour?i=a.hour+"小时"+o:a.minute?i=a.minute+"分钟"+o:a.second&&(i=a.second+"秒"+o),i}}(window.bui||{}),function(e,t){e.animate=function(n){if("object"===_typeof(n)&&n.id)n=n||{};else{var i=n||"";(n={}).id=i}var a,o,r,l,c={origin:function(e){var t=String(e);return a.css({"-webkit-transform-origin":t,"transform-origin":t}),this},transition:h,property:function(e,t){var n={};"object"===_typeof(e)?(n=e,t=""):"string"==typeof e&&(n[e]=t||"");return a.css(n),this},open3D:function(e){return e=parseFloat(e)||100,o=!0,a.parent().css({perspective:e+"px"}),this},transform:function(e,t){a.css({"-webkit-transform":e,transform:e}),t&&"none"!=h&&a.one("webkitTransitionEnd",(function(){t.call(c,this)}));return this},start:function(e){var t=o?u.join("")+"translateZ(0)":u.join("");try{d[m]=[],d[m].push(l.join("")),l=[],m++}catch(e){}a.css({"-webkit-transform":t,transform:t}),"none"!=f?a.one("webkitTransitionEnd",(function(){e&&e.call(c,this)})):e&&e.call(c,this);return this},stop:function(e){a.css({"-webkit-transform":"",transform:""}),"none"!=f&&a.one("webkitTransitionEnd",(function(){e&&e.call(c,this)}));return g(),this},clear:g,left:function(e){e=e;var t=Math.abs(parseFloat(e));e="string"==typeof e&&e.indexOf("%")>-1?"-"+e:r?-t/100+"rem":-t+"px";var n="translateX("+e+")";return l.push(n),u.push(n),this},right:function(e){e=e;var t=Math.abs(parseFloat(e));e="string"==typeof e&&e.indexOf("%")>-1?e:r?t/100+"rem":t+"px";var n="translateX("+e+")";return l.push(n),u.push(n),this},up:function(e){e=e;var t=Math.abs(parseFloat(e));e="string"==typeof e&&e.indexOf("%")>-1?"-"+e:r?-t/100+"rem":-t+"px";var n="translateY("+e+")";return l.push(n),u.push(n),this},down:function(e){e=e;var t=Math.abs(parseFloat(e));e="string"==typeof e&&e.indexOf("%")>-1?e:r?t/100+"rem":t+"px";var n="translateY("+e+")";return l.push(n),u.push(n),this},scale:function(e){var t=String(e),n="scale("+(e=t.indexOf(",")>-1?t:e+",1")+")";return l.push(n),u.push(n),this},scaleX:function(e){var t="scaleX("+(e=String(e))+")";return l.push(t),u.push(t),this},scaleY:function(e){var t="scaleY("+(e=String(e))+")";return l.push(t),u.push(t),this},rotate:function(e){var t=String(e),n="rotate("+(e=t.indexOf("deg")>-1?t:t+"deg")+")";return l.push(n),u.push(n),this},rotateX:function(e){var t=String(e),n="rotateX("+(e=t.indexOf("deg")>-1?t:t+"deg")+")";return l.push(n),u.push(n),this},rotateY:function(e){var t=String(e),n="rotateY("+(e=t.indexOf("deg")>-1?t:t+"deg")+")";return l.push(n),u.push(n),this},skew:function(e){var n=String(e),i=[];n.indexOf(",")>-1?(i=n.split(","),e="",t.each(i,(function(t,n){t<2&&(e+=n.indexOf("deg")>-1?","+n:","+n+"deg")})),e=e.substr(1)):e=n.indexOf("deg")>-1?n:n+"deg,0";var a="skew("+e+")";return l.push(a),u.push(a),this},skewX:function(e){var t=String(e),n="skewX("+(e=t.indexOf("deg")>-1?t:t+"deg")+")";return l.push(n),u.push(n),this},skewY:function(e){var t=String(e),n="skewY("+(e=t.indexOf("deg")>-1?t:t+"deg")+")";return l.push(n),u.push(n),this},reverse:function(e){var t,n=0,i=d.reverse();return function e(r){var l=r[n]||[],c=r[n+1]||[];t=o?l.join("")+"translateZ(0)":l.join(""),t=u.join("")+t.replace(/\(.*?\)/g,"(0)"),a.css({"-webkit-transform":"",transform:""}),n++;try{a.one("webkitTransitionEnd",(function(){if(!c||!c.length)return n=0,void(historyCache=[]);e(i)}))}catch(e){}}(i),this},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(c,t,n)},config:s,init:p},s=c.config=t.extend(!0,{},{id:"",uid:"",zoom:!0,open3D:!1,animates:[]},n),u=[],d=[],f="all 300ms ease-out";function p(n){var i=t.extend(!0,s,n);if(i.id)return(a=e.objId(i.id)).css({"-webkit-transition":f,transition:f}),o=i.open3D,r=i.zoom,l=i.animates||[],s=c.config=i,i.uid&&e.history.setUI&&e.history.setUI({uid:i.uid,ui:c}),this;e.showLog("animate id不能为空","bui.animate")}function h(e,t){var n=t||"ease-out";return f="number"==typeof e?"all "+e+"ms "+n:0==e||"none"==e?"none":1==e?"all 300ms "+n:e||"all 300ms "+n,a.css({"-webkit-transition":f,transition:f}),this}function g(){return l=[],u=[],d=[],m=0,this}p(s);var m=0;return c}}(window.bui||{},window.libs),function(e,t){e.btn=function(n){var i,a,o,r,l={},c={load:function(n){n=n;var s=0;i.off("click.bui",r).on("click.bui",r,(function(i){var r=t(this),u=l.beforeCallback||l.beforeLoad;if(!1===(u&&u.call(c,i)))return i.preventDefault(),i.stopPropagation(),!1;var d=n||r.attr("href"),f=r.attr("target"),p="true"==r.attr("iframe"),h="true"==r.attr("firstAnimate"),g=r.attr("disabled"),m=r.hasClass("disabled")||""==g||"true"==g||"disabled"==g;if(d&&!m&&!(d&&d.indexOf("javascript:")>-1)){var v=r.attr("param")||"",b=v&&v.indexOf("{")>-1&&v.indexOf("}")>-1?JSON.parse(r.attr("param")):{};(r.attr("progress")?"false"!=r.attr("progress"):a)&&e.loading({autoTrigger:!0,display:"block",opacity:0,timeout:l.timeout});var y=+new Date;if(y-s<350)return!1;s=y;var w={url:d,param:b,replace:o,firstAnimate:h,iframe:p};return"_blank"==f?e.run({id:d,data:b}):e.load(w),i.preventDefault(),i.stopPropagation(),!1}}))},submit:function(n,a){a=a||{};var o=null;l.id&&l.handle?i.off("click.bui",r).on("click.bui",r,c):i.click(c);function c(i){if(!1===(l.beforeCallback&&l.beforeCallback.call(this,i)))return i.preventDefault(),i.stopPropagation(),!1;var r=this,c=t(r).css("background-color");if(!t(this).hasClass("disabled")&&"true"!=t(this).attr("disabled")){var s="none"==c?"#fff":c;if(a.appendTo=r,a.background=a.background||s,a.display=a.display||"inline",a.width=a.width||15,a.height=a.height||15,a.text=a.text||"加载中",a.autoClose=1==a.autoClose,a.autoTrigger=0!=a.autoTrigger,o){if(o.isLoading())return;o.show()}else o=e.loading(a);return n&&n.call(r,o,i)}}},click:function(e){var n=0;l.id&&l.handle?i.off("click.bui",r).on("click.bui",r,a):i.click(a);function a(i){if(!1===(l.beforeCallback&&l.beforeCallback.call(this,i)))return i.preventDefault(),i.stopPropagation(),!1;if(!t(this).hasClass("disabled")&&"true"!=t(this).attr("disabled")){var a=+new Date;return!(a-n<350)&&(n=a,e&&e.call(this,i))}}},off:function(){return i.off("click.bui",r),this}};return function(n){n&&"object"===e.typeof(n)?(l.id=n.id||"",l.handle=n.handle||"",l.progress="progress"in n&&n.progress,l.replace="replace"in n&&n.replace,l.timeout=n.timeout||3e3,l.beforeCallback=n.beforeCallback||null,i=t(l.id)):"string"==typeof n&&(l.id=n||"",l.handle="",l.progress=!1,l.replace=!1,l.timeout=3e3,l.beforeCallback=null,i=e.obj(l.id));r=l.handle,a=l.progress,o=l.replace}(n),c}}(window.bui||{},window.libs),function(e,t){e.mask=function(n){var i={id:"",uid:"",appendTo:"",className:"",opacity:.3,background:"",zIndex:100,autoTrigger:!1,autoClose:!1,onBeforeInit:null,onInited:null,callback:null},a={name:"mask",handle:{},on:function(t,n){return e.on.apply(a,arguments),this},off:y,hide:b,show:function(t){if(h)return;(d=e.objId(l))&&d.length?(d.css("display","block"),!p&&u.css("position","relative"),s=!0):m(o);return w.call(a,"show"),this},isShow:function(){return s},remove:v,destroy:function(e){v(),u&&u.off("click.mask");y("show"),y("hide"),h=!0},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(a,t,n)},config:o,init:g},o=a.config=t.extend(!0,{},i,e.config.mask,n),r=e.guid(),l=o.id?o.id.indexOf("#")>-1?o.id.substring(1):o.id:r;t("body");var c,s,u=e.objId(o.appendTo),d=null,f=!1,p=!1,h=!1;function g(n){h=!1;var r=t.extend(!0,i,o,n);return r.onBeforeInit&&r.onBeforeInit.call(a,r),r.appendTo=r.appendTo||"body",u=e.objId(r.appendTo),p=u[0]&&"COMPONENT"===u[0].tagName,o=a.config=r,c=u.css("position"),r.autoTrigger&&m(r),d=e.objId(r.id),r.uid&&e.history.setUI&&e.history.setUI({uid:r.uid,ui:a}),r.onInited&&r.onInited.call(a,r),this}function m(n){if(!h){var r=t.extend(!0,{},i,o,n),c=function(t){var n=t.background?t.background:"rgba(0,0,0,"+t.opacity+")",i="";return i+'
    '}(r);return(d=e.objId(l))&&d.length?d.css("display","block"):(u.append(c),!p&&u.css("position","relative"),d=e.objId(l)),s=!0,w.call(a,"show"),f||function(e){d.off("click.bui").on("click.bui",(function(t){e.callback&&e.callback.call(a,t),e.autoClose&&b(),t.stopPropagation()})),f=!0}(r),this}}function v(){if(!h)return d&&d.remove(),d=null,u.css("position",c||"static"),s=!1,f=!1,w.call(a,"hide"),this}function b(){if(!h)return d&&d.css("display","none"),!p&&u.css("position","relative"),s=!1,w.call(a,"hide"),this}function y(t,n){return e.off.apply(a,arguments),this}function w(t){a.self=this==window||this==a?null:this,e.trigger.apply(a,arguments)}return g(o),a}}(window.bui||{},window.libs),function(e,t){e.loading=function(n){var i={name:"loading",handle:{},on:function(t,n){return e.on.apply(i,arguments),this},off:k,start:b,stop:w,isLoading:function(){return f},pause:function(){if(d)return;return s&&s.addClass("bui-loading-pause"),I.call(this,"pause"),this},text:y,showRing:function(){if(d)return;return s=e.objId(l),s.children(".bui-loading-cell").css("display","inline-block"),s.removeClass("bui-loading-pause"),this},hideRing:function(){if(d)return;return s=e.objId(l),s.children(".bui-loading-cell").css("display","none"),s.addClass("bui-loading-pause"),this},show:function(n){var i=n||{};if(d)return;var o=t.extend(!0,a,i);(s=e.objId(o.id))&&s.length?(y(o.text),s[0].style.display="-webkit-box",m&&m.show(),o.callback&&r.off("click.bui","#"+l).on("click.bui","#"+l,o.callback),I.call(this,"show")):b(o);a.timeout&&(p&&clearTimeout(p),p=setTimeout((function(e){x()}),a.timeout));return f=!0,this},hide:x,destroy:function(e){e=1==e;w(),r&&r.off("click.bui");k("show"),k("hide"),k("start"),k("stop"),k("pause"),k("remove"),m&&m.destroy(e),d=!0},widget:function(t){var n={mask:m||{}};return e.widget.call(n,t)},option:function(t,n){return e.option.call(i,t,n)},config:a,init:v},a=i.config=t.extend(!0,{},{uid:"",appendTo:"",width:30,height:30,text:"",onlyText:!1,mask:!0,zIndex:"",autoTrigger:!1,autoClose:!0,timeout:0,opacity:0,display:"block",template:null,onBeforeInit:null,onInited:null,callback:null},e.config.loading,n);t("body");var o,r=null,l=e.guid(),c=l+"-mask",s=e.objId(l),u=!1,d=!1,f=!1,p=null;a.id=l;var h=a.callback;a.callback=function(e){a.autoClose&&w(),h&&h.call(i,e)};var g=t.extend(!0,{},a,{id:c}),m=a.mask?e.mask(g):null;function v(o){d=!1;var c=t.extend(!0,{},a,o);return c.onBeforeInit&&c.onBeforeInit.call(i,n),c.appendTo=c.appendTo||"body",r=t(c.appendTo),a=i.config=c,c.autoTrigger&&s.length<1&&b(c),s=e.objId(l),c.uid&&e.history.setUI&&e.history.setUI({uid:c.uid,ui:i}),c.onInited&&c.onInited.call(i,c),this}function b(n){if(!d){var o=t.extend(!0,{},a,n);if(s=e.objId(l),s.children(".bui-loading-cell"),s.hasClass("bui-loading-pause"))s.removeClass("bui-loading-pause"),I.call(this,"start");else{s.length&&s.remove();var c=function(t){var n=(t=t||{}).text,a=r.width()||document.documentElement.clientWidth,o=n&&"block"==t.display?parseInt(t.height)+30:parseInt(t.height),c=-a/2,s=-o/2,u="block"==t.display?e.prefix("loading-block"):e.prefix("loading-inline"),d="";return d+='
    ',t.onlyText||(d+='
    '),d+='
    '+t.text+"
    ",d+="
    ",t&&t.template?t.template.call(i,t):d}(o);r.append(c),m&&m.show(),I.call(this,"show")}return o.timeout&&(p&&clearTimeout(p),p=setTimeout((function(){w()}),o.timeout)),u||function(e){var t=e||a;r.off("click.bui","#"+l).on("click.bui","#"+l,(function(e){t.callback&&t.callback.call(i,e),e.stopPropagation()})),u=!0}(o),f=!0,this}}function y(t){if(!d)return s=e.objId(l),o=s.children(".bui-loading-text"),void 0===t?o&&o.text():(o&&o.html(t),this)}function w(){if(!d)return(s=e.objId(l))&&s.remove(),s=null,m&&m.remove(),u=!1,f=!1,I.call(this,"remove"),I.call(this,"hide"),this}function x(){if(!d)return s=e.objId(l),(a.appendTo||s&&s.length)&&(s.css("display","none"),m&&m.hide()),f=!1,I.call(this,"hide"),this}function k(t,n){return e.off.apply(i,arguments),this}function I(t){i.self=this==window||this==i?null:this,e.trigger.apply(i,arguments)}return v(a),i}}(window.bui||{},window.libs),function(e,t){e.dialog=function(n){var i,a,o,r,l={id:"",dialogid:"",title:"",effect:"zoomIn",content:"",className:"",appendTo:"",position:"center",style:null,fullscreen:!1,useBox:!1,width:0,height:0,mask:!0,opacity:.3,render:!1,needRemove:"",autoClose:!0,close:!0,scroll:!0,closeText:"",zoom:!1,zIndex:101,buttons:[],onBeforeClose:null,onBeforeOpen:null,onBeforeInit:null,autoinit:!0,onInited:null,onMask:null,onClose:null,callback:null},c={name:"dialog",selector:j,$el:j,$:j,handle:{},on:function(t,n){return e.on.apply(c,arguments),this},off:E,open:function(n){if(m||k||h)return this;var o={width:s.width,height:s.height,zoom:s.zoom,fullscreen:s.fullscreen,position:s.position,scroll:s.scroll,onBeforeOpen:s.onBeforeOpen,useBox:s.useBox,effect:"",callback:null},l=o;"function"==typeof n?l.callback=n:"string"==typeof n?l.effect=n:n&&"object"===e.typeof(n)&&(l=t.extend(!0,{},o,n));var u=l.onBeforeOpen&&l.onBeforeOpen.call(c,{toggle:a});if(C.call(c,"beforeopen",{toggle:a}),!1===u)return this;var p=s.useBox?"-webkit-box":"block";if(i&&i.css("display",p),0==(i.attr("status")||0)){d=String(l.width).indexOf("%")>-1?w*parseFloat(l.width)/100:l.width||i.width(),f=String(l.height).indexOf("%")>-1?x*parseFloat(l.height)/100:l.height||i.height();var g=e.unit.pxToRemZoom(d),b=e.unit.pxToRemZoom(f),y=l.zoom?g+"rem":d+"px",I=l.zoom?b+"rem":f+"px",T=l.zoom?"-"+b/2+"rem":"-"+f/2+"px",O=l.zoom?"-"+g/2+"rem":"-"+d/2+"px";l.fullscreen&&"custom"!=l.position||i.css({width:y,height:I}),"center"!=l.position||l.fullscreen||i.css({top:"50%","margin-top":T,left:"50%","margin-left":O,right:"auto"}),l.fullscreen&&i.addClass("bui-dialog-fullscreen");var P=i.children(".bui-dialog-head"),j=i.children(".bui-dialog-foot"),L=i.children(".bui-dialog-main");if(!l.useBox){var E=P.length?P[0].clientHeight:0,N=j.length?j[0].clientHeight:0,B=i.height()-E-N;L.css({height:B})}l.scroll||L.css({overflow:"hidden"}),i.attr("status","1")}r&&r.show(),a.show((function(e){m=!0,l.callback&&l.callback.call(c,{toggle:a}),C.call(c,"openafter",{toggle:a}),C.call(c,"afteropen",{toggle:a})}),l.effect),v||S();return C.call(c,"open",{toggle:a}),this},close:O,isOpen:m,disableOpen:function(){return h=!0,this},enableOpen:function(){return h=!1,this},disableClose:function(){return g=!0,this},enableClose:function(){return g=!1,this},top:function(t){return t=t||s.zIndex+e.$(".bui-dialog").length,e.$(".bui-dialog").css("z-index",s.zIndex),e.$(".bui-mask").css("z-index",s.zIndex-1),i.css("z-index",t),r&&e.$("#"+r.config.id).css("z-index",t-1),c.config.zIndex=t,s.zIndex=t,this},template:T,toggle:function(e,t){c.isOpen()?c.close(t):c.open(e);return this},create:function(e){var n=e||{};l.title=s.title||"提示",l.content=s.content||"",l.close=!1,l.render=!0,l.autoClose=s.autoClose,l.mask=s.mask,l.buttons=s.buttons&&s.buttons.length?s.buttons:["确定"],l.callback=s.callback||null;var i=t.extend(!0,l,n);return C.call(c,"create"),I(i)},remove:P,destroy:function(){var e=1==e;i&&(i.off("click.bui"),i.remove(),i=null,h=!1);E("open"),E("close"),r&&r.destroy(e),a&&a.destroy(e),k=!0},widget:function(t){var n={toggle:a,mask:r};return e.widget.call(n,t)},option:function(t,n){"object"===_typeof(t)&&(t.width||t.height)?L(t):"width"==t?L({width:n}):"height"==t&&L({height:n});return e.option.call(c,t,n)},config:s,init:I},s=c.config=t.extend(!1,{},l,e.config.dialog,n),u="",d="",f="",p="fadeInDown",h=!1,g=!1,m=!1,v=!1,b=""!==s.needRemove?s.needRemove:!!s.render,y={},w=window&&window.viewport&&window.viewport.width()||document.documentElement.clientWidth,x=window&&window.viewport&&window.viewport.height()||document.documentElement.clientHeight,k=!1;function I(n){var l=t.extend(!0,s,n);switch(l.onBeforeInit&&l.onBeforeInit.call(c,l),l.appendTo=l.appendTo||e.hasRouter&&router.currentPage()||"body",k=!1,o=l.effect,b=""!==l.needRemove?l.needRemove:!!l.render,w=window&&window.viewport&&window.viewport.width()||document.documentElement.clientWidth,x=window&&window.viewport&&window.viewport.height()||document.documentElement.clientHeight,l.position){case"top":u="bui-dialog-top",o=l.effect||"fadeInDown";break;case"bottom":u="bui-dialog-bottom",o=l.effect||"fadeInUp";break;case"left":u="bui-dialog-left",o=l.effect||"fadeInLeft";break;case"right":u="bui-dialog-right",o=l.effect||"fadeInRight";break;case"center":u="bui-dialog-center",o=l.effect||p;break;case"custom":u="bui-dialog-custom",o=l.effect||p}l.fullscreen&&(u="bui-dialog-fullscreen",o=l.effect||p),l.render?(l.id=l.dialogid||e.guid(),l.content=e.unit.handleContent(l.content),l.content=l.content.replace(/#module\.id/g,"#"+l.id),function(n){var i=T(n),a=e.$("#"+n.id);a.length&&a.remove();t(n.appendTo).append(i)}(l),i=e.objId(l.id)):((i=e.obj(l.id)).addClass(u).css("z-index",l.zIndex),l.useBox&&i.addClass("bui-box-vertical")),l.style&&i.css(l.style),d=i.width()>w?w:i.width(),f=i.height()>x?x:i.height(),i.css("display","none"),a||(a=e.toggle({id:l.id,effect:o,useBox:l.useBox})),s=c.config=l;try{var h="object"===_typeof(l.id)?t(l.id).attr("id")+"-mask":i[0].id+"-mask";n.mask&&!r&&(r=e.mask({id:h,opacity:n.opacity,appendTo:i.parent(),autoTrigger:!1,onlyOne:!0,autoClose:!1,zIndex:parseInt(n.zIndex,10)-1,callback:function(e){if(!1===(n.onMask&&n.onMask.call(c,e)))return!1;s.autoClose&&(b?O(P):O())}}))}catch(t){e.showLog(t)}return v&&!s.render||S(),l.uid&&e.history.setUI&&e.history.setUI({uid:l.uid,ui:c}),l.onInited&&l.onInited.call(c,l),c}function T(t){var n="",i=t.useBox?"bui-box-vertical ":"";return n+='
    ',t.title&&(n+='\t
    '+t.title+"
    "),n+='\t
    ',t.content&&(n+=t.content),n+="\t
    ",t.buttons&&t.buttons.length&&(n+='\t
    ',t.buttons.forEach((function(e,t){n+='\t\t
    '+(e.name||e)+"
    "})),n+="\t
    "),t.close&&(n+='
    '+(t.closeText?t.closeText:'')+"
    "),n+="
    "}function m(e){return m}function O(t){if(m&&!k&&!g){var n={};"function"==typeof t?n.callback=t:"string"==typeof t?(n.effect=t,n.callback=s.onClose):t&&"object"===e.typeof(t)&&(n=t),n.onBeforeClose=s.onBeforeClose;var i=n.onBeforeClose&&n.onBeforeClose.call(c,{toggle:a});if(C.call(c,"beforeclose",{toggle:a}),!1===i)return this;try{a.hide((function(e){m=!1,n.callback&&n.callback.call(c,{toggle:a})}),n.effect),r&&r.hide(),C.call(this,"close",{toggle:a})}catch(t){e.showLog(t,"bui.dialog.close")}return this}}function C(t,n){var i=y[t];if("array"===e.typeof(i))for(var a=0,o=i.length;a-1&&n.indexOf(">")>-1?""+n+"":!n||"object"!==e.typeof(n)&&"array"!==e.typeof(n)?n&&"function"===e.typeof(n)?n.toString():n:JSON.stringify(n),l.content='
    '+c+"
    "}catch(t){e.showLog(t,"bui.alert")}return o.create(l).open(),o}}(window.bui||{},window.libs),function(e,t){e.confirm=function(n,i,a){var o=e.dialog(),r={className:"bui-confirm",title:"",width:580,height:360,scroll:!0,zIndex:121,autoClose:!0,zoom:!0,position:"center",buttons:[{name:"取消",className:""},{name:"确定",className:"primary-reverse"}]};r.callback=i||function(){};var l={};return"object"===_typeof(n)?(n.content='
    '+n.content+"
    ",l=t.extend(r,e.config.confirm,n)):((l=t.extend(r,e.config.confirm,a)).content='
    '+n+"
    ",l.callback=i||function(){}),o.create(l).open(),o}}(window.bui||{},window.libs),t((function(e){!function(t,n){t.prompt=function(i,a,o){var r=t.dialog(),l={className:"bui-prompt",title:"",width:580,height:400,scroll:!0,autoClose:!1,needRemove:!1,zoom:!0,zIndex:121,position:"center",buttons:[{name:"取消",className:""},{name:"确定",className:"primary-reverse"}]};l.callback=a||function(){},l.placeholder="",l.row=1,l.type="text",l.value="",l.onChange=null;var c={},s="",u="";switch("object"===_typeof(i)?s=(c=n.extend(l,t.config.prompt,i)).content||"":((c=n.extend(l,t.config.prompt,o)).callback=a||function(){},s=i||""),c.type){case"number":c.content='
    '+s+'
    ';break;default:c.content='
    '+s+'
    "}return r.create(c).open(),n("#"+r.config.id).on("change",".bui-prompt-text",(function(t){u=this.value,c.onChange&&c.onChange.call(e,t)})),r.value=function(e){return void 0===e?u:(n("#"+r.config.id).find(".bui-prompt-text").val(e),u=e)},r.focus=function(e){n("#"+r.config.id).find(".bui-prompt-text").focus()},r}}(window.bui||{},window.libs)})),function(e,t){e.hint=function(n,i){if("number"==typeof n||"string"==typeof n){var a=n||"";(n={}).content=a,n.onClose=i||null}else"object"===_typeof(n)&&(n=n);var o,r,l={name:"hint",handle:{},on:function(t,n){return e.on.apply(l,arguments),this},off:b,remove:m,hide:function(e,t){var n=this;"function"==typeof e?(e=e,t=t||c.effect||""):(t=e||c.effect||"",e=null);u&&u.hide((function(){p=!1,e&&e.call(l,{toggle:u}),c.onHided&&c.onHided.call(l,{toggle:u}),y.call(n,"hide",{toggle:u})}),t);return this},show:v,text:function(e){return d.find(".bui-hint-inner").length&&d.find(".bui-hint-inner").html(e),this},isShow:function(){return p},destroy:function(e){e=1==e;d.off("click.bui"),u&&u.destroy(e),b("show"),b("hide")},widget:function(t){var n={toggle:u};return e.widget.call(n,t)},option:function(t,n){return e.option.call(l,t,n)},config:c,init:g},c=l.config=t.extend(!0,{},{appendTo:"",content:"",uid:"",timeout:2e3,autoClose:!0,showClose:!1,autoTrigger:!0,useBox:!0,opacity:1,background:"",effect:"fadeInUp",skin:"",position:"bottom",width:0,height:0,onBeforeInit:null,onInited:null,onClose:null,onHided:null},e.config.hint,n),s=0,u=null,d=null,f="",p=!1,h=!1;function g(n){var i=t.extend(!0,c,n);return i.onBeforeInit&&i.onBeforeInit.call(l,i),o=e.guid(),f="top"===i.position?"fadeInDown":"bottom"===i.position?"fadeInUp":i.effect,c=l.config=i,function(n,i,a,o){var r,l="12"+a,s=o?e.obj(o):t("body");switch(c.position){case"top":r="bui-hint-top";break;case"bottom":r="bui-hint-bottom";break;case"center":r="bui-hint-center"}var u=c.height;c.width=String(c.width).indexOf("%")>-1?750*parseFloat(c.width)/100:parseFloat(c.width),c.height=parseFloat(c.height)||0;var d=c.background?"background:"+c.background:"",f=c.width>0?"width:"+c.width/100+"rem;margin-left:-"+c.width/100/2+"rem;":"",p=c.height>0?"height:"+c.height/100+"rem;":"",h="auto"==u?"height:auto;":p,g="center"===c.position&&c.width>0?"margin-top:-"+c.height/100/2+"rem;":"",m=d+";display:none;z-index:"+l+";opacity:"+c.opacity+";"+f+h+g,v='
    '+i+""+(c.showClose?'
    ':"")+"
    ";document.querySelector("#"+n)||s.append(v);o&&s.css("position","relative")}(o,i.content,s,i.appendTo),++s,d=e.objId(o),u||(u=e.toggle({id:d,effect:f,useBox:i.useBox})),i.autoTrigger&&(p=!0,v()),h||function(e){e.showClose&&d.off("click.bui",".bui-hint-close").on("click.bui",".bui-hint-close",(function(t){e.autoTrigger?(p=!1,u&&u.hide(m)):(p=!1,u&&u.hide(e.onHided)),e.onClose&&e.onClose.call(l,t)})),h=!0}(i),i.uid&&e.history.setUI&&e.history.setUI({uid:i.uid,ui:l}),i.onInited&&i.onInited.call(l,i),this}function m(e){return u&&(p=!1,u.remove(),e&&e.call(l),y.call(this,"remove",{toggle:u}),u=null),this}function v(e,t){var n=this;return"function"==typeof e?(e=e,t=t||c.effect||""):(t=e||c.effect||"",e=null),d.css("display","-webkit-box"),u&&(p=!0,u.show((function(t){y.call(n,"show",{toggle:u}),e&&e.call(l,{toggle:u})}),t)),c.autoClose&&(r&&clearTimeout(r),r=setTimeout((function(){c.autoTrigger?u&&u.hide((function(){p=!1,m()})):u&&u.hide((function(){p=!1})),c.onClose&&c.onClose.call(l)}),c.timeout)),this}function b(t,n){return e.off.apply(l,arguments),this}function y(t){l.self=this==window||this==l?null:this,e.trigger.apply(l,arguments)}return g(c),l}}(window.bui||{},window.libs),function(e,t){e.slide=function(n){var i,a,o,r,l,c,s,u,d,f,p,h,g,m,v,b,y,w,x,k,I,T,O,C,P,S={name:"slide",handle:{},on:Ie,off:Te,trigger:Oe,to:ie,load:function(e){var n={id:"",icon:"",title:"",url:"",name:"",index:E,menuTemplate:null,template:null,param:{},animate:!0,preload:!1,needRemove:!1,command:"after",width:0,height:0,loaded:null,beforeLoad:null},i=t.extend(!0,{},n,e);if(!1===(i.beforeLoad&&i.beforeLoad.call(S)))return this;return i.beforeLoad=null,i.menuTemplate=i.menuTemplate||(i.title?'
  • '.concat(i.title,"
  • "):""),ve(i),this},back:function(e){var n={id:"",url:"",name:"",index:E,loaded:null,beforeLoad:null},i=t.extend(!0,{},n,e);return i.name=i.url||i.name,i.loaded=function(){i.beforeLoad=null,i.loaded=null,be(i)},se(i),this},add:ve,remove:be,replace:function(e){var n={id:"",name:"",index:E,param:{},animate:!1,preload:!1,command:"html",width:0,height:0,loaded:null,beforeLoad:null};return ve(t.extend(!0,{},n,e))},resize:ke,getPageParams:ye,getItemParam:ye,setItemParam:function(e,n){return A[e=typeof e==="number"?e:E]&&(A[e]=t.extend(A[e],n)),A[e].param},getPages:J,getData:function(){return j.data},getItem:function(t){if("string"==typeof t)return e.array.get(j.data,t,"id");var n="number"==typeof t?t:ce();return j.data[n]},$active:we,currentMain:we,currentMenu:function(e){var t=void 0===e?E:e;return o.eq(t)[0]},prev:se,next:ue,stop:oe,start:function(e){ae(e)},lock:pe,index:ce,unlock:ge,destroy:function(e){e=1==e;oe(),a&&(a.off("click.bui"),e&&a.remove());i&&(i.off(),e&&i.remove());Te("stop"),Te("play"),Te("first"),Te("last"),Te("to")},widget:function(t){var n={loading:D};return e.widget.call(n,t)},option:function(t,n){return e.option.call(S,t,n)},config:j,init:W},j=S.config=t.extend(!0,{},{id:"",uid:"",menu:".bui-slide-head > ul",children:".bui-slide-main > ul",main:".bui-slide-main",header:"header",footer:"footer",item:"li",prev:".bui-slide-prev",next:".bui-slide-next",alignClassName:"",alignPage:"center",stopHandle:"",stopPropagation:!0,width:0,height:0,data:null,zoom:!0,transition:200,interval:5e3,relative:!1,swipe:!0,animate:!0,delay:!1,bufferEffect:!0,visibleNum:1,scrollNum:1,distance:40,direction:"x",autoplay:!1,sideWidth:0,loop:!1,cross:!1,autoheight:!1,autoinit:!0,scroll:!1,index:0,fullscreen:!1,autopage:!1,autoload:!1,needLoading:!1,async:!0,video:{preload:!0,autoplay:!0,fullscreen:!1,muted:!1,loop:!0,controls:!0,width:"100%",height:"100%",poster:""},template:null,callback:null,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,onBeforeTo:null,onBeforeInit:null,onInited:null,onStart:null,onMove:null,onEnd:null},e.config.slide,n),L={},E=0,N=!1,B={},D=null,R=[],A=j.data,M=!1,F={x:{},y:{}};/hp-tablet/gi.test(navigator.appVersion);var $,z,_="",U=0,H=0,V=!1,q=!1;L={x1:0,x2:0,y1:0,y2:0,direction:""};try{j.autoinit&&W(j)}catch(t){e.showLog(t)}function W(n){var s=t.extend(!1,j,n);if(!1===(s.onBeforeInit&&s.onBeforeInit.call(S,s)))return this;if(s.id){if(i=e.obj(s.id),S.$el=i,s.relative){var u=i.parent().width();s.width=s.sideWidth>0?u-s.sideWidth:u}if(j=S.config=s,_=s.direction,"function"==typeof s.template)i.html(s.template.call(S,s.data||[])||"");else if(s.data&&!s.template){if(i.find(s.main).length<=0){var d=function(e){return'
    \n
      \n
    \n
    ')}(s);i.html(d)}var f=i.find(s.children),p=xe.call(S,s.data);f.html(p)}if(s.needLoading&&(D=bui.loading({appendTo:i})),a=0==s.menu.indexOf("#")?e.obj(s.menu):i.find(s.menu).eq(0),o=a.children(),r=i.find(s.children).eq(0),l=r.parent(),c=r.children(),C=c.length,s.loop&&c.length){var h=c.eq(c.length-1).clone(!0),g=c.eq(0).clone(!0);r.prepend(h).append(g);var m=(c=r.children()).length-1;Te("afterto"),Ie("afterto",(function(e){0==e&&ie(m-1,"none"),e==m&&ie(1,"none")})),ie(1,"none"),!i.hasClass(".bui-slide-loop")&&i.addClass("bui-slide-loop")}if(s.cross&&c.length){var v=function(e){var t=c.eq(e);t.removeClass("bui-cross-prev").removeClass("bui-cross-next"),t.prev().removeClass("bui-cross-next").addClass("bui-cross-prev"),t.next().removeClass("bui-cross-prev").addClass("bui-cross-next")};!i.hasClass(".bui-slide-cross")&&i.addClass("bui-slide-cross"),Te("to",v),Ie("to",v),s.loop?ie(1,"none"):ie(0,"none")}return K(s),Y(s),(O=s.autoplay)&&ae(),N||(!function(){ge(),j.swipe||pe();var n=function(e){var n=t(this).hasClass("active"),i=t(this).index(),a=t(this).attr("disabled"),o=t(this).hasClass("disabled")||""==a||"true"==a||"disabled"==a;if(e.currentIndex=i,e.prevIndex=E,!1===(j.onBeforeTo&&j.onBeforeTo.call(S,e)))return!1;Oe.call(S,"beforeto",e),n||o||(j.animate?ie(i):ie(i,"none"),O&&ae()),j.stopPropagation&&e.stopPropagation()};0==j.menu.indexOf("#")?a.off("click.bui","li").on("click.bui","li",n):i.off("click.bui",j.menu+" li").on("click.bui",j.menu+" li",n);i.off("click.bui",j.prev).on("click.bui",j.prev,se),i.off("click.bui",j.next).on("click.bui",j.next,ue);var o=j.children+" "+j.item;j.data&&i.off("click.bui",o).on("click.bui",o,(function(n){if(q)return!1;var i=t(n.currentTarget),a=i.attr("href"),o=i.attr("data-target")||"",r="true"==i.attr("data-reload"),l="true"==i.attr("data-iframe"),c="true"==i.attr("data-page"),s="true"==i.attr("data-close"),u="true"==i.attr("data-synchistory");a&&c?e.page({url:a,iframe:l,close:s,syncHistory:u}):a&&e.load({url:a,reload:r,target:o,iframe:l}),Oe.call(S,"click",n);var d=j.data[ce()]||{};d.callback&&d.callback.call(S,n),j.callback&&j.callback.call(S,n,S),j.stopPropagation&&n.stopPropagation()})),N=!0}(),M=!0),E=r.children(".active").length?r.children(".active").index():E||s.index,parseInt(s.index)>0?ie(s.index,"none"):ie(E,"none"),s.uid&&e.history.setUI&&e.history.setUI({uid:s.uid,ui:S}),s.onInited&&s.onInited.call(S,s),this}e.showLog("slide id不能为空","bui.slide.init")}function K(e){k=document.documentElement.clientWidth,I=document.documentElement.clientHeight,e.height=String(e.height).indexOf("%")>-1?parseFloat(e.height)/100*I:parseFloat(e.height),e.width=String(e.width).indexOf("%")>-1?parseFloat(e.width)/100*k:parseFloat(e.width),c=r.children();var t=i.parents(".bui-page");i.parents("main");var n=i[0]&&i[0].offsetTop||0,o=t.children(e.header);o[0]&&o[0].offsetHeight;var l=t.children(e.footer),u=l[0]&&l[0].offsetHeight||0;y=I-(u||0)-n,y=i.parent("main").length?i.parent("main").height():y,w=0==e.height?y:e.height;var m="static"==a.parent().css("position")?a.css("position"):a.parent().css("position");x=i.find(e.menu).length?"absolute"==m||"fixed"==m?w:w-(a[0]&&a[0].offsetHeight||0):w,h=e.fullscreen?I:0==e.height?x:e.height,p=e.fullscreen?k:e.width||k,s=c.length,g="x"==_?p/j.visibleNum:p,b="y"==_?h/j.visibleNum:h,T="y"==j.direction?b*j.scrollNum:g*j.scrollNum,d=p*s/j.visibleNum,f=h*s/j.visibleNum}function Y(t){c=r.children(),C=t.loop?c.length-2:c.length,F={x:{swipeDir:"swipeleft",swipeDir2:"swiperight",width:T},y:{swipeDir:"swipeup",swipeDir2:"swipedown",width:T}},l[(P={x:{parentInitKey:"width",parentInitValue:d,boxCss:"display:-webkit-box;display:box;-webkit-box-align: start;-webkit-box-pack: center;width:100%;",boxItemCSS:"-webkit-box-flex:1;box-flex:1;width:"+g+"px;height:"+b+"px;"},y:{parentInitKey:"height",parentInitValue:f,box:"display:-webkit-box;display:box;-webkit-box-align: start;-webkit-box-pack: center;width:100%;-webkit-box-orient: vertical;box-orient: vertical;",boxItemCSS:"-webkit-box-flex:1;box-flex:1;width:"+g+"px;height:"+b+"px;"}})[_].parentInitKey](P[_].parentInitValue);var n,a=c.length;for(n=0;n1?x/j.visibleNum:x,m=j.zoom?w/100+"rem":w+"px",v=j.zoom?h/100+"rem":h+"px";if(j.zoom,j.fullscreen?(e.$("main").css({position:"static"}),i.addClass("bui-slide-fullscreen").css({position:"absolute",top:0,left:0,right:0,bottom:0,"z-index":10,overflow:"hidden",width:p,height:I}),c.addClass(j.alignClassName||"bui-box-center").css("height",I)):(i.css({position:"relative",overflow:"hidden",width:p,height:m}),c.addClass(j.alignClassName).height(v)),j.autoheight&&i.addClass("bui-slide-autoheight"),j.autopage){var y=function(e,t){var n,i="",a=(t=t||1,e);for(i+='
    '),i+="
      ",n=1;n"+n+"";return i+="
    ",i+="
    "}(J(),r.find(".active").index()+1);i.children(".bui-slide-head").remove(),i.append(y),o=i.find(j.menu).eq(0).children()}}function J(){var e=C,t=parseInt(e/j.visibleNum),n=parseInt(e/j.scrollNum),i=1==j.visibleNum?t:t+1,a=1==j.scrollNum?n:n+1,o=1==j.scrollNum||j.scrollNum==e?i:a;return o=j.loop?o+2:o}function X(t){V=!0;var n=t.touches?t.touches[0]:t;if(L.x1=n.clientX,L.y1=n.clientY,L.direction="",!1===(j.onBeforeTouchstart&&j.onBeforeTouchstart.call(S,t,L)))return!1;j.stopHandle&&e.unit.checkTargetInclude(t.target,j.stopHandle)?V=!1:($=-E*T,z=-E*T,t.touches&&t.touches.length>1||t.scale&&1!==t.scale?ee("x"==_?$:z):(O&&(oe(),O=!0),Oe.call(S,"touchstart",t,L),j.onStart&&j.onStart.call(S,t,L,S),V=!0,e.platform.isPC()&&t.stopPropagation(),e.platform.isPC()&&"IMG"===t.target.tagName&&t.preventDefault()))}function Z(n){if(V){var i=n.touches?n.touches[0]:n;if(n.touches&&n.touches.length>1||n.scale&&1!==n.scale)ee("x"==_?$:z);else{if(q=!0,L.x2=i.clientX,L.y2=i.clientY,L.direction||(L.direction=e.swipeDirection(L.x1,L.x2,L.y1,L.y2)),!1===(j.onBeforeTouchmove&&j.onBeforeTouchmove.call(S,n,L)))return!1;"swipeleft"!==L.direction&&"swiperight"!==L.direction||(n.preventDefault(),n.stopPropagation()),Oe.call(S,"touchmove",n,L);try{if(!e.platform.isPC()&&"y"==_&&j.scroll){var a=t(n.target).closest(".active"),o=a[0].scrollTop||0,r=a[0].scrollHeight||0,l=a[0].offsetHeight||0;if("swipedown"===L.direction&&o>1)return void(q=!1);if("swipeup"===L.direction&&r-o-l>=2)return void(q=!1)}}catch(n){}m=L.x2-L.x1,v=L.y2-L.y1,F.x.move=$+m,F.x.absDelta=Math.abs(m),F.y.move=z+v,F.y.absDelta=Math.abs(v);var c=J();L.direction!==F[_].swipeDir&&L.direction!==F[_].swipeDir2||(j.delay&&F[_].absDelta>j.distance&&ee(F[_].move,"none"),j.delay||((j.bufferEffect||0==E&&c>1&&("swipeleft"==L.direction||"swipeup"==L.direction)||E==c-1&&c>1&&("swiperight"==L.direction||"swipedown"==L.direction)||E>0&&E1)&&ee(F[_].move,"none"),n.preventDefault()),j.onMove&&j.onMove.call(S,n,L,S))}}}function G(t){switch(V=!1,Oe.call(S,"touchend",t,L),L.direction){case"swiperight":case"swipedown":t.currentIndex=E-1;break;case"swipeleft":case"swipeup":t.currentIndex=E+1}if(t.prevIndex=E,!1===(j.onBeforeTouchend&&j.onBeforeTouchend.call(S,t,L)))return!1;if(q){if(m=L.x2-L.x1,v=L.y2-L.y1,Math.abs(m)<5&&(q=!1),F.x.delta=$,F.x.absDelta=Math.abs(m),F.y.delta=z,F.y.absDelta=Math.abs(v),"x"!=j.direction||"swipeleft"!=L.direction&&"swiperight"!=L.direction){if("y"==j.direction&&("swipeup"==L.direction||"swipedown"==L.direction))n=j.onBeforeTo&&j.onBeforeTo.call(S,t)}else var n=j.onBeforeTo&&j.onBeforeTo.call(S,t);if(!1===n)return ee(F[_].delta),"swipeleft"!=L.direction&&"swiperight"!=L.direction||t.stopPropagation(),U+=L.y2-L.y1,H+=L.x2-L.x1,L.lastX=H,L.lastY=U,L={x1:0,x2:0,y1:0,y2:0,direction:""},V=!1,!e.platform.isPC()&&(q=!1),ne(),!1;re(),F[_].absDelta>j.distance?(Q.call(this,t,L,F),j.onEnd&&j.onEnd.call(S,t,L,S)):F[_].absDelta=s-1)a=E,i[_].delta=-a*i[_].width,ee(i[_].delta),E=a,fe(a),Oe.call(S,"last",a);else if(a=E+1,i[_].delta=-a*i[_].width,ee(i[_].delta),E=a,fe(a),n.autoload)me(E);else{if(c.eq(E),n.loop&&E>C)return;Oe.call(S,"to",a)}Oe.call(S,"next",a)}else if(t.direction==i[_].swipeDir2)if(E>0){if(a=E-1,i[_].delta=-a*i[_].width,ee(i[_].delta),E=a,fe(a),n.autoload)me(E);else{if(c.eq(E),n.loop&&0==E)return;Oe.call(S,"to",a)}Oe.call(S,"prev",a)}else a=E,i[_].delta=-a*i[_].width,ee(i[_].delta),E=a,fe(a),Oe.call(S,"first",a)}function ee(e,t){var n=j.transition;t=t||"all "+n+"ms",e=e||0;switch(_){case"x":te(e+"px",0,t,l);break;case"y":te(0,e+"px",t,l)}return this}function te(e,t,n,a){var o=t||0;"y"==_&&j.zoom&&String(t).indexOf("%")<=-1&&(o=parseInt(t)/100+"rem");a=a||i;var r=e=e||0,l=String(e).indexOf("%")>-1?String(e):r,c=String(t).indexOf("%")>-1?String(t):o;n="number"==typeof n?"all "+n+"ms":n||"all 300ms";try{a.css({"-webkit-transition":n,transition:n,"-webkit-transform":"translate("+l+","+c+")",transform:"translate("+l+","+c+")"})}catch(e){console.log(e.message)}}function ne(e){l.one("webkitTransitionEnd",(function(){l.css({"-webkit-transition":"none",transition:"none"}),q=!1,e&&e.call(S,E),Oe.call(S,"afterto",E)}))}function ie(e,i,a){var r,l={index:0,name:"",param:null,transition:"",callback:"function"==typeof i?i:null,needTrigger:0!=a},s=l;if("object"===_typeof(e)){s=t.extend(!0,l,e);e=s.name||s.index||0,r=i||s.transition,a=s.needTrigger,"function"==typeof i||s.callback}else e=void 0!==e?e:s.name,r="string"==typeof i?i:s.transition,a=0!=a,"object"===_typeof(i)?s.param=i:s.transition=i||s.transition,s.name=e,s.needTrigger=a,s.callback="function"==typeof i?i:l.callback;de();var u=0;a=0!=a;if("string"==typeof e&&e.indexOf(".html")>-1){var d=[];o.each((function(n,i){var a=t(i).attr("href")||void 0;d[n]=a,a==e&&(u=n)}))}else u=parseInt(e);var f={x:{transform:-u*parseFloat(T)},y:{transform:-u*parseFloat(T)}},p=J();if(re(),u>=p||u<0)return!1;if(ee(f[_].transform,r),E=u,fe(u),le(),O&&ae(),n.autoload)me(E);else{if(c.eq(E),!a)return;Oe.call(S,"to",u,s.param)}return ne(s.callback),this}function ae(e){e=e||j.interval;oe(),O=!0;var t=E;u=setInterval((function(){var e=J();t>=0&&tparseInt(C/j.scrollNum)+1&&(i=1),n.loaded?ie(i,n.loaded):ie(i),Oe.call(S,"next",i),this}function de(t){a=0==(t=j).menu.indexOf("#")?e.obj(t.menu):i.find(t.menu).eq(0),o=a.children(),r=i.find(t.children).eq(0),l=r.parent(),c=r.children()}function fe(e){e=e||0,c.removeClass("active"),c.eq(e).addClass("active"),o.removeClass("active"),o.eq(e).addClass("active")}function pe(){var e=he();return i.off(e.touchstart,j.children,X).off(e.touchmove,j.children,Z).off(e.touchend,j.children,G).off(e.touchcancel),Oe.call(S,"lock"),this}function he(){var t={touchstart:"touchstart",touchmove:"touchmove",touchend:"touchend",touchcancel:"touchcancel"};return e.platform.isPC()&&(t={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",touchcancel:"mouseleave"}),t}function ge(e){var t=he();return i.on(t.touchstart,j.children,X).on(t.touchmove,j.children,Z).on(t.touchend,j.children,G).on(t.touchcancel,(function(){V=!1,q=!1,ie(j.loop?ce()+1:ce())})),Oe.call(S,"unlock"),this}function me(t){var n=c.eq(t),i=o.eq(t).attr("href")||"";if(e.array.compare(R,t))return Oe.call(S,"to",t,"200"),!1;if(j.autoload)if(i)if((i=e.unit.resolvePath(i))in B){var a=B[i],r=e.history.getLast().id;a=a.replace(/#module\.id/g,"#"+r),n.html(a),R.push(t),!M&&Oe.call(S,"load",t,status),!M&&Oe.call(S,"to",t,status),M=!1}else B[i]="",D&&D.show(),loader&&loader.import(i,(function(a){a=e.unit.handleContent(a),B[i]=a;var o=e.history.getLast().id;a=a.replace(/#module\.id/g,"#"+o),n.html(a),R.push(t),Oe.call(S,"load",t,status),!M&&Oe.call(S,"to",t,status),M=!1,D&&D.hide()}),(function(e,n){Oe.call(S,"loadfail",t,n),D&&D.hide()}));else!M&&Oe.call(S,"to",t),M=!1}function ve(n){var i=t.extend(!0,{},{id:"",icon:"",title:"",name:"",menuTemplate:null,template:null,index:-1,param:{},animate:!0,preload:!1,needRemove:!1,command:"after",width:0,height:0,loaded:null,beforeLoad:null},n);c=r.children();var a=i.url||i.name||"",l=i.index>-1?i.index:"before"==i.command?0:c.length-1,s=a&&a.indexOf(".html")||0,u=s>-1?a.substr(0,s):a;i.name=u,i.index=l;var d=function(n){var i={id:"",name:"",index:0,menuTemplate:null,template:null,command:"after",width:0,height:0},a=t.extend(!0,i,n),r=c.eq(a.index),l=o.eq(a.index),s=a.id&&(a.id.indexOf("#")>-1||a.id.indexOf(".")>-1)?a.id.substr(1):a.id||e.guid(),u=''),d='
  • \n ').concat(a.name?u:a.template?a.template.call(S):"","\n
  • "),f=a.command,p="function"==typeof a.menuTemplate?a.menuTemplate.call(S):a.menuTemplate||"";"html"===f?(r.after(d),r.remove(),p&&l.after(p),p&&l.remove()):(r[f](d),p&&l[f](p));return{id:s}}(i);ke();var f=0;switch(i.command){case"html":case"append":case"prepend":f=l;break;case"before":f=l-1<0?0:l-1;break;default:f=l+1}if(Oe.call(S,"add",{index:f,prevIndex:E}),a){if(i.id=d.id||"",loader.delay(i),i.preload)return this;i.animate?ie(f):ie(f,"none")}return this}function be(e){var n=t.extend(!0,{index:-1,beforeLoad:null,loaded:null},e);if(!1===(n.beforeLoad&&n.beforeLoad.call(S)))return this;var i=parseInt(n.index),a=i-1;if(i<0)return this;var r=c.eq(i),l=o.eq(i);return r.remove(),l.remove(),ke(),E===i?a>-1&&ie(a,"none"):ie(E>i?E-1:E,"none"),n.loaded&&n.loaded.call(this,n),Oe.call(S,"remove",{index:E,prevIndex:i}),this}function ye(e){return A[e="number"==typeof e?e:E].param||{}}function we(e){var t=void 0===e?E:e;return c.eq(t)[0]}function xe(e){var n="";return(e=e||[]).length&&e.forEach((function(e,i){var a=e.title?'
    '.concat(e.title,"
    "):"",o=e.background||"background"==e.type?'
    '):'
    ').concat(e.title||
    '),r="";if("video"==e.type||e.video){var l=t.extend(!0,{},j.video,e,e.video);r='
    \n \n
    ")}n+='
  • \n ').concat(r||o,"\n ").concat(a,"\n
  • ")})),n}function ke(e){var i=t.extend(!0,{},n,e);return K(i),Y(i),ie(E,"none"),this}function Ie(t,n){return e.on.apply(S,arguments),this}function Te(t,n){return e.off.apply(S,arguments),this}function Oe(t){S.self=this==window||this==S?null:this,e.trigger.apply(S,arguments)}return S}}(window.bui||{},window.libs),t((function(e){!function(t,n){t.tab=function(i){var a=e.config=n.extend(!0,{},{id:"",uid:"",menu:".bui-tab-head > ul",children:".bui-tab-main > ul",header:"header",footer:"footer",main:".bui-tab-main",item:"li",prev:".bui-tab-prev",next:".bui-tab-next",data:null,showNav:!0,navscroll:!1,loadall:!1,position:"top",iconBadge:!0,iconPosition:"left",loaded:null,compiled:null,sideWidth:0,align:"center",alignClassName:"",stopHandle:"",width:0,height:0,relative:!1,zoom:!1,swipe:!0,animate:!0,bufferEffect:!1,visibleNum:1,scrollNum:1,distance:40,direction:"x",autoplay:!1,autoheight:!1,scroll:!0,index:0,fullscreen:!1,autopage:!1,autoload:!1,autoinit:!0,template:null,templateMenuItem:null,async:!0,callback:null,onBeforeInit:null,onInited:null,onStart:null,onMove:null,onEnd:null},t.config.slide,i),o=null,r=null,l=t.guid();(o=function(e){r=n.extend(!0,e.data),e.data&&(e.menu=e.menu.indexOf("#")>-1?e.menu:".".concat(l,"-menu"),e.children=".".concat(l,"-main"),i=r,o=(a.template||p)(i),t.$(a.id).html(o),e.data=null);var i,o;var c=t.$(".bui-tab-sidenav");if(r&&"left"==e.position){e.sideWidth&&c.width(e.sideWidth);var s=e.sideWidth||c.width();e.width=e.width||n(window).width()-s,t.$(e.id).addClass("bui-tab-left"),t.$(e.id).css({"margin-left":s}),c.css("left",-s)}else if(r&&"right"==e.position){e.sideWidth&&c.width(e.sideWidth);s=e.sideWidth||c.width();e.width=e.width||n(window).width()-s,t.$(e.id).addClass("bui-tab-right"),c.css({left:"100%"})}var u=t.slide(e);"left"!=e.position&&"right"!=e.position||t.$(e.id).css({overflow:"visible"});r&&u.on("to",(function(e,t){var i=this.index(),o=r&&r[i]||{},l=a.loadall?".delay-item":"#".concat(o.id);o.name&&loader.delay({id:l,param:n.extend({},o.param,t),everytime:o.everytime,loaded:a.loaded,compiled:a.compiled})})).to(e.index);return e.uid&&t.history.setUI&&t.history.setUI({uid:e.uid,ui:u}),u}(a)).name="tab",o.templateNav=d,o.renderNav=function(e,n){var i=templatesNav(n||r);t.$(e).html(i)},o.addBadge=function(e,n){if(e&&!/[0-9]/.test(e))return this;var i=t.$(a.id).find(a.menu).children().eq(e),o=void 0!==n?n:"",r=i.find(".bui-badges"),l=i.find("i");r.size()?r.text(n):l.size()&&a.iconBadge?l.append(''.concat(o,"")):i.append(''.concat(o,""));return this},o.removeBadge=function(e){var n=t.$(a.id).find(a.menu).children();void 0!==e?n.eq(e).find(".bui-badges").remove():n.find(".bui-badges").remove();return this};var c=o.add,s=o.remove,u=!1;function d(e){var t="left"==a.position||"right"==a.position?" bui-tab-sidenav":"",n=a.navscroll?'
    ':"",i="".concat(n,'
      '),o=a.templateMenuItem?a.templateMenuItem:f;return e&&e.forEach((function(e,t){i+=o(e,t)})),i+="
    \n ".concat(a.navscroll?"
    ":"")}function f(e,t){var n="",i=function(e,t){return e.icon?e.icon.indexOf("&#")>-1?''.concat(e.icon,""):''):""}(e)||function(e,t){return e.image?''):""}(e),o=e.needRemove?'':"",r=e.className?"".concat(e.className):"";switch(a.iconPosition){case"left":n+='
  • ').concat(i).concat(e.title||"").concat(o,"
  • ");break;case"right":n+='
  • ').concat(e.title||"","
    ").concat(i).concat(o,"
  • ");break;case"bottom":n+='
  • ').concat(e.title||"","
    ").concat(i).concat(o,"
  • ");break;default:n+='
  • ').concat(i,'
    ').concat(e.title||"").concat(o,"
  • ")}return n}function p(e){var t="",n=a.showNav?function(e){var t="bottom"==a.position?"bui-tab-foot":"",n='
    ');return n+=d(e),n+"
    "}(e):"",i=function(e){var t="left"==a.position||"right"==a.position?'
    ':"",n="".concat(t,'
      ');return e&&e.forEach((function(e,t){n+=e.content?'
    • '.concat(e.content,"
    • "):'
    • \n \n
    • ')})),n+="
    ",n+="left"==a.position||"right"==a.position?"
    ":""}(e);switch(a.position){case"top":t=n+i;break;case"bottom":t=i+n;break;default:t=n+i}return t}return o.add=function(e){var i=n.extend(!0,{title:"",needRemove:!1,templateMenuItem:null},e);if(i.menuTemplate=e.templateMenuItem||a.templateMenuItem&&a.templateMenuItem(i,r.length)||i.title&&f(i,r.length)||"",r.push(i),i.needRemove&&!u){var l=t.obj(this.config.id),s=this.config;(s.menu.indexOf("#")>-1?t.obj(s.menu):l.find(s.menu).eq(0)).off("click.bui",".icon-close").on("click.bui",".icon-close",(function(e){var t=n(this).parents(".bui-btn").index();o.remove({index:t})})),u=!0}return c(i)},o.remove=function(e){var i=n.extend(!0,{index:-1,keyname:"id",target:"",callback:null},e),a=i.index,o=i.keyname,l=i.target.indexOf("#")>-1?i.target.substr(1):i.target||"";return"array"===t.typeof(r)&&l&&(a=t.array.index(r,l,o))>-1&&t.array.deleteIndex(r,a),i.index=a,s(i)},o.getData=function(e){return r},o.getItem=function(e){if("string"==typeof e)return t.array.get(r,e,"id");var n="number"==typeof e?e:index();return r[n]},o.setItem=function(e,i){if("string"==typeof e&&r){var a=t.array.get(r,e,"id");return a=n.extend(a,i)}e="number"==typeof e?e:nowIndex;return r[e]&&(r[e]=n.extend(r[e],i)),r[e]},o.getItemParam=function(e){if("string"==typeof e)return t.array.get(r,e,"id").param;e="number"==typeof e?e:nowIndex;return r[e].param||{}},o.setItemParam=function(e,i){if("string"==typeof e&&r){var a=t.array.get(r,e,"id");return a.param=n.extend(a.param,i),a.param}e="number"==typeof e?e:nowIndex;var o=r[e];return o&&(o=n.extend(o,i)),o.param},o}}(window.bui||{},window.libs)})),function(e,t){var n,i;e.swipe=(n=null,i=null,function(a){var o,r,l,c,s,u,d,f,p,h,g,m,v={name:"swipe",handle:{},active:function(){return n},isActive:function(){return A},on:function(t,n){return e.on.apply(v,arguments),this},off:fe,close:function(){if(!R)return re(),this},open:function(e){if(!R){var t=e||{};t.transition=t.transition||b.transition,t.index=t.index||0;var n,i=t.target;switch(z=i,i){case"swiperight":t.target=p.eq(t.index),n=t.target.parent().index(),t.handle=x?o.children().eq(n).children(b.handle):r,D=t.handle,t.target,c=p.attr("data-moving")||m,I&&Q(t);break;case"swipeleft":t.target=f.eq(t.index),n=t.target.parent().index(),t.handle=x?o.children().eq(n).children(b.handle):r,D=t.handle,t.target,c=f.attr("data-moving")||m,T&&G(t);break;case"swipedown":t.target=g.eq(t.index),n=t.target.parent().index(),t.handle=x?o.children().eq(n).children(b.handle):r,D=t.handle,t.target,c=g.attr("data-moving")||m,C&&te(t);break;case"swipeup":t.target=h.eq(t.index),n=t.target.parent().index(),t.handle=x?o.children().eq(n).children(b.handle):r,D=t.handle,t.target,c=h.attr("data-moving")||m,O&&ee(t);break;default:t.target=p.eq(t.index),n=t.target.parent().index(),t.handle=x?o.children().eq(n).children(b.handle):r,D=t.handle,t.target,I&&Q(t)}return pe.call(v,"open",i),this}},destroy:function(e){e=1==e,o&&(o.off(),e&&o.remove()),fe("open"),fe("close"),R=!0},lock:ue,unlock:de,init:H},b=v.config=t.extend(!0,{},{id:"",uid:"",handle:".handle",swiperight:".swiperight",swipeleft:".swipeleft",swipeup:".swipeup",swipedown:".swipedown",direction:"x",stopHandle:"",relative:!1,swipe:!0,hasChild:!1,handleMove:!0,targetMove:!0,alwaysTrigger:!1,stopPropagation:!1,width:0,height:0,movingDistance:280,initDistance:0,zoom:!1,autoClose:!0,distance:40,autoinit:!0,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,onBeforeInit:null,onInited:null,transition:300},e.config.swipe,a),y={},w=b.direction,x=b.hasChild,k=!1,I=!1,T=!1,O=!1,C=!1,P=!1,S=!1,j=!1,L=!1,E=b.handleMove,N=b.targetMove,B=!1,D=null,R=!1,A=!1;/hp-tablet/gi.test(navigator.appVersion);var M=!1,F=!1,$=!1,z=(y={x1:0,x2:0,y1:0,y2:0,direction:"",deltax:0,movingleft:0,movingright:0,movingup:0,movingdown:0,scrollObj:null},""),_=b.initDistance,U=document.documentElement;function H(i){var a=t.extend(!0,b,i);if(a.onBeforeInit&&a.onBeforeInit.call(v,a),R=!1,a.id)return o=e.obj(a.id),s=a.width>0?a.width:a.relative?o.width():U.clientWidth,u=a.height>0?a.height:U.clientHeight,r=o.children(a.handle),l=x?o.children():o,f=l.children(a.swipeleft),p=l.children(a.swiperight),h=l.children(a.swipeup),g=l.children(a.swipedown),m=parseFloat(a.movingDistance),c=m,W(),k||(V(),k=!0),n&&n.close(),B||(ue(),function(e){e.swipe&&de(),B=!0}(a)),a.uid&&e.history.setUI&&e.history.setUI({uid:a.uid,ui:v}),a.onInited&&a.onInited.call(v,a),this;e.showLog("swipe id不能为空","bui.swipe.init")}function V(e){l.css({width:s,position:"relative",overflow:"hidden"}),!x&&l.css({height:u}),r.css({position:"relative","z-index":12});try{var t=f.attr("data-moving")||m,n=p.attr("data-moving")||m,i=h.attr("data-moving")||m,a=g.attr("data-moving")||m,o=q(t),c=q(n),d=q(i),v=q(a);T&&f.css({width:o}),I&&p.css({width:c}),C&&g.css({height:v}),O&&h.css({height:d})}catch(e){}}function q(e){return b.zoom?e/100+"rem":e+"px"}function W(){"x"==w?(I=!!p.length,T=!!f.length):"y"==w?(C=!!g.length,O=!!h.length):"xy"==w&&(C=!!g.length,O=!!h.length,T=!!f.length,I=!!p.length)}function K(n){M=!0;var i=n.touches?n.touches[0]:n;if(n.touches&&n.touches.length>1||n.scale&&1!==n.scale)M=!1;else if(b.stopHandle&&e.unit.checkTargetInclude(n.target,b.stopHandle))M=!1;else{if(y.id=b.id,y.x1=i.clientX,y.y1=i.clientY,y.direction="",d=t(n.target).closest(b.handle),!1===(b.onBeforeTouchstart&&b.onBeforeTouchstart.call(v,n,y)))return!1;pe.call(v,"touchstart",n,y);var a=t(n.target).closest(".bui-scroll"),o=t(n.target).closest(".bui-tab-main li.active"),c=t(n.target).closest("main"),s=t(n.target).closest(".swipedown"),u=t(n.target).closest(".swipeup"),k=s.length?s:u.length?u:d;if(y.scrollObj=a.length?a:o.length?o:c.length?c:s.length?s:k,y.scrollObj.scrollTop(),x&&!A&&(l=(r=d).parent(),f=l.children(b.swipeleft),p=l.children(b.swiperight),h=l.children(b.swipeup),g=l.children(b.swipedown),W(),l.index(),V(),(0==b.height||""==l[0].style.height)&&l.height(d[0]&&d[0].offsetHeight)),y.movingleft=parseInt(f.attr("data-moving")||m),y.movingright=parseInt(p.attr("data-moving")||m),y.movingup=parseInt(h.attr("data-moving")||m),y.movingdown=parseInt(g.attr("data-moving")||m),d.length){var P=!1;switch(w){case"x":P=!(!T&&!I);break;case"y":P=!(!O&&!C);break;case"xy":P=!!(T||I||O||C)}}M=null==P||1==P}}function Y(t){if(M){F=!0;var a=t.touches?t.touches[0]:t;if(t.touches&&t.touches.length>1||t.scale&&1!==t.scale)re();else{if(y.x2=a.clientX,y.y2=a.clientY,!1===(b.onBeforeTouchmove&&b.onBeforeTouchmove.call(v,t,y)))return!1;pe.call(v,"touchmove",t,y),n&&t.stopPropagation();var l=y.scrollObj.scrollTop()<=0,s=(y.scrollObj[0]&&y.scrollObj[0].scrollHeight)-(y.scrollObj[0]&&y.scrollObj[0].offsetHeight)-y.scrollObj.scrollTop()<=2,u=y.y2-y.y1>0,m=y.y2-y.y1<0;if(j){if(u&&l)return F=!1,void t.preventDefault();if(m&&s&&t.preventDefault(),m&&!s)return void(F=!1);if(u&&!l)return void(F=!1)}if(C&&!j&&(u&&l&&t.preventDefault(),m&&s&&t.preventDefault()),!C&&u&&l&&t.preventDefault(),L){if(u&&l&&t.preventDefault(),m&&s)return t.preventDefault(),void(F=!1);if(m&&!s)return void(F=!1);if(u&&!l)return void(F=!1)}y.direction||(y.direction=e.swipeDirection(y.x1,y.x2,y.y1,y.y2)),"swipeleft"!==y.direction&&"swiperight"!==y.direction||t.preventDefault();try{if("swipeup"===y.direction||"swipedown"===y.direction){var w=o[0].scrollTop||0,x=(o[0].scrollHeight,d[0].scrollTop,d[0].scrollHeight,y.scrollObj[0]&&y.scrollObj[0].scrollTop||0),k=y.scrollObj[0]&&y.scrollObj[0].offsetHeight||0,B=y.scrollObj[0]&&y.scrollObj[0].scrollHeight||0,D=!1,R=!1;w<=0&&x<=0&&(D=!0),B-x-k<=2&&(R=!0)}}catch(t){}var $="swiperight"==y.direction||"swipeleft"==y.direction?y.x2-y.x1:y.y2-y.y1,z=0;y.deltax=A?Math.abs($):Math.abs($)+_,!I||"swiperight"!=y.direction||S||A||i?!D||!C||"swipedown"!=y.direction||j||A||i?!T||"swipeleft"!=y.direction||P||A||i?!R||!O||"swipeup"!=y.direction||L||A||i?"swipeleft"==y.direction&&S?(c=y.movingright,z=X(y,y.movingright),N&&ce(-y.deltax,0,"none",i||p),E&&ce(-z,0,"none",r),pe.call(v,"movingleft",t,y),F=!0,t.stopPropagation()):"swipeup"==y.direction&&j?(c=y.movingdown,z=X(y,y.movingdown),N&&ce(0,-y.deltax,"none",i||g),E&&ce(0,-z,"none",r),pe.call(v,"movingup",t,y),F=!0,t.preventDefault(),t.stopPropagation()):"swiperight"==y.direction&&P?(c=y.movingleft,z=X(y,y.movingleft),N&&ce(y.deltax,0,"none",i||f),E&&ce(z,0,"none",r),pe.call(v,"movingright",t,y),F=!0,t.stopPropagation()):"swipedown"==y.direction&&L&&(c=y.movingup,z=X(y,y.movingup),N&&ce(0,y.deltax,"none",i||h),E&&ce(0,z,"none",r),pe.call(v,"movingdown",t,y),F=!0,t.preventDefault(),t.stopPropagation()):(c=y.movingup,z=Z(y,y.movingup),N&&ce(0,z,"none",h),E&&ce(0,-y.deltax,"none",r),pe.call(v,"movingup",t,y),F=!0,t.preventDefault(),t.stopPropagation()):(c=y.movingleft,z=Z(y,y.movingleft),N&&ce(z,0,"none",f),E&&ce(-y.deltax,0,"none",r),pe.call(v,"movingleft",t,y),F=!0,t.stopPropagation()):(c=y.movingdown,z=X(y,y.movingdown),N&&ce(0,z,"none",g),E&&ce(0,y.deltax,"none",r),pe.call(v,"movingdown",t,y),F=!0,t.preventDefault(),t.stopPropagation()):(c=y.movingright,z=X(y,y.movingright),N&&ce(z,0,"none",p),E&&ce(y.deltax,0,"none",r),pe.call(v,"movingright",t,y),F=!0,t.stopPropagation())}}}function J(t){if(M=!1,$=!0,pe.call(v,"touchend",t,y),!1===(b.onBeforeTouchend&&b.onBeforeTouchend.call(v,t,y)))return!1;if(F){var n="",i=!1,a=!1,o=!1,r=!1;switch(y.direction){case"swiperight":n="swipeleft",a=!0;break;case"swipeleft":n="swiperight",i=!0;break;case"swipeup":n="swipedown",o=!0;break;case"swipedown":n="swipeup",r=!0}var l=a||i?Math.abs(y.x2-y.x1):Math.abs(y.y2-y.y1);if(I&&a&&l>b.distance&&!S&&!A)Q(),pe.call(v,y.direction,t,y),pe.call(v,"open",y.direction);else if(T&&i&&l>b.distance&&!P&&!A)G(),pe.call(v,y.direction,t,y),pe.call(v,"open",y.direction);else if(O&&o&&l>b.distance&&!L&&!A)ee(),pe.call(v,y.direction,t,y),pe.call(v,"open",y.direction);else if(C&&r&&l>b.distance&&!j&&!A)te(),pe.call(v,y.direction,t,y),pe.call(v,"open",y.direction);else if(A&&lb.distance){var c=T&&P&&a,s=I&&S&&i,u=O&&L&&r,d=C&&j&&o;c&&ie(),s&&ne(),u&&ae(),d&&oe(),pe.call(v,y.direction,t,y),(c||s||u||d)&&pe.call(v,"close",n)}else!A&&l0?0:n}function Z(e,t){var n=t-e.deltax;return n=n>t?t:n}function G(e){(e=e||{}).transition=e.transition||b.transition,e.target=e.target||f,e.handle=e.handle||r,n&&n.close(),A=!0,P=!0,x&&(n=v,i=f,U.addEventListener("click",le,!0)),N&&ce(0,0,e.transition,e.target),E&&ce(-c,0,e.transition,e.handle)}function Q(e){(e=e||{}).transition=e.transition||b.transition,e.target=e.target||p,e.handle=e.handle||r,n&&n.close(),A=!0,S=!0,x&&(n=v,i=p,U.addEventListener("click",le,!0)),N&&ce(0,0,e.transition,e.target),E&&ce(c,0,e.transition,e.handle)}function ee(e){(e=e||{}).transition=e.transition||b.transition,e.target=e.target||h,e.handle=e.handle||r,n&&n.close(),A=!0,L=!0,x&&(n=v,i=h,U.addEventListener("click",le,!0)),N&&ce(0,0,e.transition,e.target),E&&ce(0,-c,e.transition,e.handle)}function te(e){(e=e||{}).transition=e.transition||b.transition,e.target=e.target||g,e.handle=e.handle||r,n&&n.close(),A=!0,j=!0,x&&(n=v,i=g,U.addEventListener("click",le,!0)),N&&ce(0,0,e.transition,e.target),E&&ce(0,c,e.transition,e.handle)}function ne(e){(e=e||{}).transition=e.transition||b.transition,e.target=p,e.handle=D||r,A=!1,S=!1,x&&(n=null,i=null,D=null,U.removeEventListener("click",le,!0)),N&&ce(-(c+1),0,e.transition,e.target),E&&ce(_,0,e.transition,e.handle)}function ie(e){(e=e||{}).transition=e.transition||b.transition,e.target=f,e.handle=D||r,A=!1,P=!1,x&&(n=null,i=null,D=null,U.removeEventListener("click",le,!0)),N&&ce("101%",0,e.transition,e.target),E&&ce(-_,0,e.transition,e.handle)}function ae(e){(e=e||{}).transition=e.transition||b.transition,e.target=h,e.handle=D||r,A=!1,L=!1,x&&(n=null,i=null,D=null,U.removeEventListener("click",le,!0)),N&&ce(0,"100%",e.transition,e.target),E&&ce(0,-_,e.transition,e.handle)}function oe(e){(e=e||{}).transition=e.transition||b.transition,e.target=g,e.handle=D||r,A=!1,j=!1,x&&(n=null,i=null,D=null,U.removeEventListener("click",le,!0)),N&&ce(0,-c,e.transition,e.target),E&&ce(0,_,e.transition,e.handle)}function re(){S&&ne(),P&&ie(),j&&oe(),L&&ae(),pe.call(v,"close",z)}function le(e){if(!F||!$){var i=t(e.target),a=i.closest(f).length||i.closest(p).length||i.closest(h).length||i.closest(g).length||e.target.className.indexOf("bui-mask")>-1||e.target.className.indexOf("bui-click")>-1;n&&(a||(n.close(),e.stopPropagation()))}}function ce(e,t,n,i){var a=i||o,r=(e=e||0,t=t||0,b.zoom?parseFloat(e)/100+"rem":parseFloat(e)+"px"),l=b.zoom?parseFloat(t)/100+"rem":parseFloat(t)+"px",c=String(e).indexOf("%")>-1?e:r,s=String(t).indexOf("%")>-1?t:l;return n="number"==typeof n?"all "+n+"ms":n||"all 300ms",a.css({"-webkit-transition":n,transition:n,"-webkit-transform":"translate("+c+","+s+")",transform:"translate("+c+","+s+")"}).one("webkitTransitionEnd",(function(){a.css({"-webkit-transition":"none",transition:"none"}),F=!1})),this}function se(){var t={touchstart:"touchstart",touchmove:"touchmove",touchend:"touchend",touchcancel:"touchcancel"};return e.platform.isPC()&&(t={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",touchcancel:"mouseleave"}),t}function ue(){if(!R){var e=se();return o.off(e.touchstart,K).off(e.touchmove,Y).off(e.touchend,J).off(e.touchcancel),pe.call(v,"lock"),this}}function de(){if(!R){var t=se();return o.on(t.touchstart,K).on(t.touchmove,Y).on(t.touchend,J).on(t.touchcancel,(function(t){b.autoClose&&e.platform.isPC()&&($||F)&&(ne(),ie(),oe(),ae(),pe.call(v,"close",z),t.stopPropagation()),M=!1,F=!1,$=!1})),pe.call(v,"unlock"),this}}function fe(t,n){return e.off.apply(v,arguments),this}function pe(t){v.self=this==window||this==v?null:this,e.trigger.apply(v,arguments)}return b.autoinit&&H(b),v})}(window.bui||{},window.libs),function(e,t){e.sidebar=function(n){var i,a={name:"sidebar",handle:{},on:function(t,n){return e.on.apply(a,arguments),this},off:h,active:function(){return i.active()},isActive:function(){return c},open:f,close:p,lock:function(){return i.lock(),g.call(this,"lock"),this},unlock:function(e){return i.unlock(),g.call(this,"unlock"),this},destroy:function(e){e=1==e;u&&u.off("click.bui");h("open"),h("close"),r&&r.destroy(e),i&&i.destroy(e)},widget:function(t){var n={swipe:i,mask:r};return e.widget.call(n,t)},option:function(t,n){return e.option.call(a,t,n)},config:o,init:d},o=a.config=t.extend(!0,{},{id:"",uid:"",trigger:"",handle:".bui-page",swiperight:".swiperight",swipeleft:".swipeleft",handleMove:!0,swipe:!0,stopHandle:"",zIndex:121,mask:!0,width:280,opacity:.1,height:0,zoom:!0,autoClose:!0,stopPropagation:!1,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,autoinit:!0,onBeforeInit:null,onInited:null,distance:40},e.config.sidebar,n),r=null,l=null,c=!1,s=!1,u=null;function d(n){var d=t.extend(!0,o,n);return d.onBeforeInit&&d.onBeforeInit.call(a,d),o=a.config=d,d.trigger&&(u=e.obj(d.trigger)),l=e.obj(d.handle),i||(i=e.swipe({id:d.id,handle:d.handle,movingDistance:d.width,swipe:d.swipe,swiperight:d.swiperight,swipeleft:d.swipeleft,stopHandle:d.stopHandle,autoClose:d.autoClose,stopPropagation:d.stopPropagation,direction:"x",hasChild:!1,width:0,height:0,onBeforeTouchstart:d.onBeforeTouchstart,onBeforeTouchmove:d.onBeforeTouchmove,onBeforeTouchend:d.onBeforeTouchend,handleMove:d.handleMove,zoom:d.zoom,distance:d.distance,transition:300})),o.mask&&!r&&(r=bui.mask({id:d.id+"-mask",appendTo:l,autoTrigger:!1,zIndex:d.zIndex-1,opacity:d.opacity,callback:function(){i.close()}})),s||(!function(){var e=this;i.on("open",(function(t){u&&u.addClass("active"),r&&r.show(),l.css("overflow-y","hidden"),c=!0,g.call(e,"open",t)})),i.on("close",(function(){u&&u.removeClass("active"),r&&r.hide(),l.css("overflow-y","auto"),c=!1,g.call(e,"close")})),u&&u.off("click.bui").on("click.bui",(function(e){if(!t(this).hasClass("disabled")){var n=t(this).attr("data-target")||"swiperight";c?p():f({target:n})}})),s=!0}(),d.height>0&&e.obj(d.id).height(d.height)),d.uid&&e.history.setUI&&e.history.setUI({uid:d.uid,ui:a}),d.onInited&&d.onInited.call(a,d),this}function f(e){var t=e||{};return t.target=t.target||"swiperight",t.transition=t.transition||300,i.open(t),this}function p(){return i.close(),this}function h(t,n){return e.off.apply(a,arguments),this}function g(t){a.self=this==window||this==a?null:this,e.trigger.apply(a,arguments)}return o.autoinit&&d(o),a}}(bui||{},libs),function(e,t){e.listview=function(n){var i,a,o,r={name:"listview",active:function(){return i.active()},lock:function(){return i.lock(),f.call(this,"lock"),this},unlock:function(e){return i.unlock(),f.call(this,"unlock"),this},open:function(e){var t=e||{};return t.target=t.target||("right"==l.position?l.swipeleft.substr(1):l.swiperight.substr(1)),t.transition=t.transition||300,t.index=t.index||0,i.open(t),this},isActive:s,close:function(){return i.close(),this},destroy:function(e){e=1==e;o&&(o.off("click.bui"),o=null);a&&(a.off("click.bui"),e&&a.remove(),a=null);d("open"),d("close"),i&&i.destroy(e),l=null,r=null},widget:function(t){var n={swipe:i};return e.widget.call(n,t)},option:function(t,n){return e.option.call(r,t,n)},config:l,init:u},l=r.config=t.extend(!0,{},{id:"",uid:"",data:[],handle:".bui-btn",stopHandle:"",swiperight:".swiperight",swipeleft:".swipeleft",position:"right",width:0,height:0,relative:!1,menuWidth:160,menuHeight:0,distance:80,swipe:!0,zoom:!1,stopPropagation:!1,autoClose:!0,autoinit:!0,template:null,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,onBeforeInit:null,onInited:null,callback:null},e.config.listview,n),c=!1,s=!1;function u(n){var u=t.extend(!0,l,n);return u.onBeforeInit&&u.onBeforeInit.call(r,u),l=r.config=u,a=e.obj(u.id),(o=a.children()).length&&function(e){e.height>0&&a.height(e.height);e.data&&e.data.length?o.each((function(n,i){var a=t(i),o=a.attr("status"),l=e.menuHeight>0?e.menuHeight:i.offsetHeight;if(!o){var c="function"==typeof e.template?e.template.call(r,e.data):function(e){var n="",i="right"==e.position?e.swipeleft.substr(1):e.swiperight.substr(1);return n+='
    ',t.each(e.data,(function(e,t){n+='
    '+t.text+"
    "})),n+="
    "}(e);a.append(c).attr("status","1")}i.style.height||t(i).height(l)})):o.each((function(n,i){var a=e.menuHeight>0?e.menuHeight:i.offsetHeight;i.style.height||t(i).height(a)}))}(u),c||function(t){var n=this,o=function(e){e.ui=r,t.callback&&t.callback.call(r,e,i)};a.off("click.bui",".bui-listview-menu .bui-btn").on("click.bui",".bui-listview-menu .bui-btn",o),(i=e.swipe({id:t.id,handle:t.handle,stopHandle:t.stopHandle,stopPropagation:t.stopPropagation,movingDistance:t.menuWidth,swipe:t.swipe,swiperight:t.swiperight,swipeleft:t.swipeleft,direction:"x",autoClose:t.autoClose,hasChild:!0,width:t.width,relative:t.relative,height:0,zoom:t.zoom,distance:t.distance,onBeforeTouchstart:t.onBeforeTouchstart,onBeforeTouchmove:t.onBeforeTouchmove,onBeforeTouchend:t.onBeforeTouchend,transition:300})).on("open",(function(e){s=!0,f.call(n,"open",e)})),i.on("close",(function(e){s=!1,f.call(n,"close",e)})),c=!0}(u),u.uid&&e.history.setUI&&e.history.setUI({uid:u.uid,ui:r}),u.onInited&&u.onInited.call(r,u),this}function s(){return i&&i.isActive()}function d(t,n){return e.off.apply(r,arguments),this}function f(t){r.self=this==window||this==r?null:this,e.trigger.apply(r,arguments)}return l.autoinit&&u(l),r}}(window.bui||{},window.libs),function(e,t){e.pullrefresh=function(n){var i,a,o,r,l,c,s,u="."+e.prefix("scroll-head"),d="."+e.prefix("scroll-main"),f="."+e.prefix("scroll-foot"),p={id:"",uid:"",stopHandle:"",childrenTop:u,childrenMain:d,handleMove:"main",header:".bui-page header",footer:".bui-page footer",distance:90,maxDistance:0,autoLoad:!0,lastUpdated:!1,height:0,cacheHeight:!0,refreshTips:{start:"刷新中..",release:"松开刷新",end:"下拉刷新",fail:"刷新失败,请检查下网络再试试",success:"刷新成功"},autoinit:!0,stopPropagation:!1,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,onBeforeInit:null,onBeforeRefresh:null,onInited:null,onRefresh:null},h={name:"pullrefresh",handle:{},on:function(t,n){return e.on.apply(h,arguments),this},off:U,reverse:function(e,t,n){x||(k.show({text:g.refreshTips.success,onlyText:!1}),$(e,t),I.one("webkitTransitionEnd",(function(){k&&k.hide().pause(),x=!1,n&&n.call(h)})));return this},refresh:function(){$(g.distance/2,!0),k.start({text:g.refreshTips.start,onlyText:!1}),g.onRefresh&&s()},setHeight:_,resize:function(e){var t=e||{height:0,width:0};this.setHeight(t),t&&t.width>0&&i.width(t.width);return this},fail:function(){x=!0,$(),e.hint(g.refreshTips.fail),H.call(h,"fail")},lock:function(e){m=!0;var t=M();return i.off(t.touchstart,N).off(t.touchmove,R).off(t.touchend,A).off(t.touchcancel),$(),e&&e.call(h),H.call(h,"lock"),this},unlock:F,destroy:function(e){e=1==e;i&&(i.off(),e&&i.remove());k&&k.destroy(e),U("refresh"),U("movingdown"),U("swipedown")},widget:function(t){var n={loading:k};return e.widget.call(n,t)},option:function(t,n){return e.option.call(h,t,n)},config:g,init:j},g=h.config=t.extend(!0,{},p,e.config.pullrefresh,n),m=!1,v=(new Date).getTime(),b=0,y=!1,w=!1,x=!1,k=null;/hp-tablet/gi.test(navigator.appVersion);var I=null,T=0,O=0,C=!1,P=!1,S={x1:0,x2:0,y1:0,y2:0,direction:""};function j(n){var l=t.extend(!0,g,n);if(l.onBeforeInit&&l.onBeforeInit.call(h,l),l.id)return i=e.obj(l.id),g=h.config=l,i[0],a=i.children(u),o=i.children(d),r=i.children(f),I="head"===l.handleMove?a:o,s=L,c=l.refreshTips.end,k||(k=e.loading({appendTo:a,width:15,height:15,autoClose:!1,text:c,onlyText:!0,display:"inline",autoTrigger:!1,mask:!1})),l.autoLoad&&(y=!0,k.start({text:l.refreshTips.start,onlyText:!1}),s()),w||function(e){m||F();w=!0}(),_(l.height),l.uid&&e.history.setUI&&e.history.setUI({uid:l.uid,ui:h}),l.onInited&&l.onInited.call(h,l),this;e.hint("pullrefresh id不能为空")}function L(){v=(new Date).getTime(),g.onBeforeRefresh&&g.onBeforeRefresh.call(h),g.onRefresh&&g.onRefresh.call(h),H.call(h,"refresh")}g.autoinit&&j(g);var E=0;function N(n){C=!0;var o=n.touches?n.touches[0]:n;if(S.x1=o.clientX,S.y1=o.clientY,S.direction="",E=i.scrollTop(),g.stopHandle&&e.unit.checkTargetInclude(n.target,g.stopHandle))C=!1;else if(n.touches&&n.touches>1||n.scale&&1!==n.scale)C=!1;else{var r,l,s;if(!1===(g.onBeforeTouchstart&&g.onBeforeTouchstart.call(h,n,S)))return!1;c=g.lastUpdated?(r=(new Date).getTime()-v,l=Math.floor(r/36e5),s=Math.floor(r/6e4),l<=0&&s<=0?"刚刚更新":l<=0&&s>0?s+"分钟前更新":"上次更新时间:"+(l<10?"0"+l:l)+":"+(s<10?"0"+s:s)):g.refreshTips.end,H.call(h,"touchstart",n,S),"head"===g.handleMove&&a.css("zIndex",10),t(window).scrollTop()<=0&&E<=0&&g.onRefresh&&!y?(C=!0,t(this).css("touch-action","none")):(C=!1,a.css("zIndex",0)),g.stopPropagation&&n.stopPropagation()}}var B=!1,D=!1;function R(t){var n=t.touches?t.touches[0]:t;if(C)if(t.touches&&t.touches.length>1||t.scale&&1!==t.scale)$();else{if(S.x2=n.clientX,S.y2=n.clientY,!1===(g.onBeforeTouchmove&&g.onBeforeTouchmove.call(h,t,S)))return!1;S.direction||(S.direction=e.swipeDirection(S.x1,S.x2,S.y1,S.y2)),H.call(h,"touchmove",t,S),"swipeleft"!==S.direction&&"swiperight"!==S.direction||t.preventDefault(),S.y2-S.y1>0&&E<=0&&t.preventDefault(),"swipedown"==S.direction?(H.call(h,"movingdown",t,S),$((l=Math.abs(S.y2-S.y1))/2,!1),l>=g.distance?B||(k.show({text:g.refreshTips.release,onlyText:!1}).pause(),B=!0):D||(k.show({text:c,onlyText:!1}).pause(),D=!0),P=!0,g.maxDistance>g.distance&&l>=g.maxDistance&&(k.show({text:g.refreshTips.start,onlyText:!1}),y=!0,g.onRefresh&&s(),P=!1,B=!1,D=!1,T+=(S={}).y2-S.y1,O+=S.x2-S.x1,S.lastX=O,S.lastY=T,S={x1:0,x2:0,y1:0,y2:0,direction:""},C=!1,P=!1),t.preventDefault(),t.stopPropagation()):"swipeup"==S.direction&&(H.call(h,"movingup",t,S),P=!0,t.stopPropagation()),k&&k.pause()}else $()}function A(e){return H.call(h,"touchend",e,S),!1!==(g.onBeforeTouchend&&g.onBeforeTouchend.call(h,e,S))&&(t(this).css("touch-action","auto"),P?("swipedown"==S.direction?(H.call(h,S.direction,e,S),l>=g.distance?($(g.distance/2),k.show({text:g.refreshTips.start,onlyText:!1}).start(),y=!0,g.onRefresh&&s()):$(),e.stopPropagation(),B=!1,D=!1,S={}):"swipeup"==S.direction&&(H.call(h,S.direction,e,S),e.stopPropagation()),T+=S.y2-S.y1,O+=S.x2-S.x1,S.lastX=O,S.lastY=T,S={x1:0,x2:0,y1:0,y2:0,direction:""},C=!1,P=!1,void a.css("zIndex",0)):(S={x1:0,x2:0,y1:0,y2:0,direction:""},C=!1,void(P=!1)))}function M(){var t={touchstart:"touchstart",touchmove:"touchmove",touchend:"touchend",touchcancel:"touchcancel"};return e.platform.isPC()&&(t={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",touchcancel:"mouseleave"}),t}function F(t){var n=M();return m=!1,i.on(n.touchstart,N).on(n.touchmove,R).on(n.touchend,A).on(n.touchcancel,(function(t){C=!1,P=!1,!e.platform.isPC()&&$(t)})),t&&t.call(this),H.call(h,"unlock"),this}function $(e,t){y=!1;var n=(t=0!=t)?"all 300ms ease-out":"none";return z(0,(e=e||0)+"px",n,I),r.length&&("head"===g.handleMove?r.find(".bui-loading-text").text(""):z(0,e+"px",n,r)),this}function z(e,t,n,a){a=a||i;var o=e=e||0,r=t=t||0,l=String(e).indexOf("%")>-1?String(e):o,c=String(t).indexOf("%")>-1?String(t):r;n="number"==typeof n?"all "+n+"ms":n||"all 300ms";try{a.css({"-webkit-transition":n,transition:n,"-webkit-transform":"translate("+l+","+c+")",transform:"translate("+l+","+c+")"}),a.one("webkitTransitionEnd",(function(){a.css({"-webkit-transition":"none",transition:"none"})}))}catch(e){console.log(e.message)}}function _(t){e.$(".bui-page");var n=i.parents(".active").length?i.parents(".active"):i.parents(".bui-tab-main"),a=((n.length?n.height():i.parents(".bui-tab").height())||i.parents(".bui-page").height()||i.parents(".bui-dialog-main"))-(i[0]&&i[0].offsetTop),o=t?parseFloat(t):a;0==b&&(b=o),g.cacheHeight,i.height(b)}function U(t,n){return e.off.apply(h,arguments),this}function H(t){h.self=this==window||this==h?null:this,e.trigger.apply(h,arguments)}return h}}(window.bui||{},window.libs),function(e,t){e.scroll=function(n){var i,a,o,r,l,c,s,u,d,f="."+e.prefix("list"),p="."+e.prefix("scroll-head"),h="."+e.prefix("scroll-main"),g="."+e.prefix("scroll-foot"),m={id:"",uid:"",childrenTop:p,childrenMain:h,childrenBottom:g,children:f,stopHandle:"",header:".bui-page header",footer:".bui-page footer",handle:"li",distance:100,endDistance:5,height:0,page:1,pageSize:10,stopPropagation:!1,handleMove:"main",lastUpdated:!0,autoRefresh:!1,autoNext:!0,autoScroll:!0,refresh:!0,cacheHeight:!0,refreshPage:!0,scroll:!0,delayTime:100,direction:"y",scrollTips:{start:"努力加载中..",end:"上拉加载更多",nodata:"没有更多内容",last:"没有更多内容",fail:"点击重新加载"},refreshTips:{start:"刷新中..",release:"松开刷新",end:"下拉刷新",fail:"点击加载",success:"刷新成功"},autoinit:!0,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,onBeforeInit:null,onInited:null,onScrolling:null,onBeforeRefresh:null,onRefresh:null,onBeforeLoad:null,onLoad:null},v={name:"scroll",handle:{},on:function(t,n){return e.on.apply(v,arguments),this},off:F,reverse:function(e){return u&&u.reverse(),e&&e.call(v,u),this},updateCache:R,updatePage:R,getPage:function(){return b.page},getCache:function(e){return L},clearCache:function(e){return void(L={})},resize:function(e){var t=e||{height:0,width:0};w=0,(void 0===e||"number"==typeof t||"string"==typeof t||t&&t.height)&&this.setHeight(t.height||t);t&&t.width&&i.width(t.width);return this},fail:function(e,t){return k=!0,x.show({text:b.scrollTips.fail,onlyText:!0,callback:function(n){B(e,t)}}).hideRing(),u&&u.lock(),this},filter:function(t,n){var i,a,o=[];if(t&&n)for(i in L){var r=e.array.filter(L[i],t,n)||[];if(r.length)for(a in r)o.push(r[a])}return o},to:A,toBottom:function(e){i[0]&&(i[0].scrollTop=i[0].scrollHeight,e&&e.call(v));return this},scrollTop:function(e){var n=0;n="object"===_typeof(e)||"string"==typeof e&&e.indexOf("#")>-1?t(e)[0].offsetTop:parseInt(e)||0;return a.scrollTop=n,this},lock:function(){return i.off("scroll"),$.call(v,"lock"),this},unlock:function(t){return i.on("scroll",e.unit.debounce(N,b.delayTime)),$.call(v,"unlock"),this},lockrefresh:function(){return u.lock(),this},unlockrefresh:function(){return u.unlock(),this},refresh:function(){return A(1),u&&u.refresh(),this},load:function(e){return P=e=e||P,s&&s.call(v,P,S),this},nextPage:function(){return s&&s.call(v,++P,S),this},prevPage:function(){P-- >0&&s&&s.call(v,P--,S);return this},setHeight:M,isRefresh:function(){return C},destroy:function(e){e=1==e;i&&(i.off("scroll"),e&&i.remove());u&&u.destroy(e),x&&x.destroy(e),F("loadpage"),F("lastpage"),F("scrolltop"),F("scrollbottom"),F("scrollend")},widget:function(t){var n={pullrefresh:u,loading:x};return e.widget.call(n,t)},option:function(t,n){return e.option.call(v,t,n)},config:b,init:E},b=v.config=t.extend(!0,{},m,e.config.scroll,n),y=b.page,w=0,x=null,k=!1,I=!0,T=!0,O=!1,C=!1,P=b.page,S=b.pageSize,j=!1,L={};function E(n){var o=t.extend(!0,{},b,n);if(o.onBeforeInit&&o.onBeforeInit.call(v,o),t(window),o.id){i=e.obj(o.id),P=o.page,S=o.pageSize,b=v.config=o,I=!0,T=!0,O=!1,C=!1,a=i[0],i.children(p),l=i.children(h),r=i.children(g),l.css({position:"relative"}),x||(x=e.loading({appendTo:r,width:20,height:20,autoClose:!1,text:o.scrollTips.start,zIndex:10,display:"inline",autoTrigger:!1,mask:!1})),c=D,s=B,u?u.init({id:o.id,onBeforeRefresh:o.onBeforeRefresh,onRefresh:c,distance:o.distance,maxDistance:o.maxDistance,lastUpdated:o.lastUpdated,height:o.height,cacheHeight:o.cacheHeight,stopPropagation:o.stopPropagation,handleMove:o.handleMove,refreshTips:o.refreshTips,autoLoad:o.autoRefresh}):o.refresh&&o.onRefresh?((u=e.pullrefresh({id:o.id,onBeforeRefresh:o.onBeforeRefresh,onRefresh:c,distance:o.distance,stopHandle:o.stopHandle,maxDistance:o.maxDistance,lastUpdated:o.lastUpdated,header:o.header,footer:o.footer,height:o.height,handleMove:o.handleMove,cacheHeight:o.cacheHeight,stopPropagation:o.stopPropagation,onBeforeTouchstart:o.onBeforeTouchstart,onBeforeTouchmove:o.onBeforeTouchmove,onBeforeTouchend:o.onBeforeTouchend,refreshTips:o.refreshTips,autoLoad:o.autoRefresh})).lock(),k=!0):"y"===o.direction&&M(o.height),"x"===o.direction&&i.addClass("bui-box-center").attr("direction","x");try{s&&s.call(v,P,S)}catch(t){e.showLog(t,"bui.scroll.init")}return j||o.scroll&&function(t){i.off("scroll").on("scroll",e.unit.debounce(N,t.delayTime)),j=!0}(o),o.uid&&e.history.setUI&&e.history.setUI({uid:o.uid,ui:v}),o.onInited&&o.onInited.call(v,o),this}e.hint("scroll id不能为空")}function N(e){var t=e.target,n=t.scrollTop||0,i=t.scrollLeft||0;"y"===b.direction?0==n?$.call(v,"scrolltop",e):t.scrollTop+t.clientHeight>=(t&&t.scrollHeight-b.endDistance)&&b.onLoad&&(b.page=v.config.page=++P,b.autoScroll&&s&&s.call(v,b.page,S),$.call(v,"scrollbottom",e)):0==i?$.call(v,"scrolltop",e):t.scrollLeft+t.clientWidth>=(t&&t.scrollWidth-b.endDistance)&&b.onLoad&&(b.page=v.config.page=++P,b.autoScroll&&s&&s.call(v,b.page,S),$.call(v,"scrollbottom",e)),$.call(v,"scrollend",e),b.onScrolling&&b.onScrolling.call(v,e,v)}function B(e,t){return C=!1,T&&!O&&(b.page=v.config.page=e,b.onBeforeLoad&&b.onBeforeLoad.call(v,e,t),b.onLoad&&x&&x.start({text:b.scrollTips.start,onlyText:!1}),b.onLoad&&b.onLoad.call(v,e,t)),k&&b.refresh&&u&&u.unlock(),this}function D(){T=!0,O=!1,I=!0,C=!0,b.refreshPage&&(P=y,S=b.pageSize,L={}),b.page=v.config.page=P,$.call(v,"refresh",P),b.onRefresh&&b.onRefresh.call(v,P,S)}function R(t,n,a){a=0!=a;if(!n||"array"!=e.typeof(n))return x&&x.stop(),e.showLog("scroll 控件的updatePage 第2个参数,必须是一个数组,如果是list控件,检测field的data映射是否准确","bui.scroll.updatePage"),void(n=[]);n=n,d&&clearTimeout(d),d=setTimeout((function(){var e=parseInt(i.height()),o=parseInt(i.find(b.childrenMain)[0]&&i.find(b.childrenMain)[0].scrollHeight);if(a)if(n&&n.length>S-1){if(T=!0,O=!1,I=!1,x&&x.start({text:b.scrollTips.end,onlyText:!0}),o>=10&&on&&(a.scrollTop=c,$.call(v,"to",e),t&&t.call(v,parseInt(e))),this}function M(t){e.$(".bui-page");var n=i.parents(".active").length?i.parents(".active"):i.parents(".bui-tab-main"),a=((n.length?n.height():i.parents(".bui-tab").height())||i.parents(".bui-page").height())-(i[0]&&i[0].offsetTop),o=t?parseFloat(t):a;0==w&&(w=o),b.cacheHeight,i.height(w)}function F(t,n){return e.off.apply(v,arguments),this}function $(t){v.self=this==window||this==v?null:this,e.trigger.apply(v,arguments)}return b.autoinit&&E(b),v}}(window.bui||{},window.libs),function(e,t){e.list=function(n){var i,a,o={name:"list",handle:{},on:function(t,n){return e.on.apply(o,arguments),this},off:x,empty:w,updatePage:function(){var e=f.getPage();return f.updatePage(e,d),this},getPage:function(){return f.getPage()},getData:function(){return c},getItem:function(n,i){if(/\d/.test(n)&&void 0===i){var a=(+n-1)*r.pageSize;return t.extend(!0,c).splice(a,r.pageSize)}return/\d/.test(n)&&"index"===i?t.extend(!0,c).splice(n,1)[0]:n&&"string"==typeof i?e.array.get(c,n,i):e.array.get(c,n,"id")},refresh:function(){return k.call(this,"refreshbefore"),f.refresh(),this},reload:function(){return k.call(this,"refreshbefore"),y(),this},replace:function(e){return w(),m(_objectSpread({page:1},e)),this},resize:function(e){return f.resize(e),this},modify:function(e){return r=o.config=t.extend(!0,{},o.config,e),p=r.data,this},destroy:function(e){e=1==e;i&&(i.off("click.bui"),e&&i.remove(),i=null);x("refreshbefore"),x("refresh"),x("success"),x("fail"),f&&f.destroy(e)},widget:function(t){var n={scroll:f,ajax:u};return e.widget.call(n,t)},option:function(n,i){return"data"==n&&void 0!==i?function(n,i){var a;if("string"==typeof i)try{a=JSON.parse(i)}catch(t){return void e.showLog("data 参数必须为对象","bui.list.modifyData")}else a=i;return p=t.extend(!0,{},g,a)}(0,i):e.option.call(o,n,i)},config:r,init:m},r=o.config=t.extend(!0,{},{id:"",uid:"",url:"",data:{},method:"GET",dataType:"json",headers:{},contentType:"",timeout:2e4,field:{page:"page",size:"pageSize",data:""},scrollTips:{start:"努力加载中..",end:"上拉加载更多",nodata:"没有更多内容",last:"没有更多内容",fail:"点击重新加载"},refreshTips:{start:"刷新中..",release:"松开刷新",end:"下拉刷新",fail:"点击加载",success:"刷新成功"},lastUpdated:!1,cacheHeight:!0,ajax:null,page:1,pageSize:10,autoNext:!0,refreshPage:!0,autoUpdatePage:!0,autoScroll:!0,stopPropagation:!1,autoinit:!0,urlrule:!1,native:!0,needNative:!1,relative:!1,refresh:!0,direction:"y",stopHandle:"",children:".bui-list",handle:".bui-btn",header:".bui-page header",footer:".bui-page footer",height:0,commandRefresh:"html",commandLoad:"append",scroll:!0,localData:null,template:null,onBeforeTouchstart:null,onBeforeTouchmove:null,onBeforeTouchend:null,onBeforeInit:null,onInited:null,onBeforeRefresh:null,onRefresh:null,onLoad:null,onFail:null,callback:null},e.config.list,n),l=r.url,c=[],s=r.page;r.page;var u,d,f,p={},h=!1,g=r.data;function m(n){var l=r=t.extend(!0,r,n);l.onBeforeInit&&l.onBeforeInit.call(o,l),i=e.obj(l.id),a=i.find(l.children),r=o.config=l,p=r.data;var c=0==r.refresh?null:y,s={id:l.id,children:l.children,handle:l.handle,header:l.header,footer:l.footer,page:l.page,pageSize:l.pageSize,distance:l.distance,stopHandle:l.stopHandle,maxDistance:l.maxDistance,height:l.height,refresh:l.refresh,autoNext:l.autoNext,refreshPage:l.refreshPage,autoScroll:l.autoScroll,scroll:l.scroll,cacheHeight:l.cacheHeight,stopPropagation:l.stopPropagation,scrollTips:l.scrollTips,refreshTips:l.refreshTips,direction:l.direction,lastUpdated:l.lastUpdated,handleMove:l.handleMove,onBeforeTouchstart:l.onBeforeTouchstart,onBeforeTouchmove:l.onBeforeTouchmove,onBeforeTouchend:l.onBeforeTouchend,onBeforeRefresh:l.onBeforeRefresh,onBeforeLoad:l.onBeforeLoad,onRefresh:c,onLoad:b};return"html"!=l.commandRefresh&&(l.refreshPage=!1),l.urlrule&&(l.url=v(l)),f?f.init(s):f=e.scroll(s),o.toBottom=f.toBottom,o.scrollTop=f.scrollTop,o.to=f.to,h||function(e){e.callback&&i.off("click.bui",e.handle).on("click.bui",e.handle,(function(t){e.callback.call(o,t)})),h=!0}(l),l.uid&&e.history.setUI&&e.history.setUI({uid:l.uid,ui:o}),l.onInited&&l.onInited.call(o,l),this}function v(e){return l.replace("(page)",e.page).replace("(size)",e.pageSize)}function b(i,l,s){var h=this,m=s||r.commandLoad;if(p=t.extend(!0,{},g,r.data,p),r.field.page.length&&e.unit.setKeyValue(r.field.page,i,p),r.field.size.length&&e.unit.setKeyValue(r.field.size,l,p),r.page=o.config.page=i,r.data=p,!r.localData)return r.urlrule&&(r.url=v(r)),r.success=b,r.fail=function(e,t,n){k.call(h,"fail",e,i,n),r.onFail&&r.onFail.call(o,e,i,n),f&&f.fail(i,l,e)},u=r.ajax?r.ajax(r):e.ajax(r),this;function b(t,l,s){var u,p,g;u="string"==typeof t?t&&JSON.parse(t)||{}:t||{};var v,b,y,w;if("string"==typeof(p=r&&r.field&&""==r.field.data?u||[]:"object"===e.typeof(u)&&e.unit.getKeyValue(r.field.data,u)||[])&&/\[?.+\]$/g.test(p))try{g=JSON.parse(p)}catch(t){g=p,e.showLog(t)}else g=p;p=g&&"array"===e.typeof(g)?g:[],r.localData&&(v=i,b=r.pageSize,p=(w=(v-1)*b)+b>=(y=p).length?y.slice(w,y.length):y.slice(w,w+b));var x=n.template&&n.template.call(o,p,u,i)||"";p.length&&e.array.merge(c,p),a&&a[m](x);var I=f&&f.isRefresh()||!1;k.call(h,"success",t,i,s);try{I?(r.onRefresh&&r.onRefresh.call(o,f,u,s),k.call(h,"refresh",t,i,s),r.refresh&&f.reverse()):(k.call(this,"onloadbefore"),r.onLoad&&r.onLoad.call(o,f,u,s),k.call(h,"onload",t,i,s)),r.localData?r.autoUpdatePage&&h&&h.updatePage(i,p):r.autoUpdatePage&&f&&f.updatePage(i,p),d=p}catch(e){}}"function"==typeof r.localData?b(r.localData()):b(r.localData)}function y(){var e=s;r.refreshPage||(e=o.config.page+1);var t=r.pageSize;return k.call(this,"refreshbefore"),b(e,t,r.commandRefresh),this}function w(){return c=[],a.html(""),this}function x(t,n){return e.off.apply(o,arguments),this}function k(t){o.self=this==window||this==o?null:this,e.trigger.apply(o,arguments)}return r.autoinit&&m(r),o}}(window.bui||{},window.libs),function(e,t){e.searchbar=function(n){var i,a,o,r,l={id:"",uid:"",handle:".icon-search,.btn-search",placeholder:"",handleRemove:"."+e.config.icon.remove,delayTime:400,readonly:!1,onInput:null,onChange:null,onRemove:null,autoinit:!0,onBeforeInit:null,onInited:null,callback:null},c={name:"searchbar",handle:{},on:function(t,n){return e.on.apply(c,arguments),this},off:h,search:function(e){var t=e||a;return a=t,g.call(this,"search",{},t),s.callback&&s.callback.call(this,{},t),this},placeholder:f,readonly:p,reset:function(){return o.val(""),r.hide(),this},value:function(e){if(void 0===e)return o.val();o.val(e),e&&r.show();return c},destroy:function(e){e=1==e;i&&(i.off(),e&&i.remove());h("search"),h("remove"),h("input")},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(c,t,n)},config:s,init:d},s=c.config=t.extend(!0,{},l,e.config.searchbar,n),u=!1;function d(n){var l=t.extend(!0,s,n);return l.onBeforeInit&&l.onBeforeInit.call(c,l),i=e.obj(l.id),c.$el=i,s=c.config=l,o=i.find("input"),(r=i.find(l.handleRemove)).length<1&&(o.after(''),r=i.find(l.handleRemove)),r.hide(),u||function(e){i.off("click.bui",e.handle).on("click.bui",e.handle,(function(t){document.activeElement.blur();var n=o.val();a=n,g.call(c,"search",t,n),e.callback&&e.callback.call(c,t,n)})),i.off("click.bui",e.handleRemove).on("click.bui",e.handleRemove,(function(n){document.activeElement.blur(),o.val("");var i=o.val();a=i,t(this).hide(),g.call(c,"remove",n,i),e.onRemove&&e.onRemove.call(c,n,i)}));var n=!1,l=null;e.onInput&&i.off("input","input").on("compositionstart",(function(){n=!0})).on("compositionend",(function(t){n=!1;var i=o.val();e.onInput.call(c,t,i)})).on("input","input",(function(t){var i=o.val();a=i,i?r.show():r.hide(),g.call(c,"input",t,i),n||(l&&clearTimeout(l),l=setTimeout((function(){e.onInput.call(c,t,i),l=null}),e.delayTime))})),e.onChange&&i.off("change","input").on("change","input",(function(t){var n=o.val();a=n,n?r.show():r.hide(),g.call(c,"change",t,n),e.onChange.call(c,t,n)})),u=!0}(l),l.readonly&&p(l.readonly),l.placeholder&&f(l.placeholder),l.uid&&e.history.setUI&&e.history.setUI({uid:l.uid,ui:c}),l.onInited&&l.onInited.call(c,l),this}function f(e){return o.attr("placeholder",e),this}function p(e){return Boolean(e)&&o.attr("readonly",e),!Boolean(e)&&o.removeAttr("readonly"),this}function h(t,n){return e.off.apply(c,arguments),this}function g(t){c.self=this==window||this==c?null:this,e.trigger.apply(c,arguments)}return s.autoinit&&d(s),c}}(bui||{},libs),function(e,t){e.select=function(n){var i,a,o,r,l,c,s={name:"select",handle:{},on:function(t,n){return e.on.apply(s,arguments),this},off:M,value:B,values:function(){var e=[];return x.forEach((function(t,n){e.push({value:t,name:w[n],index:k[n],icon:I[n]})})),e},allValues:function(){var e=[];return d.data&&d.data.forEach((function(t,n){var i=l.eq(n).find("input").prop("checked");t.checked=i,e.push(t)})),e},index:function(){return k.join(",")},active:R,unactive:function(t){var n=[];String(t).indexOf(",")>-1?n=t.split(","):n.push(parseInt(t));return n.forEach((function(t,n){var i=l.eq(t).find("input"),a=i.val(),o=i.attr("text");e.array.delete(w,o),e.array.delete(x,a),i.prop("checked",null)})),F.call(s,"change",{}),this},disabled:function(){var e=i;return e&&e.addClass("disabled"),this},enabled:function(){var e=i;return e&&e.removeClass("disabled"),this},disabledSelect:function(e){if(void 0===e)l.find("input").attr("disabled",!0);else{if("number"!=typeof e)return void console.log("index 必须为数字");l.eq(e).find("input").attr("disabled",!0)}return this},enabledSelect:function(e){if(void 0===e)l.find("input").removeAttr("disabled");else{if("number"!=typeof e)return void console.log("index 必须为数字");l.eq(e).find("input").removeAttr("disabled")}return this},template:y,empty:function(){return a.html(""),d.data=[],O=!1,this},text:D,show:E,hide:N,selectAll:function(){if("checkbox"==d.type){R(d.data.map((function(e,t){return t})).join(","))}else R(0);return this},selectNone:A,reset:function(){return A(),D(T),this},clearSearch:function(){a.find(".bui-searchbar-close").trigger("click")},unselect:function(){if("checkbox"==d.type){var t=w.map((function(e,t){return e}));x.map((function(e,t){return e})),w=[],x=[],d.data&&d.data.forEach((function(n,i){var a=l.eq(i).find("input");e.array.index(t,n[g])>-1?a.prop("checked",null):(a.prop("checked",!0),w.push(n[g]),x.push(n[m]))})),B(x.join(",")||""),D(w.join(",")||"")}else A();return this},selected:function(t){var n=[];String(t).indexOf(",")>-1?n=t.split(","):n.push(t);return n.forEach((function(t,n){var i=e.array.index(d.data,t,"name"),a=e.array.index(d.data,t,"value"),o=e.array.index(w,t),r=e.array.index(x,t),c=i>-1?i:a;if(o<0&&r<0&&c>0){var s=d.data[c];l.eq(c).find("input").prop("checked",!0),w.push(s.name),x.push(s.value)}})),F.call(s,"change",{}),this},unselected:function(t){var n=[];String(t).indexOf(",")>-1?n=t.split(","):n.push(t);return n.forEach((function(t,n){d.data.forEach((function(n,i){var a=n[g]||n,o=n[m]||n;t!=o&&t!=a||(l.eq(i).find("input").prop("checked",null),e.array.remove(w,a),e.array.remove(x,o))}))})),F.call(s,"change",{}),this},destroy:function(e){e=1==e;a&&(a.off(),e&&a.remove());i&&(i.off("click.bui"),e&&i.remove());return c&&c.destroy(e),O=!1,M("show"),M("hide"),M("change"),M("select"),M("check"),M("uncheck"),this},widget:function(t){var n={dialog:c||{}};return e.widget.call(n,t)},option:function(t,n){return e.option.call(s,t,n)},config:d,init:C},u=s.config=t.extend(!0,{},n),d=s.config=t.extend(!0,{},{id:"",uid:"",trigger:"",triggerChildren:".span1",handle:".bui-list .bui-btn",className:"",name:"",appendTo:"",data:[],popup:!0,title:"",autoClose:!1,placeholder:"",field:{name:"name",value:"value",image:"image",icon:"icon",search:""},height:0,width:0,mask:!0,useBox:!1,zIndex:110,change:!0,toggle:!1,effect:"fadeInUp",type:"select",direction:"left",position:"bottom",fullscreen:!1,needSearch:!1,value:"",buttons:[],onChange:null,autoinit:!0,onBeforeOpen:null,onBeforeInit:null,template:null,onInited:null,callbackHandle:".bui-dialog-foot .bui-btn",callback:null},e.config.select,n),f=e.guid(),p=d.name||e.guid(),h=!0,g=d.field.name,m=d.field.value,v=d.field.image,b=d.field.icon,y=null,w=[],x=[],k=[],I=[],T="",O=!1;function C(n){var p=t.extend(!0,d,n);if(p.onBeforeInit&&p.onBeforeInit.call(s,p),p.appendTo=p.appendTo||e.hasRouter&&router.currentPage()||"body",w=[],x=[],k=[],I=[],d=s.config=p,y="function"==typeof p.template?p.template:L,p.data&&p.data.length||O)var g=y.call(this,p.data);if(s.template=y,!p.popup){if(!p.id)return void e.hint("select id 必须有");a=e.obj(p.id),(p.data&&p.data.length||O)&&a.html(g)}if(p.popup)if(f=p.id&&p.id!==p.trigger&&e.obj(p.id).attr("id")||f,a=e.obj(f),c)a.find(".bui-dialog-list").html(g);else{var m=function(n){var i="",a=''),o='
    ',r=d.templateTitle?d.templateTitle.call(s,d)||"":'
    '.concat(d.title,"
    ");d.popup&&(i+='
    ',(d.title||d.needSearch)&&(i+='
    \n '.concat(d.title||d.templateTitle?r:"","\n ").concat(d.needSearch?a:"","\n
    ")),i+='
    ');d.popup&&(i+='
    ',i+="
    ",d.buttons.length>0&&(i+='
    ',i+='
    ',t.each(d.buttons,(function(e,t){i+='
    ',i+='
    '+(t.name||t)+"
    ",i+="
    "})),i+="
    ",i+="
    "),i+="".concat(d.needSearch?o:""),i+="
    ");return i}();(u.appendTo||!a.length)&&t(p.appendTo).append(m),(a=e.obj(f)).find(".bui-dialog-list").html(g),(c=e.dialog({id:f,effect:p.effect,mask:p.mask,zIndex:p.zIndex,position:p.position,autoClose:!1,useBox:p.useBox,height:p.height,width:p.width,zoom:!1,fullscreen:p.fullscreen,onMask:function(e){N()}})).on("open",(function(){if(p.needSearch){var e=a.find(".bui-dialog-head").height(),t=a.find(".bui-dialog-foot").height(),n=a.height()-e-t;a.find(".bui-dialog-result").css({top:e+"px",bottom:t+"px",height:n+"px"})}})),u.appendTo&&p.id&&p.data&&!p.data.length&&(t(p.appendTo).append(a.prop("outerHTML")),a.remove(),a=t(p.appendTo).find(p.id))}return s.$el=a,l=a.find(p.handle),p.data&&p.data.length<1&&P(),function(n){i=e.obj(n.trigger),T=n.placeholder||i&&i.text()||n.title,r=i&&i.find(n.triggerChildren).length?i.find(n.triggerChildren):i,n.trigger&&n.popup&&(o=n.placeholder||t.trim(r.html()||""),n.placeholder&&r.html(n.placeholder),i.off("click.bui").on("click.bui",(function(e){var i=n.onBeforeOpen&&n.onBeforeOpen.call(s);t(this).hasClass("disabled")||0==i||E()})));function l(e){e?(g.css("display","block"),p.css("display","block")):(g.css("display","none"),p.css("display","none"))}var c=function(i){var a=t(i.currentTarget).find("input"),o=a.attr("disabled"),r=i.target.tagName;if(!o){var l=a.val(),c=a.attr("text"),u=a.attr("index"),d=a.is(":checked");i.target=a[0],i.index=u,(d&&"INPUT"!==r||!d&&"INPUT"===r)&&(n.toggle||"checkbox"==n.type)?(e.array.remove(w,c),e.array.remove(x,l),e.array.remove(k,u),e.array.remove(I,u),F.call(s,"uncheck",i)):(S({name:c,value:l,index:u}),F.call(s,"check",i)),h&&n.onChange&&n.onChange.call(s,i),B(x.join(",")||"",i),D(w.join(",")||"")}},u=function(e){c.call(s,e),n.popup&&n.autoClose&&N(),F.call(s,"select",e),e.stopPropagation()},d=n.needSearch?".bui-dialog-list "+n.handle:n.handle;a.off("click.bui",d).on("click.bui",d,u);var f=function(e){n.callback&&n.callback.call(s,e,s),e.stopPropagation()};a.off("click.bui",n.callbackHandle).on("click.bui",n.callbackHandle,f);var p=a.find(".bui-searchbar-close"),g=a.find(".bui-dialog-result"),m=a.find(".bui-searchbar input");n.data&&n.data.length&&n.needSearch&&(a.find(".btn-search").click((function(e){var t=a.find(".bui-searchbar input").val();j(t),l(t),e.stopPropagation()})),m.on("input",(function(e){var n=t(this).val();j(n),l(n),e.stopPropagation()})),p.click((function(e){m.val(""),g.css("display","none"),t(this).css("display","none"),e.stopPropagation()})),a.off("clilck.bui",".bui-dialog-result .bui-btn").on("click.bui",".bui-dialog-result .bui-btn",(function(i){var a=t(i.currentTarget).find("input"),o=i.target.tagName,r=a.is(":checked"),l=a.attr("text"),c=a.attr("value"),u=e.array.index(n.data,c,"value");(r&&"INPUT"!==o||!r&&"INPUT"===o)&&(n.toggle||"checkbox"==n.type)?(a.prop("checked",!1),F.call(s,"uncheck",i),e.array.remove(w,l),e.array.remove(x,c),e.array.remove(k,u),e.array.remove(I,u)):(a.prop("checked",!0),F.call(s,"check",i),S({name:l,value:c,index:u})),h&&n.onChange&&n.onChange.call(s,i),B(x.join(",")||"",i),D(w.join(",")||""),i.stopPropagation()})));O=!0}(p),p.value&&(B(p.value),p.onChange&&p.onChange.call(s,{currentTarget:l,target:l.find("input")[0],value:x.join(",")})),p.uid&&e.history.setUI&&e.history.setUI({uid:p.uid,ui:s}),p.onInited&&p.onInited.call(s,p),this}function P(){var e=[],n=[];return l.find("input").each((function(i,a){var o=t(this);if(!(o.length<1)){var r=o.val(),l=o.attr("text"),c=o.attr("image"),s=o.attr("icon"),u=o.is(":checked");d.data[i]={},d.data[i][g]=l,d.data[i][m]=r,d.data[i][v]=c,d.data[i][b]=s,e.push(r),n.push(l),u&&S({name:l,value:r,index:i})}})),{value:e,text:n}}function S(e){var t=parseInt(e.index,10);switch(d.type){case"radio":case"select":x=[],k=[],I=[],(w=[]).push(e.name),x.push(e.value),I.push(e.icon),k.push(t);break;case"checkbox":w.push(e.name),x.push(e.value),I.push(e.icon),k.push(t)}}function j(t){var n=e.array.filter(d.data,t,d.field.search||d.field.name),i='没有与此相关的结果:'.concat(t,""),o=e.guid();n.length&&(i=L(n,o)),a.find(".bui-dialog-result").css("display","block").html(i)}function L(n,i){var a=i||p,o="",r="";return t.each(n,(function(n,i){var o="string"==typeof i?i:i[g]||i||"",l=i&&i[v]?i[v]||i:"",c=i&&i[b]?i[b]||i:"",s=i&&i[m]?i[m]||i:i||o||n,u={name:a,value:s,text:o,index:n};l&&(u.image=l),c&&(u.icon=c),i=i&&"object"===e.typeof(i)?i:{};var f=function(t){t=t||{};var n=document.createElement("input");for(var i in t)"string"!=typeof t[i]&&"number"!=typeof t[i]||n.setAttribute(i,t[i]);switch(d.type){case"mulelect":n.setAttribute("type","checkbox"),n.setAttribute("class",d.className||"bui-choose");break;case"select":n.setAttribute("type","radio"),n.setAttribute("class",d.className||"bui-choose");break;case"radio":n.setAttribute("type","radio"),n.setAttribute("class",d.className||"bui-radio");break;case"checkbox":n.setAttribute("type","checkbox"),n.setAttribute("class",d.className||"bui-choose");break;default:n.setAttribute("type","checkbox")}return e.array.compare(x,t.value)&&n.setAttribute("checked","true"),n}(t.extend(!0,{},i,u)).outerHTML;if(r+='
    ',"left"==d.direction&&(r+=f),l){var p=e.unit.endWithImage(l)?'
    ':'
    ';r+=p}if(c){var h=e.unit.endWithImage(c)?'':'';r+=h}"center"==d.direction?(r+='
    '+o+"
    ",r+=f):r+='
    '+o+"
    ","right"==d.direction&&(r+=f),r+="
    "})),o+='
    ',o+=r,o+="
    "}function E(e){F.call(this,"beforeshow");var t={};return"function"==typeof e?t.callback=function(){e&&e.call(s),F.call(s,"show")}:"string"==typeof e?t.effect=e:"object"===_typeof(e)&&(t=e),d.popup&&c?(!c.isOpen()&&c.open(t),F.call(s,"show")):(a.css("display","block"),t.callback?t.callback():F.call(s,"show")),this}function N(e){F.call(this,"beforehide");var t={};return"function"==typeof e?t.callback=function(){e&&e.call(s)}:"string"==typeof e?t.effect=e:"object"===_typeof(e)&&(t=e),d.popup&&c?(c.isOpen()&&c.close(t.effect||t.callback),F.call(s,"hide")):(a.css("display","none"),t.callback?t.callback():F.call(s,"hide")),this}function B(t,n){if(void 0===t)return x.join(",");n=n||event;var o=d.needSearch?".bui-dialog-list "+d.handle:d.handle;l=a.find(o);var c=[],u=[],f=[],p=[],v=[],y=[];"string"==typeof t&&t.indexOf(",")>-1?y=t.split(","):"array"===e.typeof(t)?y=t:t&&y.push(t),(d.data.length<1||d.data.length!==l.length)&&(d.data=[],P()),d.data&&d.data.forEach((function(t,n){var i=t&&"object"===e.typeof(t)&&t.hasOwnProperty(g)?String(t[g]):String(t),a=t&&"object"===e.typeof(t)&&t.hasOwnProperty(b)?String(t[b]):"",o=t&&"object"===e.typeof(t)&&t.hasOwnProperty(m)?String(t[m]):String(t)||String(n),r=l.eq(n).find("input");if(""==t)return r.prop("checked",!1),w=[],x=[],k=[],void(I=[]);var s=e.array.index(y,i);e.array.index(y,o)>-1||s>-1?("radio"!=d.type&&"select"!=d.type||(u=[],f=[],v=[],p=[]),u.push(i),f.push(o),p.push(a),v.push(n),c[n]=r,r.prop("checked",!0),l.eq(n).addClass("selected")):(r.prop("checked",!1),l.eq(n).removeClass("selected"))})),w=u.slice(0),x=f.slice(0),k=v.slice(0),I=p.slice(0);var O=n||{target:c[c.length-1],index:k};F.call(s,"change",O),!h&&d.onChange&&d.onChange.call(s,n),i&&d.change&&(i.attr("value",f.join(",")),r.text(w.join(",")||T)),a.attr("value",f.join(",")),h=!1}function D(e){return void 0===e?w.join(","):(i&&d.change&&(i.attr("text",e),r.html(e||o)),a.attr("text",e),this)}function R(e){var t=[];return String(e).indexOf(",")>-1?t=e.split(","):t.push(parseInt(e)),w=[],x=[],t.forEach((function(e,t){d.data[e]&&w.push(d.data[e][g]||d.data[e]),d.data[e]&&x.push(d.data[e][m]||d.data[e]||t)})),"checkbox"==d.type||"mulselect"==d.type?(D(w.join(",")),B(x.join(","))):(D(w[0]),B(x[0])),this}function A(){return w=[],x=[],k=[],I=[],(l=a.find(d.handle)).find("input").prop("checked",null),B(""),D(""),F.call(this,"reset"),this}function M(t,n){return e.off.apply(s,arguments),this}function F(t){s.self=this==window||this==s?null:this,e.trigger.apply(s,arguments)}return d.autoinit&&C(d),s}}(window.bui||{},window.libs),function(e,t){e.dropdown=function(n){var i,a,o,r,l,c,s={name:"dropdown",handle:{},on:function(t,n){return e.on.apply(s,arguments),this},off:I,active:y,disabled:function(){var e=a;return e&&e.addClass("disabled"),this},enabled:function(){var e=a;return e&&e.removeClass("disabled"),this},value:v,values:b,getItem:b,reset:function(){return h="",v(""),w(p),x(),this},text:w,hide:x,show:function(){return a.addClass("active"),c.css("display","block"),T.call(this,"show"),this},hideAll:k,destroy:function(e){e=1==e;i&&(i.off("click.bui"),e&&i.remove());a&&(a.off("click.bui"),e&&a.remove());t("body").off("click.bui"),I("show"),I("hide")},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(s,t,n)},config:u,init:m},u=s.config=t.extend(!0,{},{id:".bui-dropdown",handle:".bui-btn",handleChildren:".span1",target:".bui-list",targetHandle:".bui-btn",data:null,position:"bottom",showArrow:!1,showActive:!0,autoClose:!0,stopPropagation:!1,width:0,placeholder:"",field:null,value:"",relative:!0,change:!0,autoinit:!0,template:null,onBeforeInit:null,onInited:null,callback:null,onChange:null},e.config.dropdown,n),d=document.documentElement.clientWidth,f=!1,p="",h="",g="";function m(n){var g=t.extend(!0,u,n);if(g.onBeforeInit&&g.onBeforeInit.call(s,g),g.id){if(i=e.obj(g.id),s.$el=i,u=s.config=g,a=i.children(g.handle),c=g.target?i.find(g.target):a.next(),g.placeholder&&w(g.placeholder),p=g.placeholder||a.text(),g.data&&g.data.length){g.data=g.field?e.unit.filterField(g.data,g.field):g.data;var m="function"==typeof g.template?g.template.call(s,g.data):function(e){var t="";return t+='
      ',e.map((function(e,n){t+='
    • '+e.name+"
    • "})),t+="
    "}(g.data);c.length?c.remove()&&a.after(m):i.append(m),c=i.find(g.target)}r=g.relative,o=i.attr("position")||g.position;var b=i[0]&&i[0].offsetLeft>=document.documentElement.clientWidth?0:i[0]&&i[0].offsetLeft,I=g.width?-g.width+i.parent().width()+"px":-b+"px",O={bottom:{menuPosition:"bui-menu-bottom",arrowPosition:"bui-arrow-up",left:I},top:{menuPosition:"bui-menu-top",arrowPosition:"bui-arrow-down",left:I},left:{menuPosition:"bui-menu-left",arrowPosition:"bui-arrow-right",left:"auto"},right:{menuPosition:"bui-menu-right",arrowPosition:"bui-arrow-left",left:"100%"}};if(l=g.width>0?g.width:r?d:g.width,parseFloat(l)>0&&c.width(l),function(e,t){c.addClass(e),r&&c.css({left:t})}(g.showArrow?O[o].arrowPosition+" "+O[o].menuPosition:O[o].menuPosition,O[o].left),g.value)v(g.value),g.onChange&&g.onChange.call(s,{target:null,currentTarget:null,value:h});else{var C=c.find(g.targetHandle+".active").eq(0).index();C>-1&&y(C)}return f||function(e){var n="",o=function(i){if(!t(this).hasClass("disabled")){var a=t(this).hasClass("active"),o=e.target?t(this).parent().find(e.target):t(this).next();k(),a?(t(this).removeClass("active"),o.css("display","none"),T.call(s,"hide")):(t(this).addClass("active"),o.css("display","block"),T.call(s,"show")),n=t(this).attr("value")||"",i.stopPropagation()}},r=function(i){var a=t(this),o=a.parent(),r=a.attr("value")||"";t.trim(a.text()),null!=o.attr("change")?o.attr("change"):e.change,e.showActive&&a.addClass("active").siblings().removeClass("active"),v.call(this,r),n!==r&&e.onChange&&e.onChange.call(s,i),u.autoClose&&x(),i.target=this,e.callback&&e.callback.call(s,i),u.stopPropagation&&i.stopPropagation()};a.off("click.bui").on("click.bui",o),i.off("click.bui",e.targetHandle).on("click.bui",e.targetHandle,r);var l=function(e){k(),e.stopPropagation()};u.autoClose&&t("body").off("click.bui").on("click.bui",":not(.bui-dropdown)",l),f=!0}(g),g.uid&&e.history.setUI&&e.history.setUI({uid:g.uid,ui:s}),g.onInited&&g.onInited.call(s,g),this}e.showLog("dropdown id不能为空","bui.dropdown.init")}function v(n){if(void 0===n)return event&&event.target?t(event.target).attr("value")||h:a.attr("value")||h;var i="htmllielement"===e.typeof(this),o=i&&t(this).parent(),r=i?t(this).parents(".bui-dropdown").children(u.handle):a,l=i?o.find(u.targetHandle):c.find(u.targetHandle);if(l.removeClass("active"),u.data&&u.data.length){if(""==n)return h="",void r.attr("value",n);var d=e.array.index(u.data,String(n),"value"),f=e.array.index(u.data,String(n),"name");d>-1?(l.eq(d).addClass("active"),r.attr("value",n),u.change&&w.call(this,u.data[d].name),h=n):f>-1&&(l.eq(f).addClass("active"),r.attr("value",u.data[f].value),u.change&&w.call(this,n),h=u.data[f].value)}else l.each((function(e,i){var a=i.innerText,o=i.getAttribute("value");a!=n&&o!=n||(t(this).addClass("active"),r.attr("value",o),u.change&&w.call(this,a),h=o)}));return u.change||T.call(s,"change"),h}function b(){return{name:g,value:h}}function y(e){e=parseInt(e);var n=c.find(u.targetHandle).eq(e);n.length>=0&&(v(n.attr("value")||t.trim(n.text())||""),u.showActive&&n.addClass("active").siblings().removeClass("active"));return this}function w(n){if(void 0===n)return g||t.trim(a.text());var i="htmllielement"===e.typeof(this)?t(this).parents(".bui-dropdown").children(u.handle):a,o=i.children(u.handleChildren);return o.length?o.text(n):i.text(n),g=n,T.call(s,"change"),this}function x(){return a.removeClass("active"),c.css("display","none"),T.call(this,"hide"),this}function k(){return t(".bui-dropdown > .bui-btn").removeClass("active"),t(".bui-dropdown > .bui-list").css("display","none"),T.call(this,"hide"),this}function I(t,n){return e.off.apply(s,arguments),this}function T(t){s.self=this==window||this==s?null:this,e.trigger.apply(s,arguments)}return u.autoinit&&m(u),s}}(window.bui||{},window.libs),function(e,t){e.accordion=function(n){var i,a,o={name:"accordion",handle:{},on:function(t,n){return e.on.apply(o,arguments),this},off:h,showFirst:function(){l.length>1?l.each((function(e,t){d(0,t)})):d(0);return g.call(this,"show",{target:i[0]}),this},showAll:function(){return(i=p()).each((function(e,n){t(n).addClass("active").next(r.target).css("display","block")})),g.call(this,"showall",{target:i}),this},hideAll:f,disabled:function(e){var t;t="number"==typeof e?i.eq(e):i;return t&&t.addClass("disabled"),this},enabled:function(e){var t;t="number"==typeof e?i.eq(e):i;return t&&t.removeClass("disabled"),this},destroy:function(e){l&&(l.off("click.bui"),l.remove(),l=null);h("hide"),h("show")},show:function(e){var t=/\d/.test(e),n=t?i.eq(e):i,a=n.next(r.target);return n.addClass("active"),a.css("display","block"),g.call(this,"show",{target:t?i[e]:i}),this},hide:function(e){var t=/\d/.test(e),n=t?i.eq(e):i,a=n.next(r.target);return n.removeClass("active"),a.css("display","none"),g.call(this,"hide",{target:t?i[e]:i}),this},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(o,t,n)},config:r,init:s},r=o.config=t.extend(!0,{},{id:"",handle:"dt",target:"dd",height:0,targetHeight:0,single:!1,stopPropagation:!1,lock:!1,data:null,autoinit:!0,onBeforeInit:null,onInited:null,callback:null},e.config.accordion,n),l=null,c=!1;function s(n){var s=t.extend(!0,r,n);return s.onBeforeInit&&s.onBeforeInit.call(o,s),document.documentElement.clientWidth,document.documentElement.clientHeight,l=e.obj(s.id)||e.obj("."+e.prefix("accordion")),r=o.config=s,i=p(),a=s.target.indexOf("#")>-1?e.obj(s.target):l.find(s.target),function(e){i.removeClass("active"),a.css("display","none"),parseFloat(e.targetHeight)>0&&a.height(e.targetHeight);parseFloat(e.height)>0&&l.height(e.height)}(s),c||function(e){var n=function(n){if(!t(this).hasClass("disabled")&&!t(this).attr("href")){if(!1===(e.callback&&e.callback.call(o,n)))return!1;u.call(this,n,e),(e.stopPropagation||!t(this).attr("href"))&&n.stopPropagation()}};e.handle.indexOf("#")>-1?!e.lock&&i.off("click.bui").on("click.bui",n):!e.lock&&l.off("click.bui").on("click.bui",e.handle,n);c=!0}(s),s.uid&&e.history.setUI&&e.history.setUI({uid:s.uid,ui:o}),s.onInited&&s.onInited.call(o,s),this}function u(n,a){var r=t(this),l=r.hasClass("active");i.index(this);var c=a.target.indexOf("#")>-1?e.obj(a.target):r.next(a.target);a.single?l?(r.removeClass("active"),c.css("display","none"),g.call(o,"hide",n)):(f(),r.addClass("active"),c.css("display","block"),g.call(o,"show",n)):l?(r.removeClass("active"),c.css("display","none"),g.call(o,"hide",n)):(r.addClass("active"),c.css("display","block"),g.call(o,"show",n))}function d(e,n){e=e||0;var i=(n?t(n):l).children().eq(e);(i.closest(r.handle).length?i.closest(r.handle):i.find(r.handle)).addClass("active").next(r.target).css("display","block")}function f(){return(i=p()).each((function(e,n){t(n).removeClass("active").next(r.target).css("display","none")})),g.call(this,"hideall",{target:i}),this}function p(){return r.handle.indexOf("#")>-1?e.obj(r.handle):l.find(r.handle)}function h(t,n){return e.off.apply(o,arguments),this}function g(t){o.self=this==window||this==o?null:this,e.trigger.apply(o,arguments)}return r.autoinit&&s(r),o}}(window.bui||{},window.libs),function(e,t){e.rating=function(n){var i,a,o,r,l,c={name:"rating",handle:{},on:function(t,n){return e.on.apply(c,arguments),this},off:m,disabled:function(e){(e=0!=e)?(i.off("click.bui",s.handle),v.call(c,"disabled")):g();return this},enabled:g,show:function(e){var t=function(e){var t,n="",i=(e=String(e)||String(r),0),a=s.stars,o=[];o=e.indexOf(".")>-1?e.split("."):[e,0];var l=parseInt(o[0]);for(t=o[1]/10*100+"%",i=0;i
     
    '),i==l&&(n+='
     
    '),i>l&&(n+='
     
    ');return n}(e);i.attr("value",e).html(t),r=e},value:h,reset:function(){return h(s.value),this},destroy:function(e){e=1==e;i&&(i.off("click.bui"),e&&i.remove());m("change")},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(c,t,n)},config:s,init:d},s=c.config=t.extend(!0,{},{id:"",uid:"",handle:".bui-rating-cell",fullClassName:"bui-rating-cell-full",halfClassName:"bui-rating-cell-half",half:!1,clickFull:!0,stars:5,value:0,disabled:!1,render:!0,autoinit:!0,onBeforeInit:null,onChange:null,onInited:null,callback:null},e.config.rating,n),u=!1;function d(n){var r=t.extend(!0,s,n);if(r.onBeforeInit&&r.onBeforeInit.call(c,r),r.id)return i=e.obj(r.id),c.$el=i,s=c.config=r,a=r.fullClassName,o=r.halfClassName,function(t){if(t.render){var n=function(t){e.guid();var n="",i=0,a=t.stars;for(i=0;i';return n}(t);i.html(n),l=i.children(t.handle)}else l=i.children(t.handle);h(t.value)}(r),u||f(r),r.uid&&e.history.setUI&&e.history.setUI({uid:r.uid,ui:c}),r.onInited&&r.onInited.call(c,r),this;e.hint("rating id不能为空")}function f(e){if(!e.disabled){var n=String(e.value).indexOf(".")>-1?1:0;i.off("click.bui",e.handle).on("click.bui",e.handle,(function(i){var a=t(this).index(),o=parseInt(h()),r=0;e.half?r=(e.clickFull?n%2==1:n%2==0)?a+.5:a+1:r=a+1;p(r),h(r),n++,o!==r&&e.onChange&&e.onChange.call(c,i),e.callback&&e.callback.call(c,i),i.stopPropagation()}))}u=!0}function p(e){var n=[];e=String(e),s.half&&e.indexOf(".")>-1?n=e.split("."):n.push(e),l.removeClass(a).removeClass(o),l.each((function(e,i){var r=parseInt(n[0]);1==n.length&&e0?"width:"+t+"px;left:50%;right:0;margin-left:-"+t/2+"px;":"",i="";e&&e.length&&(i+='
    ',i+='
      ',i+=u(e),i+="
    ",l.cancelText&&(i+='
    '+l.cancelText+"
    "),i+="
    ");return i}(g.data||g.buttons);e.obj(g.appendTo).append(m)}return i||(i=e.dialog({id:l.id,position:g.position,mask:g.mask,effect:g.effect,opacity:g.opacity,zIndex:g.zIndex,onBeforeOpen:g.onBeforeOpen,onBeforeClose:g.onBeforeClose,onMask:function(){d(),g.onMask&&g.onMask()}})),(o=i.$el()).find(g.handle),c||(s=function(e){e.target=this,l.callback&&l.callback.call(r,e,r),h.call(r,"click",e)},p=function(e){t(this).hasClass("disabled")||l.disable||f.call(this)},o&&o.off("click.bui",l.handle).on("click.bui",l.handle,s),a&&a.off("click.bui").on("click.bui",p),c=!0),g.uid&&e.history.setUI&&e.history.setUI({uid:g.uid,ui:r}),g.onInited&&g.onInited.call(r,g),this}function u(e){var n="";return t.each(e,(function(e,t){n+='
  • '+(t.name||"")+"
  • "})),n}function d(e){h.call(this,"beforehide");var t={};return"function"==typeof e?t.callback=function(){e&&e.call(r),h.call(r,"hide")}:"string"==typeof e?t.effect=e:"object"===_typeof(e)&&(t=e),i.isOpen()&&i.close(t),this}function f(e){h.call(this,"beforeshow");var t={};return"function"==typeof e?t.callback=function(){e&&e.call(r),h.call(r,"show")}:"string"==typeof e?t.effect=e:"object"===_typeof(e)&&(t=e),!i.isOpen()&&i.open(t),this}function p(t,n){return e.off.apply(r,arguments),this}function h(t){r.self=this==window||this==r?null:this,e.trigger.apply(r,arguments)}return l.id=l.id||e.guid(),l.autoinit&&s(l),r}}(window.bui||{},window.libs),function(e,t){e.number=function(n){var i,a,o,r={name:"number",handle:{},on:function(t,n){return e.on.apply(r,arguments),this},off:b,$el:function(t){return e.selector.call(o,t)},disabled:function(n){g();var i=this&&"htmldivelement"===e.typeof(this)?t(this):a;(n=0!=n)?i.attr("disabled","disabled"):i.removeAttr("disabled");return this},reset:function(){var e=l.value||l.min;return h.call(this,e),e},value:function(e){var t=0;void 0!==e?(h.call(this,e),t=e):t=p.call(this);return t},values:function(t){o.length<1&&(o=u.find(l.id));if(t&&"array"===e.typeof(t))return Array.prototype.slice.call(o).forEach((function(e,n){var i=e.id||e.getAttribute("name")||"",a=e.querySelector("input");i==t[n].id&&(a.value=t[n].value,a.min=t[n].min||l.min,a.max=t[n].max||l.max,a.step=t[n].step||l.step)})),this;var n=[];Array.prototype.slice.call(o).forEach((function(e,t){var i=e.id||e.getAttribute("name")||"",a=e.querySelector("input"),o=a.value,r=a.getAttribute("min"),l=a.getAttribute("max");n.push({id:i,value:o,min:r,max:l})}));return n},prev:m,next:v,destroy:function(e){e=1==e;(o=u.find(l.id))&&(o.off("click.bui"),o.off("input"),e&&o.remove());b("prev"),b("next"),b("change")},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(r,t,n)},config:l,init:d},l=r.config=t.extend(!0,{},{parentId:".bui-page",id:".bui-number",uid:"",type:"text",min:0,max:100,step:1,value:1,disabled:!1,render:!0,tips:!1,autocheck:!0,decimal:1,name:"",prev:".bui-number-prev",input:"input",next:".bui-number-next",onInput:null,autoinit:!0,inited:null,onBeforeInit:null,onInited:null,onChange:null,callback:null},e.config.number,n),c=!1,s=!1,u=null;function d(n){var d=t.extend(!0,l,n);return d.onBeforeInit&&d.onBeforeInit.call(r,d),d.max,d.min,i=d.step,u=n.parentId&&e.obj(d.parentId).length?e.obj(d.parentId):t(d.parentId),"object"===_typeof(d.id)?(o=e.obj(d.id),s=!1):"string"==typeof d.id&&0===d.id.indexOf("#")||n.id&&!n.parentId?(o=e.obj(d.id),s=!0):(o=u.find(d.id),s=!1),l=r.config=d,d.render&&function(t){var n=function(t){var n="";return n+='
    ',n+=' ',n+='
    '}(t);o.html(n)}(d),o.children(d.prev),o.children(d.next),a=o.children(d.input),c||function(n){var i=".bui-number "+n.input,a=".bui-number "+n.prev,d=".bui-number "+n.next,p=function(e){var i=t(this).val();e.value=f(i),n.onInput&&n.onInput.call(r,e),e.stopPropagation()},g=function(e){var i=n.autocheck&&isNaN(parseFloat(t(this).val(),10))?0:parseFloat(t(this).val(),10);/^[-\\+]?([0-9])+$/i.test(i)&&h.call(this,f(i)),e.value=f(i),n.onChange&&n.onChange.call(r,e),e.stopPropagation()},b=function(e){var i=t(this).next(l.input);e.value=i.val(),m.call(i,e),n.callback&&n.callback.call(r,e),e.preventDefault(),e.stopPropagation()},y=function(e){var i=t(this).prev(l.input);e.value=i.val(),v.call(i,e),n.callback&&n.callback.call(r,e),e.preventDefault(),e.stopPropagation()};s?(n.onInput&&o.off("input",n.input).on("input",n.input,e.unit.debounce(p,400)),o.off("change",n.input).on("change",n.input,g),o.off("click.bui",n.prev).on("click.bui",n.prev,b),o.off("click.bui",n.next).on("click.bui",n.next,y)):(n.onInput&&u.off("input",i).on("input",i,e.unit.debounce(p,400)),u.off("change",i).on("change",i,g),u.off("click.bui",a).on("click.bui",a,b),u.off("click.bui",d).on("click.bui",d,y));c=!0}(d),d.disabled&&a.attr("disabled","disabled"),h(d.value),d.target=a,d.value=d.value,d.uid&&e.history.setUI&&e.history.setUI({uid:d.uid,ui:r}),d.onInited&&d.onInited.call(r,d),d.inited&&d.inited.call(r,d),this}function f(e,t,n){return t=t||l.min,n=n||l.max,en&&(e=n),e}function p(){g();var n=this&&"htmldivelement"===e.typeof(this)?t(this):a;return parseFloat(n.val(),10)}function h(n){g();var i=this&&"object"===e.typeof(this)?a:t(this);return Array.prototype.slice.call(i).forEach((function(t,a){var o=t.getAttribute("max")||t.parentElement.getAttribute("data-max")||l.max,c=t.getAttribute("min")||t.parentElement.getAttribute("data-min")||l.min,s=l.autocheck?function(e,t,n){var i=e||0;i>n&&(i=n);i=t&&i<=n&&(i=i);return i}(parseFloat(n),parseFloat(c),parseFloat(o)):parseFloat(n);t.value=s,this&&e.typeof(this),i.trigger("input"),y.call(r,"change",{target:t,value:n}),l.onChange&&l.onChange.call(r,{target:t,value:n})})),this}function g(){"object"===_typeof(l.id)?(o=e.obj(l.id),s=!1):"string"==typeof l.id&&0===l.id.indexOf("#")?(o=e.obj(l.id),s=!0):(o=u.find(l.id),s=!1),o.children(l.prev),o.children(l.next),a=o.children(l.input)}function m(){g();var n=this&&"htmldivelement"===e.typeof(this)?t(this):event?t(event.target).parent().next():a,o=+n.val();o-=i;var c=/^-?\d*\.\d+$/.test(i)?parseFloat(o).toFixed(l.decimal):o;return h.call(n,c),y.call(r,"prev",c),this}function v(){g();var n=this&&"htmldivelement"===e.typeof(this)?t(this):event?t(event.target).parent().prev():a,o=+n.val()+ +i,c=/^-?\d*\.\d+$/.test(i)?parseFloat(o).toFixed(l.decimal):parseFloat(o);return h.call(n[0],c),y.call(r,"next",c),this}function b(t,n){return e.off.apply(r,arguments),this}function y(t){r.self=this==window||this&&this.hasOwnProperty("widget")?null:this,e.trigger.apply(r,arguments)}return l.autoinit&&d(l),r}}(bui||{},libs),function(e,t){e.stepbar=function(n){var i,a,o={name:"stepbar",handle:{},on:function(t,n){return e.on.apply(o,arguments),this},off:d,value:u,getItem:function(e){var t="number"==typeof e?e:u();return r.data[t]},next:function(e){var t=u()+1;return f.call(this,"next",t),u(t,e)},prev:function(e){var t=u()-1;return f.call(this,"prev",t),u(t,e)},destroy:function(e){e=1==e;i&&(i.off("click.bui"),e&&i.remove());d("next"),d("prev"),d("change")},widget:function(t){return e.widget.call({},t)},option:function(t,n){return e.option.call(o,t,n)},config:r,init:s},r=o.config=t.extend(!0,{},{id:null,uid:"",handle:".bui-stepbar-cell",hasNumber:!1,lineCenter:!1,click:!0,autoinit:!0,data:[],template:null,direction:"y",value:null,onBeforeInit:null,onInited:null,onChange:null,callback:null},e.config.stepbar,n),l=0,c=!1;function s(n){var l=t.extend(!0,r,n);if(l.onBeforeInit&&l.onBeforeInit.call(o,l),l.id){i=e.obj(l.id),r=o.config=l;var s,d,f="function"==typeof l.template?l.template.call(o,l.data):(s=l.data,d="",t.each(s,(function(e,t){var n=r.hasNumber?e+1:"",i=r.hasNumber?"bui-stepbar-number ":"",a=t.className||"";d+='
    ',d+=' '+n+"",d+='
    ',t.title&&(d+="

    "+t.title+"

    "),t.subtitle&&(d+='

    '+t.subtitle+"

    "),t.content&&(d+='

    '+t.content+"

    "),d+="
    ",d+="
    "})),d);if("x"==r.direction?i.addClass("bui-stepbar-center bui-stepbar-line"):(i.addClass("bui-stepbar"),i.removeClass("bui-stepbar-center bui-stepbar-line")),l.data.length&&i.html(f),o.$el=i,a=i.children(),c||function(e){var n=function(n){e.click&&u(t(this).index());e.callback&&e.callback.call(o,n,o)};i.off("click.bui",e.handle).on("click.bui",e.handle,n),c=!0}(l),/^\d/.test(l.value)){var p=+l.value>l.data.length?l.data.length-1:+l.value;u(p=p<0?0:p)}return l.uid&&e.history.setUI&&e.history.setUI({uid:l.uid,ui:o}),l.onInited&&l.onInited.call(o,l),this}e.hint("stepbar id不能为空")}function u(e,n){return n=n||"",/\d/.test(e)?(e=e>=a.length-1?a.length-1:e<0?0:e,a.each((function(i,a){ie&&t(a).removeClass("visited active "+n)})),e!=l&&(f.call(o,"change",e),r.onChange&&r.onChange.call(o,e),l=e),e):e=i.children(".active").index()}function d(t,n){return e.off.apply(o,arguments),this}function f(t){o.self=this==window||this==o?null:this,e.trigger.apply(o,arguments)}return r.autoinit&&s(r),o}}(window.bui||{},window.libs);var n=function(e){var t=this,n={updateValuesOnTouchmove:!1,rotateEffect:!1,momentumRatio:7,freeMode:!1};for(var i in e=e||{},n)void 0===e[i]&&(e[i]=n[i]);function a(e){return window.cancelAnimationFrame?window.cancelAnimationFrame(e):window.webkitCancelAnimationFrame?window.webkitCancelAnimationFrame(e):window.mozCancelAnimationFrame?window.mozCancelAnimationFrame(e):window.clearTimeout(e)}function o(e,t){for(var n=0;n6&&(i=i.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),o=new WebKitCSSMatrix("none"===i?"":i)):n=(o=a.MozTransform||a.OTransform||a.MsTransform||a.msTransform||a.transform||a.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(i=window.WebKitCSSMatrix?o.m41:16===n.length?parseFloat(n[12]):parseFloat(n[4])),"y"===t&&(i=window.WebKitCSSMatrix?o.m42:16===n.length?parseFloat(n[13]):parseFloat(n[5])),i||0}t.params=e,t.cols=[],t.initialized=!1;var c,s,u,d,f,p,h=(c=navigator.userAgent,s=c.match(/(Android);?[\s\/]+([\d.]+)?/),u=c.match(/(iPad).*OS\s([\d_]+)/),d=c.match(/(iPod)(.*OS\s([\d_]+))?/),f=!u&&c.match(/(iPhone\sOS)\s([\d_]+)/),p=!!s,u||d||f||navigator.userAgent.toLowerCase().indexOf("safari")>=0&&navigator.userAgent.toLowerCase().indexOf("chrome")<0&&!p);return t.setValue=function(e,n){var i=0;if(0===t.cols.length)return t.value=e,void t.updateValue(e);for(var a=0;a=0||(t.value=n,t.displayValue=i,t.params.onChange&&t.params.onChange(t,t.value,t.displayValue))},t.initPickerCol=function(e,n){var i=$(e),c=i.index(),s=t.cols[c];if(!s.divider){var u,d,f,p,g;s.container=i,s.wrapper=s.container.find(".picker-items-col-wrapper"),s.items=s.wrapper.find(".picker-item"),s.replaceValues=function(e,n,i){s.destroyEvents(),s.values=e,s.displayValues=n;var a=t.columnHTML(s,!0);s.wrapper.html(a),s.items=s.wrapper.find(".picker-item"),s.calcSize(),s.setValue(i||s.values[0],0,!0),s.initEvents()},s.calcSize=function(){var e,n;t.params.rotateEffect&&(s.container.removeClass("picker-items-col-absolute"),s.width||(s.container[0].style.width="")),e=0,n=s.container[0].offsetHeight,s.wrapper[0].offsetHeight,u=s.items[0]&&s.items[0].offsetHeight||20,d=u*s.items.length,f=n/2-d+u/2,p=n/2-u/2,s.width&&(e=s.width,parseInt(e,10)===e&&(e+="px"),s.container[0].style.width=e),t.params.rotateEffect&&(s.width||(s.items.each((function(){var t=$(this);t[0].style.width="auto",e=Math.max(e,t[0].offsetWidth),t[0].style.width=""})),s.container[0].style.width=e+2+"px"),s.container.addClass("picker-items-col-absolute"))},s.calcSize(),o(s.wrapper,"translate3d(0,"+p+"px,0)"),r(s.wrapper,"0ms"),s.setValue=function(e,t,n){void 0===t&&(t="");var i=s.wrapper.find('.picker-item[data-picker-value="'+e+'"]').index();void 0!==i&&-1!==i||(i=0);var a=-i*u+p;o(s.wrapper,"translate3d(0,"+a+"px,0)"),r(s.wrapper,t+"ms");try{s.updateItems(i,a,t,n)}catch(e){}},s.updateItems=function(e,n,i,a){void 0===n&&(n=l(s.wrapper[0],"y")),void 0===e&&(e=-Math.round((n-p)/u)),e<0&&(e=0),e>=s.items.length&&(e=s.items.length-1);var c=s.activeIndex;s.wrapper.find(".picker-selected").removeClass("picker-selected"),r(s.items,i);var d=s.items.eq(e).addClass("picker-selected");o(d,""),t.params.rotateEffect&&s.items.each((function(){var e=$(this),t=(e.index()*u-(p-n))/u,i=Math.ceil(s.height/u/2)+1,a=-18*t;a>180&&(a=180),a<-180&&(a=-180),Math.abs(t)>i?e.addClass("picker-item-far"):e.removeClass("picker-item-far"),o(e,"translate3d(0, "+(-n+p)+"px, "+(h?-110:0)+"px) rotateX("+a+"deg)")})),(a||void 0===a)&&(s.value=d.attr("data-picker-value"),s.displayValue=s.displayValues?s.displayValues[e]:s.value,c!=e&&(s.onChange&&s.onChange(t,s.value,s.displayValue),t.updateValue()))},n&&s.updateItems(0,p,0);var m,v,b,y,w,x,k,I,T,O,C=!0;s.initEvents=function(e){var t=/hp-tablet/gi.test(navigator.appVersion),n="ontouchstart"in window&&!t,i=n?"touchstart":"mousedown",a=n?"touchmove":"mousemove",o=n?"touchend":"mouseup",r=e?"off":"on";s.container[r](i,P),s.container[r](a,S),s.container[r](o,j),"mouseup"==o&&document.documentElement.addEventListener("mouseleave",j,!1),s.items[r]("click",L)},s.destroyEvents=function(){s.initEvents(!0)},s.initEvents()}function P(e){if(!v&&!m){var t=e.originalEvent||e;t.preventDefault(),m=!0,b=y=t.targetTouches?t.targetTouches[0].pageY:t.pageY,w=(new Date).getTime(),C=!0,x=I=l(s.wrapper[0],"y")}}function S(e){if(m){var n=e.originalEvent||e;n.preventDefault(),C=!1,y=n.targetTouches?n.targetTouches[0].pageY:n.pageY,v||(a(g),v=!0,x=I=l(s.wrapper[0],"y"),r(s.wrapper,"0ms")),n.preventDefault(),k=void 0,(I=x+(y-b))p&&(I=p+Math.pow(I-p,.8),k="max"),o(s.wrapper,"translate3d(0,"+I+"px,0)"),s.updateItems(void 0,I,0,t.params.updateValuesOnTouchmove),O=I-T||I,(new Date).getTime(),T=I}}function j(e){if(m&&v){var n;m=v=!1,r(s.wrapper,""),k&&o(s.wrapper,"min"===k?"translate3d(0,"+f+"px,0)":"translate3d(0,"+p+"px,0)"),n=(new Date).getTime()-w>300?I:I+O*t.params.momentumRatio,n=Math.max(Math.min(n,p),f);var i=-Math.floor((n-p)/u);t.params.freeMode||(n=-i*u+p),o(s.wrapper,"translate3d(0,"+parseInt(n,10)+"px,0)"),s.updateItems(i,n,"",!0),setTimeout((function(){C=!0}),100)}else m=v=!1}function L(e){if(C){a(g);var t=$(this).attr("data-picker-value");s.setValue(t)}}},t.columnHTML=function(e,t){var n="",i="";if(e.divider)i+='
    '+e.content+"
    ";else{for(var a=0;a'+(e.displayValues?e.displayValues[a]:e.values[a])+"";i+='
    '+n+"
    "}return t?n:i},t.layout=function(){var e,n;t.cols=[];var i="";for(n=0;n
    '+i+'
    ',t.pickerHTML=e},t.init=function(){t.initialized||(t.layout(),t.container=$(t.pickerHTML),t.container.addClass("picker-modal-inline"),$(t.params.container).html(t.container),t.container.find(".picker-items-col").each((function(){var e=!0;(!t.initialized&&t.params.value||t.initialized&&t.value)&&(e=!1),t.initPickerCol(this,e)})),t.value?t.setValue(t.value,0):t.params.value&&t.setValue(t.params.value,0)),t.initialized=!0},t.init(),t};!function(e,t){e.picker=function(e){return new n(e)}}(window.bui||{}),function(e,t){e.pickerdate=function(){function n(e,t){if(e&&e.constructor==Date)return e;if("number"==typeof e&&13===String(e).length)return new Date(e);e=String(e);var n=new Date,i=n.getFullYear(),a=n.getMonth()+1,o=n.getDate();return(e=e.replace(/[-|年|月]/gim,"/").replace(/[时|分|秒|小时|分钟]/gim,":").replace(/^(\d{4}\/\d+?)($|\s)/,(function(e,t){return t+"/1"})).replace(/[日|号]/gim,"").replace(/^(\d{1,2}\/\d{1,2}?)($|\s)/,(function(e,t){return n.getFullYear()+"/"+t}))).indexOf("/")<0&&e.indexOf(":")>-1&&(e=i+"/"+a+"/"+o+" "+e),4===e.length?e+="/1/1 00:00:00":"MM"===t||"M"===t?e=i+"/"+e+"/1 00:00:00":"dd"!==t&&"d"!==t||(e=i+"/"+a+"/"+e+" 00:00:00"),new Date(e)}function i(i){var a,o,r,l,c,s,u,d,f,p,h,g=e.guid(),m={id:g,title:"",uid:"",height:260,popup:!0,mask:!0,autoinit:!0,zIndex:110,bindValue:!1,handleParent:"",position:"bottom",effect:"fadeInUp",appendTo:"",rotateEffect:!1,modelEvent:"input",buttons:[{name:"取消",className:""},{name:"确定",className:"primary-reverse"}],onBeforeInit:null,onInited:null,autoClose:!1,onCancel:null,onChanged:null,onMask:i.onMask||i.autoClose?function(){b&&b.close()}:null,callback:null},v=null,b=this,y=function(){},w=null,x=t.extend(!0,{},m,i);x.appendTo=x.appendTo||e.hasRouter&&router.currentPage()||"body",x.callback=function(e){var o=i.callback&&i.callback.call(b,e);if(!1===o)return!1;if(1==o||void 0===o){if("取消"==t(e.target).text().trim()||"cancel"==t(e.target).text().trim()||"关闭"==t(e.target).text().trim())try{var r=n(a);b.value(r),i.onCancel&&i.onCancel.call(b,e)}catch(e){}else a=b.value(),v&&v[0]&&"INPUT"===v[0].nodeName?(v.val(a),v.trigger(x.modelEvent)):v&&v.text(a),0==x.autoClose&&b&&b.close(),x.onChanged&&x.onChanged.call(b,e);0==x.autoClose&&b&&b.close()}v=null};var k={},I=["FullYear","Month","Date"],T=["Hours","Minutes","Seconds"],O={FullYear:"year",Month:"month",Date:"date",Hours:"hour",Minutes:"minute",Seconds:"second"},C=[];function P(e){var t=new Date;return C.forEach((function(n,i){t["set"+n](e[k[n]].value-("Month"==n?1:0))})),t}function S(e){var t=n(e);return C.map((function(e,n){return t["get"+e]()+("Month"==e?1:0)}))}function j(){if(!t(this).hasClass("disabled")){if(x.bindValue){v=t(this),b.el=this;var n=v.val()||v.text();n=d&&d.indexOf("y")<0&&d.indexOf("M")>-1?(new Date).getFullYear()+"/"+n:n||e.date.today(d),b.value(n)}w&&!w.isOpen()&&w.open()}}this.config={},this.option=function(){},this.cols=function(e){e=e||{};var t=[];return p=[],f=[],k={},C=[],I.forEach((function(n,i){"none"!==e[O[n]]&&(C.push(n),t.push(n))})),T.forEach((function(t,n){"none"!==e[O[t]]&&(C.push(t),p.push(t))})),t.forEach((function(t,n){k[t]=f.length;var i=O[t],a=e[i],o=N[t](a);o.type=i,f.push(o)})),p.forEach((function(n,i){0==i&&0!=t.length?f.push(N.Space()):f.push(N.Divider()),0==t.length&&(f[0].content=""),k[n]=f.length;var a=O[n],o=e[a],r=N[n](o);r.type=a,f.push(r)})),b.picker&&(b.picker.params.cols=f,b.picker.initialized=!1,b.picker.init()),this},this.id=function(e){e&&!c&&(c=e)},this.reset=function(){return b.picker&&(b.picker.initialized=!1,b.picker.init()),this},this.empty=function(){return b.picker&&e.obj(i.handle).val(""),this},this.min=function(e){var t=(new Date).getFullYear()-1+"/01/01 00:00:00";return r=n(e||x.min||t),this},this.max=function(e){var t=(new Date).getFullYear()+1+"/12/31 00:00:00";return l=n(e||x.max||t),this},this.value=function(e){if(e){var t=S(n(e,b.config.formatValue));return b.picker.setValue(t,0),v&&v[0]&&"INPUT"===v[0].nodeName&&v.trigger(b.config.modelEvent),this}return u(b.picker,b.value,b.displayValue)},this.values=function(t){if(t&&"array"===e.typeof(t))return t.forEach((function(t,n){var i=e.$("#"+t.id);i.val(t.value),v&&v[0]&&"INPUT"===v[0].nodeName&&i.trigger(x.modelEvent)})),this.values();var n=[];return e.$(o).each((function(e,t){var i={};i.id=t.id,i.value=t.value||"",i.name=t.name||"",n.push(i)})),n},this.checkValue=function(t,n){var i=this.value(),a=e.$("#"+t).val(),o=e.$("#"+n).val();if(this.el.id.includes(n)?o=i:this.el.id.includes(t)&&(a=i),""!=a&&""!=o){var r=e.date.convert(a).getTime();return e.date.convert(o).getTime()>r}return!0},this.handler=function(t){return t&&o!==t&&(o=t,i.handleParent?e.$(i.handleParent).off("click.bui",o).on("click.bui",o,j):e.$(o).off("click.bui").on("click.bui",j),j.hasOpen=!1,o=t),this};var L={y:function(e,t){return e.getFullYear().toString().slice(-t)},M:function(e,t){return((t>1?"0":"")+(e.getMonth()+1)).slice(-2)},d:function(e,t){return((t>1?"0":"")+e.getDate()).slice(-2)},h:function(e,t){return((t>1?"0":"")+e.getHours()).slice(-2)},m:function(e,t){return((t>1?"0":"")+e.getMinutes()).slice(-2)},s:function(e,t){var n=t>1?"0":"";return(n+e.getSeconds()).slice(-2)}};this.formatValue=function(e){return d=e,u=function(t,n,i){var a=P(t.cols);return e.replace(/y+|M+|d+|h+|m+|s+/g,(function(e){return L[e[0]](a,e.length)}))},b.picker&&b.picker.updateValue(),this},this.formatDate=function(e,t){if(null==e)return"";var i=n(e);t=t||"yyyy-MM-dd";var a={"M+":i.getMonth()+1,"d+":i.getDate(),"h+":i.getHours(),"m+":i.getMinutes(),"s+":i.getSeconds(),"q+":Math.floor((i.getMonth()+3)/3),S:i.getMilliseconds()};for(var o in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(i.getFullYear()+"").substr(4-RegExp.$1.length))),a)new RegExp("("+o+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?a[o]:("00"+a[o]).substr((""+a[o]).length)));return t},this.onChange=function(t){var n=this;return s=x.bindValue?function(i){v?v[0]&&"INPUT"===v[0].nodeName?v.val(i):v.text(i):e.obj(o).each((function(e,t){"INPUT"===t.nodeName?t.value=i:t.innerTEXT=i})),t&&t.call(n,i)}:t||y,B.call(this,"change",h),this},this.popup=function(n){if(n.popup&&!w){var i='
    ';n.title&&(i+='
    '+n.title+"
    "),i+='
    ',n.buttons&&n.buttons.length&&(i+='
    ',t.each(n.buttons,(function(e,t){var n="object"==_typeof(t)&&"className"in t?" "+t.className:"",a="object"==_typeof(t)&&"name"in t?t.name:t;i+='
    '+a+"
    "})),i+="
    "),i+="
    ",t(n.appendTo).append(i),c=e.obj(g+"-picker")}else c=e.obj(n.id);return this};var E=function(e,t,n){var i=P(e.cols),a=r["get"+t](),o=l["get"+t](),c=i.getTime(),s=r.getTime(),u=l.getTime();return cu&&i["get"+t]()>o?("Month"==t&&(o+=1),void e.cols[k[t]].setValue(o)):void(n&&(cu)&&e.cols[k[n]].onChange(e))},N={};function B(t){b.self=this==window||this==b?null:this,e.trigger.apply(b,arguments)}N.FullYear=function(e){return{type:"year",values:(e=e||{values:function(){for(var e=[],t=r.getFullYear(),n=l.getFullYear(),i=t;i<=n;i++)e.push(i);return e}()}).values,displayValues:e.displayValues,onChange:function(e,t,n){E(e,"FullYear",k.Month?"Month":"")}}},N.Month=function(e){return{type:"month",values:(e=e||{values:[1,2,3,4,5,6,7,8,9,10,11,12],displayValues:["1","2","3","4","5","6","7","8","9","10","11","12"]}).values,displayValues:e.displayValues,textAlign:"right",onChange:function(e,t,n){for(var i=new Date,a=e.cols[k.FullYear]?e.cols[k.FullYear].value:i.getFullYear(),o=e.cols[k.Month]?e.cols[k.Month].value:i.getMonth()+1,r=new Date(a,parseInt(o),0).getDate(),l=[],c=1;c<=r;c++)l.push(c);var s=e.cols[k.Date];s&&s.replaceValues&&s.replaceValues(l,null,s.valuep.getTime()?p:g)),onChange:function(e,t,n){var i=u(e,t,n);h!=i&&(h=i,s&&s.call(b,i),B.call(this,"change",i))},cols:f});var v=m.uid;m.popup&&!w&&(delete m.uid,(w=e.dialog.call(b,m))&&w.on("open",(function(){a=u(b.picker,b.value,b.displayValue),b.picker&&(b.picker.initialized=!1,b.picker.init()),B.call(b,"show")})),w&&w.on("close",(function(){B.call(b,"hide")}))),v&&e.history.setUI&&e.history.setUI({uid:v,ui:b}),m.onInited&&m.onInited.call(b,m)},x.autoinit&&b.init(x),this.name="pickerdate",this.disabled=function(){var t=e.obj(o);return t&&t.addClass("disabled"),this},this.open=function(e){return w.open(e),this},this.isOpen=function(){return w.isOpen()},this.close=function(e){return w.close(e),this},this.triggerInput=function(e){v.trigger(e||x.modelEvent)},this.modifyTitle=function(t){return e.obj(g).find(".bui-dialog-head").html(t),this},this.enabled=function(){var t=e.obj(o);return t&&t.removeClass("disabled"),this},this.destroy=function(e){e=1==e;this.off("show"),this.off("hide"),this.off("change"),w&&w.destroy(e),b=null},this.widget=function(t){var n={dialog:w||{}};return e.widget.call(n,t)},this.on=function(t,n){return e.on.apply(b,arguments),this},this.off=function(t,n){return e.off.apply(b,arguments),this}}return function(e){return new i(e)}}()}(window.bui||{},window.libs),function(e,t){e.levelselect=function(n){var i=t.extend(!0,{},{popup:!0,data:[],uid:"",height:300,appendTo:"",title:"所在地区",trigger:null,placeholder:"请选择",level:3,visibleNum:2,scrollNum:1,log:!1,mask:!0,zIndex:121,autoClose:!0,fullscreen:!1,position:"bottom",effect:"fadeInUp",showValue:!0,navScroll:!0,onMask:null,value:[],autoinit:!0,stopPropagation:!1,onChange:null,onBeforeInit:null,template:null,onInited:null,toggle:!1,delimiter:'>',field:{name:"n",icon:"icon",image:"image",value:"",data:["c","a"]}},n),a=[],o=bui.guid(),r=o+"-slide",l=null,c=null,s=0,u=[],d=null,f=null,p=null,h=[],g=[],m=[],v=[],b=null,y={name:"levelselect",init:x,show:k,hide:function(e){j.call(this,"beforehide");var t={};"function"==typeof e?t.callback=function(){e&&e.call(y),j.call(y,"hide")}:"string"==typeof e?t.effect=e:"object"===_typeof(e)&&(t=e);b&&b.close(t)},widget:function(t){var n={dialog:b,slide:d,select:h};return e.widget.call(n,t)},value:T,reset:function(){return h.forEach((function(e,t){e.value(""),0==t?(C(t,i.placeholder),e.text(i.placeholder),d&&d.to(t)):(C(t,""),e.text(""))})),this},setNav:C,destroy:function(e){for(var t=0;t