├── .babelrc
├── .gitignore
├── LICENSE
├── README.md
├── aotoo.config.js
├── build
├── cmdIndex.js
├── env_attrs.js
├── index.js
├── lib
│ ├── babelrc
│ ├── gitignore
│ ├── package.json
│ ├── server
│ │ ├── index.js
│ │ ├── indexControl.js
│ │ └── indexlib.js
│ ├── src
│ │ ├── defaultscene.js
│ │ ├── empty.js
│ │ └── vendorIndex.js
│ ├── xcx
│ │ ├── app.js
│ │ ├── app.json
│ │ ├── app.wxss
│ │ ├── components
│ │ │ ├── actionSide
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── aotoo
│ │ │ │ ├── core
│ │ │ │ │ ├── behaviors
│ │ │ │ │ │ ├── base.js
│ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ ├── item.js
│ │ │ │ │ │ ├── list.js
│ │ │ │ │ │ └── tree.js
│ │ │ │ │ ├── getapp.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── ui.js
│ │ │ │ │ └── utils.js
│ │ │ │ ├── item
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── index.styl
│ │ │ │ │ └── index.wxml
│ │ │ │ ├── lib
│ │ │ │ │ ├── deepmerge.js
│ │ │ │ │ ├── foritem.js
│ │ │ │ │ ├── forlist.js
│ │ │ │ │ ├── hooks.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── md5.js
│ │ │ │ │ ├── tree.js
│ │ │ │ │ ├── util.js
│ │ │ │ │ └── vibrate.js
│ │ │ │ ├── list
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── index.styl
│ │ │ │ │ └── index.wxml
│ │ │ │ ├── partments
│ │ │ │ │ ├── body.wxml
│ │ │ │ │ ├── dot.wxml
│ │ │ │ │ ├── events
│ │ │ │ │ │ ├── longtap.wxml
│ │ │ │ │ │ ├── normal.wxml
│ │ │ │ │ │ ├── notouch.wxml
│ │ │ │ │ │ ├── notouch_scroll.wxml
│ │ │ │ │ │ ├── tap.wxml
│ │ │ │ │ │ ├── touch.wxml
│ │ │ │ │ │ └── touch_scroll.wxml
│ │ │ │ │ ├── footer.wxml
│ │ │ │ │ ├── img.wxml
│ │ │ │ │ ├── kv.wxml
│ │ │ │ │ ├── li.wxml
│ │ │ │ │ ├── parse_body
│ │ │ │ │ │ └── array.wxml
│ │ │ │ │ ├── parse_common
│ │ │ │ │ │ └── index.wxml
│ │ │ │ │ ├── parse_dot
│ │ │ │ │ │ └── array.wxml
│ │ │ │ │ ├── parse_footer
│ │ │ │ │ │ └── array.wxml
│ │ │ │ │ ├── parse_img
│ │ │ │ │ │ ├── array.wxml
│ │ │ │ │ │ ├── object.wxml
│ │ │ │ │ │ └── string.wxml
│ │ │ │ │ ├── parse_kv
│ │ │ │ │ │ └── object.wxml
│ │ │ │ │ ├── parse_li
│ │ │ │ │ │ └── array.wxml
│ │ │ │ │ ├── parse_title
│ │ │ │ │ │ ├── array.wxml
│ │ │ │ │ │ ├── object.wxml
│ │ │ │ │ │ └── string.wxml
│ │ │ │ │ ├── slot.wxml
│ │ │ │ │ └── title.wxml
│ │ │ │ ├── templates
│ │ │ │ │ ├── inner_templates.wxml
│ │ │ │ │ ├── item.wxml
│ │ │ │ │ ├── list.wxml
│ │ │ │ │ └── parse_item.wxml
│ │ │ │ ├── tree
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── index.json
│ │ │ │ │ ├── index.styl
│ │ │ │ │ └── index.wxml
│ │ │ │ └── util.wxs
│ │ │ ├── form
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ └── index.wxml
│ │ │ ├── markit
│ │ │ │ ├── hl.js
│ │ │ │ ├── hl
│ │ │ │ │ ├── bash.js
│ │ │ │ │ ├── css.js
│ │ │ │ │ ├── html.js
│ │ │ │ │ ├── js.js
│ │ │ │ │ └── json.js
│ │ │ │ ├── hp2.js
│ │ │ │ ├── htmlparser.js
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ ├── markdown.styl
│ │ │ │ └── marked.js
│ │ │ ├── modules
│ │ │ │ ├── appstorelist.js
│ │ │ │ ├── appstorelist.wxss
│ │ │ │ ├── button.js
│ │ │ │ ├── button.wxss
│ │ │ │ ├── checklist.js
│ │ │ │ ├── checklist.wxss
│ │ │ │ ├── collapse.js
│ │ │ │ ├── collapse.wxss
│ │ │ │ ├── dropdown.js
│ │ │ │ ├── dropdown.wxss
│ │ │ │ ├── fruit.js
│ │ │ │ ├── fruit.wxss
│ │ │ │ ├── guaguaka.js
│ │ │ │ ├── guaguaka.wxss
│ │ │ │ ├── indexlist.js
│ │ │ │ ├── indexlist.wxss
│ │ │ │ ├── locker.js
│ │ │ │ ├── locker.wxss
│ │ │ │ ├── navball.js
│ │ │ │ ├── navball.wxss
│ │ │ │ ├── navpad.js
│ │ │ │ ├── navpad.wxss
│ │ │ │ ├── searchbar.js
│ │ │ │ ├── searchbar.wxss
│ │ │ │ ├── sslider.js
│ │ │ │ ├── sslider.wxss
│ │ │ │ ├── stickybar.js
│ │ │ │ ├── stickybar.wxss
│ │ │ │ ├── tabbar.js
│ │ │ │ ├── tabbar.wxss
│ │ │ │ ├── tabpro.wxss
│ │ │ │ ├── tabside.js
│ │ │ │ ├── tabside.wxss
│ │ │ │ ├── touchbar.js
│ │ │ │ ├── touchbar.wxss
│ │ │ │ ├── turntable.js
│ │ │ │ └── turntable.wxss
│ │ │ └── templates.wxml
│ │ ├── css
│ │ │ ├── button.wxss
│ │ │ ├── calendar.wxss
│ │ │ ├── demo.jpg
│ │ │ ├── form.wxss
│ │ │ ├── iconfont.wxss
│ │ │ ├── icono.wxss
│ │ │ ├── loading.wxss
│ │ │ ├── markdown.wxss
│ │ │ ├── popup.wxss
│ │ │ ├── shadow.wxss
│ │ │ ├── structor.jpeg
│ │ │ ├── tag.wxss
│ │ │ └── xquery.png
│ │ ├── demos
│ │ │ ├── b01
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── b02
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── b03
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── b04
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── b05
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── b06
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── b07
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── common
│ │ │ │ ├── common.wxml
│ │ │ │ ├── common.wxss
│ │ │ │ └── extpager.js
│ │ │ ├── i01
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── i02
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── i03
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── i04
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── i05
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── i06
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── list01
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── list02
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── list03
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ ├── index.wxss
│ │ │ │ └── widgets
│ │ │ │ │ ├── badge.wxss
│ │ │ │ │ ├── menus.wxss
│ │ │ │ │ └── search.wxss
│ │ │ ├── list04
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ ├── index.wxss
│ │ │ │ └── widgets
│ │ │ │ │ ├── badge.wxss
│ │ │ │ │ ├── menus.wxss
│ │ │ │ │ └── search.wxss
│ │ │ ├── list05
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── list06
│ │ │ │ ├── contents
│ │ │ │ │ ├── item1.js
│ │ │ │ │ └── item2.js
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ ├── load01
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ └── tag01
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ ├── images
│ │ │ ├── banner.jpg
│ │ │ ├── chat.png
│ │ │ ├── huawei.jpg
│ │ │ ├── logo.jpg
│ │ │ ├── mk1.jpeg
│ │ │ ├── mk2.jpeg
│ │ │ ├── mk3.jpeg
│ │ │ ├── wxzan.jpg
│ │ │ └── xquery.png
│ │ ├── pages
│ │ │ ├── html
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ ├── index.wxss
│ │ │ │ └── mi.html
│ │ │ ├── index
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ └── markdown
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.md
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ ├── project.config.json
│ │ └── sitemap.json
│ └── xcx_template
│ │ ├── cloudclient.js
│ │ ├── cloudfuns
│ │ ├── login
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ └── openapi
│ │ │ ├── config.json
│ │ │ ├── index.js
│ │ │ └── package.json
│ │ └── project.config.json
├── main.js
├── plugins
│ ├── concat.js
│ └── memfs.js
├── server
│ ├── devProxy.js
│ └── devServer.js
├── util
│ ├── commonExist.js
│ ├── entry.js
│ ├── fillupMapfile3ds.js
│ ├── generateFedJsDirectory.js
│ ├── generateScenes.js
│ ├── generateServer.js
│ ├── generateServerConfigsFile.js
│ ├── generateVendors.js
│ ├── generateXcxDirectory.js
│ ├── htmltemplate.js
│ ├── openBrowser.js
│ ├── portOccupied.js
│ ├── sleep.js
│ └── validPort.js
├── webpack.alias.config.js
├── webpack.base.config.js
├── webpack.common.config.js
├── webpack.main.config.js
├── webpack.xcx.config.js
└── webpack.xcx.config_bak.js
├── index.js
├── package.json
├── postcss.config.js
├── src
└── mdSample
│ ├── components
│ ├── bt_table.js
│ ├── cell
│ │ ├── common
│ │ │ ├── attachment.js
│ │ │ ├── attributes.js
│ │ │ ├── dataparser.js
│ │ │ ├── elements
│ │ │ │ ├── inputbody.js
│ │ │ │ ├── register.js
│ │ │ │ └── whatinput.js
│ │ │ ├── events.js
│ │ │ └── util.js
│ │ ├── form.js
│ │ └── index.js
│ ├── items
│ │ ├── button.js
│ │ ├── droppop.js
│ │ ├── load.js
│ │ ├── message.js
│ │ └── tooltip.js
│ ├── list
│ │ ├── table.js
│ │ └── tabs.js
│ ├── swiper.js
│ └── tree.js
│ ├── configs
│ └── default.js
│ ├── css
│ ├── _commoncss
│ │ ├── markdown.styl
│ │ ├── normalize.styl
│ │ ├── nprogress.styl
│ │ ├── router.styl
│ │ └── util.styl
│ ├── _commondoc.styl
│ ├── _commonx
│ │ ├── commonfunc.styl
│ │ ├── config
│ │ │ ├── codetheme
│ │ │ │ ├── black.styl
│ │ │ │ └── grey.styl
│ │ │ ├── icon.styl
│ │ │ ├── iconfont.styl
│ │ │ ├── index.styl
│ │ │ ├── input.styl
│ │ │ ├── markdown.styl
│ │ │ ├── pagesConfig.styl
│ │ │ └── theme
│ │ │ │ ├── default.styl
│ │ │ │ ├── green.styl
│ │ │ │ ├── orange.styl
│ │ │ │ └── purple.styl
│ │ ├── css
│ │ │ ├── _animate.styl
│ │ │ ├── background.styl
│ │ │ ├── border.styl
│ │ │ ├── button.styl
│ │ │ ├── calendar.styl
│ │ │ ├── card.styl
│ │ │ ├── color.styl
│ │ │ ├── custom.styl
│ │ │ ├── dropdown.styl
│ │ │ ├── flex.styl
│ │ │ ├── height.styl
│ │ │ ├── icon.styl
│ │ │ ├── index.styl
│ │ │ ├── input.styl
│ │ │ ├── item.styl
│ │ │ ├── keyframes.styl
│ │ │ ├── list.styl
│ │ │ ├── margin.styl
│ │ │ ├── nodata.styl
│ │ │ ├── padding.styl
│ │ │ ├── pages
│ │ │ │ ├── _crop.styl
│ │ │ │ ├── _editor.styl
│ │ │ │ ├── _searchbox.styl
│ │ │ │ ├── _table.styl
│ │ │ │ ├── _tips.styl
│ │ │ │ ├── input.styl
│ │ │ │ └── margin.styl
│ │ │ ├── pic.styl
│ │ │ ├── position.styl
│ │ │ ├── radius.styl
│ │ │ ├── search.styl
│ │ │ ├── size.styl
│ │ │ ├── slider.styl
│ │ │ ├── switch.styl
│ │ │ ├── tabs.styl
│ │ │ ├── tag.styl
│ │ │ ├── textellipsis.styl
│ │ │ ├── tips.styl
│ │ │ ├── title.styl
│ │ │ ├── tree.styl
│ │ │ ├── width.styl
│ │ │ └── wxParse.styl
│ │ ├── cssFunc
│ │ │ ├── animation.styl
│ │ │ ├── badge.styl
│ │ │ ├── button.styl
│ │ │ ├── color.styl
│ │ │ ├── custom.styl
│ │ │ ├── flex.styl
│ │ │ ├── grid.styl
│ │ │ ├── icon.styl
│ │ │ ├── index.styl
│ │ │ ├── input.styl
│ │ │ ├── list
│ │ │ │ └── normal.styl
│ │ │ ├── modules
│ │ │ │ ├── customtable.styl
│ │ │ │ ├── input.styl
│ │ │ │ ├── modal.styl
│ │ │ │ ├── tabs.styl
│ │ │ │ ├── tree.styl
│ │ │ │ └── uploader.styl
│ │ │ ├── pages
│ │ │ │ ├── adminrouter.styl
│ │ │ │ ├── destnation.styl
│ │ │ │ ├── login.styl
│ │ │ │ ├── routerconfig
│ │ │ │ │ ├── routerStyle.styl
│ │ │ │ │ ├── routerStyle2.styl
│ │ │ │ │ └── routerStyle3.styl
│ │ │ │ └── steps.styl
│ │ │ ├── position.styl
│ │ │ ├── tabbar.styl
│ │ │ ├── tag.styl
│ │ │ ├── textellipsis.styl
│ │ │ ├── tips.styl
│ │ │ └── triangle.styl
│ │ └── modules
│ │ │ ├── alert.styl
│ │ │ ├── bt_table
│ │ │ ├── _3ds.styl
│ │ │ └── index.styl
│ │ │ ├── calendarx.styl
│ │ │ ├── datetimepicker
│ │ │ └── index.styl
│ │ │ ├── droppop.styl
│ │ │ ├── form
│ │ │ ├── _common
│ │ │ │ ├── checkboxandradio.styl
│ │ │ │ ├── select.styl
│ │ │ │ ├── text.styl
│ │ │ │ └── textarea.styl
│ │ │ └── index.styl
│ │ │ ├── load
│ │ │ └── index.styl
│ │ │ ├── modal.styl
│ │ │ ├── popup.styl
│ │ │ ├── scalex
│ │ │ └── index.styl
│ │ │ ├── swiper
│ │ │ ├── _3ds.styl
│ │ │ └── index.styl
│ │ │ ├── table.styl
│ │ │ ├── tabs
│ │ │ └── index.styl
│ │ │ ├── tooltip.styl
│ │ │ ├── tree
│ │ │ └── index.styl
│ │ │ └── uploader
│ │ │ └── index.styl
│ ├── common.styl
│ └── index.styl
│ ├── docs
│ ├── agreement.md
│ ├── aotoo
│ │ ├── comp.md
│ │ ├── global.md
│ │ ├── html.md
│ │ ├── inner.md
│ │ ├── innercustom.md
│ │ ├── item.md
│ │ ├── itemapi.md
│ │ ├── itemevent.md
│ │ ├── lib.md
│ │ ├── life.md
│ │ ├── list.md
│ │ ├── listapi.md
│ │ ├── listevent.md
│ │ ├── readme.md
│ │ ├── run.md
│ │ ├── start.md
│ │ └── tree.md
│ ├── app
│ │ ├── demo.md
│ │ ├── install.md
│ │ └── readme.md
│ ├── asset.md
│ ├── assetmini.md
│ ├── cli.md
│ ├── create.md
│ ├── demos.md
│ ├── demos
│ │ ├── item.md
│ │ ├── itemapi.md
│ │ ├── itemattr.md
│ │ ├── itemcomp.md
│ │ ├── itemcomplex.md
│ │ ├── itemembed.md
│ │ ├── itemevent.md
│ │ ├── iteminner.md
│ │ ├── itempic.md
│ │ └── list.md
│ ├── form
│ │ ├── custom.md
│ │ ├── demos
│ │ │ ├── checkbox.md
│ │ │ ├── dropdown.md
│ │ │ ├── event.md
│ │ │ ├── group-api.md
│ │ │ ├── group.md
│ │ │ ├── input-api.md
│ │ │ ├── mix-api.md
│ │ │ ├── mix.md
│ │ │ ├── radiobox.md
│ │ │ ├── single.md
│ │ │ └── union.md
│ │ ├── event.md
│ │ ├── form.md
│ │ ├── group.md
│ │ ├── mix.md
│ │ ├── readme.md
│ │ ├── single.md
│ │ └── union.md
│ ├── hooks.md
│ ├── install.md
│ ├── kit.md
│ ├── logs
│ │ └── hub.md
│ ├── mddemo.md
│ ├── minip
│ │ ├── component
│ │ │ ├── calendar.md
│ │ │ ├── collapse.md
│ │ │ ├── dropdown.md
│ │ │ ├── filter.md
│ │ │ ├── locker.md
│ │ │ ├── popup.md
│ │ │ └── slider.md
│ │ ├── inner.md
│ │ ├── item.md
│ │ ├── itemapi.md
│ │ ├── itemevent.md
│ │ ├── list.md
│ │ ├── listapi.md
│ │ ├── listevent.md
│ │ ├── listusage.md
│ │ ├── readme.md
│ │ ├── startm.md
│ │ ├── tree.md
│ │ └── usage.md
│ ├── reactdemo.md
│ ├── readme.md
│ ├── service.md
│ ├── start.md
│ ├── startm.md
│ ├── startr.md
│ ├── structor.md
│ ├── stylus.md
│ ├── vuedemo.md
│ └── web
│ │ ├── aotoo.md
│ │ ├── css.md
│ │ ├── dist.md
│ │ ├── js.md
│ │ ├── minip.md
│ │ ├── minip_npm.md
│ │ ├── noderoute.md
│ │ ├── pager.md
│ │ ├── pagernav.md
│ │ ├── pagerpage.md
│ │ ├── readme.md
│ │ ├── router.md
│ │ ├── server.md
│ │ ├── start.md
│ │ └── usage.md
│ ├── html
│ └── index.html
│ ├── images
│ ├── favicon.ico
│ ├── logo.png
│ ├── minip
│ │ ├── collapse.jpg
│ │ ├── dd.gif
│ │ ├── filter-1.jpg
│ │ ├── filter-2.jpg
│ │ ├── filter-3.jpg
│ │ ├── filter-4.jpg
│ │ ├── filter-5.jpg
│ │ ├── filter-6.jpg
│ │ ├── filter-7.jpg
│ │ ├── filter-8.jpg
│ │ ├── filter-getvalue.jpg
│ │ ├── filter.gif
│ │ ├── locker.jpg
│ │ ├── popup.png
│ │ └── sslider.jpg
│ ├── others
│ │ └── fruit.png
│ ├── structor.jpg
│ └── ui
│ │ ├── css.png
│ │ ├── loading-logo.png
│ │ ├── loading.png
│ │ ├── qqqun.jpg
│ │ ├── saui-logo.png
│ │ ├── saui.jpeg
│ │ ├── saui2.jpg
│ │ ├── ss.png
│ │ └── xquery.png
│ ├── js
│ ├── _common
│ │ ├── advertising.js
│ │ ├── header.js
│ │ └── mkmenus.js
│ ├── aotoo
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── doc.html
│ │ ├── doc.styl
│ │ └── index.js
│ ├── app
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── app.html
│ │ ├── app.styl
│ │ └── index.js
│ ├── demos
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── demos.html
│ │ ├── demos.styl
│ │ └── index.js
│ ├── doc
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── doc.html
│ │ ├── doc.styl
│ │ └── index.js
│ ├── form
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── doc.html
│ │ ├── doc.styl
│ │ └── index.js
│ ├── index
│ │ ├── _subpages
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ └── c.js
│ │ └── index.js
│ ├── logs
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── doc.html
│ │ ├── doc.styl
│ │ └── index.js
│ ├── micro
│ │ ├── doc.html
│ │ ├── doc.styl
│ │ └── index.js
│ ├── minip
│ │ ├── _subpages
│ │ │ └── a.js
│ │ ├── index.js
│ │ ├── minip.html
│ │ └── minip.styl
│ ├── router
│ │ ├── _subpages
│ │ │ ├── a.js
│ │ │ ├── b.js
│ │ │ ├── c.js
│ │ │ ├── d.js
│ │ │ ├── win.js
│ │ │ └── windowroutes
│ │ │ │ ├── w1.js
│ │ │ │ ├── w2.js
│ │ │ │ ├── w3.js
│ │ │ │ ├── win1.js
│ │ │ │ ├── win2.js
│ │ │ │ └── win3.js
│ │ ├── doc.html
│ │ ├── doc.styl
│ │ └── index.js
│ ├── saui
│ │ ├── _feedback
│ │ │ ├── alert.js
│ │ │ ├── drawer.js
│ │ │ ├── load.js
│ │ │ ├── modal.js
│ │ │ ├── notice.js
│ │ │ ├── tip.js
│ │ │ └── tooltip.js
│ │ ├── _navigation
│ │ │ ├── dropdown.js
│ │ │ └── tabs.js
│ │ ├── _normal
│ │ │ ├── button.js
│ │ │ ├── color.js
│ │ │ ├── font.js
│ │ │ ├── icon.js
│ │ │ ├── lineheight.js
│ │ │ └── tag.js
│ │ ├── _show
│ │ │ ├── btTable.js
│ │ │ ├── swiper.js
│ │ │ ├── table.js
│ │ │ └── tree.js
│ │ ├── document.js
│ │ ├── index.js
│ │ └── index.styl
│ └── vendors
│ │ ├── 3ds
│ │ └── jq
│ │ │ ├── index.css
│ │ │ └── index.js
│ │ ├── ajax
│ │ └── index.js
│ │ ├── ao2.js
│ │ ├── index.js
│ │ ├── page
│ │ └── index.js
│ │ └── router
│ │ ├── _common
│ │ ├── fakepager.js
│ │ ├── popstate.js
│ │ ├── routercontainer.js
│ │ ├── routerhistory.js
│ │ ├── routerpage.js
│ │ └── routerpart.js
│ │ └── index.js
│ └── server
│ ├── .babelrc
│ ├── configs.js
│ ├── index.js
│ ├── lib.js
│ ├── pages
│ ├── aotoo
│ │ └── index.js
│ ├── doc
│ │ └── index.js
│ ├── index
│ │ └── index.js
│ └── minip
│ │ └── index.js
│ └── plugins
│ ├── api
│ └── index.js
│ └── uploader
│ └── index.js
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["@babel/preset-env", {
4 | "useBuiltIns": "usage",
5 | "corejs": 3
6 | }],
7 | ["@babel/preset-react", {
8 | "useSpread": false
9 | }]
10 | ],
11 | "env": {
12 | "development": {
13 | "presets": [["@babel/preset-react", { "development": true }]]
14 | }
15 | },
16 | "plugins": [
17 | "react-hot-loader/babel",
18 | "@babel/plugin-syntax-dynamic-import",
19 | "@babel/plugin-transform-modules-commonjs",
20 | "@babel/plugin-proposal-export-default-from",
21 | "@babel/plugin-proposal-export-namespace-from",
22 | ["@babel/plugin-proposal-decorators", { "legacy": true }],
23 | ["@babel/plugin-proposal-class-properties", { "loose": true }],
24 | "@babel/plugin-proposal-function-bind",
25 | "@babel/plugin-proposal-function-sent",
26 | "@babel/plugin-transform-computed-properties",
27 | [
28 | "@babel/plugin-transform-runtime",
29 | {
30 | "absoluteRuntime": false,
31 | "corejs": false,
32 | "helpers": true,
33 | "regenerator": true,
34 | "useESModules": false
35 | }
36 | ]
37 | ]
38 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | bower_components
3 | dist
4 | *.log
5 | .DS_Store
6 | *.db
7 | .vscode
8 | aotooExtends
9 | /src/*
10 | !/src/reactSample/
11 | !/src/mdSample/
12 | !/src/aotooSample/
13 | !/src/vueSample/
14 | !/src/xcxSample/
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2017 webkixi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/build/lib/babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["@babel/preset-env", {
4 | "useBuiltIns": "usage",
5 | "corejs": 3,
6 | "loose": true
7 | }],
8 | ["@babel/preset-react", {
9 | "useSpread": false
10 | }]
11 | ],
12 | "env": {
13 | "development": {
14 | "presets": [["@babel/preset-react", { "development": true }]]
15 | }
16 | },
17 | "plugins": [
18 | "react-hot-loader/babel",
19 | "@babel/plugin-syntax-dynamic-import",
20 | "@babel/plugin-transform-modules-commonjs",
21 | "@babel/plugin-proposal-export-default-from",
22 | "@babel/plugin-proposal-export-namespace-from",
23 | ["@babel/plugin-proposal-decorators", { "legacy": true }],
24 | ["@babel/plugin-proposal-class-properties", { "loose": true }],
25 | "@babel/plugin-proposal-function-bind",
26 | "@babel/plugin-proposal-function-sent",
27 | "@babel/plugin-transform-computed-properties",
28 | [
29 | "@babel/plugin-transform-runtime",
30 | {
31 | "absoluteRuntime": false,
32 | "corejs": false,
33 | "helpers": true,
34 | "regenerator": true,
35 | "useESModules": false
36 | }
37 | ]
38 | ]
39 | }
--------------------------------------------------------------------------------
/build/lib/gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | bower_components
3 | dist
4 | *.log
5 | .DS_Store
6 | *.db
7 | *.vscode
8 | aotooExtends
9 | !/src/aotooSample
10 | /src
11 |
--------------------------------------------------------------------------------
/build/lib/server/index.js:
--------------------------------------------------------------------------------
1 | require('@babel/register')({
2 | extends: './.babelrc',
3 | ignore: [/node_modules/],
4 | cache: true,
5 | })
6 | require('@babel/polyfill')
7 | const chalk = require('chalk')
8 | const appConfigs = require('./configs')()
9 | const { TYPE, PORT, name, isDev, micro } = appConfigs
10 | const isXcx = (TYPE == 'mp' || TYPE == 'ali')
11 | const app = require('./lib')(appConfigs)
12 |
13 | if (isXcx) {
14 | app.state.views = true
15 | }
16 | app.listen(PORT, function (err, stat) {
17 | if (err) console.log(err);
18 | const destPort = chalk.green.bold(`【${PORT}】`)
19 | console.log(`
20 | ============================
21 | + ${process.env.NODE_ENV === 'production' ? isDev ? '开发模式' : '生产模式' : '开发模式'}
22 | + node-server +
23 | + 服务名: ${name} +
24 | + 端口: ${destPort} +
25 | + 模式: ${micro ? '微服务模式' : '服务模式'} +
26 | +===========================
27 | `);
28 |
29 | if (isXcx) {
30 | console.log(chalk.bold.yellow('node端已启动,请打开微信开发工具并指定项目目录'))
31 | }
32 | })
33 |
--------------------------------------------------------------------------------
/build/lib/server/indexControl.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Aotoo-hub
3 | * 多项目大前端脚手架
4 | * 作者:天天修改
5 | * home-url: http://www.agzgz.com
6 | * github: https: //github.com/webkixi
7 | */
8 | module.exports = function (oridata) {
9 | return {
10 | get: function name(ctx) {
11 | oridata.title = 'aotoo-hub 多项目全栈脚手架'
12 | oridata.root = 'aotoo-hub 智能脚手架'
13 | return oridata
14 | },
15 | post: function name(ctx) {
16 | return oridata
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/build/lib/src/empty.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Aotoo-hub
3 | * 多项目大前端脚手架
4 | * 作者:天天修改
5 | * home-url: http://www.agzgz.com
6 | * github: https: //github.com/webkixi
7 | */
8 |
9 | // 前端业务逻辑页面请写在此处
10 | // 该静态文件会自动加载到业务页面中
11 | import ij from 'aotoo-inject'
12 | const inject = ij();
13 | inject.css(`
14 | body{
15 | font-size: 1.2em;
16 | }
17 | `)
18 |
19 | inject.js([
20 | 'jquery'
21 | ], function () {
22 | window.$ = jQuery
23 | $('#root').html(`
24 | 这是一个新项目
25 |
26 | 更多aotoo-hub使用说明请移步 agzgz
27 |
28 | demo
29 | `)
30 | })
--------------------------------------------------------------------------------
/build/lib/src/vendorIndex.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Aotoo-hub
3 | * 多项目大前端脚手架
4 | * 作者:天天修改
5 | * home-url: http://www.agzgz.com
6 | * github: https: //github.com/webkixi
7 | */
8 |
9 | // 引用react, vue等第三方库
10 | // 编译后会生成vendor.js,并自动加载到页面中
11 | module.exports = {}
--------------------------------------------------------------------------------
/build/lib/xcx/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | App({
3 | onLaunch: function () {
4 | // 展示本地存储能力
5 | var logs = wx.getStorageSync('logs') || []
6 | logs.unshift(Date.now())
7 | wx.setStorageSync('logs', logs)
8 |
9 | // 登录
10 | wx.login({
11 | success: res => {
12 | // 发送 res.code 到后台换取 openId, sessionKey, unionId
13 | }
14 | })
15 | // 获取用户信息
16 | wx.getSetting({
17 | success: res => {
18 | if (res.authSetting['scope.userInfo']) {
19 | // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
20 | wx.getUserInfo({
21 | success: res => {
22 | // 可以将 res 发送给后台解码出 unionId
23 | this.globalData.userInfo = res.userInfo
24 |
25 | // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
26 | // 所以此处加入 callback 以防止这种情况
27 | if (this.userInfoReadyCallback) {
28 | this.userInfoReadyCallback(res)
29 | }
30 | }
31 | })
32 | }
33 | }
34 | })
35 | },
36 | globalData: {
37 | userInfo: null
38 | }
39 | })
--------------------------------------------------------------------------------
/build/lib/xcx/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [
3 | "pages/index/index",
4 | "pages/html/index",
5 | "pages/markdown/index"
6 | ],
7 | "window": {
8 | "backgroundTextStyle": "light",
9 | "navigationBarBackgroundColor": "#fff",
10 | "navigationBarTitleText": "queryui",
11 | "navigationBarTextStyle": "black"
12 | },
13 | "permission": {
14 | "scope.userLocation": {
15 | "desc": "你的位置信息将用于小程序位置接口的效果展示"
16 | }
17 | },
18 | "usingComponents": {
19 | "ui-item": "/components/aotoo/item/index",
20 | "ui-list": "/components/aotoo/list/index",
21 | "ui-tree": "/components/aotoo/tree/index",
22 | "ui-pop": "/components/actionSide/index",
23 | "ui-markit": "/components/markit/index"
24 | },
25 | "style": "v2",
26 | "sitemapLocation": "sitemap.json"
27 | }
--------------------------------------------------------------------------------
/build/lib/xcx/app.wxss:
--------------------------------------------------------------------------------
1 | @import './css/markdown.wxss';
2 | @import './css/popup.wxss';
3 |
4 | /**app.wxss**/
5 | .container {
6 | height: 100%;
7 | display: flex;
8 | flex-direction: column;
9 | align-items: center;
10 | justify-content: space-between;
11 | padding: 200rpx 0;
12 | box-sizing: border-box;
13 | }
14 |
15 | .pop-readme {
16 | display: flex !important;
17 | flex-direction: column;
18 | align-items: center;
19 | padding-top: 30px !important;
20 | box-sizing: border-box;
21 | overflow: auto;
22 | }
23 |
24 | .pop-readme .ul{
25 | width: 100%;
26 | height: auto;
27 | display: flex;
28 | flex-direction: column;
29 | align-items: center;
30 | }
31 |
32 | .pop-readme .ul image{
33 | width: 300px;
34 | height: 300px;
35 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/actionSide/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "ui-item": "/components/aotoo/item/index",
5 | "ui-list": "/components/aotoo/list/index",
6 | "ui-tree": "/components/aotoo/tree/index"
7 | }
8 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/actionSide/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/actionSide/index.wxss:
--------------------------------------------------------------------------------
1 | :host{}
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/core/behaviors/base.js:
--------------------------------------------------------------------------------
1 | import {
2 | commonBehavior,
3 | commonMethodBehavior,
4 | }
5 | from "./common";
6 |
7 | export const baseBehavior = function (app, mytype) {
8 | mytype = mytype || 'tree'
9 | return Behavior({
10 | behaviors: [commonBehavior(app, mytype), commonMethodBehavior(app, mytype)],
11 | })
12 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/core/behaviors/index.js:
--------------------------------------------------------------------------------
1 | export {
2 | commonBehavior,
3 | commonMethodBehavior,
4 | resetStoreEvts, // 清空全局变量
5 | reactFun, // 通用事件响应方法
6 | setPropsHooks, // 抽离配置中的hooks属性,作为实例hooks的方法
7 | fakeListInstance,
8 | listInstDelegate
9 | } from "./common";
10 |
11 | export {
12 | itemBehavior,
13 | itemComponentBehavior
14 | } from "./item";
15 |
16 | export {
17 | listBehavior,
18 | listComponentBehavior
19 | } from "./list";
20 |
21 | export {
22 | treeBehavior,
23 | treeComponentBehavior
24 | } from "./tree";
25 |
26 | export {
27 | baseBehavior
28 | } from './base'
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/core/behaviors/tree.js:
--------------------------------------------------------------------------------
1 | const lib = require('../../lib/index')
2 |
3 | import {
4 | listBehavior,
5 | listComponentBehavior
6 | } from "./list";
7 |
8 | export const treeBehavior = function(app, mytype) {
9 | mytype = mytype || 'tree'
10 | return Behavior({
11 | behaviors: [listBehavior(app, mytype)],
12 | lifetimes: {
13 | created: function created() {
14 | // this.$$is = 'tree'
15 | this.childs = {}
16 | },
17 | ready: function() {
18 | }
19 | }
20 | })
21 | }
22 |
23 | export const treeComponentBehavior = function(app, mytype) {
24 | mytype = mytype || 'tree'
25 | return Behavior({
26 | behaviors: [treeBehavior(app, mytype)],
27 | })
28 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/core/getapp.js:
--------------------------------------------------------------------------------
1 | let likeGlobalApp = {}
2 |
3 | let tmp = null
4 | module.exports = function(app, isParam) {
5 | if (getApp) {
6 | tmp = app || (isParam ? getApp(app) : getApp())
7 | } else {
8 | tmp = likeGlobalApp
9 | }
10 |
11 | if (tmp && !tmp.__active_page__) {
12 | tmp.__active_page__ = []
13 | }
14 |
15 | if (tmp && !tmp.__active_page_ready__) {
16 | tmp.__active_page_ready__ = []
17 | }
18 |
19 | return tmp
20 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/item/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者: 天天修改
3 | * github: webkixi
4 | * 小程序的模板真是又长又臭
5 | */
6 | const app = null //getApp()
7 | const Core = require('../core/index')
8 | const lib = Core.lib
9 | const resetItem = lib.resetItem
10 |
11 | Component({
12 | options: {
13 | multipleSlots: true, // 在组件定义时的选项中启用多slot支持
14 | addGlobalClass: true
15 | },
16 | behaviors: [Core.itemBehavior(app)],
17 | });
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/item/index.styl:
--------------------------------------------------------------------------------
1 | .button-sp-area
2 | margin: 0 auto;
3 | padding-top: 15rpx;
4 | width: 60%;
5 |
6 | .mini-btn
7 | margin-right: 5rpx;
8 |
9 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/lib/vibrate.js:
--------------------------------------------------------------------------------
1 | function _long(cb) {
2 | wx.vibrateLong({
3 | success() {
4 | if (typeof cb === 'function') cb()
5 | }
6 | })
7 | }
8 |
9 | function _short(cb) {
10 | wx.vibrateShort({
11 | success() {
12 | if (typeof cb === 'function') cb()
13 | }
14 | })
15 | }
16 |
17 | function loopVibrate(v, time, cb) {
18 | let count = parseInt(time / 15);
19 | let index = 0;
20 | let interval = setInterval(function () {
21 | v()
22 | index++;
23 | if (index > count) {
24 | clearTimeout(interval);
25 | interval = null;
26 | if (typeof cb === 'function') cb()
27 | }
28 | }, 15)
29 | }
30 |
31 | export function vibrateLong(time, cb) {
32 | if (time && typeof time === 'number') {
33 | loopVibrate(_long, time, cb)
34 | } else {
35 | if (typeof time === 'function') cb = time
36 | _long(cb)
37 | }
38 | }
39 |
40 | export function vibrateShort(time, cb) {
41 | if (time && typeof time === 'number') {
42 | loopVibrate(_short, time, cb)
43 | } else {
44 | if (typeof time === 'function') cb = time
45 | _short(cb)
46 | }
47 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/list/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者: 天天修改
3 | * github: webkixi
4 | * 小程序的模板真是又长又臭
5 | */
6 | const app = null //getApp()
7 | const Core = require('../core/index')
8 | const lib = Core.lib
9 |
10 | // 数据模型
11 | // const defaultListOptions = {
12 | // data: [
13 | // // String / Json
14 | // ],
15 | // listClass: '',
16 | // listStyle: '',
17 | // itemClass: '',
18 | // itemStyle: '',
19 | // itemMethod: {},
20 | // }
21 |
22 | Component({
23 | options: {
24 | multipleSlots: true, // 在组件定义时的选项中启用多slot支持
25 | addGlobalClass: true
26 | },
27 | behaviors: [Core.listBehavior(app, 'list')],
28 | methods: {}
29 | });
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/list/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/list/index.styl:
--------------------------------------------------------------------------------
1 | .button-sp-area
2 | margin: 0 auto;
3 | padding-top: 15rpx;
4 | width: 60%;
5 |
6 | .mini-btn
7 | margin-right: 5rpx;
8 |
9 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/list/index.wxml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/body.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/dot.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/footer.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/img.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/kv.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/li.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_body/array.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{item}}
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | {{son}}
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_img/array.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_img/object.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_img/string.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_li/array.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {{son}}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_title/object.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/parse_title/string.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/partments/title.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/templates/item.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/tree/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者: 天天修改
3 | * github: webkixi
4 | * 小程序的模板真是又长又臭
5 | *
6 | *
7 | const defaultListOptions = {
8 | data: [
9 | // String / Json
10 | ],
11 | listClass: '',
12 | listStyle: '',
13 | itemClass: '',
14 | itemStyle: '',
15 | itemMethod: {},
16 | }
17 | */
18 |
19 | const app = null //getApp()
20 | const Core = require('../core/index')
21 | const lib = Core.lib
22 | Component({
23 | options: {
24 | multipleSlots: true,
25 | addGlobalClass: true
26 | },
27 | behaviors: [Core.treeBehavior(app, 'tree')],
28 | });
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/tree/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/tree/index.styl:
--------------------------------------------------------------------------------
1 | .button-sp-area
2 | margin: 0 auto;
3 | padding-top: 15rpx;
4 | width: 60%;
5 |
6 | .mini-btn
7 | margin-right: 5rpx;
8 |
9 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/aotoo/tree/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/form/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/markit/hl/json.js:
--------------------------------------------------------------------------------
1 | module.exports = function(hljs) {
2 | var LITERALS = {literal: 'true false null'};
3 | var ALLOWED_COMMENTS = [
4 | hljs.C_LINE_COMMENT_MODE,
5 | hljs.C_BLOCK_COMMENT_MODE
6 | ]
7 | var TYPES = [
8 | hljs.QUOTE_STRING_MODE,
9 | hljs.C_NUMBER_MODE
10 | ];
11 | var VALUE_CONTAINER = {
12 | end: ',', endsWithParent: true, excludeEnd: true,
13 | contains: TYPES,
14 | keywords: LITERALS
15 | };
16 | var OBJECT = {
17 | begin: '{', end: '}',
18 | contains: [
19 | {
20 | className: 'attr',
21 | begin: /"/, end: /"/,
22 | contains: [hljs.BACKSLASH_ESCAPE],
23 | illegal: '\\n',
24 | },
25 | hljs.inherit(VALUE_CONTAINER, {begin: /:/})
26 | ].concat(ALLOWED_COMMENTS),
27 | illegal: '\\S'
28 | };
29 | var ARRAY = {
30 | begin: '\\[', end: '\\]',
31 | contains: [hljs.inherit(VALUE_CONTAINER)], // inherit is a workaround for a bug that makes shared modes with endsWithParent compile only the ending of one of the parents
32 | illegal: '\\S'
33 | };
34 | TYPES.push(OBJECT, ARRAY);
35 | ALLOWED_COMMENTS.forEach(function(rule) {
36 | TYPES.push(rule)
37 | })
38 | return {
39 | contains: TYPES,
40 | keywords: LITERALS,
41 | illegal: '\\S'
42 | };
43 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/markit/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/markit/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {{fromComponent ? inner.store('fromComponent', fromComponent) : ''}}
10 | {{uniqId ? inner.store('uniqId', uniqId) : ''}}
11 |
12 |
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/button.wxss:
--------------------------------------------------------------------------------
1 | .button {
2 | width: 180px;
3 | height: 70px;
4 | display: flex;
5 | align-items: center;
6 | justify-content: center;
7 | position: relative;
8 | z-index: 1;
9 | border: none;
10 | outline: none;
11 | color: white;
12 | background-color: #1890ff;
13 | font-size: 36rpx;
14 | border-radius: 5px;
15 | box-shadow: 4rpx 20rpx 20rpx rgba(148, 148, 148, 0.2);
16 |
17 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.25);
18 | }
19 |
20 | .button.btn {
21 | box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1), inset 0 -0.25em 0 rgba(0, 0, 0, 0.25), 0 0.25em 0.25em rgba(0, 0, 0, 0.05);
22 | }
23 |
24 | .button.btn:active {
25 | outline: 0;
26 | box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2), inset 0 2px 0 rgba(255, 255, 255, 0.1), inset 0 0.25em 0.5em rgba(0, 0, 0, 0.05);
27 | }
28 |
29 | .button.countdown{
30 | font-size: 1.3em;
31 | }
32 |
33 | .button.disable{
34 | opacity: 0.6;
35 | }
36 |
37 | .button.loading::before{
38 | content: '';
39 | width: 1em;
40 | height: 1em;
41 | margin-right: 0.5em;
42 | color: red;
43 | border: 2px solid red;
44 | border-radius: 50%;
45 | clip-path: polygon(0% 0%, 100% 0%, 100% 30%, 0% 30%);
46 | animation: rotate 1s linear infinite;
47 | }
48 |
49 | @keyframes rotate {
50 | to {
51 | transform: rotatez(360deg);
52 | }
53 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/fruit.wxss:
--------------------------------------------------------------------------------
1 | .fruit-container{
2 | position: relative;
3 | width: 380px;
4 | height: 380px;
5 | }
6 |
7 | .fruit-canvas {
8 | width: 100%;
9 | height: 100%;
10 | }
11 |
12 | .fruit-machine{
13 | width: 100%;
14 | height: 100%;
15 | display: flex;
16 | flex-wrap: wrap;
17 | position: absolute;
18 | box-sizing: border-box;
19 | left: 0;
20 | top: 0;
21 | }
22 |
23 | .fruit-machine .item{
24 | box-sizing: border-box;
25 | display: flex;
26 | justify-content: center;
27 | align-items: center;
28 | }
29 |
30 | .fruit-machine .item.valide{
31 | border: 3px solid #efefef;
32 | border-radius: 10px;
33 | }
34 |
35 | .fruit-machine .item.valide image{
36 | width: 100%;
37 | }
38 |
39 | .fruit-machine .item.inValide{
40 | /* border: 10px solid #000; */
41 | /* background-color: #ccc; */
42 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/guaguaka.wxss:
--------------------------------------------------------------------------------
1 | .guagua-container{
2 | position: relative;
3 | width: 200px;
4 | height: 100px;
5 | }
6 |
7 | .guagua-canvas{
8 | width: 100%;
9 | height: 100%;
10 | }
11 |
12 | .guaguayes {
13 | width: 100%;
14 | height: 100%;
15 | box-sizing: border-box;
16 | display: flex;
17 | justify-content: center;
18 | align-items: center;
19 | border: 1px solid red;
20 | position: absolute;
21 | left: 0;
22 | top: 0;
23 | font-size: 30px;
24 | font-weight: 700;
25 | color: red;
26 | }
27 |
28 | .guaguayes .guagua-touchpad{
29 | position: absolute;
30 | width: 100%;
31 | height: 100%;
32 | left: 0;
33 | top: 0;
34 | z-index: 100;
35 | }
36 |
37 | .guaguayes .guagua-touchpad .htitle{
38 | display: block;
39 | width: 100%;
40 | height: 100%;
41 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/locker.wxss:
--------------------------------------------------------------------------------
1 | .lockerBoxer {
2 | position: relative;
3 | width: 300px;
4 | height: 300px;
5 | }
6 |
7 | .canvasLocker {
8 | /* background-color: yellow; */
9 | /* width: 300px;
10 | height: 300px; */
11 | width: 100%;
12 | height: 100%;
13 | }
14 |
15 | .gestureLocker{
16 | /* width: 300px;
17 | height: 300px; */
18 | width: 100%;
19 | height: 100%;
20 | display: flex;
21 | flex-wrap: wrap;
22 | justify-content: space-evenly;
23 | position: absolute;
24 | left: 0;
25 | top: 0;
26 | }
27 |
28 | .gestureLocker .lock-item{
29 | width: 70px;
30 | height: 70px;
31 | border-radius: 50%;
32 | background-color: #ccc;
33 | color: #ccc;
34 | opacity: .2;
35 | display: flex;
36 | justify-content: center;
37 | align-items: center;
38 | margin: 0 10px;
39 | position: relative;
40 | }
41 |
42 | .gestureLocker .lock-item.active:after{
43 | display: block;
44 | position: absolute;
45 | left: calc(50%-17.5px);
46 | top: calc(50%-17.5px);
47 | content: '';
48 | width: 35px;
49 | height: 35px;
50 | border-radius: 50%;
51 | background-color: red;
52 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/stickybar.js:
--------------------------------------------------------------------------------
1 | module.exports = function (params = {}) {
2 | let itemClass = 'sticky-bar'
3 | let type = params.type || 'top'
4 | if (type === 'bottom') itemClass += ' bottom'
5 | if (params.itemClass) itemClass += ' ' + params.itemClass
6 | params.itemClass = itemClass
7 |
8 | if (!params.title) params.title = '按钮'
9 | return params
10 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/stickybar.wxss:
--------------------------------------------------------------------------------
1 | .sticky-bar {
2 | position: fixed;
3 | left: 0;
4 | top: 0;
5 | height: 30px;
6 | width: 100%;
7 | display: flex;
8 | justify-content: center;
9 | align-items: center;
10 | background-color: royalblue;
11 | color: #fff;
12 | z-index: 500;
13 | }
14 |
15 | .sticky-bar.bottom {
16 | top: auto;
17 | bottom: 0;
18 | }
19 |
20 | .sticky-bar.code-button {
21 | height: 60px;
22 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/modules/tabpro.wxss:
--------------------------------------------------------------------------------
1 | .tab-boxer {
2 | width: 100%;
3 | height: 100vh;
4 | display: flex;
5 | flex-direction: column;
6 | box-sizing: border-box;
7 | position: relative;
8 | }
9 |
10 | .tab-header{
11 | height: 46px;
12 | border-bottom: 1px solid #ccc;
13 | white-space: nowrap;
14 | }
15 |
16 | .tab-item{
17 | width: 80px;
18 | height: 46px;
19 | line-height: 46px;
20 | text-align: center;
21 | display: inline-block;
22 | transition: all ease .2s;
23 | position: relative;
24 | color: #999;
25 | }
26 |
27 | .tab-item.active{
28 | color: #000;
29 | font-weight: 700;
30 | }
31 |
32 | .tab-item.active:after {
33 | content: '';
34 | display: block;
35 | width: 40px;
36 | height: 5px;
37 | box-sizing: content-box;
38 | border-radius: 5px;
39 | margin: 0;
40 | background-color: rgb(25, 82, 240);
41 | position: absolute;
42 | left: 0;
43 | right: 0;
44 | bottom: 0;
45 | margin: auto;
46 | }
47 |
48 | .tab-content{
49 | width: 100%;
50 | height: calc(100vh - 57px);
51 | box-sizing: border-box;
52 | padding: 10px;
53 | display: flex;
54 | flex-direction: column;
55 | }
56 |
57 | .tab-content swiper.hlist {
58 | height: calc(100vh - 67px);
59 | }
60 |
61 | .tab-content swiper.hlist .swiper-item{
62 | display: flex;
63 | flex-direction: column;
64 | width: 100%;
65 | height: 100%;
66 | justify-content: center;
67 | align-items: center;
68 | }
--------------------------------------------------------------------------------
/build/lib/xcx/components/templates.wxml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
31 |
32 |
--------------------------------------------------------------------------------
/build/lib/xcx/css/demo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/css/demo.jpg
--------------------------------------------------------------------------------
/build/lib/xcx/css/iconfont.wxss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'iconfont'; /* project id 1074841 */
3 | src: url('//at.alicdn.com/t/font_1074841_8qcz4rs6rgr.eot');
4 | src: url('//at.alicdn.com/t/font_1074841_8qcz4rs6rgr.eot?#iefix') format('embedded-opentype'),
5 | url('//at.alicdn.com/t/font_1074841_8qcz4rs6rgr.woff2') format('woff2'),
6 | url('//at.alicdn.com/t/font_1074841_8qcz4rs6rgr.woff') format('woff'),
7 | url('//at.alicdn.com/t/font_1074841_8qcz4rs6rgr.ttf') format('truetype'),
8 | url('//at.alicdn.com/t/font_1074841_8qcz4rs6rgr.svg#iconfont') format('svg');
9 | }
10 |
11 | .iconfont {
12 | font-family: "iconfont" !important;
13 | font-size: 16px;
14 | font-style: normal;
15 | -webkit-font-smoothing: antialiased;
16 | -moz-osx-font-smoothing: grayscale;
17 | }
--------------------------------------------------------------------------------
/build/lib/xcx/css/shadow.wxss:
--------------------------------------------------------------------------------
1 | .card {
2 | box-shadow: 0 20rpx 20rpx 1rpx rgba(134, 134, 134, 0.1);
3 | background-color:#ffffff;
4 | border-radius:10rpx;
5 | border:1px solid #e6e6e6;
6 | margin-top: 60rpx;
7 | }
--------------------------------------------------------------------------------
/build/lib/xcx/css/structor.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/css/structor.jpeg
--------------------------------------------------------------------------------
/build/lib/xcx/css/xquery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/css/xquery.png
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b01/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | title: 'Button',
10 | itemClass: 'button button01',
11 | },
12 | },
13 | })
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b01/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b01/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b01/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 | @import "../../css/button.wxss";
3 |
4 |
5 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b02/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | title: 'Button',
10 | itemClass: 'button button02',
11 | },
12 | },
13 | })
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b02/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b02/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b02/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 | @import "../../css/button.wxss";
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b03/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | title: 'Button',
10 | itemClass: 'button button-pop',
11 | },
12 | },
13 | })
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b03/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b03/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b03/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .button-pop{
4 | overflow: hidden;
5 | color: white;
6 | background-color: #40a9ff;
7 | }
8 |
9 | .button-pop::before {
10 | z-index: -1;
11 | content: "";
12 | position: absolute;
13 | top: 50%;
14 | left: 50%;
15 | width: 1em;
16 | height: 1em;
17 | border-radius: 50%;
18 | background-color: #9254de;
19 | transform-origin: center;
20 | transform: translate3d(-50%, -50%, 0) scale(0, 0);
21 | transition: transform 0.45s ease-in-out;
22 | }
23 |
24 | .button-pop:active::before {
25 | transform: translate3d(-50%, -50%, 0) scale(15, 15);
26 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b04/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | title: 'Button',
10 | itemClass: 'button button-pop',
11 | },
12 | },
13 | })
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b04/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b04/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b04/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .button-pop{
4 | overflow: hidden;
5 | color: white;
6 | background-color: #40a9ff;
7 | }
8 |
9 | .button-pop::before {
10 | z-index: -1;
11 | content: "";
12 | position: absolute;
13 | width: 1em;
14 | height: 1em;
15 | border-radius: 50%;
16 | background-color: #9254de;
17 | /* 变化位置的代码 */
18 | top: 0;
19 | left: 0;
20 | transform-origin: center;
21 | transform: scale3d(0, 0, 0);
22 | transition: transform 0.45s ease-in-out;
23 | }
24 |
25 | .button-pop:active::before {
26 | transform: scale3d(30, 30, 30);
27 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b05/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 | const mkButton = require('../../components/modules/button')
6 |
7 | const buttonConfig = mkButton({
8 | id: 'button',
9 | title: 'Button',
10 | })
11 |
12 | Pager({
13 | data: {
14 | targetConfig: buttonConfig
15 | },
16 | onReady(){
17 | let $button = this['button']
18 | setTimeout(() => {
19 | $button.countdown(20000)
20 | }, 1000);
21 | }
22 | })
23 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b05/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b05/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b05/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .button-pop{
4 | overflow: hidden;
5 | color: white;
6 | background-color: #40a9ff;
7 | }
8 |
9 | .button-pop::before {
10 | z-index: -1;
11 | content: "";
12 | position: absolute;
13 | width: 1em;
14 | height: 1em;
15 | border-radius: 50%;
16 | background-color: #9254de;
17 | /* 变化位置的代码 */
18 | top: 0;
19 | left: 0;
20 | transform-origin: center;
21 | transform: scale3d(0, 0, 0);
22 | transition: transform 0.45s ease-in-out;
23 | }
24 |
25 | .button-pop:active::before {
26 | transform: scale3d(30, 30, 30);
27 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b06/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 | const mkButton = require('../../components/modules/button')
6 |
7 | const buttonConfig = mkButton({
8 | id: 'button',
9 | title: 'Button',
10 | tap(){
11 | if (this.disabled) return
12 | this.loading()
13 | setTimeout(() => {
14 | this.loaded()
15 | }, 2000);
16 | }
17 | })
18 |
19 | Pager({
20 | data: {
21 | targetConfig: buttonConfig
22 | },
23 | onReady(){
24 | let $button = this['button']
25 | setTimeout(() => {
26 | $button.loading()
27 | setTimeout(() => {
28 | $button.loaded()
29 | }, 2000);
30 | }, 1000);
31 | }
32 | })
33 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b06/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b06/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b06/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .button-pop{
4 | overflow: hidden;
5 | color: white;
6 | background-color: #40a9ff;
7 | }
8 |
9 | .button-pop::before {
10 | z-index: -1;
11 | content: "";
12 | position: absolute;
13 | width: 1em;
14 | height: 1em;
15 | border-radius: 50%;
16 | background-color: #9254de;
17 | /* 变化位置的代码 */
18 | top: 0;
19 | left: 0;
20 | transform-origin: center;
21 | transform: scale3d(0, 0, 0);
22 | transition: transform 0.45s ease-in-out;
23 | }
24 |
25 | .button-pop:active::before {
26 | transform: scale3d(30, 30, 30);
27 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b07/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | title: 'Button',
10 | itemClass: 'button button03',
11 | },
12 | },
13 | })
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b07/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b07/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/b07/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 | @import "../../css/button.wxss";
3 |
4 |
5 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/common/common.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/common/common.wxss:
--------------------------------------------------------------------------------
1 | @import "../../css/icono.wxss";
2 | @import "../../components/modules/button.wxss";
3 | @import "../../css/shadow.wxss";
4 | @import "../../css/loading.wxss";
5 | @import "../../css/tag.wxss";
6 |
7 | ::-webkit-scrollbar {
8 | width: 0;
9 | height: 0;
10 | color: transparent;
11 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/common/extpager.js:
--------------------------------------------------------------------------------
1 | const Pager = require('../../components/aotoo/core/index')
2 |
3 | // 批量补充Pager的配置
4 | let commonConfig = {
5 | // 是每个页面支持分享
6 | onShareAppMessage: function () {}
7 | }
8 | // getElementsById
9 | let fakePager = function (config) {
10 | let targetObject = Object.assign({}, config, commonConfig)
11 | Pager(targetObject)
12 | }
13 |
14 | Object.keys(Pager).forEach(key=>{
15 | fakePager[key] = Pager[key]
16 | })
17 |
18 | module.exports = fakePager
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i01/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | title: '标题',
10 | itemClass: 'sitem cat',
11 | img: {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 100px'}
12 | },
13 | },
14 | })
15 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i01/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i01/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i01/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .sitem{
4 | width: 65vw;
5 | height: 200px;
6 | display: flex;
7 | flex-direction: column;
8 | align-items: center;
9 | }
10 |
11 | .sitem.cat{
12 | border: 1px solid #e2e2e2;
13 | border-radius: 3px;
14 | }
15 |
16 | .sitem.cat > .htitle{
17 | display: flex;
18 | box-sizing: border-box;
19 | padding: 5px;
20 | padding-left: 10px;
21 | width: 100%;
22 | height: 40px;
23 | align-items: center;
24 | border-bottom: 1px solid #e2e2e2;
25 | flex: 0 0 auto;
26 | }
27 |
28 | .sitem.cat>image {
29 | flex: 2;
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i02/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | itemClass: 'sitem cat',
10 | img: {src: 'https://gw.alipayobjects.com/zos/alicdn/9nepwjaLa/Result.svg', itemStyle: 'width: 100px'},
11 | title: '标题',
12 | },
13 | },
14 | })
15 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i02/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i02/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i02/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .sitem{
4 | width: 65vw;
5 | height: 200px;
6 | display: flex;
7 | flex-direction: column;
8 | align-items: center;
9 | }
10 |
11 | .sitem.cat{
12 | border: 1px solid #e2e2e2;
13 | border-radius: 3px;
14 | }
15 |
16 | .sitem.cat > .htitle{
17 | display: flex;
18 | box-sizing: border-box;
19 | padding: 5px;
20 | padding-left: 10px;
21 | width: 100%;
22 | height: 40px;
23 | align-items: center;
24 | border-top: 1px solid #e2e2e2;
25 | flex: 0 0 auto;
26 | }
27 |
28 | .sitem.cat>image {
29 | flex: 2;
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i03/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | itemClass: 'sitem cat',
10 | img: [
11 | {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 80px'},
12 | {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 80px'},
13 | {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 80px'},
14 | ],
15 | title: '标题',
16 | },
17 | },
18 | })
19 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i03/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i03/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i03/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .sitem{
4 | width: 65vw;
5 | height: 200px;
6 | display: flex;
7 | flex-direction: column;
8 | align-items: center;
9 | }
10 |
11 | .sitem.cat{
12 | border: 1px solid #e2e2e2;
13 | border-radius: 3px;
14 | }
15 |
16 | .sitem.cat > .htitle{
17 | display: flex;
18 | box-sizing: border-box;
19 | padding: 5px;
20 | padding-left: 10px;
21 | width: 100%;
22 | height: 40px;
23 | align-items: center;
24 | border-top: 1px solid #e2e2e2;
25 | flex: 0 0 auto;
26 | }
27 |
28 |
29 | .sitem.cat>.ul, .sitem.cat>image {
30 | flex: 2;
31 | }
32 |
33 | .sitem.cat>.ul{
34 | width: 100%;
35 | display: flex;
36 | justify-content: center;
37 | align-items: center;
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i04/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | itemClass: 'sitem cat',
10 | title: [
11 | '标题',
12 | '描述标题的部分'
13 | ],
14 | img: [
15 | {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 80px' },
16 | {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 80px' },
17 | {src: 'http://www.agzgz.com/imgs/Result.svg', itemStyle: 'width: 80px' },
18 | ],
19 | },
20 | },
21 | })
22 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i04/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i04/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i04/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .sitem{
4 | width: 75vw;
5 | height: 200px;
6 | display: flex;
7 | flex-direction: column;
8 | align-items: center;
9 | }
10 |
11 | .sitem.cat{
12 | border: 1px solid #e2e2e2;
13 | border-radius: 3px;
14 | }
15 |
16 | .sitem.cat>.htitle,
17 | .sitem.cat>.htitles {
18 | display: flex;
19 | box-sizing: border-box;
20 | padding: 5px;
21 | padding-left: 10px;
22 | width: 100%;
23 | height: 60px;
24 | align-items: center;
25 | border-bottom: 1px solid #e2e2e2;
26 | flex: 0 0 auto;
27 | }
28 |
29 | .sitem.cat>.htitles {
30 | flex-direction: column;
31 | justify-content: center;
32 | align-items: flex-start;
33 | }
34 |
35 | .sitem.cat>.htitles .t-item:first-child {
36 | font-size: 16px;
37 | }
38 | .sitem.cat>.htitles .t-item:nth-child(2) {
39 | font-size: 12px;
40 | color: #999;
41 | }
42 |
43 | .sitem.cat>.ul, .sitem.cat>image {
44 | flex: 2;
45 | }
46 |
47 | .sitem.cat>.ul{
48 | width: 100%;
49 | display: flex;
50 | justify-content: center;
51 | align-items: center;
52 | }
53 |
54 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i05/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | itemClass: 'sitem dropdown',
10 | title: [
11 | '请选择',
12 | { itemClass: 'icono-caretDown' }
13 | ],
14 | tap: 'onTap',
15 | body: [
16 | {title: '选项一', id: '1', aim: 'onOption?id=1&title=选项一'},
17 | {title: '选项二', id: '2', aim: 'onOption?id=2&title=选项二'},
18 | {title: '选项三', id: '3', aim: 'onOption?id=3&title=选项三'},
19 | {title: '选项四', id: '4', aim: 'onOption?id=4&title=选项四'},
20 | ],
21 | methods: {
22 | close(){
23 | this.removeClass('active')
24 | },
25 | __ready(){
26 | let defaultSelect = this.find({id: '3'})
27 | let $sel = defaultSelect
28 | $sel.addClass('active')
29 | let defaultTitle = '选项三'
30 | this.update({ 'title[0]': defaultTitle })
31 | },
32 | onOption(e, param, inst){
33 | inst.siblings().removeClass('active')
34 | inst.addClass('active')
35 | let title = param.title
36 | this.update({ 'title[0]': title })
37 | }
38 | }
39 | },
40 | },
41 | onTap(e, param, inst) {
42 | inst.toggleClass('active')
43 | }
44 | })
45 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i05/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i05/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i06/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | targetConfig: {
9 | itemClass: 'sitem',
10 | dot: [
11 | {itemClass: 'badge'}
12 | ]
13 | },
14 | targetConfig1: {
15 | itemClass: 'sitem',
16 | dot: [
17 | {title: 9, itemClass: 'badge len1'}
18 | ]
19 | },
20 | targetConfig2: {
21 | itemClass: 'sitem',
22 | dot: [
23 | {title: 99, itemClass: 'badge len2'}
24 | ]
25 | },
26 | targetConfig3: {
27 | itemClass: 'sitem',
28 | dot: [
29 | {title: 999, itemClass: 'badge len3'}
30 | ]
31 | },
32 | targetConfig4: {
33 | itemClass: 'sitem',
34 | dot: [
35 | {title: '∙∙∙', itemClass: 'badge len4'}
36 | ]
37 | },
38 | },
39 | })
40 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i06/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/i06/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list01/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list01/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list02/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list02/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list03/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarBackgroundColor": "#eeeeee"
4 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list03/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 搜索
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list03/widgets/badge.wxss:
--------------------------------------------------------------------------------
1 | .demo-slip-list-item .badge{
2 | position: absolute;
3 | margin: 0;
4 | padding: 0;
5 | position: absolute;
6 | border-radius: 18rpx;
7 | background-color: red;
8 | display: flex;
9 | justify-content: center;
10 | /* align-items: center; */
11 | color: #fff;
12 | overflow: hidden;
13 | min-width: 25rpx;
14 | min-height: 25rpx;
15 | top: 20rpx;
16 | left: calc(4% + 40px);
17 | font-size: 20rpx;
18 | box-sizing: border-box;
19 | }
20 |
21 | .demo-slip-list-item .badge.none{
22 | display: none;
23 | }
24 | .demo-slip-list-item .badge.len1{
25 | /* padding: 5rpx; */
26 | top: 18rpx;
27 | left: calc(4% + 38px);
28 | width: 35rpx;
29 | height: 35rpx;
30 | border-radius: 50%;
31 | font-size: 12px;
32 | }
33 | .demo-slip-list-item .badge.len2{
34 | top: 18rpx;
35 | left: calc(4% + 35px);
36 | width: 45rpx;
37 | height: 35rpx;
38 | font-size: 12px;
39 | }
40 | .demo-slip-list-item .badge.len3{
41 | top: 18rpx;
42 | left: calc(4% + 32px);
43 | width: 55rpx;
44 | height: 35rpx;
45 | font-size: 11px;
46 | }
47 | .demo-slip-list-item .badge.len4{
48 | top: 18rpx;
49 | left: calc(4% + 34px);
50 | width: 45rpx;
51 | height: 35rpx;
52 | font-size: 12px;
53 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list03/widgets/menus.wxss:
--------------------------------------------------------------------------------
1 | .demo-slip-list-item>.slip-menus {
2 | position: absolute;
3 | height: 100%;
4 | left: 100%;
5 | top: 0;
6 | display: flex;
7 | align-items: center;
8 | }
9 |
10 | .demo-slip-list-item>.slip-menus .li-item {
11 | flex: 0 0 auto;
12 | box-sizing: border-box;
13 | width: var(--slip-list-item-height);
14 | height: var(--slip-list-item-height);
15 | background-color: red;
16 | display: flex;
17 | justify-content: center;
18 | align-items: center;
19 | color: #fff;
20 | }
21 |
22 |
23 | .demo-slip-list-item>.slip-menus .li-item:first-child {
24 | background-color: blue;
25 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list03/widgets/search.wxss:
--------------------------------------------------------------------------------
1 | .search-zone {
2 | width: 100%;
3 | height: var(--search-zone-height);
4 | display: flex;
5 | align-items: center;
6 | background-color: #eee;
7 | box-sizing: border-box;
8 | padding: 10px;
9 | }
10 |
11 | .input-search {
12 | width: 100%;
13 | background-color: #fff;
14 | height: 36px;
15 | display: flex;
16 | align-items: center;
17 | justify-content: center;
18 | color: #ccc;
19 | border-radius: 5px;
20 | }
21 |
22 | .input-search::before{
23 | content: '';
24 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list04/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarBackgroundColor": "#eeeeee"
4 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list04/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 搜索
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list04/widgets/badge.wxss:
--------------------------------------------------------------------------------
1 | .demo-slip-list-item .badge{
2 | position: absolute;
3 | margin: 0;
4 | padding: 0;
5 | position: absolute;
6 | border-radius: 18rpx;
7 | background-color: red;
8 | display: flex;
9 | justify-content: center;
10 | /* align-items: center; */
11 | color: #fff;
12 | overflow: hidden;
13 | min-width: 25rpx;
14 | min-height: 25rpx;
15 | top: 20rpx;
16 | left: calc(4% + 40px);
17 | font-size: 20rpx;
18 | box-sizing: border-box;
19 | }
20 |
21 | .demo-slip-list-item .badge.none{
22 | display: none;
23 | }
24 | .demo-slip-list-item .badge.len1{
25 | /* padding: 5rpx; */
26 | top: 18rpx;
27 | left: calc(4% + 38px);
28 | width: 35rpx;
29 | height: 35rpx;
30 | border-radius: 50%;
31 | font-size: 12px;
32 | }
33 | .demo-slip-list-item .badge.len2{
34 | top: 18rpx;
35 | left: calc(4% + 35px);
36 | width: 45rpx;
37 | height: 35rpx;
38 | font-size: 12px;
39 | }
40 | .demo-slip-list-item .badge.len3{
41 | top: 18rpx;
42 | left: calc(4% + 32px);
43 | width: 55rpx;
44 | height: 35rpx;
45 | font-size: 11px;
46 | }
47 | .demo-slip-list-item .badge.len4{
48 | top: 18rpx;
49 | left: calc(4% + 34px);
50 | width: 45rpx;
51 | height: 35rpx;
52 | font-size: 12px;
53 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list04/widgets/menus.wxss:
--------------------------------------------------------------------------------
1 | .demo-slip-list-item>.slip-menus {
2 | position: absolute;
3 | height: 100%;
4 | left: 100%;
5 | top: 0;
6 | display: flex;
7 | align-items: center;
8 | }
9 |
10 | .demo-slip-list-item>.slip-menus .li-item {
11 | flex: 0 0 auto;
12 | box-sizing: border-box;
13 | width: var(--slip-list-item-height);
14 | height: var(--slip-list-item-height);
15 | background-color: red;
16 | color: #fff;
17 | }
18 |
19 |
20 | .demo-slip-list-item>.slip-menus .li-item:nth-of-type(odd) {
21 | background-color: blue;
22 | }
23 |
24 | .demo-slip-list-item>.slip-menus .li-item .slip-menu {
25 | width: 100%;
26 | height: 100%;
27 | display: flex;
28 | justify-content: center;
29 | align-items: center;
30 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list04/widgets/search.wxss:
--------------------------------------------------------------------------------
1 | .search-zone {
2 | width: 100%;
3 | height: var(--search-zone-height);
4 | display: flex;
5 | align-items: center;
6 | background-color: #eee;
7 | box-sizing: border-box;
8 | padding: 10px;
9 | }
10 |
11 | .input-search {
12 | width: 100%;
13 | background-color: #fff;
14 | height: 36px;
15 | display: flex;
16 | align-items: center;
17 | justify-content: center;
18 | color: #ccc;
19 | border-radius: 5px;
20 | }
21 |
22 | .input-search::before{
23 | content: '';
24 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list05/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list05/index.wxml:
--------------------------------------------------------------------------------
1 |
2 | Today
3 |
4 |
5 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list06/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/list06/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/load01/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | loading01: {itemClass: 'loading01 buttonx', title: 'loading01'},
9 | loading02: {itemClass: 'loading02 buttonx', title: 'loading02'},
10 | loading03: {itemClass: 'loading03 buttonx', title: 'loading03'},
11 | loading04: {itemClass: 'loading04 buttonx', title: 'loading04'},
12 | loading05: {itemClass: 'loading05 buttonx', title: 'loading05'},
13 | loading06: {itemClass: 'loading06 buttonx', title: 'loading06'},
14 | loading07: {itemClass: 'loading07 buttonx', title: 'loading07'},
15 |
16 | targetConfig: {
17 | listClass: 'boxer',
18 | data: [
19 | {itemClass: 'loading01', title: {title: 'loading01', itemClass: 'desc'}},
20 | {itemClass: 'loading02', title: {title: 'loading02', itemClass: 'desc'} },
21 | {itemClass: 'loading03', title: {title: 'loading03', itemClass: 'desc'} },
22 | {itemClass: 'loading04', title: {title: 'loading04', itemClass: 'desc'} },
23 | {itemClass: 'loading05', title: {title: 'loading05', itemClass: 'desc'} },
24 | {itemClass: 'loading06', title: {title: 'loading06', itemClass: 'desc'} },
25 | {itemClass: 'loading07', title: {title: 'loading07', itemClass: 'desc'} },
26 | ]
27 | },
28 | },
29 | })
30 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/load01/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/load01/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 不需要额外结构,直接挂在类名即可实现loading效果,注意设置color和font-size属性
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
26 |
27 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/load01/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .container{
4 | padding-top: 30px;
5 | }
6 |
7 | .buttonx{
8 | width: 80vw;
9 | height: 50px;
10 | border-radius: 5px;
11 | font-size: 20px;
12 | display: flex;
13 | align-items: center;
14 | justify-content: center;
15 | color: #fff;
16 | background-color: #387ef5;
17 | margin-top: 10px;
18 | position: relative;
19 | }
20 |
21 | .boxer{
22 | width: 80vw;
23 | height: 70vh;
24 | display: grid;
25 | grid-template-columns: repeat(3, 1fr);
26 | grid-template-rows: repeat(3, 1fr);
27 | grid-auto-flow: row dense;
28 | grid-gap: 3px 3px;
29 | background-color: #387ef5;
30 | margin-top: 10px;
31 | }
32 |
33 | .item{
34 | width: 100%;
35 | height: 100%;
36 | font-size: 20px;
37 | display: flex;
38 | justify-content: center;
39 | align-items: center;
40 | flex-direction: column;
41 | }
42 |
43 | .item:nth-child(2n+1){
44 | background-color: burlywood;
45 | }
46 |
47 | .desc{
48 | font-size: 14px;
49 | margin-top:3px;
50 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/tag01/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../common/extpager')
5 |
6 | Pager({
7 | data: {
8 | tag01: {title: 'tag01的标签演示', itemClass: 'tag tag01'},
9 | tag011: {title: ['tag01的标签演示', '测试'], itemClass: 'tag tag01'},
10 | tag012: {title: ['tag01的标签演示', '测试', '开心', '喜欢'], itemClass: 'tag tag01'},
11 | tag02: {title: 'tag02的标签演示', itemClass: 'tag tag02'},
12 | tag03: {title: ['tag03的标签演示', '好玩'], itemClass: 'tag tag03'},
13 | tag04: {title: ['tag04的标签演示', '好玩'], itemClass: 'tag tag04'},
14 | tag05: {title: 'tag05的标签演示', itemClass: 'tag tag05'},
15 | tag06: {title: 'tag06的标签演示', itemClass: 'tag tag06'},
16 | tag061: {title: ['tag06的标签演示', '分组'], itemClass: 'tag tag06'},
17 | tag062: {title: ['tag06的标签演示', '分组', '分组', '分组'], itemClass: 'tag tag06'},
18 | tag07: {title: 'tag07的标签演示', itemClass: 'tag tag07'},
19 | tag08: {title: 'tag08的标签演示', itemClass: 'tag tag08'},
20 | },
21 | })
22 |
--------------------------------------------------------------------------------
/build/lib/xcx/demos/tag01/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/demos/tag01/index.wxss:
--------------------------------------------------------------------------------
1 | @import "../common/common.wxss";
2 |
3 | .container{
4 | padding-top: 30px;
5 | }
6 |
7 | .buttonx{
8 | margin-bottom: 20px;
9 | }
10 |
11 | .boxer{
12 | width: 80vw;
13 | height: 70vh;
14 | display: flex;
15 | flex-direction: column;
16 | }
17 |
18 | .tag{
19 | margin-bottom: 20px;
20 | }
--------------------------------------------------------------------------------
/build/lib/xcx/images/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/banner.jpg
--------------------------------------------------------------------------------
/build/lib/xcx/images/chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/chat.png
--------------------------------------------------------------------------------
/build/lib/xcx/images/huawei.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/huawei.jpg
--------------------------------------------------------------------------------
/build/lib/xcx/images/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/logo.jpg
--------------------------------------------------------------------------------
/build/lib/xcx/images/mk1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/mk1.jpeg
--------------------------------------------------------------------------------
/build/lib/xcx/images/mk2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/mk2.jpeg
--------------------------------------------------------------------------------
/build/lib/xcx/images/mk3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/mk3.jpeg
--------------------------------------------------------------------------------
/build/lib/xcx/images/wxzan.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/wxzan.jpg
--------------------------------------------------------------------------------
/build/lib/xcx/images/xquery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/build/lib/xcx/images/xquery.png
--------------------------------------------------------------------------------
/build/lib/xcx/pages/html/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../../components/aotoo/core/index')
5 | let miHtml = require('./mi.html')
6 |
7 | Pager({
8 | data: {
9 | htmlConfig: {
10 | options: {
11 | img: {mode: 'scaleToFill'}
12 | },
13 | listClass: 'card-it',
14 | content: miHtml
15 | }
16 | },
17 |
18 | onReady(){}
19 | })
20 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/html/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/pages/html/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/html/mi.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |

4 |
5 |
6 | Redmi K30
7 |
8 |
9 | 由html构建的wxml
10 |
11 |
12 | 1599元起
13 |
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/index/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../../components/aotoo/core/index')
5 | const lib = Pager.lib
6 |
7 | Pager({
8 | data: {
9 | htmlConfig: {
10 | itemClass: 'nav-item',
11 | title: 'html组件',
12 | url: '/pages/html/index#class=nav-btn'
13 | },
14 |
15 | docConfig: {
16 | itemClass: 'nav-item',
17 | title: '文档说明',
18 | url: '/pages/markdown/index#class=nav-btn'
19 | }
20 | }
21 | })
22 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | ::-webkit-scrollbar {
2 | width: 0;
3 | height: 0;
4 | color: transparent;
5 | }
6 |
7 | page{
8 | /* background-color: #fafafa; */
9 | background-color: #fff;
10 | }
11 |
12 |
13 | .nav-btn{
14 | width: 180px;
15 | height: 70px;
16 | margin-bottom: 30px;
17 | display: flex;
18 | align-items: center;
19 | justify-content: center;
20 | position: relative;
21 | z-index: 1;
22 | border: none;
23 | outline: none;
24 | color: white;
25 | background-color: #1890ff;
26 | font-size: 36rpx;
27 | border-radius: 5px;
28 | box-shadow: 4rpx 20rpx 20rpx rgba(148, 148, 148, 0.2);
29 |
30 | text-shadow: 0 1px 1px rgba(255, 255, 255, 0.25);
31 | }
32 |
33 | .nav-btn {
34 | color: white;
35 | background-color: #1890ff;
36 | }
37 |
38 | .nav-btn::before {
39 | content: "";
40 | position: absolute;
41 | z-index: -1;
42 | top: 0;
43 | left: 0;
44 | bottom: 0;
45 | right: 0;
46 | border: 4px solid #1890ff;
47 | transform: scale(1);
48 | transform-origin: center;
49 | }
50 |
51 | .nav-btn:active::before {
52 | transition: all 0.75s ease-out;
53 | border: 1px solid#e6f7ff;
54 | color: #fff;
55 | transform: scale(1.25);
56 | opacity: 0;
57 | }
58 |
59 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/markdown/index.js:
--------------------------------------------------------------------------------
1 | //index.js
2 | //获取应用实例
3 | const app = getApp()
4 | const Pager = require('../../components/aotoo/core/index')
5 | const indexMd = require('./index.md')
6 | Pager({
7 | data: {
8 | markdownConfig: {
9 | listClass: 'card-it',
10 | content: indexMd
11 | },
12 | }
13 | })
14 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/markdown/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/build/lib/xcx/pages/markdown/index.md:
--------------------------------------------------------------------------------
1 | # 关于本项目
2 |
3 | 本项目是一个精简微信小程序项目,与微信小程序的项目结构一致,添加自己的小程序源码(原生)即可开发使用
4 |
5 | * 基于webpack4编译
6 | * 支持动态样式(stylus/sass)
7 | * 支持导入markdown/html
8 |
9 | ## queryUI
10 |
11 | 本项目包含`queryUI`库,如不需要可自行删除
12 |
13 | `queryUI`是一套我们内部项目孵化而出的小程序核心库(基于原生小程序),`queryUI`的开发体验与我们的web项目一致(文档项目mdSample)
14 |
15 | __自带基础组件__
16 |
17 | * markdown
18 | * html
19 | * from
20 | * item
21 | * list
22 | * tree
23 |
24 | __更多组件__
25 |
26 | * 多形态日历组件
27 | * 通用型筛选列表
28 | * 弹窗组件
29 | * 评分组件
30 | * 下拉菜单
31 | * 双向slider
32 | * 索引列表
33 | * 腾讯地址定位
34 | * 水果老虎机
35 | * 折叠面板
36 | ...
37 |
38 | ## github: 搜索 aotoo-xquery
39 |
40 | ## 文档: agzgz.com
41 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/markdown/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/build/lib/xcx/pages/markdown/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../../css/markdown.wxss';
2 |
3 | .container{
4 | padding: 10px;
5 | }
6 |
7 | .markdown-body {
8 | width: 95vw;
9 | overflow: hidden;
10 | }
11 |
12 | .markdown-body .img{
13 | padding-left: 0;
14 | }
15 |
16 | .markdown-body .br{
17 | margin-bottom: 10px;
18 | }
19 |
20 | .hdot-item.img{
21 | display: flex;
22 | justify-content: center;
23 | align-items: center;
24 | }
--------------------------------------------------------------------------------
/build/lib/xcx/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [{
4 | "action": "allow",
5 | "page": "*"
6 | }]
7 | }
--------------------------------------------------------------------------------
/build/lib/xcx_template/cloudclient.js:
--------------------------------------------------------------------------------
1 | /***
2 | * 小程序cloud客户端初始化
3 | * 请在app.js的生命周期方法onLunch中引入
4 | * onLunch(){
5 | * require('./cloudclient')()
6 | * }
7 | */
8 | function initAppCloud(){
9 | if (!wx.cloud) {
10 | console.error('请使用 2.2.3 或以上的基础库以使用云能力')
11 | } else {
12 | wx.cloud.init({
13 | // env 参数说明:
14 | // env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
15 | // 此处请填入环境 ID, 环境 ID 可打开云控制台查看
16 | // 如不填则使用默认环境(第一个创建的环境)
17 | // env: 'my-env-id',
18 | traceUser: true,
19 | })
20 | }
21 | }
22 |
23 | module.exports = initAppCloud
--------------------------------------------------------------------------------
/build/lib/xcx_template/cloudfuns/login/index.js:
--------------------------------------------------------------------------------
1 | // 云函数模板
2 | // 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”
3 |
4 | const cloud = require('wx-server-sdk')
5 |
6 | // 初始化 cloud
7 | cloud.init({
8 | // API 调用都保持和云函数当前所在环境一致
9 | env: cloud.DYNAMIC_CURRENT_ENV
10 | })
11 |
12 | /**
13 | * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端
14 | *
15 | * event 参数包含小程序端调用传入的 data
16 | *
17 | */
18 | exports.main = (event, context) => {
19 | console.log(event)
20 | console.log(context)
21 |
22 | // 可执行其他自定义逻辑
23 | // console.log 的内容可以在云开发云函数调用日志查看
24 |
25 | // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息
26 | const wxContext = cloud.getWXContext()
27 |
28 | return {
29 | event,
30 | openid: wxContext.OPENID,
31 | appid: wxContext.APPID,
32 | unionid: wxContext.UNIONID,
33 | env: wxContext.ENV,
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/build/lib/xcx_template/cloudfuns/login/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "login",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "wx-server-sdk": "latest"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/build/lib/xcx_template/cloudfuns/openapi/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "permissions": {
3 | "openapi": [
4 | "wxacode.get",
5 | "templateMessage.send",
6 | "templateMessage.addTemplate",
7 | "templateMessage.deleteTemplate",
8 | "templateMessage.getTemplateList",
9 | "templateMessage.getTemplateLibraryById",
10 | "templateMessage.getTemplateLibraryList"
11 | ]
12 | }
13 | }
--------------------------------------------------------------------------------
/build/lib/xcx_template/cloudfuns/openapi/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "openapi",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "wx-server-sdk": "latest"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/build/util/commonExist.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const globby = require('globby')
3 | /**
4 | * common file 是否存在
5 | * precommon.js 包含框架库js文件
6 | * common.css 通用css文件
7 | */
8 | module.exports = function commonFileExist(dist, isDev, rebuild) {
9 | const commonJsKey = ['precommon', 'vendors']
10 | const commonCssKey = 'common'
11 |
12 | const cssDist = path.join(dist, 'css')
13 | const jsDist = path.join(dist, 'js')
14 |
15 | let jsExist = false
16 | let cssExist = false
17 |
18 | globby.sync(jsDist).forEach(filename => {
19 | if (filename.indexOf(commonJsKey[0]) == 0 || filename.indexOf(commonJsKey[1]) == 0) {
20 | if (rebuild || !isDev) {
21 | del.sync([filename])
22 | } else {
23 | jsExist = true
24 | }
25 | }
26 | })
27 |
28 | globby.sync(cssDist).forEach(filename => {
29 | if (filename.indexOf(commonCssKey) == 0) {
30 | if (rebuild || !isDev) {
31 | del.sync([filename])
32 | } else {
33 | cssExist = true
34 | }
35 | }
36 | })
37 |
38 | if (isDev) {
39 | if (!rebuild) {
40 | return jsExist && cssExist
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/build/util/generateScenes.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const fs = require('fs-extra')
3 | const mkdirp = require('mkdirp')
4 |
5 | module.exports = function generateScenesDir(target, scenesName) {
6 | const content_src = path.join(__dirname, '../lib/src/defaultscene.js')
7 | const content_target = path.join(target, scenesName+'.js')
8 | if (!fs.pathExistsSync(target)) {
9 | fs.mkdirpSync(target)
10 | }
11 | fs.copySync(content_src, content_target)
12 | }
--------------------------------------------------------------------------------
/build/util/generateVendors.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const fse = require('fs-extra')
3 | const mkdirp = require('mkdirp')
4 |
5 | // 生成默认的vendors的目录
6 | module.exports = function generateVendorsDftsFile(asset) {
7 | const { SRC, DIST } = asset
8 | const commonDir = path.join(SRC, 'js/vendors')
9 | const commonFile = path.join(SRC, 'js/vendors', 'index.js')
10 | const emptyContentIndexFile = path.join(__dirname, '../lib/src/vendorIndex.js')
11 | if (!fse.existsSync(commonFile)) {
12 | if (!fse.existsSync(commonDir)) {
13 | fse.mkdirpSync(commonDir)
14 | fse.copyFileSync(emptyContentIndexFile, commonFile)
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/build/util/htmltemplate.js:
--------------------------------------------------------------------------------
1 | let _tempC = `
2 |
3 |
4 |
5 | ~~pagetitle~~
6 |
7 | ~~commoncss~~
8 | ~~env~~
9 |
10 |
11 | ~~root~~
12 | ~~commonscript~~
13 |
14 |
15 | `
16 |
17 | module.exports = function(asset, {checkIsProxy}) {
18 | return _tempC
19 | // const { SRC, argv } = asset
20 | // const startFromServer = argv.server || checkIsProxy(asset)
21 | // if (startFromServer) {
22 | // return _tempC.replace('~~root~~', '<%- root %>').replace('~~env~~', '<%- env %>').replace('~~pagetitle~~', '<%= pageTitle %>')
23 | // } else {
24 | // _tempC = _tempC.replace('~~root~~', '').replace('~~pagetitle~~', '<%= title %>');
25 | // _tempC = _tempC.replace('~~env~~', '');
26 | // return _tempC
27 | // }
28 | }
--------------------------------------------------------------------------------
/build/util/openBrowser.js:
--------------------------------------------------------------------------------
1 | var os = require('os')
2 | var fs = require('fs')
3 | var del = require('del')
4 | var chalk = require('chalk')
5 | var BrowserSyncPlugin = require('browser-sync-webpack-plugin')
6 |
7 | let myport = 2900
8 | function openBrowser(asset) {
9 | myport += 100
10 | const uiPort = myport+1
11 | const myBrowserPlugin = new BrowserSyncPlugin({
12 | proxy: {
13 | target: 'http://localhost:' + (asset.PORT || 8300) + '/',
14 | ws: true
15 | },
16 | ui: {
17 | port: uiPort
18 | },
19 | logFileChanges: false,
20 | notify: false,
21 | host: 'localhost',
22 | port: myport
23 | // injectChanges: true,
24 | }, {
25 | reload: false
26 | })
27 | return myBrowserPlugin
28 | }
29 |
30 | function browserOpen(options) {
31 | const {name, PORT} = options
32 | myport += 100
33 | const uiPort = myport
34 | const bs = require('browser-sync').create(name)
35 | setTimeout(() => {
36 | bs.init({
37 | proxy: {
38 | target: 'http://localhost:' + (PORT || 8300) + '/',
39 | ws: false
40 | },
41 | ui: {
42 | port: uiPort
43 | },
44 | logFileChanges: false,
45 | notify: false,
46 | host: 'localhost',
47 | port: myport,
48 | // injectChanges: true,
49 | })
50 | }, 3000);
51 | }
52 |
53 | // module.exports = browserSync
54 | module.exports = {
55 | openBrowser,
56 | browserOpen
57 | }
58 |
--------------------------------------------------------------------------------
/build/util/portOccupied.js:
--------------------------------------------------------------------------------
1 | var net = require('net')
2 |
3 | // 检测端口是否被占用
4 | function *portIsOccupied (port) {
5 | return new Promise((res, rej) => {
6 | var server = net.createServer().listen(port)
7 |
8 | server.on('listening', function () { // 执行这块代码说明端口未被占用
9 | server.close() // 关闭服务
10 | // console.log('The port【' + port + '】 is available.') // 控制台输出信息
11 | res(false)
12 | })
13 |
14 | server.on('error', function (err) {
15 | if (err.code === 'EADDRINUSE') { // 端口已经被使用
16 | console.log('The port【' + port + '】 is occupied, please change other port.')
17 | res(true)
18 | }
19 | })
20 | })
21 | // 创建服务并监听该端口
22 | }
23 |
24 | // 执行
25 | // portIsOccupied(1987)
26 | module.exports = portIsOccupied
27 |
28 |
--------------------------------------------------------------------------------
/build/util/sleep.js:
--------------------------------------------------------------------------------
1 | function* sleep(delay, desc) {
2 | return new Promise((res, rej) => {
3 | setTimeout(() => {
4 | if (desc) {
5 | console.log(desc);
6 | }
7 | console.log(`waiting for ${delay} millisecond to next`);
8 | return res(true)
9 | }, delay);
10 | })
11 | }
12 |
13 | // 通过生成器延时几秒
14 | module.exports = sleep
--------------------------------------------------------------------------------
/build/util/validPort.js:
--------------------------------------------------------------------------------
1 | const portOccupied = require('./portOccupied')
2 |
3 | function* validPort(port, step) {
4 | const portUsed = yield portOccupied(port)
5 | if (portUsed) {
6 | port += 30
7 | return yield validPort(port, step)
8 | } else {
9 | return { validPort: port }
10 | }
11 | }
12 |
13 | module.exports = validPort
--------------------------------------------------------------------------------
/build/webpack.alias.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | module.exports = function (atc, asset) {
3 | const localPath = atc.localPath
4 | const {SRC, DIST} = asset
5 | return {
6 | root: SRC,
7 | css: path.join(SRC, 'css'),
8 | // component: path.join(SRC, 'component'),
9 | components: path.join(SRC, 'components'),
10 | docs: path.join(SRC, 'docs'),
11 | common: path.join(SRC, 'common'),
12 | configs: path.join(SRC, 'configs'),
13 |
14 | vue: 'vue/dist/vue.js',
15 | '@': path.join(SRC, 'js'), // vue项目中需要用到
16 |
17 | $vendors: path.join(SRC, 'mdSample/js/vendors'),
18 | $ajax: path.join(SRC, 'mdSample/js/vendors/ajax'),
19 | $pager: path.join(SRC, 'mdSample/js/vendors/page'),
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | require('./build')
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | 'autoprefixer': ['ie >= 10', 'last 5 version']
4 | }
5 | }
--------------------------------------------------------------------------------
/src/mdSample/components/cell/common/elements/whatinput.js:
--------------------------------------------------------------------------------
1 | import { InputBody } from "./inputbody";
2 | import { lib, createStore } from '../util'
3 | import { getRegisterPart } from "./register";
4 |
5 | export function WhatTypeInput(props) {
6 | let inputConfig = props.data
7 | let parent = props.store || props.parent
8 | let target = null
9 | const whatLang = getRegisterPart()
10 |
11 | let langs = Object.keys(whatLang)
12 | for (let ii=0; ii
18 | }
19 | target = ;
20 | break;
21 | }
22 | }
23 |
24 | return target
25 | }
--------------------------------------------------------------------------------
/src/mdSample/components/cell/common/util.js:
--------------------------------------------------------------------------------
1 | export function useState (od) {
2 | const cbRef = React.useRef();
3 | const [data, setData] = React.useState(od);
4 |
5 | if (typeof od !== 'function') {
6 | React.useEffect(() => {
7 | setData(od)
8 | }, [od]);
9 | }
10 |
11 | React.useEffect(() => {
12 | cbRef.current && cbRef.current(data);
13 | }, [data]);
14 |
15 | return [data, function (d, callback) {
16 | cbRef.current = callback;
17 | setData(d);
18 | }];
19 | }
20 |
21 | export const createStore = function createFormStore(){
22 | return {
23 | ctx: {
24 | elements: {},
25 | group: {},
26 | },
27 | getById(id){
28 | try {
29 | const cell = this.ctx.elements[id] || this.ctx.group[id]
30 | if (!cell) throw new Error('没有相关该元素')
31 | return cell
32 | } catch (error) {
33 | console.warn(error)
34 | }
35 | },
36 | _dynamicUnion: {},
37 | }
38 | }
39 |
40 |
41 | export {lib} from '@aotoo/aotoo'
42 |
43 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/commonfunc.styl:
--------------------------------------------------------------------------------
1 | @import './config/index'
2 | @import './cssFunc'
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/codetheme/black.styl:
--------------------------------------------------------------------------------
1 |
2 | $hljs-bg = #23241f
3 | $hljs-title = #fff
4 | $hljs-attr = #f92672
5 | $hljs-string = #e6db74
6 | $hljs-literal = #ae81ff
7 | $hljs-comment = #999
8 | $hljs-attribute =#66d9ef
9 | $hljs-section = #a6e22e
10 | $hljs-emphasis = #a8a8a2
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/codetheme/grey.styl:
--------------------------------------------------------------------------------
1 | $hljs-bg = #f8f8f8
2 | $hljs-title = #a626a4
3 | $hljs-attr = #986801
4 | $hljs-string = #50a14f
5 | $hljs-literal =#0184bb
6 | $hljs-comment = #a0a1a7
7 | $hljs-attribute =#50a14f
8 | $hljs-section = #e45649
9 | $hljs-emphasis = #a8a8a2
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/icon.styl:
--------------------------------------------------------------------------------
1 | //input
2 | // 下拉
3 | $inputSelect = '\e74e'
4 | // 日期
5 | $inputDate = '\e7bc'
6 | //加减号
7 | $inputAddIconL = '\e7ac'
8 | $inputAddIcon = '\e611'
9 | $inputMinusIcon = '\e602'
10 | //radio checkbox
11 | $radio = '\e7bf'
12 | $radioChecked = '\e7c0'
13 | $checkbox = '\e7bd'
14 | $checkboxChecked = '\e7be'
15 |
16 | //箭头左右
17 | $arrow-left = '\e7a9'
18 | $arrow-right = '\e7aa'
19 |
20 | //加载
21 | $icon-loading = '\e609'
22 |
23 | //waning
24 | $icon-warning = '\e7b9'
25 | //fail
26 | $icon-fail = '\e7b8'
27 | //sucess
28 | $icon-sucess = '\e7b7'
29 | //info
30 | $icon-info = '\e7b6'
31 |
32 | //关闭 大
33 | $icon-del = '\e607'
34 | //关闭 小
35 | $icon-del-s = '\e7ab'
36 |
37 | //搜索 放大镜
38 | $icon-search = '\e7b0'
39 |
40 | //nav 三横杆
41 | $icon-nav = '\e66b'
42 |
43 |
44 | //另一种风格的复选框
45 | $icon-tick = '\e7b1'
46 |
47 | $icon-exlain = '\e7b6'
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/iconfont.styl:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'iconfont'; /* project id 2218644 */
3 | src: url('//at.alicdn.com/t/font_2218644_6cfjrxm6ern.eot');
4 | src: url('//at.alicdn.com/t/font_2218644_6cfjrxm6ern.eot?#iefix') format('embedded-opentype'),
5 | url('//at.alicdn.com/t/font_2218644_6cfjrxm6ern.woff2') format('woff2'),
6 | url('//at.alicdn.com/t/font_2218644_6cfjrxm6ern.woff') format('woff'),
7 | url('//at.alicdn.com/t/font_2218644_6cfjrxm6ern.ttf') format('truetype'),
8 | url('//at.alicdn.com/t/font_2218644_6cfjrxm6ern.svg#iconfont') format('svg');
9 | }
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/markdown.styl:
--------------------------------------------------------------------------------
1 | // @import './codetheme/black' //代码块模板 在业务上引用
2 |
3 | $md-color-text = $color-text
4 | $md-color-title = $color-text-title
5 | $md-color-info = $color-text-info
6 | $md-color-desc = $color-text-disabled
7 |
8 | $md-color-link = $color-aux-primary
9 | $md-color-link-active = $color-primary
10 | $md-table-thead-color = #fff
11 |
12 | $md-border-color = #e7e7e7
13 |
14 |
15 |
16 | $md-br = 3px
17 |
18 | $md-key-color = $color-primary
19 |
20 |
21 | $md-size-title-1 = 2em
22 | $md-size-title-2 = 1.75em
23 | $md-size-title-3 = 1.5em
24 | $md-size-title-4 = 1.3em
25 | $md-size-title-5 = 1.1em
26 |
27 | $md-size = 15px
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/pagesConfig.styl:
--------------------------------------------------------------------------------
1 | //标题
2 | config-title = {
3 | color: $color-text-title
4 | font-size: $size-title
5 | }
6 | // modal
7 | config-title-modal = {
8 | color: $color-text-title
9 | font-size: $size-info
10 | }
11 | //内容, modal
12 | config-content = {
13 | color: $color-text
14 | font-size: $size
15 | }
16 | //详情
17 | config-desc = {
18 | color: $color-text-info
19 | display: block
20 | font-size: $size
21 | }
22 | //适用于目的地,相关的ss-row-list()
23 | rowListConfig-Mdd-title-kj2 = {
24 | $width: false
25 | }
26 | rowListConfig-Mdd-kj3 = {
27 | $width: calc(100% / 4)
28 | }
29 | //适用于目的地,相关的row-head-list()
30 | rhlConfig-Mdd = {
31 | $fw: bold
32 | $mb: $space-minor
33 | $min-width: 40px
34 | $text-align: false
35 | }
36 |
37 | //块层
38 | displayDivCfg = {
39 | $bg: #fff
40 | $padding: 20px
41 | $br: $br
42 | $bs: $box-shadow
43 | $border: none
44 | }
45 |
46 | //系统提示框
47 | tipsSysCfg = {
48 | $padding: $tips-padding
49 | $size: $tips-size
50 | $icon-size: $tips-icon-size
51 | $mg: $tips-mg
52 | $fw: bold
53 | $transform: false
54 | }
55 |
56 |
57 | //鼠标经过
58 | bgActive = {
59 | background: $color-bg
60 | color: $color-primary
61 | }
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/theme/green.styl:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | 基本参数
4 | */
5 |
6 |
7 | //色值分类
8 |
9 | //backgroundColor
10 | $color-bg = #F0F2F5
11 | $color-bg-special = #F5F6FA //特殊背景
12 | $color-bg-primary = #fff
13 |
14 | //borderColor
15 | $color-line = #E5E6ED //下划线
16 | $color-line-secondary = $color-line //边框线
17 | $color-line-input = #CFD2D6 //input边线
18 |
19 | //textColor
20 | $color-text = #777D8D //默认色
21 | $color-text-title = #2c3e50 //标题色
22 | $color-text-info = #98A0B4 //说明信息
23 | $color-text-disabled = $color-line-input //禁止色
24 | $color-text-placeholder = $color-line-input //input placeholder
25 |
26 | //网站主色调
27 | $color-primary =#3eaf7c //品牌色
28 |
29 | //辅助色,
30 | $color-aux-primary = #45af7f // 用于辅助及搜索按钮 提示性文字链/按钮
31 | $color-aux-success = #68BF7B // 用于保存提交成功性提示
32 | $color-aux-warning = #FF7400 // 用于副按钮,特殊按钮 提示性ICON/文字
33 | $color-aux-fail = #FC3230 // 用于网站价格显示
34 |
35 |
36 |
37 | //鼠标经常效果
38 | $color-hover = $color-primary
39 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/theme/orange.styl:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | 基本参数 橙色
4 | */
5 |
6 | //色值分类
7 |
8 | //backgroundColor
9 | $color-bg = #F0F2F5
10 | $color-bg-special = #F5F6FA //特殊背景
11 | $color-bg-primary = #fff
12 |
13 | //borderColor
14 | $color-line = #E5E6ED //下划线
15 | $color-line-secondary = $color-line //边框线
16 | $color-line-input = #CFD2D6 //input边线
17 |
18 | //textColor
19 | $color-text = #666 //默认色
20 | $color-text-title = #000 //标题色
21 | $color-text-info = #999 //说明信息
22 | $color-text-disabled = $color-line-input //禁止色
23 | $color-text-placeholder = $color-line-input //input placeholder
24 |
25 | //网站主色调
26 | $color-primary = #f8a900 //品牌色
27 |
28 | //辅助色,
29 | $color-aux-primary = #f38428 // 用于辅助及搜索按钮 提示性文字链/按钮
30 | $color-aux-success = #68BF7B // 用于保存提交成功性提示
31 | $color-aux-warning = #E6A23C // 用于副按钮,特殊按钮 提示性ICON/文字
32 | $color-aux-fail = #FC3230 // 用于网站价格显示
33 |
34 |
35 |
36 | //鼠标经常效果
37 | $color-hover = $color-primary
38 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/config/theme/purple.styl:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | 基本参数
4 | */
5 | //色值分类
6 |
7 | //backgroundColor
8 | $color-bg = #F0F2F5
9 | $color-bg-special = #F5F6FA //特殊背景
10 | $color-bg-primary = #fff
11 |
12 | //borderColor
13 | $color-line = #E5E6ED //下划线
14 | $color-line-secondary = $color-line //边框线
15 | $color-line-input = #CFD2D6 //input边线
16 |
17 | //textColor
18 | $color-text = #777D8D //默认色
19 | $color-text-title = #272E40 //标题色
20 | $color-text-info = #98A0B4 //说明信息
21 | $color-text-disabled = $color-line-input //禁止色
22 | $color-text-placeholder = $color-line-input //input placeholder
23 |
24 | //网站主色调
25 | $color-primary = #a814f1 //品牌色
26 |
27 | //辅助色,
28 | $color-aux-primary = #cb6df9 // 用于辅助及搜索按钮 提示性文字链/按钮
29 | $color-aux-success = #68BF7B // 用于保存提交成功性提示
30 | $color-aux-warning = #FF7400 // 用于副按钮,特殊按钮 提示性ICON/文字
31 | $color-aux-fail = #FC3230 // 用于网站价格显示
32 |
33 |
34 |
35 | //鼠标经常效果
36 | $color-hover = $color-primary
37 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/background.styl:
--------------------------------------------------------------------------------
1 |
2 | .bg-default
3 | background: $color-bg //默认色
4 |
5 | .bg-special
6 | background: $color-bg-special
7 |
8 | .bg-fff
9 | background: #fff
10 |
11 | .bg-F3F7F8
12 | background: #F3F7F8;
13 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/border.styl:
--------------------------------------------------------------------------------
1 | // .border-radius-p100
2 | // border-radius: 100%
3 |
4 | .border-default
5 | border: 1px solid $color-line
6 | // &.active
7 | // border-color: red
8 |
9 | // .border-primary
10 | // border: 1rpx solid $color-border-2
11 |
12 |
13 | // .bt-default
14 | // border-top: 1rpx solid $color-border
15 | .bb-default
16 | border-bottom: 1px solid $color-line
17 | // .bl-default
18 | // border-left: 1rpx solid $color-border
19 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/card.styl:
--------------------------------------------------------------------------------
1 |
2 | cardCfg = {
3 | $bg: $color-bg-special
4 | $padding: 20px
5 | $br: false
6 | $bs: false
7 | $border: false
8 | }
9 | ss-func-display-div('.card-bg', cardCfg)
10 | // card-bg-func()
11 |
12 | // .card-bg-my
13 | // card-bg-my-func(true)
14 |
15 |
16 | // .display-bg
17 | // background: #ffffff
18 | // border-radius: $br
19 | // box-shadow: $box-shadow;
20 | // position: relative
21 | // word-break: break-all;
22 |
23 | // .display-bg-list
24 | // @extends .display-bg
25 | // border-radius: $br-lg
26 |
27 | // .display-bg-list-default
28 | // @extends .display-bg
29 | // padding: $space
30 |
31 | // .display-nobg
32 | // border-radius: $br-sm
33 | // box-sizing: border-box;
34 | // padding: $space
35 |
36 | // .display-bgx-minor
37 | // border-radius: $br
38 | // background: #FFFBEF
39 | // color: #FA8D14
40 | // padding: $padding-minor
41 |
42 | // //toast,黑色背景,透明底
43 | // .toast-input
44 | // background: fade-out(#000, .1)
45 | // border-radius: 8rpx
46 | // color: #fff
47 | // padding: 25rpx 42rpx
48 | // opacity: .8
49 | // min-width: 114rpx
50 | // line-height: 40rpx
51 | // max-width: 74%
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/color.styl:
--------------------------------------------------------------------------------
1 | .color-primary
2 | color: $color-primary
3 | .color-aux-primary
4 | color: $color-aux-primary
5 | .color-aux-success
6 | color: $color-aux-success
7 | .color-aux-warning
8 | color: $color-aux-warning
9 | .color-aux-fail
10 | color: $color-aux-fail
11 |
12 | .color-text
13 | color: $color-text
14 | .color-title
15 | color: $color-text-title
16 | .color-info
17 | color: $color-text-info
18 |
19 | .bg-color
20 | color: $color-bg
21 | .bg-color-special
22 | color: $color-bg-special
23 |
24 |
25 |
26 | .color-000
27 | color: #000
28 | .color-fff
29 | color: #fff
30 | .color-98A0B3
31 | color: #98A0B3
32 |
33 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/custom.styl:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | custom.styl
4 | 不知道放在哪个样式表的,
5 | 或需要@extends 简单的
6 | -------------------------------------
7 | -------------------------------------lgh
8 | */
9 | body
10 | font-size: $size
11 |
12 | //默认icon与文字之间的距离
13 | .ss-icon-right
14 | margin-right: $icon-dist
15 | .ss-icon-left
16 | margin-left: $icon-dist
17 |
18 | .ss-hr
19 | height: 1px
20 | width: 100%
21 | background: $color-line
22 |
23 | //文字链接
24 | [class*='link'], a
25 | cursor: pointer
26 | color: inherit
27 | text-decoration: none
28 | &:hover
29 | color: $color-primary
30 | [class*='link-fail']
31 | &:hover
32 | color: $color-aux-fail
33 | [class*='link-primary']
34 | color: $color-aux-primary
35 | &:hover
36 | color: $color-primary
37 |
38 | [data-close=true],[data-close=right]
39 | &:after
40 | content: $icon-del-s
41 | color: $color-text
42 | &:hover
43 | &:after
44 | color: $color-text-title
45 |
46 | dCfg = {
47 | $bg: $color-bg-special
48 | $padding: 10px
49 | $br: $br
50 | $bs: false
51 | $border: 1px solid $color-line-input
52 | }
53 | ss-func-display-div('.display-tips', dCfg)
54 |
55 | .item-space
56 | ss-display-flex(row nowrap, space-between)
57 | padding: $space-minor 0
58 | .item-space-btn
59 | ss-display-flex(row nowrap, space-between)
60 | padding: $space-small 0
61 |
62 |
63 | ss-func-customscroll('.o-y-auto', {$height: false})
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/height.styl:
--------------------------------------------------------------------------------
1 | .hei-p100
2 | height: 100%
3 | box-sizing: border-box
4 |
5 |
6 | .leading-none
7 | line-height: 1;
8 | .leading-tight
9 | line-height: 1.25;
10 | .leading-snug
11 | line-height: 1.375;
12 | .leading-normal
13 | line-height: 1.5;
14 | .leading-relaxed
15 | line-height: 1.625;
16 | .leading-loose
17 | line-height: 2;
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/index.styl:
--------------------------------------------------------------------------------
1 | vendors = official
2 | // @import './icon'
3 |
4 | // @import './slider'
5 | @import './border'
6 | @import './background'
7 | @import './color'
8 | @import './margin'
9 | @import './size'
10 | // @import './width'
11 | // @import './radius'
12 | @import './position'
13 | @import './padding'
14 | @import './height'
15 | @import './flex'
16 | // @import './title'
17 | // @import './pic'
18 | @import './tag'
19 | @import './button'
20 |
21 | @import './custom'
22 |
23 | @import './textellipsis'
24 | // @import './tips'
25 | // @import './keyframes'
26 | // @import './item'
27 | // @import './list'
28 |
29 | // //侧弹
30 | // @import './actionside'
31 |
32 | // // input
33 | // @import './input'
34 |
35 | // // tree组件
36 | // @import './tree'
37 |
38 | // // tabs组件
39 | // @import './tabs'
40 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/input.styl:
--------------------------------------------------------------------------------
1 | .modal-form
2 | color: $color-text
3 | >.inputMultiply
4 | >.fkp-caption
5 | min-width: 100px
6 | justify-content: flex-end
7 | font-weight: bold
8 | .fkp-contaniner
9 | .fkp-title, .fkp-head
10 | min-width: auto
11 | margin-right: 10px
12 | .fkp-desc
13 | margin-left: 10px
14 | >.inputItem, >.radioGroup, >.checkboxGroup
15 | >.fkp-head
16 | min-width: 100px
17 | justify-content: flex-end
18 | font-weight: bold
19 | .form_control
20 | width: 120px
21 |
22 | .form-editor-span
23 | >.fkp-content
24 | .form-span
25 | display: block
26 | position relative
27 | z-index: ($zidx-ft - 1)
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/keyframes.styl:
--------------------------------------------------------------------------------
1 | @keyframes fadeIn
2 | from
3 | opacity: 0
4 | to
5 | opacity: 1
6 | @keyframes fadeOut
7 | from
8 | opacity: 1
9 | to
10 | opacity: 0
11 |
12 |
13 | //从底部弹出
14 | @keyframes slideUp
15 | from
16 | transform: translate3d(0, 100%, 0)
17 | to
18 | transform: translate3d(0, 0, 0)
19 | @keyframes slideUp2
20 | from
21 | transform: translate3d(0, 0, 0)
22 | to
23 | transform: translate3d(0, 100%, 0)
24 | //从顶部弹出
25 | @keyframes slideDown
26 | from
27 | transform: translate3d(0, -100%, 0)
28 | to
29 | transform: translate3d(0, 0, 0)
30 |
31 | @keyframes slideHeight
32 | from
33 | max-height: 0
34 | to
35 | max-height: 400px
36 |
37 | @keyframes slideHeight2
38 | from
39 | max-height: 400px
40 | to
41 | max-height: 0
42 |
43 | //从右边弹出
44 | @keyframes slideRight
45 | from
46 | transform: translate3d(100%, 0, 0);
47 | to
48 | transform: translate3d(0, 0, 0)
49 | //从左边弹出
50 | @keyframes slideLeft
51 | from
52 | transform: translate3d(-100%, 0, 0);
53 | to
54 | transform: translate3d(0, 0, 0)
55 |
56 | @keyframes scalePop
57 | from
58 | // transform: translate(-47%, -60%);
59 | transform: scale(0.97);
60 | to
61 | transform: scale(1)
62 |
63 | //load动画
64 | @keyframes loading
65 | from
66 | opacity 1
67 | to
68 | opacity .2
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/margin.styl:
--------------------------------------------------------------------------------
1 | .mlr-default
2 | margin: 0 $space-minor
3 | .mlr-small
4 | margin: 0 $space-small
5 |
6 | .mt-default
7 | margin-top: $space-minor
8 | .ml-default
9 | margin-left: $space-minor
10 | .ml-small
11 | margin-left: $space-small
12 |
13 | .m-default
14 | margin: $space-minor
15 |
16 | .m-auto
17 | margin: 0 auto
18 |
19 | .mb-default
20 | margin-bottom: $space-minor
21 | .mt-default
22 | margin-top: $space-minor
23 |
24 | .mr-auto
25 | margin-right: auto
26 |
27 | .ml-auto
28 | margin-left: auto
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/nodata.styl:
--------------------------------------------------------------------------------
1 | //没有数据时
2 | .nodata
3 | text-align: center
4 | margin: auto
5 | &.mb
6 | margin-bottom: $space-minor
7 | &.big-pic
8 | margin-top: 140px
9 | .item-pic
10 | width: 700px
11 | height: 400px
12 | .item-pic
13 | width: 130px
14 | height @width
15 | margin: 0 auto
16 | img
17 | width: 100%
18 | height auto
19 | .item-title
20 | color: $color-text-title
21 | font-size: $size-title
22 | font-weight: bold
23 | margin-top: 19px // 22-3 = 19
24 | margin-bottom: 4px //10 - 6 = 4
25 | .item-desc
26 | {config-desc}
27 | .item-btn
28 | margin: 19px auto 0 // 22-3 = 19
29 |
30 |
31 | .pages-error
32 | width: 100%
33 | height: 100%
34 | background: #fff
35 | box-sizing: border-box;
36 | ss-display-flex(column, center, center)
37 | padding: 30px;
38 | .item-copyright
39 | color: $color-text-info
40 | font-size: $size-sm
41 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/padding.styl:
--------------------------------------------------------------------------------
1 | /*
2 | padding会影响 border-radius
3 |
4 | */
5 | .padding-default
6 | padding: $space
7 |
8 | .padding-minor
9 | padding: $space-minor
10 | .padding-minor-lr
11 | padding: 0 $space-minor
12 | .padding-small-lr
13 | padding: 0 $space-small
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/_crop.styl:
--------------------------------------------------------------------------------
1 | //上传截图
2 | .cropWrap
3 | max-height: none;
4 | .cropper-wrapper
5 | ss-display-flex(row nowrap, flex-start)
6 | .crop-content
7 | .crop-upload
8 | ss-display-flex(row nowrap, flex-start)
9 | .crop-upload-left,.cropper-container
10 | width: 540px
11 | height: 360px;
12 | ss-display-flex(row nowrap, center, center)
13 | position: relative;
14 | background #E6E6EE
15 | .crop-uoload-right,.cropper-right
16 | background: $color-bg-special
17 | padding: 20px;
18 | flex: 1
19 | .crropper-text
20 | color: #98A0B3
21 | line-height: 25px;
22 | margin-top: 10px
23 | .cropper-preview
24 | margin: auto;
25 | background #fff
26 | border: 2px dashed $color-line-input
27 | overflow: hidden;
28 | .crop-upload-tips
29 | margin-top: 10px
30 | margin-bottom: -8px;
31 | color: #f00;
32 | display: none;
33 | &:before
34 | content: '\e7b8';
35 | font-size: 16px;
36 | color: #FC3230;
37 | margin-bottom: -2px;
38 | .crop-upload-file
39 | position absolute;
40 | clip: rect(1px,1px,1px,1px);
41 | opacity: 0;
42 | button
43 | &:disabled
44 | {btn-disabled}
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/_editor.styl:
--------------------------------------------------------------------------------
1 | .edui-default
2 | .edui-editor
3 | margin: auto
4 | border-color: $color-line-secondary!important
5 | border-radius: 3px!important
6 | // width: 390px!important
7 | .edui-editor-toolbarbox
8 | box-shadow: none!important
9 | .edui-editor-toolbarboxouter
10 | background-color: $color-bg-special!important
11 | background-image: none!important
12 | box-shadow: none!important
13 | .edui-editor-iframeholder
14 | // width: 100%!important
15 |
16 | // .view 不起作用
17 | // height: 100%!important
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/_searchbox.styl:
--------------------------------------------------------------------------------
1 | .searchbox-form
2 | @extends $flex-wrap
3 | padding-bottom: 10px
4 | margin-left: -20px
5 | margin-bottom: 0
6 | >.inputMultiply
7 | >.inputItem
8 | margin-bottom: 0
9 | >.inputItem, >.inputMultiply
10 | margin-left: 20px
11 | margin-bottom: 10px
12 | .fkp-title
13 | font-size: $size-sm
14 | height: 32px
15 | line-height: @height
16 | .inputItem
17 | min-width: 180px
18 | &[class*='btn']
19 | min-width: auto
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/_table.styl:
--------------------------------------------------------------------------------
1 | // .page-next,.page-prev
2 | // a
3 | // text-indent: -9999em;
4 | .page-next
5 | .item-icon
6 | &:before
7 | content: $arrow-right
8 | .page-pre
9 | .item-icon
10 | &:before
11 | content: $arrow-left
12 |
13 |
14 | ss-func-customscroll('.fixed-table-body', {$scroll: x, $scrollbarHei: 6px})
15 |
16 | .fixed-table-container
17 | .tbody
18 | tr
19 | &:hover
20 | background: $color-bg-special
21 | td, th
22 | min-width: 45px
23 | //图片标签
24 | .ss-tag[class*=ab]
25 | top: -18px
26 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/_tips.styl:
--------------------------------------------------------------------------------
1 | //组件 提示框
2 | popConfig = {
3 | $icon: false
4 | $isNowrap: false
5 | $spc: true,
6 | $fixedWidth: false
7 | $max-width: 314px
8 | $br: $br
9 | $bs: $box-shadow-tips
10 | }
11 | .pop-title-arrow
12 | position: relative
13 | width: var(--width)
14 | &.left
15 | ss-arrow-direction(right, 10px, $tipsx-bc, $tipsx-bg, -5px, 10px)
16 | &.top
17 | ss-arrow-direction(top, 10px, $tipsx-bc, $tipsx-bg, -5px, 10px)
18 | &.bottom
19 | ss-arrow-direction(top, 10px, $tipsx-bc, $tipsx-bg, calc(100% - 4px), 10px, $transform: rotate(135deg))
20 | // &.arrow-bottom
21 | // &:before
22 | // transform: rotateZ(135deg);
23 | // top: inherit
24 | // bottom: calc(100%)
25 |
26 | ss-tips('.popup-box', popConfig)
27 |
28 | //组件 提示框
29 | popContentConfig = {
30 | $icon: false
31 | $isNowrap: false
32 | $spc: true
33 | $max-width: 190px
34 | //arrow
35 | $arrowTop: -8px
36 | $arrowLeft: 15px
37 | }
38 | ss-tips-arrow-content('.popup-box-2', popContentConfig)
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/input.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/css/_commonx/css/pages/input.styl
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pages/margin.styl:
--------------------------------------------------------------------------------
1 | .mb15
2 | margin-bottom: 15px
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/pic.styl:
--------------------------------------------------------------------------------
1 |
2 | image
3 | display: block
4 |
5 | .list-img
6 | {pic-default-s}
7 | .list-img-lg
8 | {pic-lg-s}
9 | .list-img-sm
10 | {pic-sm-s}
11 |
12 | .pic-30-r
13 | width: 30rpx
14 | height: @width
15 | image
16 | width: 100%
17 | height @width
18 | .pic-80-r
19 | width: 80rpx
20 | height: @width
21 | image
22 | width: 100%
23 | height @width
24 | .pic-100-r
25 | width: 100rpx
26 | height: @width
27 | image
28 | width: 100%
29 | height @width
30 | .pic-140-r
31 | width: 140rpx
32 | height: @width
33 | image
34 | width: 100%
35 | height @width
36 | // .pic-120-r
37 | // width: 120rpx
38 | // height: @width
39 | // .pic-150-r
40 | // width: 150rpx
41 | // height: @width
42 | // .pic-382-r
43 | // width: 382rpx
44 | // height: @width
45 | // image
46 | // width: 100%
47 | // height: 100%
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/position.styl:
--------------------------------------------------------------------------------
1 | .ss-sticky
2 | position: sticky
3 | top: 0
4 |
5 | .ss-absolute-tr
6 | position: absolute
7 | top: 0
8 | right: 0
9 |
10 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/radius.styl:
--------------------------------------------------------------------------------
1 |
2 | .radius-10-r
3 | border-radius: 10rpx
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/search.styl:
--------------------------------------------------------------------------------
1 | .search-input
2 | padding: 14rpx 30rpx
3 | color: #333
4 | height: 90rpx
5 | &.item-pages
6 | background: #fff
7 | padding: 28rpx 30rpx
8 | height: auto
9 | .input-item
10 | background: #f5f5f5
11 | .input-item-content
12 | background: initial
13 | .input-item
14 | background: #ffffff
15 | height: 62rpx
16 | border-radius: @height
17 | padding: 0 20rpx
18 | .input-item-area
19 | height: 100%
20 | align-items:center;
21 | .input-item-content
22 | border-bottom: none
23 | padding: 0 10rpx
24 | font-size: 28rpx
25 | &.item-padding
26 | padding: 0 20rpx
27 | .input-item-title
28 | margin: 0 10rpx;
29 | min-width: auto
30 | .icon-search
31 | color: #C2C2C2
32 | .input-item-passwd-eye
33 | justify-content: center
34 | input
35 | text-align: center
36 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/size.styl:
--------------------------------------------------------------------------------
1 | /*
2 | 字体大小
3 | */
4 |
5 |
6 | .size
7 | font-size: $size
8 | .size-sm
9 | font-size: $size-sm
10 | .size-info
11 | font-size: $size-info
12 |
13 | .size-title-sm
14 | font-size: $size-title-sm
15 | .size-title
16 | font-size: $size-title
17 | .size-title-lg
18 | font-size: $size-title-lg
19 |
20 |
21 | // .size9
22 | // font-size: 18rpx
23 | // .size10
24 | // font-size: 20rpx
25 | // .size11
26 | // font-size: 22rpx
27 | // .size12
28 | // font-size: 24rpx
29 | // .size13
30 | // font-size: 26rpx
31 | // .size14
32 | // font-size: 28rpx
33 | // .size15
34 | // font-size: 30rpx
35 | // .size16
36 | // font-size: 32rpx
37 | // .size17
38 | // font-size: 34rpx
39 | // .size18
40 | // font-size: 36rpx
41 | // .size20
42 | // font-size: 40rpx
43 | // .size22
44 | // font-size: 44rpx
45 | // .size28
46 | // font-size: 56rpx
47 | // .size30
48 | // font-size: 60rpx
49 | // .size36
50 | // font-size: 72rpx
51 | // .size63
52 | // font-size: 126rpx
53 | // .size80
54 | // font-size: 160rpx
55 |
56 |
57 | // /*
58 | // img 大小
59 | // */
60 |
61 | // .logo-size
62 | // width: 110rpx
63 | // height: @width
64 |
65 |
66 | // // modal层字体大小
67 | // .m-title-fs
68 | // font-size: $modal-title-size
69 | // .m-desc-fs
70 | // font-size: $modal-desc-size
71 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/slider.styl:
--------------------------------------------------------------------------------
1 | slider
2 | margin: 0
3 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/switch.styl:
--------------------------------------------------------------------------------
1 | //开关按钮
2 | .ss-switch
3 | width: 50px
4 | height 24px
5 | color: $color-text-info
6 | cursor: pointer
7 | display: inline-block
8 | position: relative
9 | .ss-switch-bg, input
10 | position: absolute
11 | top: 0
12 | left 0
13 | width: 100%
14 | height: 100%
15 | input
16 | opacity 0
17 | &:checked
18 | &~.ss-switch-bg
19 | background: $color-primary
20 | &+.ss-switch-handle
21 | &:before
22 | left: calc(100% - 22px);
23 | &:after
24 | content: '开'
25 | color: $color-primary
26 | left: calc(100% - 18px);
27 | // transition: all .3s ease-in-out;
28 | .ss-switch-bg
29 | background: $color-line
30 | border-radius: 12px
31 | .ss-switch-handle
32 | &:before
33 | position: absolute;
34 | transition: all .2s ease-in-out;
35 | top: 2px;
36 | left: 2px;
37 | width: 20px;
38 | height: 20px;
39 | background: #fff
40 | border-radius: 100%
41 | z-index 1
42 | content: ''
43 | &:after
44 | content: '关'
45 | transition: all .2s ease-in-out;
46 | position: relative
47 | z-index 2
48 | left: 5px;
49 | top: 2px;
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/textellipsis.styl:
--------------------------------------------------------------------------------
1 | .textellipsis-1
2 | ss-textellipsis(1, 16px)
3 | line-height: 16px
4 | .textellipsis-auto-1
5 | ss-textellipsis(1)
6 | .textellipsis-2
7 | ss-textellipsis(2, 30px)
8 | .textellipsis-auto-2
9 | ss-textellipsis(2)
10 | .textellipsis-auto-3
11 | ss-textellipsis(3)
12 | .textellipsis-auto-4
13 | ss-textellipsis(4)
14 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/tips.styl:
--------------------------------------------------------------------------------
1 | //TIPS 部分
2 | ss-tips-system(tipsSysCfg, '.ss_tips_wrap')
3 |
4 | ss-tips-system2()
5 | drawerCfg = {
6 | right: 0
7 | top: 0
8 | mb: false
9 | min-width: 45vw
10 | width: false
11 | height: 100vh
12 | br: 0
13 | pd: 0
14 | dire: 'tb'
15 | direCfg: {
16 | height: 18vh
17 | }
18 | }
19 |
20 | ss-tips-system2('.ss_drawer_wrap', drawerCfg, '.ss-drawer')
21 |
22 | .ss_drawer_wrap
23 | ss-display-flex(row)
24 | &.abc
25 | .ss-drawer
26 | min-width: 35vw
27 | z-index: 3
28 |
29 | //模拟表单提示
30 | ss-tips-like-form('.form-tips')
31 | //文字提示
32 | abc = {
33 | $color: #ff7e11
34 | $size: 6px
35 | $arrowBc: lighten(#ff7e11, 70%)
36 | $arrowBg: lighten(#ff7e11, 90%)
37 | $spc: false
38 | }
39 | ss-tips-arrow('.wz-tips', abc)
40 | // ss-tips-arrow($tips-size-sm, $tips-padding-sm, $tips-icon-color, lighten($tips-icon-color, 90%), lighten($tips-icon-color, 70%), $tips-arrow-size-sm)
41 | ss-tips-arrow('.ss-tips-fff')
42 |
43 |
44 | // absolute层里的,是无法根据内容的长度来撑开的 有两个办法,第一种 强制不换行,第二种,父级的宽度一定要足够的宽
45 | xx = {
46 | $isNowrap: false
47 | }
48 | ss-tips-arrow('.ss-tips-widp100', xx)
49 |
50 |
51 | @keyframes abc-xx
52 | 0%
53 | width: 0
54 | 100%
55 | width: 40vw
56 | opacity: 0
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/title.styl:
--------------------------------------------------------------------------------
1 |
2 | .fs-normal
3 | font-style: normal
4 | .fw-bold
5 | font-weight: bold
6 |
7 | .textellipsis-1
8 | ss-textellipsis(1)
9 | .textellipsis-2
10 | ss-textellipsis(2)
11 | .textellipsis-3
12 | ss-textellipsis(3)
13 |
14 | .pages-title-lg
15 | font-weight: bold
16 | font-size: $size-title
17 | color: $color-text-title
18 | .pages-title
19 | font-weight: bold
20 | font-size: $size-title-sm
21 | margin: 20px 0 10px
22 | .pages-title-sm
23 | font-weight: bold
24 | font-size: $size
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/tree.styl:
--------------------------------------------------------------------------------
1 | // ssfunc-ss-title()
2 | // .ss-title
3 | // color: #666666
4 | // display: block
5 | // font-size: 14px
6 | // padding: $space-dispaly
7 |
8 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/css/width.styl:
--------------------------------------------------------------------------------
1 |
2 | for i in range(10, 100, 10)
3 | .wid-p{i}
4 | width: i + '%'
5 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/badge.styl:
--------------------------------------------------------------------------------
1 | //徽标数
2 | badgeCfg = {
3 | $type: 'num' //num, dot 数据是圆点
4 | $width: 18px
5 | $bg: $color-aux-warning
6 | $color: #fff
7 | $size: 12px
8 | }
9 | ss-func-badge($config = false)
10 | cfg = merge({}, badgeCfg, $config)
11 | .badge-absuolut
12 | position: relative
13 | .badge-num
14 | position: absolute
15 | top: 0
16 | right: 0
17 | transform: translate(50%,-50%)
18 | if (cfg.$type == 'num')
19 | .badge-num
20 | min-width: cfg.$width
21 | height: @min-width
22 | border-radius: (@min-width / 2)
23 | background: cfg.$bg
24 | color: cfg.$color if cfg.$color
25 | font-size: cfg.$size if cfg.$size
26 | text-align: center;
27 | font-style: normal;
28 | line-height: @min-width
29 | padding: 0 5px;
30 | else
31 | .badge-dot
32 | min-width: cfg.$width
33 | height: @min-width
34 | border-radius: (@min-width / 2)
35 | background: cfg.$bg
36 | font-style: normal;
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/button.styl:
--------------------------------------------------------------------------------
1 | /**
2 | * 注意 +prefix-classes 不能为数字开头,如果颜色以数字开头的话 ,统一在前面加个字母 c 如: .c227ce1
3 | * @type {[type]}
4 | */
5 |
6 | btnConfig = {
7 | $bgc: $btn-bgc-default
8 | $pcolor: $btn-bgc-default
9 | }
10 |
11 | ss-btnFunc($class = '.btn-default', $config = false)
12 | cfg = merge({}, btnConfig, $config)
13 | {$class}
14 | background-color: cfg.$bgc
15 | border-color: @background-color
16 | color: #fff
17 | outline: none //去除focus出现的边框
18 | &:hover
19 | background-color: darken(@background-color, 15%)
20 | border-color: @background-color
21 | &.plain
22 | background-color: #fff
23 | border-color: cfg.$bgc
24 | color: cfg.$pcolor
25 | &:hover
26 | background-color: fade-out(@border-color, .9)
27 | border-color: @border-color
28 |
29 | // if (var(--icon))
30 | // ss-display-flex(row nowrap, center, center, center)
31 | // &:before
32 | // content: var(--icon)
33 | // margin-right: 10px
34 | // font-size: 16px
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/color.styl:
--------------------------------------------------------------------------------
1 | $color-default
2 | color: $color-text
3 | $color-regular
4 | color: $color-text-title
5 | $color-info
6 | color: $color-text-info
7 | $color-disable
8 | color: $color-text-disabled
9 |
10 | $color-primary
11 | color: $color-primary
12 | $color-minor
13 | color: $color-minor
14 |
15 | $color-000
16 | color: #000
17 | $color-fff
18 | color: #fff
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/grid.styl:
--------------------------------------------------------------------------------
1 |
2 | gridCfg = {
3 | $num: 4
4 | $spacing: 20px
5 | $type: 'grid'
6 | }
7 |
8 | ss-func-grid($class='.ss-row-custom', $config = false)
9 | cfg = merge({}, gridCfg, $config)
10 | {$class}
11 | @extends $flex-wrap
12 | .ss-col
13 | if (cfg.$type == 'grid')
14 | box-sizing: border-box
15 | width: "calc(100% / %s)" % cfg.$num
16 | padding: cfg.$spacing
17 | else
18 | flex: 1
19 | margin: cfg.$spacing
20 |
21 |
22 | ss-func-grid-x($class='.ss-row', $spacing = 10px)
23 | {$class}
24 | @extends $flex-wrap
25 | [class*=ss-col-]
26 | box-sizing: border-box;
27 | padding-left: $spacing
28 | padding-right: $spacing
29 | //一行分为24等份
30 | for value in 1..24
31 | .ss-col-{value}
32 | width: round((value/24) * 100%, 5)
33 | .ss-col-offset-{value}
34 | margin-left: round((value/24) * 100%, 5)
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/index.styl:
--------------------------------------------------------------------------------
1 | @import './icon'
2 | @import './color'
3 | @import './flex'
4 | @import './grid'
5 | @import './position'
6 | @import './badge'
7 | @import './animation'
8 | @import './textellipsis'
9 | @import './tips'
10 | @import './tag'
11 | @import './button'
12 | @import './custom'
13 | @import './input'
14 | @import './triangle'
15 | @import './tabbar'
16 | //组件用到的方法
17 | @import './list/*'
18 | @import './modules/*'
19 | // //业务用到的方法
20 | // @import './pages/*'
21 | @import './pages/destnation'
22 | @import './pages/login'
23 | @import './pages/steps'
24 |
25 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/input.styl:
--------------------------------------------------------------------------------
1 | ss-input-select($width = 50rpx)
2 | position: relative
3 | .select-title
4 | font-weight: normal
5 | .item-select
6 | position: absolute
7 | top: 0
8 | left: 0
9 | width: $width
10 | height: 100%
11 | opacity: 0
12 | z-index: 2
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/modules/tree.styl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/css/_commonx/cssFunc/modules/tree.styl
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/position.styl:
--------------------------------------------------------------------------------
1 | // -pos(type, args)
2 | // i = 0
3 | // position: unquote(type)
4 | // {args[i]}: args[i + 1] is a 'unit' ? args[i += 1] : 0
5 | // {args[i += 1]}: args[i + 1] is a 'unit' ? args[i += 1] : 0
6 |
7 | // absolute()
8 | // -pos('absolute', arguments)
9 |
10 | // fixed()
11 | // -pos('fixed', arguments)
12 |
13 |
14 | // 调用方法
15 | // absolute: top 150px left 5px
16 | // fixed: top left
17 |
18 |
19 | ss-position($type, $top = false, $left = false, $right = false, $bottom = false)
20 | position: $type
21 | if ($top != false)
22 | top: $top
23 | if ($left != false)
24 | left: $left
25 | if ($right != false)
26 | right: $right
27 | if ($bottom != false)
28 | bottom: $bottom
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/tag.styl:
--------------------------------------------------------------------------------
1 |
2 | // ss-tag($backgroud = #fff, $border = 1rpx solid #ccc,$color = #333, $br = 0, $padding = 0 8px, $height = 18px, $font-size = 12px, $line-height = 18px, $isflex = true)
3 | // background: $backgroud
4 | // border: $border
5 | // border-radius: $br
6 | // color: $color
7 | // font-size: $font-size
8 | // font-style: normal
9 | // padding: $padding
10 | // height: $height
11 | // line-height: $line-height
12 | // box-sizing: border-box
13 | // // if ($isflex == true)
14 | // // ss-display-flex(row nowrap, flex-start, center, center)
15 |
16 |
17 | btnConfig = {
18 | $bgc: $btn-bgc-default
19 | $pcolor: $btn-bgc-default
20 | }
21 |
22 | ss-tagFunc($class = '.tag-default', $config = false)
23 | cfg = merge({}, btnConfig, $config)
24 | {$class}
25 | background-color: cfg.$bgc
26 | border-color: @background-color
27 | color: cfg.$color || #fff
28 | &.plain
29 | background-color: cfg.$pbgc || #fff
30 | border-color: @border-color
31 | color: cfg.$pcolor
32 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/cssFunc/textellipsis.styl:
--------------------------------------------------------------------------------
1 | //指定几行出现省略号
2 | ss-textellipsis($line-clamp = 3, $max-height = false)
3 | if ($max-height != false)
4 | max-height: $max-height //加这个andriod会有兼容性问题
5 | overflow: hidden;
6 | text-overflow: ellipsis;
7 | display: -webkit-box;
8 | -webkit-line-clamp: $line-clamp;
9 | -webkit-box-orient: vertical;
10 | word-break: break-all;
11 | white-space: normal
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/alert.styl:
--------------------------------------------------------------------------------
1 | .ss-alert
2 | position: relative
3 | ss-tips('&')
4 | &.no-icon
5 | display: block
6 | &:before
7 | display: none
8 | &.info
9 | display: block
10 | background-color: lighten($tips-icon-info-color, 90%)
11 | border-color: lighten($tips-icon-info-color, 70%)
12 | box-shadow: $box-shadow-pop
13 | ss-display-flex(row wrap)
14 | &:before
15 | content: $tips-icon-info
16 | color: $tips-icon-info-color
17 | // .item-title, .item-content
18 | // display: block
19 | // .item-content
20 | // width: 100%
21 | .item-close
22 | position: absolute
23 | {$ab-tr}
24 | ss-icon($icon-del-s, 12px)
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/bt_table/index.styl:
--------------------------------------------------------------------------------
1 | @import './_3ds'
2 |
3 | ss-table-border('.table-bordered', $color-line-input, .75rem, 'tr', 'td, th')
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/droppop.styl:
--------------------------------------------------------------------------------
1 |
2 | .ss-selected
3 | border: 1px solid $borderColor
4 | border-radius: $inputBr
5 | box-sizing: border-box
6 | min-width: 120px
7 | ~/, .item-input-wrap
8 | ss-display-flex(row nowrap, flex-start, center)
9 | .item-input-wrap
10 | padding: 6px 18px 6px 10px
11 | box-sizing: border-box;
12 | &.tag
13 | .item-input-wrap
14 | display: block
15 | .item-input-wrap
16 | &:after
17 | display: none
18 | >*
19 | display: inline
20 | &.tag-pure
21 | border: none
22 | border-radius: none
23 | .item-click
24 | width: 80px
25 | border: 1px solid $borderColor
26 | border-radius: $inputBr
27 | display: inline-block
28 | text-align: left
29 | placeholder($color-text-title)
30 |
31 | input
32 | border: none
33 | flex: 1
34 | padding: 0
35 | width: 100%;
36 | max-width: 100%
37 | box-sizing: border-box;
38 | &:read-only
39 | cursor: pointer
40 | .item-input-wrap
41 | position: relative
42 | cursor: pointer
43 | width: 100%
44 | &:after
45 | content: $inputSelect
46 | font-size: 16px
47 | position: absolute;
48 | right: 6px;
49 | &:hover
50 | .icon-del
51 | display: block
52 | .icon-del
53 | display: none
54 | position: absolute
55 | right: 6px
56 | &:before
57 | font-size: 12px
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/form/_common/checkboxandradio.styl:
--------------------------------------------------------------------------------
1 | .c-checkandradio
2 | ss-form-checkbox-radio()
3 | margin-right: $space-small
4 | .radioGroup, .checkboxGroup
5 | >.fkp-content
6 | ss-display-flex(row wrap, flex-start)
7 | &[class*='tick']
8 | .rcItem
9 | margin-right: 10px
10 | &.disabled
11 | color: $borderColor
12 | .fkp-title
13 | position: relative
14 | z-index 2
15 | [class*='-box']
16 | background-color: $disabledColorBg
17 | border-color: $disabledColor
18 | cursor: default;
19 | .fkp-title
20 | padding: 7px 10px
21 | min-width 120px
22 | &:not([class*='tick'])
23 | .rcItem
24 | >.fkp-title
25 | order: 2
26 |
27 | .radioGroup
28 | &[class*='tick']
29 | .rcItem
30 | ss-form-checkbox-radio(2)
31 | &:not([class*='tick'])
32 | .rcItem
33 | @extends .c-checkandradio
34 | align-items: center
35 | .checkboxGroup
36 | &[class*='tick']
37 | .rcItem
38 | ss-form-checkbox-radio(2)
39 | &:not([class*='tick'])
40 | .rcItem
41 | @extends .c-checkandradio
42 | align-items: center
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/form/_common/select.styl:
--------------------------------------------------------------------------------
1 | //下拉
2 | .fkp-dd
3 | ss-form-select()
4 |
5 | //目的地
6 | .ss-dest-form
7 | display: block
8 | ss-form-destination()
9 |
10 | .form-destination
11 | >.fkp-content
12 | ss-form-destination()
13 |
14 | //日期选择
15 | .form-datepicker
16 | position: relative
17 | ss-form-date()
18 | &.time
19 | &:after
20 | content: '\e7bb'
21 |
22 |
23 | //搜索pop
24 | ss-pop('.item-pop-list')
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/form/_common/textarea.styl:
--------------------------------------------------------------------------------
1 | .form-textarea
2 | ss-form_control( $textareaHei, $width: $textareaWid)
3 | line-height: inherit
4 | resize: none;
5 | ss-func-customscroll(false, {$height: false})
6 |
7 | .htextarea
8 | ~.fkp-desc, .item-count
9 | // ss-display-flex(row nowrap, flex-end)
10 | position: absolute
11 | bottom: $space-small
12 | right: $space-small
13 | color: $placeholderColor
14 |
15 | .ss-form-textarea-single
16 | .form-textarea
17 | height: $inputHeight
18 | padding-right: 54px;
19 | .fkp-desc
20 | bottom: calc(50% - 7px);
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/modal.styl:
--------------------------------------------------------------------------------
1 | /*
2 | demo 演示,会把所有效果,都放在这里,因此代码量大,具体业务时,可参数以下方式去调用
3 |
4 | $type: 目前有三种状态,1默认弹出提示框,2弹出操作框,3两个框都存在
5 | abc 是新的参数,用来修改某个样式的值
6 | */
7 | abc = false
8 |
9 | ss-modal($class: '.ss-modal', $type: false)
10 | modal-bg('.ss-modal-bg')
11 | modal-wrap('.ss-modal-wrap')
12 |
13 | // ss-modal('.modal', 'tips', abc)
14 | // ss-modal('.modal', 'options', abc)
15 | .modal-container
16 | &.item-body-mhei
17 | .modal-body
18 | min-height: 300px
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/popup.styl:
--------------------------------------------------------------------------------
1 | //待删 用/tips替换
2 |
3 | // //有边线
4 | // triangle-hollow($border-left = 1px solid transparent,$border-right = 1px solid #6b6b6b,$border-top = 1px solid #6b6b6b,$border-bottom = 1px solid transparent, $width = 5px, $height = 5px, $transform = rotate(-45deg))
5 | // border-left: $border-left
6 | // border-right: $border-right
7 | // border-top: $border-top
8 | // border-bottom: $border-bottom
9 | // height: $width
10 | // width: $height
11 | // transform: $transform
12 |
13 |
14 | // .popup-wrap
15 | // background: #fff;
16 | // border: 1px solid $color-line-secondary
17 | // font-size: 14px
18 | // // width: 250px
19 | // width: 210px
20 | // position: absolute;
21 | // // top: 72px
22 | // // left: 0;
23 | // top: 68px;
24 | // left: -1px;
25 | // z-index: 9;
26 | // line-height: 14px;
27 | // box-shadow: $box-shadow-tips
28 | // padding: 4px 0 2px 0;
29 | // &.type-wrap
30 | // width: 140px
31 | // padding: 5px 10px
32 | // &:before
33 | // content: ''
34 | // position: absolute;
35 | // triangle-hollow(1px solid transparent, 1px solid #d2d2d2, 1px solid #d2d2d2, 1px solid transparent, 8px, 8px, $transform = rotate(-45deg))
36 | // top: -5px;
37 | // // left: 10px;
38 | // left: 26px;
39 | // z-index: 1;
40 | // background: #fff;
41 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/swiper/index.styl:
--------------------------------------------------------------------------------
1 | @import './_3ds'
2 |
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/table.styl:
--------------------------------------------------------------------------------
1 | ss-func-table()
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/tabs/index.styl:
--------------------------------------------------------------------------------
1 | menusCardCfg = {
2 | $activeType: 'card'
3 | $itemPadding: 0 20px
4 | }
5 | menusCardTagCfg = {
6 | $activeType: 'card-tag'
7 | $itemPadding: 0 20px
8 | $br: false
9 | $itemMargin: -1px
10 | }
11 | menusLineCfg = {
12 | $itemPadding: falsse
13 | $itemMargin: 0 20px
14 | }
15 | ss-tabs('.tabs-container.card', $menusConfig: menusCardCfg)
16 | ss-tabs('.tabs-container.card-tag', $menusConfig: menusCardTagCfg)
17 | ss-tabs('.tabs-container.line', $menusConfig: menusLineCfg)
--------------------------------------------------------------------------------
/src/mdSample/css/_commonx/modules/uploader/index.styl:
--------------------------------------------------------------------------------
1 | //上传
2 | ss-uploader('.default-wrap')
3 | ss-uploader('.poster-wrap')
4 | ss-uploader-file()
--------------------------------------------------------------------------------
/src/mdSample/css/common.styl:
--------------------------------------------------------------------------------
1 |
2 | *
3 | margin: 0
4 | padding: 0
5 |
6 | h5, h6
7 | font-weight: normal
8 |
9 | em
10 | font-style: normal
11 |
12 | .flex-1
13 | flex: 1
14 |
15 | .oh
16 | overflow hidden
17 |
18 | li
19 | list-style-type: none
20 |
21 | .ss-center
22 | text-align: center
23 | .ss-left
24 | text-align: left
25 | .ss-right
26 | text-align: right
27 |
28 | .ss-sizing-border
29 | box-sizing: border-box
30 |
31 | .ss-zindex-m
32 | position: relative
33 | z-index: -9999!important
34 | .none
35 | display none
36 | @extends .ss-zindex-m
37 | .disN
38 | display none!important
39 | @extends .ss-zindex-m
40 |
41 | .ss-opacity-0
42 | opacity: 0
43 |
44 | .ss-block
45 | display block
46 | .ss-i-block
47 | display: inline-block
48 |
49 | .ss-relative
50 | position: relative
51 |
52 | .ss-hover-underline
53 | &:hover
54 | text-decoration: underline
--------------------------------------------------------------------------------
/src/mdSample/css/index.styl:
--------------------------------------------------------------------------------
1 |
2 | @import './_commonx/config/theme/green' //系统主题
3 | @import './_commonx/config/codetheme/grey' //代码块模版
4 | @import './_commonx/cssFunc/pages/routerconfig/routerStyle3' //左边菜单列表模板
5 | @import './_commondoc' //各系统公用部分
--------------------------------------------------------------------------------
/src/mdSample/docs/aotoo/html.md:
--------------------------------------------------------------------------------
1 | # 产出结构结构
2 |
3 | AOTOO-HUB 编译完成 WEB 项目后会统一将文件输出到同源目录 DIST 目录中
4 |
5 | ```bash
6 | ├── dist
7 | ├── 1.0.1 # 版本目录
8 | ├── dev/pro # dev是开发输出目录, pro是生产输出目录(生产文件带有hash值)
9 | ├── js
10 | ├── vendors.js
11 | ├── common.js
12 | ├── index.js
13 | └── user.js
14 | ├── css
15 | ├── common.css
16 | ├── index.css
17 | └── user.css
18 | ├── html
19 | ├── index.html
20 | └── user.html
21 | ```
22 |
23 | 经过编译后,webpack会产出 HTML 模板用于服务端渲染,其结构大致如下
24 |
25 | ```html
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | ```
40 |
41 | **common.css**
42 | 公共CSS
43 |
44 | **vendors.js**
45 | 第三方库JS
46 |
47 | **common.js**
48 | 公共JS,由webpack抽取公共JS,并自动引入到页面模板中
49 |
50 | **[page].css**
51 | 代指业务CSS,不同页面对应不同css
52 |
53 | **[page].js**
54 | 代指业务JS,不同页面对应不同的JS
55 |
--------------------------------------------------------------------------------
/src/mdSample/docs/aotoo/life.md:
--------------------------------------------------------------------------------
1 | 生命周期
2 | ------------------
3 |
4 | 组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。其中,最重要的生命周期是 `created` `attached` `detached` ,包含一个组件实例生命流程的最主要时间点。生命周期的设计参考微信小程序
5 |
6 | ```js
7 | import createComponent, {$$} from '@aotoo/aotoo';
8 |
9 | const template = (state, props) => {
10 | return (
11 | {state.title}
12 | )
13 | }
14 |
15 | createComponent({
16 | data: {
17 | title: 'hello world',
18 | clsName: 'hello-class'
19 | },
20 |
21 | created: function(){
22 | // 在组件实例刚刚被创建时执行
23 | },
24 | attached: function() {
25 | // 在组件实例进入页面节点树时执行
26 | },
27 | ready: function(){
28 | // 在组件在视图层布局完成后执行
29 | },
30 | didUpdate: function(){
31 | // 在组件挂载后,每一次更新后会调用
32 | },
33 | detached: function() {
34 | // 在组件实例被从页面节点树移除时执行
35 | },
36 | },
37 | template
38 | )
39 | ```
40 |
--------------------------------------------------------------------------------
/src/mdSample/docs/aotoo/run.md:
--------------------------------------------------------------------------------
1 | # 启动 WEB 项目
2 |
3 | 新建项目后,进入 AOTOO-HUB 工作空间,在命令行中启动 WEB 项目
4 |
5 | ```bash
6 | cd ~/aotoo-hub-init-workspace # 初始化工作空间,使用 aotoo init workspace-name 创建的目录
7 | aotoo create project-name # 新建项目
8 | aotoo dev project-name # 以开发模式启动 WEB 项目
9 | ```
10 |
11 | ## 更多命令行工具
12 |
13 | 更多参考《脚手架》栏目中的说明,这里例举常用的命令
14 |
15 | ```bash
16 | cd ~/workspace
17 |
18 | aotoo dev project-name # 开发模式启动项目
19 | aotoo build project-name # 生产模式编译项目,需要手工启动
20 |
21 | aotoo dev project-name --config test # 启动测试环境
22 |
23 | node index.js --name project-name --config test # 编译后以生产模式启动项目,测试环境(适用于nginx部署)
24 | ```
25 |
--------------------------------------------------------------------------------
/src/mdSample/docs/aotoo/tree.md:
--------------------------------------------------------------------------------
1 |
2 | # tree元组件
3 |
4 | tree组件是内置组件,tree组件基于list组件而来,除了数据结构不同之外,其他与list组件一致
5 |
6 | ```js
7 | import {render} from '@aotoo/aotoo'
8 | const config = {...}
9 | const treeInst = ui_tree(config)
10 | render(, 'root')
11 | ```
12 |
13 | ## 数据结构
14 |
15 | ### list标准数据结构
16 |
17 | ```js
18 | listConfig = {
19 | data: [
20 | {title: '标题'},
21 | {title: '标题'},
22 | {title: '标题'},
23 | ]
24 | }
25 | ```
26 |
27 | ### tree数据结构
28 |
29 | ```js
30 | listConfig = {
31 | data: [
32 | {title: '标题', idf: 'aaa'},
33 | {title: '标题', parent: 'aaa'},
34 | {title: '标题', parent: 'aaa', idf: 'level2'},
35 | {title: '标题', parent: 'level2'},
36 | {title: '标题', parent: 'level2'},
37 | {title: '标题', parent: 'level2'},
38 |
39 | {title: '标题', idf: 'bbb'},
40 | {title: '标题', parent: 'bbb'},
41 | ]
42 | }
43 | ```
44 |
45 | __idf__
46 | 父级标识,{String}类型
47 |
48 | __parent__
49 | 指定父级, {String}类型
50 |
--------------------------------------------------------------------------------
/src/mdSample/docs/app/readme.md:
--------------------------------------------------------------------------------
1 | # APP开发
2 |
3 | APP 项目是最近在搞的新项目。在的相关文档后续会慢慢更新,现在这个版本是一个基础项目以供研究
4 |
5 | 基于REACT+NATIVE+EXPO技术基础。2021.5.27 号完成第一版工作,后面应该会有一个较长的不定期更新时间,目前正在做一套简单的博客APP。感兴趣的朋友可以先了解我们的开源项目 [hub-rn](https://gitee.com/webkixi/hub-rn) 第一版我们做了以下工作
6 |
7 | 1. 仿小程序
8 | 2. 引入AOTOO
9 |
10 | ## 仿小程序
11 |
12 | 初衷是降低 WEB/APP/MINIP 项目开发的学习成本,开发成本,维护成本。我们已经在WEB项目上实现了小程序的路由逻辑,组件开发逻辑(基于最新版AOTOO库),在RN上也遵循这一套开发思路
13 |
14 | ### 路由方法
15 |
16 | 使用RN的stack类型路由我们实现了以下方法, [小程序路由API](https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html)
17 |
18 | ```js
19 | nav.reLaunch
20 | nav.redirectTo
21 | nav.navigateTo
22 | nav.navigateBack
23 | ```
24 |
25 | ### 路由页面生命周期
26 |
27 | ```js
28 | Pager({
29 | data: {},
30 | onLoad(){},
31 | onShow(){},
32 | onReady(){},
33 | onUnload(){},
34 | })
35 | ```
36 |
37 | 使用 setData 更改数据使页面更新
38 |
39 | ## 引入AOTOO
40 |
41 | AOTOO是一套REACT的封装库,将REACT组件打包成JS对象,通过执行JS对象的API方法进而实现渲染,状态更新。 [AOTOO基础库说明](http://www.agzgz.com/aotoo)
42 |
43 | AOTOO库可以在WEB/APP(RN)/NODE环境中使用,以及AOTOO库在小程序中的变种(QUERYUI),我们力求统一各端的基础库,使各端开发切换更加平滑。
44 |
--------------------------------------------------------------------------------
/src/mdSample/docs/asset.md:
--------------------------------------------------------------------------------
1 | # 项目配置
2 |
3 | 每个项目对应一个配置,找到工作空间根目录,打开并编辑配置文件 aotoo.config.js
4 |
5 | **新建配置**
6 | 打开`aotoo.config.js`并配置`apps`字段
7 |
8 | ```javascript
9 | apps: [
10 | {
11 | name: 'new-project', // 项目名称
12 | version: '1.0.1', // 版本号,项目产出时依据此版本打包
13 | startup: true, // 是否默认启动
14 | server: false, // 是否启动node服务
15 | type: 'web', // 项目类型,填入 web/mp
16 | src: path.join(ROOT, 'src/aaa'), // 项目根目录,建议不要更改
17 | options: {
18 | scenes: 'default' // 项目当前环境,如测试环境,生产环境等
19 | },
20 | port: 8500 // 指定项目端口
21 | }
22 | ],
23 | }
24 | ```
25 |
26 | ## name
27 |
28 | 项目名称
29 |
30 | ## version
31 |
32 | 当前项目版本号,单独指定项目版本,不设置则与 package.json 中的 version 相同
33 |
34 | ## startup
35 |
36 | 默认为 true,是否启动该项目,支持多项目同时启动
37 |
38 | ## server
39 |
40 | **false(默认)**
41 | 项目为纯粹的前端项目,部署的时候将nginx服务目录指向 dist/1.0.0/pro/html/index.html 文件即可
42 |
43 | **true**
44 | 启用node为项目提供web服务,可指派独立端口,使用nginx反向代理到此端口即可提供web服务. node由`@aotoo/aotoo-koa-server`框架提供web服务(基于koa2).
45 |
46 | ## type
47 |
48 | 指定项目为小程序或者 web 项目,`web`为WEB项目,`mp`为腾讯小程序项目
49 |
50 | ## src
51 |
52 | 指定项目目录地址,不建议修改此目录
53 |
54 | ## options.scenes
55 |
56 | 指定项目的使用环境,如测试环境,生产环境等
57 |
58 | ## port
59 |
60 | 项目使用端口,server 为 true时,指定 node 端口,如果 server 为 false,指定 webpack-dev-server 的端口(开发模式下)
61 |
--------------------------------------------------------------------------------
/src/mdSample/docs/assetmini.md:
--------------------------------------------------------------------------------
1 | # hub的小程序
2 |
3 | `aotoo-hub`可以编译小程序,支持stylus,sass动态样式,支持markdown/html自动字符串化
4 |
5 | __创建小程序项目__
6 |
7 | ```bash
8 | aotoo create aaa
9 | ```
10 |
11 | 根据提示一步一步走
12 |
13 | __新建小程序配置__
14 | 打开`aotoo.config.js`并配置`apps`字段
15 |
16 | ```javascript
17 | apps: [
18 | // 项目aaa
19 | {
20 | name: 'aaa',
21 | version: '1.0.1',
22 | startup: true,
23 | server: false,
24 | src: path.join(ROOT, 'src/aaa'),
25 | type: 'mp',
26 | options: {
27 | cloud: false // 是否云开发
28 | },
29 | port: 8500 // 指定项目端口
30 | }
31 | ],
32 | }
33 | ```
34 |
35 | > type为`mp`,即该项目为小程序项目。type值默认为`web`
36 |
37 | 项目的其他配置请参考《项目配置》一文
38 |
39 | __启动项目__
40 | 操作命令行,启动项目,与普通web项目的命令一致
41 |
42 | ```bash
43 | aotoo dev aaa # 以开发模式启动项目,支持热更新
44 |
45 | aotoo build aaa # 以生产模式编译项目(不启动)
46 | ```
47 |
48 | 打开小程序开发工具,按照终端窗口提示的目录(黄色字体),将其设为小程序项目目录即可
49 |
--------------------------------------------------------------------------------
/src/mdSample/docs/demos/item.md:
--------------------------------------------------------------------------------
1 | ### CODE
2 |
3 | ```js
4 | const itemInstance = ui_item({
5 | title: '这句话是使用 ITEM 组件展示的'
6 | })
7 | ReactDOM.render(, document.getElementById('root'))
8 | ```
9 |
--------------------------------------------------------------------------------
/src/mdSample/docs/demos/itemcomplex.md:
--------------------------------------------------------------------------------
1 | ### CODE
2 |
3 | **BODY 结构**
4 | BODY 的子元素被包裹在 BODY 容器中
5 |
6 | ```js
7 | const itemInstance = ui_item({
8 | itemClass: 'item-entity',
9 | title: BODY结构
,
10 | body: [
11 | {title: 'body 结构-1'},
12 | {title: 'body 结构-2'},
13 | ]
14 | })
15 | ReactDOM.render(, document.getElementById('root'))
16 | ```
17 |
18 | **FOOTER 结构**
19 | FOOTER 的子元素被包裹在 FOOTER 容器中
20 |
21 | ```js
22 | const itemInstance = ui_item({
23 | itemClass: 'item-entity',
24 | title: FOOTER 结构
,
25 | body: [
26 | {title: 'body 结构-1'},
27 | {title: 'body 结构-2'},
28 | ],
29 | footer: [
30 | {title: 'footer 结构-1'},
31 | {title: 'footer 结构-2'},
32 | ]
33 | })
34 | ReactDOM.render(, document.getElementById('root'))
35 | ```
36 |
37 | **DOT 结构**
38 | DOT 的子元素没有包裹容器,DOT 子元素的父级元素为 ITEM 容器
39 |
40 | ```js
41 | const itemInstance = ui_item({
42 | itemClass: 'item-entity',
43 | title: FOOTER 结构
,
44 | body: [
45 | {title: 'body 结构-1'},
46 | {title: 'body 结构-2'},
47 | ],
48 | footer: [
49 | {title: 'footer 结构-1'},
50 | {title: 'footer 结构-2'},
51 | ],
52 | dot: [
53 | {title: ' ', itemClass: 'demo-dot'},
54 | {title: ' ', itemClass: 'demo-dot left'},
55 | ]
56 | })
57 | ReactDOM.render(, document.getElementById('root'))
58 | ```
59 |
--------------------------------------------------------------------------------
/src/mdSample/docs/demos/itemembed.md:
--------------------------------------------------------------------------------
1 | ### CODE
2 |
3 | ```js
4 | const itemInstance = ui_item({
5 | const Instance = ui_item({
6 | title: ITEM
,
7 | itemClass: 'item-entity',
8 | body: [
9 | {
10 | title: BODY-ITEM
,
11 | footer: [
12 | {
13 | title: "BODY-ITEM' FOOTER",
14 | }
15 | ]
16 | }
17 | ],
18 | footer: [
19 | {title: "ITEM' FOOTER"}
20 | ]
21 | })
22 | return
23 | })
24 | ReactDOM.render(, document.getElementById('root'))
25 | ```
26 |
--------------------------------------------------------------------------------
/src/mdSample/docs/demos/itemevent.md:
--------------------------------------------------------------------------------
1 | ### CODE
2 |
3 | 支持全部 REACT 事件, 此处仅例举两例
4 |
5 | #### onClick
6 |
7 | ```js
8 | const itemInstance = ui_item({
9 | itemClass: 'item-entity',
10 | title: 点击事件,点我试试
,
11 | onClick(){
12 | alert('响应点击事件')
13 | }
14 | })
15 | ReactDOM.render(, document.getElementById('root'))
16 | ```
17 |
18 | #### onMouseDown
19 |
20 | ```js
21 | const itemInstance = ui_item({
22 | itemClass: 'item-entity',
23 | title: 点击事件,点我试试
,
24 | onMouseDown(){
25 | alert('响应点击事件')
26 | }
27 | })
28 | ReactDOM.render(, document.getElementById('root'))
29 | ```
30 |
31 | #### 字符串事件
32 |
33 | ```js
34 | const itemInstance = ui_item({
35 | itemClass: 'item-entity',
36 | title: 点击事件,点我试试
,
37 | onClick: 'doneClick',
38 | doneClick(){
39 | alert('定义字符串事件')
40 | }
41 | })
42 | ReactDOM.render(, document.getElementById('root'))
43 | ```
44 |
45 | #### 带参字符串事件
46 |
47 | ```js
48 | const itemInstance = ui_item({
49 | itemClass: 'item-entity',
50 | title: 点击事件,点我试试
,
51 | onClick: 'doneClick?name=张三',
52 | doneClick(e, param){
53 | alert('name:' + param.name)
54 | }
55 | })
56 | ReactDOM.render(, document.getElementById('root'))
57 | ```
58 |
--------------------------------------------------------------------------------
/src/mdSample/docs/demos/iteminner.md:
--------------------------------------------------------------------------------
1 | ### CODE
2 |
3 | 定义内联组件可以使该组件内联到 ITEM 组件的配置项中使用
4 |
5 | #### 内联组件
6 |
7 | ```js
8 | import {extTemplate} from '@aotoo/aotoo'
9 |
10 | extTemplate({ // 内联组件必须先定义
11 | '@hello'(param, key){
12 | return (
13 |
14 | {param.title}
15 |
16 | )
17 | }
18 | })
19 |
20 | const InnerInstance = ui_item({
21 | itemClass: 'item-entity',
22 | "@hello": {
23 | title: '自定义内联组件'
24 | }
25 | })
26 |
27 | ReactDOM.render(, document.getElementById('root'))
28 | ```
29 |
--------------------------------------------------------------------------------
/src/mdSample/docs/demos/list.md:
--------------------------------------------------------------------------------
1 | ### CODE
2 |
3 | ```js
4 | const Instance = ui_list({
5 | data: [
6 | {title: '列表子项-1'},
7 | {title: '列表子项-2'},
8 | {title: '列表子项-3'},
9 | ],
10 | listClass: 'demo-list'
11 | })
12 | ReactDOM.render(, document.getElementById('root'))
13 | ```
14 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/event.md:
--------------------------------------------------------------------------------
1 | # 表单事件绑定
2 |
3 | 表单原生事件绑定
4 |
5 |
11 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/group-api.md:
--------------------------------------------------------------------------------
1 | # 单表单api演示
2 |
3 |
9 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/group.md:
--------------------------------------------------------------------------------
1 | # 组表单-api演示
2 |
3 | 增删改查组表单
4 |
5 |
11 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/input-api.md:
--------------------------------------------------------------------------------
1 | # 单表单api演示
2 |
3 |
9 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/mix-api.md:
--------------------------------------------------------------------------------
1 | # 复合表单api演示
2 |
3 | 增删改查复合表单
4 |
5 |
11 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/mix.md:
--------------------------------------------------------------------------------
1 | # 复合表单
2 |
3 | 复合类型支持同时输出多个不同type的表单
4 |
5 |
11 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/single.md:
--------------------------------------------------------------------------------
1 | # 单表单
2 |
3 | cell使用简单表单,使用内置支持的
4 |
5 |
12 |
--------------------------------------------------------------------------------
/src/mdSample/docs/form/demos/union.md:
--------------------------------------------------------------------------------
1 | # 表单联动
2 |
3 | 不同表单之间联动
4 |
5 |
11 |
--------------------------------------------------------------------------------
/src/mdSample/docs/install.md:
--------------------------------------------------------------------------------
1 | # 安装
2 |
3 | 安装环境
4 | ----------------
5 |
6 | - MACOSX
7 | - LINUX
8 | - LINUX子系统(win环境)
9 | - NODE >= 12
10 |
11 | 全局命令
12 | ----------------
13 |
14 | ```bash
15 | npm install -g yarn
16 | npm install -g expo-cli # REACT-NATIVE项目所需
17 | npm install -g aotoo-cli # aotoo命令行工具
18 |
19 | # aotoo -V # 查看版本,证明安装成功
20 | ```
21 |
22 | ## 初始化
23 |
24 | ```bash
25 | cd ~
26 | aotoo init workspace-name # 工作空间名称
27 | ```
28 |
29 | ## 创建项目
30 |
31 | 我们可以创建本地项目和远程项目,本地项目需要自行配置一些依赖,通常我们建议安装远程项目
32 |
33 | **本地项目**
34 |
35 | ```bash
36 | cd ~/workspace-name
37 | aotoo create project-name # 新建项目,完成后配置package.json安装所需依赖
38 | ```
39 |
40 | 远程项目则是一个个已经成型的项目环境,比如我们提供了REACT/VUE/小程序/RN的基础项目模板
41 |
42 | **远程项目**
43 |
44 | ```bash
45 | cd ~/workspace-name
46 | aotoo install https://www.github.com/...
47 | ```
48 |
--------------------------------------------------------------------------------
/src/mdSample/docs/logs/hub.md:
--------------------------------------------------------------------------------
1 | # 更新日志
2 |
3 | ## aotoo-hub更新日志
4 |
5 | #### 2020-01-09
6 |
7 | 新增远程项目hub-aotoo-antd,antd的基础使用环境
8 |
9 | ```bash
10 | aotoo install https://gitee.com/webkixi/hub-aotoo-antd.git
11 | ```
12 |
13 | #### 2020-01-05
14 |
15 | * 简化@aotoo/aotoo, @aotoo/react-pager,hub-aotoo-case项目的依赖
16 | * 支持由项目追加、设置webpack、babel配置项
17 |
18 | `wp-config.js`
19 | 该文件返回一个方法,用于设置webpack的常规设置
20 |
21 | `wp-babel.js`
22 | 该文件返回一个方法,用于追加或重置webpack的babel配置
23 |
24 | #### 2020-12-30
25 |
26 | * 更新aotoo-cli到版本1.0.32,替换github源为gitee源,优化初始化速度
27 |
28 | #### 2020-12-29
29 |
30 | * 更新aotoo-cli到版本1.0.31,优化交互流程
31 |
32 | * 优化aotoo-hub,修复react子项目为npm项目时,babel编译出错的问题
33 |
34 | #### 2020-12-28
35 |
36 | * 修改脚手架文档/4个演示项目,增加远程项目的安装和开发
37 |
38 | * 删除本地演示项目,将演示项目迁移至github,可通过install安装远程项目到本地
39 |
40 | * 优化本地创建小程序的模板
41 |
42 | * 优化小程序核心,item元组件,list元组件
43 |
44 | #### 2020-12-25
45 |
46 | * 支持安装远程项目(github/gitee的项目)
47 |
48 | * 优化编译css url()背景样式时出错的问题
49 |
50 | * 优化编译vue样式时弹出警告问题
51 |
52 | #### 历史优化
53 |
54 | 基于preprocess库优化模板功能,使模板支持include其他模板 --- 2020-11-19
55 |
56 | 优化server端自动生成的文件 -- 2020-11-18
57 |
58 | 优化文档演示系统markdown的高亮样式 -- 2020-11-15
59 |
60 | 新增文档路由方法reLaunch -- 2020-11-14
61 |
--------------------------------------------------------------------------------
/src/mdSample/docs/mddemo.md:
--------------------------------------------------------------------------------
1 | # hub 自带文档项目
2 |
3 | hub 自带文档项目(mdSample),该项目是一套完整的全栈演示项目,SPA, MPA, SEO, NODE服务,插件服务等
4 |
5 | > 在 github 中搜索 aotoo-xquery
6 |
7 | ## 创建工作空间
8 |
9 | ```bash
10 | aotoo init workspace
11 | ```
12 |
13 | ## 启动vue演示项目
14 |
15 | ```bash
16 | cd workspace
17 | aotoo dev
18 | ```
19 |
20 | > `注意:`当命令行提示时,请输入`n`,否则将会创建 web 项目
21 |
22 | ## 配置
23 |
24 | 打开`aotoo.config.js`,编辑`apps`字段,找到如下字段
25 |
26 | ```javascript
27 | apps: [
28 | {
29 | // 项目名称
30 | name: 'mdSample',
31 |
32 | // 指定项目版本
33 | version,
34 |
35 | // 是否启动项目,默认false不启动
36 | startup: true,
37 |
38 | // 是否启动node server,默认false,由webpack-dev-server提供服务
39 | server: false,
40 |
41 | // 省略前端编译,默认false,需要设置server=true
42 | // 只启动node端,开发模式提升效率,生产模式可直接部署
43 | onlynode: false,
44 |
45 | // 项目源码目录
46 | src: path.join(ROOT, 'src/mdSample'),
47 |
48 | // 指定项目端口,不指定则分配随机端口
49 | port: 8400,
50 |
51 | options: {
52 |
53 | // 项目环境,如测试,预发布,生产等
54 | // 建议使用命令行 --config test,选择环境配置
55 | // scenes: 'default'
56 | }
57 | },
58 | ],
59 | }
60 | ```
61 |
62 | `**修改startup为true**`
63 | 同时将其他项目的`startup改为false`,则可以使用简化启动方式
64 |
65 | ```bash
66 | aotoo dev # 启动startup为true的项目
67 |
68 | aotoo build # 以生产模式编译startup为true的项目
69 | ```
70 |
71 | `**修改server为true**`
72 | 此配置将启动node服务以提供支撑,可以观察server目录
73 |
--------------------------------------------------------------------------------
/src/mdSample/docs/minip/itemevent.md:
--------------------------------------------------------------------------------
1 |
2 | # item元组件api方法
3 |
4 | __获取item实例__
5 |
6 | ```js
7 | Pager({
8 | data: {
9 | itemData: {title: '标题', $$id: 'xxx', itemClass: 'item-class', tap: 'onTap?user=lili'}
10 | },
11 | onTap(e, param, inst){
12 | console.log(param) // user=lili
13 | },
14 | onReady(){
15 | let itemInst = this.getElementsById('xxx')
16 | }
17 | })
18 | ```
19 |
20 | ## 事件对应表
21 |
22 | | 事件名| 对应原生事件名 |
23 | | :-: | :-: |
24 | | tap | tap |
25 | | aim | catch:tap |
26 | | longpress | bind:longpress |
27 | | longtap | bind:longtap |
28 | | catchlongpress | catch:longpress |
29 | | catchlongtap | catch:longtap |
30 | | touchstart | bind:touchstart |
31 | | touchmove | bind:touchmove |
32 | | touchend | bind:touchend |
33 | | touchcancel | bind:touchcancel |
34 | | catchtouchstart | catch:touchstart |
35 | | catchtouchmove | catch:touchmove |
36 | | catchtouchend | catch:touchend |
37 | | catchtouchcacel | catch:touchcacel |
38 |
39 | ## 响应方法
40 |
41 | 上例中`onTap`为响应方法
42 |
43 | __e__
44 | 原生event
45 |
46 | __param__
47 | 事件方法传递的query参数
48 |
49 | __inst__
50 | 事件触发的主体,此处为item组件的实例
51 |
--------------------------------------------------------------------------------
/src/mdSample/docs/minip/startm.md:
--------------------------------------------------------------------------------
1 | # 小程序
2 |
3 | AOTOO-HUB 支持小程序编译,利用 WEBPACK 处理小程序的一些小毛病,比如 MARKDOWN,动态样式,HTML 等等。 小程序项目只能基于微信原生开发
4 |
5 | [**GITHUB**](https://github.com/webkixi/aotoo-xquery)
6 |
7 |
8 | -
9 |
10 |
11 | -
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/mdSample/docs/minip/tree.md:
--------------------------------------------------------------------------------
1 |
2 | # tree元组件
3 |
4 | tree组件是内置组件,tree组件基于list组件而来,除了数据结构不同之外,其他与list组件一致
5 |
6 | ## wxml模板
7 |
8 | ```html
9 |
10 | ```
11 |
12 | ## 配置
13 |
14 | ```js
15 | Pager({
16 | data: {
17 | config: {
18 | data: [],
19 | listClass: 'list-class'
20 | }
21 | }
22 | })
23 | ```
24 |
25 | ## 数据结构
26 |
27 | ### list标准数据结构
28 |
29 | ```js
30 | listConfig = {
31 | data: [
32 | {title: '标题'},
33 | {title: '标题'},
34 | {title: '标题'},
35 | ]
36 | }
37 | ```
38 |
39 | ### tree数据结构
40 |
41 | ```js
42 | listConfig = {
43 | data: [
44 | {title: '标题', idf: 'aaa'},
45 | {title: '标题', parent: 'aaa'},
46 | {title: '标题', parent: 'aaa', idf: 'level2'},
47 | {title: '标题', parent: 'level2'},
48 | {title: '标题', parent: 'level2'},
49 | {title: '标题', parent: 'level2'},
50 |
51 | {title: '标题', idf: 'bbb'},
52 | {title: '标题', parent: 'bbb'},
53 | ]
54 | }
55 | ```
56 |
57 | **idf**
58 | 父级标识,{String}类型
59 |
60 | **parent**
61 | 指定父级, {String}类型
62 |
--------------------------------------------------------------------------------
/src/mdSample/docs/reactdemo.md:
--------------------------------------------------------------------------------
1 | # hub 自带reactdemo
2 |
3 | hub 自带react项目的demo,该项目是一个空项目(react@16),观察与了解或者修改此项目,帮助熟悉hub的项目结构
4 |
5 | > 在 github 中搜索 aotoo-xquery
6 |
7 | ## 创建工作空间
8 |
9 | ```bash
10 | aotoo init workspace
11 | ```
12 |
13 | ## 启动react演示项目
14 |
15 | ```bash
16 | cd workspace
17 | aotoo dev reactSample
18 | ```
19 |
20 | > `注意:`当命令行提示时,请输入`n`,否则将会创建 web 项目
21 |
22 | ## 配置
23 |
24 | 打开`aotoo.config.js`,编辑`apps`字段,找到如下字段
25 |
26 | ```javascript
27 | apps: [
28 | {
29 | name: 'reactSample',
30 | startup: false,
31 | server: false,
32 | src: path.join(ROOT, 'src/reactSample'), // 指定项目源码目录
33 | },
34 | ],
35 | }
36 | ```
37 |
38 | `**修改startup为true**`
39 | 同时将其他项目的`startup改为false`,则可以使用简化启动方式
40 |
41 | ```bash
42 | aotoo dev # 启动startup为true的项目
43 |
44 | aotoo build # 以生产模式编译startup为true的项目
45 | ```
46 |
47 | `**修改server为true**`
48 | 此配置将启动node服务以提供支撑,可以观察server目录
49 |
--------------------------------------------------------------------------------
/src/mdSample/docs/service.md:
--------------------------------------------------------------------------------
1 | # 启动多个项目
2 |
3 | 创建多个项目,并同时启动它们
4 |
5 | ## 创建项目
6 |
7 | ```bash
8 | aotoo create aaa
9 | aotoo create bbb
10 | aotoo create ccc
11 | ```
12 |
13 | ## 配置文件
14 |
15 | 打开`aotoo.config.js`,编辑`apps`字段
16 |
17 | ```javascript
18 | apps: [
19 | // 默认项目,hub自带项目
20 | {
21 | name: 'aotooSample',
22 | startup: false, // 改为false,使该项目默认不启动
23 | ...
24 | },
25 |
26 | // 项目aaa
27 | {
28 | name: 'aaa',
29 | startup: true,
30 | src: path.join(ROOT, 'src/aaa'),
31 | port: 8500 // 指定项目端口
32 | }
33 | ],
34 |
35 | // 项目bbb
36 | {
37 | name: 'bbb',
38 | startup: true,
39 | src: path.join(ROOT, 'src/bbb'),
40 | port: 8600 // 指定项目端口
41 | }
42 | ],
43 |
44 | // 项目ccc
45 | {
46 | name: 'ccc',
47 | startup: true,
48 | src: path.join(ROOT, 'src/ccc'),
49 | port: 8700 // 指定项目端口
50 | }
51 | ],
52 | }
53 | ```
54 |
55 | ## 启动项目
56 |
57 | ```bash
58 | aotoo dev # 启动所有startup字段为true的项目,开发环境
59 |
60 | aotoo start # 启动所有startup字段为true的项目,生产环境
61 | ```
62 |
63 | ## 目录结构
64 |
65 | ```bash
66 | hub环境
67 | └── src
68 | ├─ aaa
69 | ├─ bbb
70 | └─ ccc
71 | ```
72 |
--------------------------------------------------------------------------------
/src/mdSample/docs/startr.md:
--------------------------------------------------------------------------------
1 | # 安装远程项目
2 |
3 | hub环境可以通过命令行安装远程项目(符合hub的目录结构),项目类型不区分技术栈,可以是react/vue/小程序/node
4 |
5 | [**GITHUB**](https://github.com/webkixi/aotoo-xquery)
6 |
7 | ## 创建工作空间
8 |
9 | ```bash
10 | aotoo init workspace
11 | ```
12 |
13 | ## 安装远程项目
14 |
15 | 下例项目为vue2的空项目,包含vue及vue-router,有简单的演示效果,可以用来快速部署vue环境
16 |
17 | ```bash
18 | cd workspace
19 | aotoo install https://github.com/webkixi/hub-vue2.git
20 | ```
21 |
22 | >>>> 按提示进行
23 |
--------------------------------------------------------------------------------
/src/mdSample/docs/vuedemo.md:
--------------------------------------------------------------------------------
1 | # hub 自带vuedemo
2 |
3 | hub 自带vue项目的demo,该项目是一个空项目(vue2.0及vue-router),观察与了解或者修改此项目,帮助熟悉hub的项目结构
4 |
5 | > 在 github 中搜索 aotoo-xquery
6 |
7 | ## 创建工作空间
8 |
9 | ```bash
10 | aotoo init workspace
11 | ```
12 |
13 | ## 启动vue演示项目
14 |
15 | ```bash
16 | cd workspace
17 | aotoo dev vueSample
18 | ```
19 |
20 | > `注意:`当命令行提示时,请输入`n`,否则将会创建 web 项目
21 |
22 | ## 配置
23 |
24 | 打开`aotoo.config.js`,编辑`apps`字段,找到如下字段
25 |
26 | ```javascript
27 | apps: [
28 | {
29 | name: 'vueSample',
30 | startup: false,
31 | server: false,
32 | src: path.join(ROOT, 'src/vueSample'), // 指定项目源码目录
33 | },
34 | ],
35 | }
36 | ```
37 |
38 | `**修改startup为true**`
39 | 同时将其他项目的`startup改为false`,则可以使用简化启动方式
40 |
41 | ```bash
42 | aotoo dev # 启动startup为true的项目
43 |
44 | aotoo build # 以生产模式编译startup为true的项目
45 | ```
46 |
47 | `**修改server为true**`
48 | 此配置将启动node服务以提供支撑,可以观察server目录
49 |
--------------------------------------------------------------------------------
/src/mdSample/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ~~pagetitle~~
5 |
6 | ~~commoncss~~
7 | ~~env~~
8 |
9 |
10 | ~~root~~
11 | ~~commonscript~~
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/mdSample/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/favicon.ico
--------------------------------------------------------------------------------
/src/mdSample/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/logo.png
--------------------------------------------------------------------------------
/src/mdSample/images/minip/collapse.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/collapse.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/dd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/dd.gif
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-1.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-2.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-3.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-4.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-5.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-6.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-7.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-8.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter-getvalue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter-getvalue.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/filter.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/filter.gif
--------------------------------------------------------------------------------
/src/mdSample/images/minip/locker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/locker.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/minip/popup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/popup.png
--------------------------------------------------------------------------------
/src/mdSample/images/minip/sslider.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/minip/sslider.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/others/fruit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/others/fruit.png
--------------------------------------------------------------------------------
/src/mdSample/images/structor.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/structor.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/ui/css.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/css.png
--------------------------------------------------------------------------------
/src/mdSample/images/ui/loading-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/loading-logo.png
--------------------------------------------------------------------------------
/src/mdSample/images/ui/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/loading.png
--------------------------------------------------------------------------------
/src/mdSample/images/ui/qqqun.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/qqqun.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/ui/saui-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/saui-logo.png
--------------------------------------------------------------------------------
/src/mdSample/images/ui/saui.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/saui.jpeg
--------------------------------------------------------------------------------
/src/mdSample/images/ui/saui2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/saui2.jpg
--------------------------------------------------------------------------------
/src/mdSample/images/ui/ss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/ss.png
--------------------------------------------------------------------------------
/src/mdSample/images/ui/xquery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webkixi/aotoo-hub/6c7571c162e82cfe3477eacd0b8b420d8551d896/src/mdSample/images/ui/xquery.png
--------------------------------------------------------------------------------
/src/mdSample/js/aotoo/_subpages/a.js:
--------------------------------------------------------------------------------
1 | const {lib} = ao2
2 |
3 | function template(state, props) {
4 | // let md = requireMarkdown(state.file)
5 | // let mdContent = ui_item({
6 | // "@html": md,
7 | // itemClass: 'markdown-body'
8 | // })
9 | // return
10 |
11 | return requireMarkdown(state.file)
12 | }
13 |
14 | export default function(Pager) {
15 | return Pager({
16 | template,
17 |
18 | data: {
19 | file: 'readme.md'
20 | },
21 |
22 | onLoad(options){
23 | console.log(options, '======= onLoad options');
24 | let $file = this.getData().file
25 | let file = options.file
26 | if (file && file !== $file) {
27 | this.setData({ file })
28 | }
29 | },
30 |
31 | onUnload(){
32 | console.log('====== unload a');
33 | },
34 |
35 | onReady(){
36 | let parent = document.querySelector('.router-page')
37 | parent.scrollTop = 0
38 | }
39 | })
40 | }
--------------------------------------------------------------------------------
/src/mdSample/js/aotoo/doc.html:
--------------------------------------------------------------------------------
1 |