├── .gitignore
├── README.md
├── app
├── README.md
├── app.js
├── app.json
├── app.wxss
├── class
│ ├── colorui.wxss
│ ├── cui-icon.wxss
│ └── icon.wxss
├── common
│ ├── commonUtils.js
│ └── request.js
├── dist
│ ├── action-sheet
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── area
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── button
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── calendar
│ │ ├── calendar.wxml
│ │ ├── components
│ │ │ ├── header
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ └── index.wxss
│ │ │ └── month
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.js
│ │ │ │ ├── index.json
│ │ │ │ ├── index.wxml
│ │ │ │ ├── index.wxs
│ │ │ │ └── index.wxss
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── utils.d.ts
│ │ ├── utils.js
│ │ └── utils.wxs
│ ├── card
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── cell-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── cell
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── checkbox-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── checkbox
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── circle
│ │ ├── canvas.d.ts
│ │ ├── canvas.js
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── col
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── collapse-item
│ │ ├── animate.d.ts
│ │ ├── animate.js
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── collapse
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── common
│ │ ├── color.d.ts
│ │ ├── color.js
│ │ ├── component.d.ts
│ │ ├── component.js
│ │ ├── index.wxss
│ │ ├── relation.d.ts
│ │ ├── relation.js
│ │ ├── style
│ │ │ ├── clearfix.wxss
│ │ │ ├── ellipsis.wxss
│ │ │ ├── hairline.wxss
│ │ │ ├── mixins
│ │ │ │ ├── clearfix.wxss
│ │ │ │ ├── ellipsis.wxss
│ │ │ │ └── hairline.wxss
│ │ │ ├── theme.wxss
│ │ │ └── var.wxss
│ │ ├── utils.d.ts
│ │ ├── utils.js
│ │ ├── validator.d.ts
│ │ ├── validator.js
│ │ ├── version.d.ts
│ │ └── version.js
│ ├── count-down
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── utils.d.ts
│ │ └── utils.js
│ ├── datetime-picker
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── definitions
│ │ ├── index.d.ts
│ │ └── index.js
│ ├── dialog
│ │ ├── dialog.d.ts
│ │ ├── dialog.js
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── divider
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── dropdown-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── shared.d.ts
│ │ └── shared.js
│ ├── dropdown-menu
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── empty
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── field
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── input.wxml
│ │ ├── props.d.ts
│ │ ├── props.js
│ │ └── textarea.wxml
│ ├── goods-action-button
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── goods-action-icon
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── goods-action
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── grid-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── grid
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── icon
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── image
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── index-anchor
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── index-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── info
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── loading
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── mixins
│ │ ├── basic.d.ts
│ │ ├── basic.js
│ │ ├── button.d.ts
│ │ ├── button.js
│ │ ├── link.d.ts
│ │ ├── link.js
│ │ ├── open-type.d.ts
│ │ ├── open-type.js
│ │ ├── page-scroll.d.ts
│ │ ├── page-scroll.js
│ │ ├── touch.d.ts
│ │ ├── touch.js
│ │ ├── transition.d.ts
│ │ └── transition.js
│ ├── nav-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── notice-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── notify
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── notify.d.ts
│ │ └── notify.js
│ ├── overlay
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── panel
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── picker-column
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── picker
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── shared.d.ts
│ │ ├── shared.js
│ │ └── toolbar.wxml
│ ├── popup
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── progress
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── project.config.json
│ ├── radio-group
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── radio
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── rate
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── row
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── search
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── share-sheet
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── options.d.ts
│ │ ├── options.js
│ │ ├── options.json
│ │ ├── options.wxml
│ │ ├── options.wxs
│ │ └── options.wxss
│ ├── sidebar-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── sidebar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── skeleton
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── slider
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── stepper
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── steps
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── sticky
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── submit-bar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── swipe-cell
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── switch
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── tab
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── tabbar-item
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── tabbar
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ ├── tabs
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── tag
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── toast
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── toast.d.ts
│ │ └── toast.js
│ ├── transition
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── tree-select
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ └── index.wxss
│ ├── uploader
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxs
│ │ ├── index.wxss
│ │ ├── shared.d.ts
│ │ ├── shared.js
│ │ ├── utils.d.ts
│ │ └── utils.js
│ └── wxs
│ │ ├── add-unit.wxs
│ │ ├── array.wxs
│ │ ├── bem.wxs
│ │ ├── memoize.wxs
│ │ ├── object.wxs
│ │ ├── style.wxs
│ │ └── utils.wxs
├── img
│ ├── goodscar.png
│ ├── goodscar1.png
│ ├── home.png
│ ├── home1.png
│ ├── logo.png
│ ├── message.png
│ ├── message1.png
│ ├── my.png
│ └── my1.png
├── pages
│ ├── address
│ │ ├── add
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── edit
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── auth
│ │ ├── auth.js
│ │ ├── auth.json
│ │ ├── auth.wxml
│ │ └── auth.wxss
│ ├── coupon
│ │ ├── add
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── detail
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── index
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── goods
│ │ ├── add
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── edit
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── home
│ │ ├── bulletin
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── doc
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── groom
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── index
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── joinus
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── search
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── order
│ │ ├── album
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── detail
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── details
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── evaluate
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── index
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── music
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── play
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── scar
│ │ ├── index
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── order
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── shop
│ │ ├── goods
│ │ │ ├── details.js
│ │ │ ├── details.json
│ │ │ ├── details.wxml
│ │ │ └── details.wxss
│ │ ├── index
│ │ │ ├── details.js
│ │ │ ├── details.json
│ │ │ ├── details.wxml
│ │ │ ├── details.wxss
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── search
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ ├── user
│ │ ├── address
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── alert
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── audit
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── detail
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── goods
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── index
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ ├── message
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── post
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ └── vipcard
│ │ ├── details
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ └── index
│ │ ├── index.js
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
├── project.config.json
├── sitemap.json
└── utils
│ ├── request.js
│ └── util.js
├── backend
├── .gitignore
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── cc
│ │ └── mrbird
│ │ └── febs
│ │ ├── FebsApplication.java
│ │ ├── common
│ │ ├── annotation
│ │ │ ├── IsCron.java
│ │ │ ├── Limit.java
│ │ │ └── Log.java
│ │ ├── aspect
│ │ │ ├── LimitAspect.java
│ │ │ └── LogAspect.java
│ │ ├── authentication
│ │ │ ├── JWTFilter.java
│ │ │ ├── JWTToken.java
│ │ │ ├── JWTUtil.java
│ │ │ ├── ShiroConfig.java
│ │ │ └── ShiroRealm.java
│ │ ├── config
│ │ │ ├── AlipayConfig.java
│ │ │ ├── AsyncExecutorPoolConfig.java
│ │ │ ├── MinioConfig.java
│ │ │ ├── MyWebMvcConfigurerAdapter.java
│ │ │ ├── MybatisPlusConfig.java
│ │ │ ├── P6spySqlFormatConfig.java
│ │ │ └── RedisConfig.java
│ │ ├── controller
│ │ │ └── BaseController.java
│ │ ├── converter
│ │ │ └── TimeConverter.java
│ │ ├── domain
│ │ │ ├── ActiveUser.java
│ │ │ ├── FebsConstant.java
│ │ │ ├── FebsResponse.java
│ │ │ ├── LimitType.java
│ │ │ ├── QueryRequest.java
│ │ │ ├── RedisInfo.java
│ │ │ ├── RegexpConstant.java
│ │ │ ├── Tree.java
│ │ │ └── router
│ │ │ │ ├── RouterMeta.java
│ │ │ │ └── VueRouter.java
│ │ ├── exception
│ │ │ ├── FebsException.java
│ │ │ ├── LimitAccessException.java
│ │ │ ├── RedisConnectException.java
│ │ │ └── TokenTimeoutException.java
│ │ ├── function
│ │ │ ├── CacheSelector.java
│ │ │ └── JedisExecutor.java
│ │ ├── generator
│ │ │ └── CodeGenerator.java
│ │ ├── handler
│ │ │ └── GlobalExceptionHandler.java
│ │ ├── properties
│ │ │ ├── FebsProperties.java
│ │ │ └── ShiroProperties.java
│ │ ├── runner
│ │ │ ├── CacheInitRunner.java
│ │ │ └── StartedUpRunner.java
│ │ ├── service
│ │ │ ├── CacheService.java
│ │ │ ├── RedisService.java
│ │ │ └── impl
│ │ │ │ ├── CacheServiceImpl.java
│ │ │ │ └── RedisServiceImpl.java
│ │ ├── task
│ │ │ └── CacheTask.java
│ │ ├── utils
│ │ │ ├── AddressUtil.java
│ │ │ ├── DateUtil.java
│ │ │ ├── EncryptUtil.java
│ │ │ ├── FebsUtil.java
│ │ │ ├── FileDownloadUtils.java
│ │ │ ├── FileNameUtils.java
│ │ │ ├── FileUtil.java
│ │ │ ├── HttpContextUtil.java
│ │ │ ├── HttpUtil.java
│ │ │ ├── IPUtil.java
│ │ │ ├── MD5Util.java
│ │ │ ├── R.java
│ │ │ ├── SortUtil.java
│ │ │ ├── SpaceUtil.java
│ │ │ ├── SpringContextUtil.java
│ │ │ └── TreeUtil.java
│ │ └── validator
│ │ │ └── CronValidator.java
│ │ ├── cos
│ │ ├── controller
│ │ │ ├── AlbumInfoController.java
│ │ │ ├── BulletinInfoController.java
│ │ │ ├── CollectInfoController.java
│ │ │ ├── EvaluateInfoController.java
│ │ │ ├── FileController.java
│ │ │ ├── LyricsInfoController.java
│ │ │ ├── MessageInfoController.java
│ │ │ ├── MusicInfoController.java
│ │ │ ├── MusicPlayRecordController.java
│ │ │ ├── MusicTypeInfoController.java
│ │ │ ├── SingerInfoController.java
│ │ │ ├── SubscriptionInfoController.java
│ │ │ ├── UserInfoController.java
│ │ │ └── WebController.java
│ │ ├── dao
│ │ │ ├── AlbumInfoMapper.java
│ │ │ ├── BulletinInfoMapper.java
│ │ │ ├── CollectInfoMapper.java
│ │ │ ├── EvaluateInfoMapper.java
│ │ │ ├── LyricsInfoMapper.java
│ │ │ ├── MessageInfoMapper.java
│ │ │ ├── MusicInfoMapper.java
│ │ │ ├── MusicPlayRecordMapper.java
│ │ │ ├── MusicTypeInfoMapper.java
│ │ │ ├── SingerInfoMapper.java
│ │ │ ├── SubscriptionInfoMapper.java
│ │ │ └── UserInfoMapper.java
│ │ ├── entity
│ │ │ ├── AlbumInfo.java
│ │ │ ├── BulletinInfo.java
│ │ │ ├── CollectInfo.java
│ │ │ ├── EvaluateInfo.java
│ │ │ ├── LyricsInfo.java
│ │ │ ├── MessageInfo.java
│ │ │ ├── MusicInfo.java
│ │ │ ├── MusicPlayRecord.java
│ │ │ ├── MusicTypeInfo.java
│ │ │ ├── SingerInfo.java
│ │ │ ├── SubscriptionInfo.java
│ │ │ └── UserInfo.java
│ │ └── service
│ │ │ ├── IAlbumInfoService.java
│ │ │ ├── IBulletinInfoService.java
│ │ │ ├── ICollectInfoService.java
│ │ │ ├── IEvaluateInfoService.java
│ │ │ ├── ILyricsInfoService.java
│ │ │ ├── IMailService.java
│ │ │ ├── IMessageInfoService.java
│ │ │ ├── IMusicInfoService.java
│ │ │ ├── IMusicPlayRecordService.java
│ │ │ ├── IMusicTypeInfoService.java
│ │ │ ├── ISingerInfoService.java
│ │ │ ├── ISubscriptionInfoService.java
│ │ │ ├── IUserInfoService.java
│ │ │ └── impl
│ │ │ ├── AlbumInfoServiceImpl.java
│ │ │ ├── BulletinInfoServiceImpl.java
│ │ │ ├── CollectInfoServiceImpl.java
│ │ │ ├── EvaluateInfoServiceImpl.java
│ │ │ ├── IMailServiceImpl.java
│ │ │ ├── LyricsInfoServiceImpl.java
│ │ │ ├── MessageInfoServiceImpl.java
│ │ │ ├── MusicInfoServiceImpl.java
│ │ │ ├── MusicPlayRecordServiceImpl.java
│ │ │ ├── MusicTypeInfoServiceImpl.java
│ │ │ ├── SingerInfoServiceImpl.java
│ │ │ ├── SubscriptionInfoServiceImpl.java
│ │ │ └── UserInfoServiceImpl.java
│ │ └── system
│ │ ├── controller
│ │ ├── DeptController.java
│ │ ├── DictController.java
│ │ ├── LogController.java
│ │ ├── LoginController.java
│ │ ├── MenuController.java
│ │ ├── RedisController.java
│ │ ├── RoleController.java
│ │ ├── TestController.java
│ │ └── UserController.java
│ │ ├── dao
│ │ ├── DeptMapper.java
│ │ ├── DictMapper.java
│ │ ├── LogMapper.java
│ │ ├── LoginLogMapper.java
│ │ ├── MenuMapper.java
│ │ ├── RoleMapper.java
│ │ ├── RoleMenuMapper.java
│ │ ├── TestMapper.java
│ │ ├── UserConfigMapper.java
│ │ ├── UserMapper.java
│ │ └── UserRoleMapper.java
│ │ ├── domain
│ │ ├── Dept.java
│ │ ├── Dict.java
│ │ ├── LoginLog.java
│ │ ├── Menu.java
│ │ ├── Role.java
│ │ ├── RoleMenu.java
│ │ ├── SysLog.java
│ │ ├── Test.java
│ │ ├── User.java
│ │ ├── UserConfig.java
│ │ └── UserRole.java
│ │ ├── manager
│ │ └── UserManager.java
│ │ └── service
│ │ ├── DeptService.java
│ │ ├── DictService.java
│ │ ├── LogService.java
│ │ ├── LoginLogService.java
│ │ ├── MenuService.java
│ │ ├── RoleMenuServie.java
│ │ ├── RoleService.java
│ │ ├── TestService.java
│ │ ├── UserConfigService.java
│ │ ├── UserRoleService.java
│ │ ├── UserService.java
│ │ └── impl
│ │ ├── DeptServiceImpl.java
│ │ ├── DictServiceImpl.java
│ │ ├── LogServiceImpl.java
│ │ ├── LoginLogServiceImpl.java
│ │ ├── MenuServiceImpl.java
│ │ ├── RoleMenuServiceImpl.java
│ │ ├── RoleServiceImpl.java
│ │ ├── TestServiceImpl.java
│ │ ├── UserConfigServiceImpl.java
│ │ ├── UserRoleServiceImpl.java
│ │ └── UserServiceImpl.java
│ └── resources
│ ├── ValidationMessages.properties
│ ├── application.yml
│ ├── banner.txt
│ ├── config
│ └── alipay.properties
│ ├── generator
│ └── templates
│ │ ├── controller.java.ftl
│ │ ├── entity.java.ftl
│ │ ├── mapper.java.ftl
│ │ ├── mapper.xml.ftl
│ │ ├── service.java.ftl
│ │ └── serviceImpl.java.ftl
│ ├── ip2region
│ └── ip2region.db
│ ├── logback-spring.xml
│ ├── mapper
│ ├── cos
│ │ ├── AlbumInfoMapper.xml
│ │ ├── BulletinInfoMapper.xml
│ │ ├── CollectInfoMapper.xml
│ │ ├── EvaluateInfoMapper.xml
│ │ ├── LyricsInfoMapper.xml
│ │ ├── MessageInfoMapper.xml
│ │ ├── MusicInfoMapper.xml
│ │ ├── MusicPlayRecordMapper.xml
│ │ ├── MusicTypeInfoMapper.xml
│ │ ├── SingerInfoMapper.xml
│ │ ├── SubscriptionInfoMapper.xml
│ │ └── UserInfoMapper.xml
│ └── system
│ │ ├── LoginLogMapper.xml
│ │ ├── MenuMapper.xml
│ │ ├── RoleMapper.xml
│ │ ├── UserMapper.xml
│ │ └── UserRoleMapper.xml
│ ├── spy.properties
│ └── templates
│ ├── email.html
│ └── registerEmail.html
└── frontend
├── .babelrc
├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .gitattributes
├── .idea
├── .gitignore
├── frontend.iml
├── git_toolbox_blame.xml
├── inspectionProfiles
│ └── Project_Default.xml
├── modules.xml
└── vcs.xml
├── .postcssrc.js
├── build
├── build.js
├── check-versions.js
├── logo.png
├── utils.js
├── vue-loader.conf.js
├── webpack.base.conf.js
├── webpack.dev.conf.js
└── webpack.prod.conf.js
├── config
├── dev.env.js
├── index.js
├── prod.env.js
└── test.env.js
├── index.html
├── package-lock.json
├── package.json
├── src
├── FEBS.vue
├── components
│ ├── checkbox
│ │ ├── ColorCheckbox.vue
│ │ └── ImgCheckbox.vue
│ ├── datetime
│ │ └── RangeDate.vue
│ ├── exception
│ │ ├── ExceptionPage.vue
│ │ └── typeConfig.js
│ ├── menu
│ │ ├── Contextmenu.vue
│ │ ├── SiderMenu.vue
│ │ └── menu.js
│ ├── setting
│ │ ├── Setting.vue
│ │ ├── SettingItem.vue
│ │ └── StyleItem.vue
│ └── tool
│ │ └── Drawer.vue
├── main.js
├── router
│ └── index.js
├── store
│ ├── index.js
│ └── modules
│ │ ├── account.js
│ │ └── setting.js
├── utils
│ ├── color.js
│ ├── common.js
│ ├── device.js
│ ├── install.js
│ ├── localstorage.js
│ ├── map
│ │ ├── baiduMap.js
│ │ ├── gisMap.js
│ │ └── searchmap
│ │ │ ├── drawerMap.vue
│ │ │ └── index.vue
│ ├── permissionDirect.js
│ ├── request.js
│ └── utils.less
└── views
│ ├── HomePage.vue
│ ├── common
│ ├── EmptyPageView.vue
│ ├── GlobalFooter.vue
│ ├── GlobalHeader.vue
│ ├── GlobalLayout.vue
│ ├── HeadInfo.vue
│ ├── HeaderAvatar.vue
│ ├── MenuView.vue
│ ├── PageContent.vue
│ ├── PageLayout.vue
│ └── PageView.vue
│ ├── error
│ ├── 403.vue
│ ├── 404.vue
│ └── 500.vue
│ ├── login
│ ├── Common.vue
│ ├── Login.vue
│ └── Regist.vue
│ ├── manage
│ ├── album
│ │ ├── Album.vue
│ │ ├── AlbumAdd.vue
│ │ └── AlbumEdit.vue
│ ├── bulletin
│ │ ├── Bulletin.vue
│ │ ├── BulletinAdd.vue
│ │ └── BulletinEdit.vue
│ ├── collect
│ │ └── Collect.vue
│ ├── component
│ │ ├── home
│ │ │ └── Home.vue
│ │ └── work
│ │ │ └── Work.vue
│ ├── evaluate
│ │ └── Evaluate.vue
│ ├── lyrics
│ │ ├── Lyrics.vue
│ │ ├── LyricsAdd.vue
│ │ └── LyricsEdit.vue
│ ├── message
│ │ └── Message.vue
│ ├── music
│ │ ├── Music.vue
│ │ ├── MusicAdd.vue
│ │ └── MusicEdit.vue
│ ├── record
│ │ └── Record.vue
│ ├── singer
│ │ ├── Singer.vue
│ │ ├── SingerAdd.vue
│ │ └── SingerEdit.vue
│ ├── subscription
│ │ └── Subscription.vue
│ ├── type
│ │ ├── Type.vue
│ │ ├── TypeAdd.vue
│ │ └── TypeEdit.vue
│ └── user
│ │ ├── User.vue
│ │ └── UserView.vue
│ ├── monitor
│ ├── Httptrace.vue
│ ├── JvmInfo.vue
│ ├── Online.vue
│ ├── RedisInfo.vue
│ ├── RedisTerminal.vue
│ ├── SystemInfo.vue
│ ├── SystemLog.vue
│ └── TomcatInfo.vue
│ ├── others
│ ├── Excel.vue
│ └── ImportResult.vue
│ ├── personal
│ ├── Profile.vue
│ ├── UpdateAvatar.vue
│ ├── UpdatePassword.vue
│ └── UpdateProfile.vue
│ ├── quartz
│ ├── job
│ │ ├── Job.vue
│ │ ├── JobAdd.vue
│ │ └── JobEdit.vue
│ └── log
│ │ └── JobLog.vue
│ ├── statistics
│ ├── history
│ │ └── History.vue
│ └── online
│ │ └── Online.vue
│ └── system
│ ├── dept
│ ├── Dept.vue
│ ├── DeptAdd.vue
│ ├── DeptEdit.vue
│ └── DeptInputTree.vue
│ ├── dict
│ ├── Dict.vue
│ ├── DictAdd.vue
│ └── DictEdit.vue
│ ├── menu
│ ├── ButtonAdd.vue
│ ├── ButtonEdit.vue
│ ├── Icon.less
│ ├── Icons.vue
│ ├── Menu.vue
│ ├── MenuAdd.vue
│ └── MenuEdit.vue
│ ├── role
│ ├── Role.vue
│ ├── RoleAdd.vue
│ ├── RoleEdit.vue
│ └── RoleInfo.vue
│ └── user
│ ├── User.vue
│ ├── UserAdd.vue
│ ├── UserEdit.vue
│ ├── UserInfo.less
│ └── UserInfo.vue
├── static
├── .gitkeep
├── avatar
│ ├── 17e420c250804efe904a09a33796d5a10.jpg
│ ├── 17e420c250804efe904a09a33796d5a16.jpg
│ ├── 19034103295190235.jpg
│ ├── 1d22f3e41d284f50b2c8fc32e0788698.jpeg
│ ├── 20180414165754.jpg
│ ├── 20180414165815.jpg
│ ├── 20180414165821.jpg
│ ├── 20180414165827.jpg
│ ├── 20180414165834.jpg
│ ├── 20180414165840.jpg
│ ├── 20180414165846.jpg
│ ├── 20180414165855.jpg
│ ├── 20180414165909.jpg
│ ├── 20180414165914.jpg
│ ├── 20180414165920.jpg
│ ├── 20180414165927.jpg
│ ├── 20180414165936.jpg
│ ├── 20180414165942.jpg
│ ├── 20180414165947.jpg
│ ├── 20180414165955.jpg
│ ├── 20180414170003.jpg
│ ├── 2dd7a2d09fa94bf8b5c52e5318868b4d9.jpg
│ ├── 2dd7a2d09fa94bf8b5c52e5318868b4df.jpg
│ ├── 496b3ace787342f7954b7045b8b06804.jpeg
│ ├── 595ba7b05f2e485eb50565a50cb6cc3c.jpeg
│ ├── 5997fedcc7bd4cffbd350b40d1b5b9824.jpg
│ ├── 5997fedcc7bd4cffbd350b40d1b5b987.jpg
│ ├── 87d8194bc9834e9f8f0228e9e530beb1.jpeg
│ ├── 8f5b60ef00714a399ee544d331231820.jpeg
│ ├── 964e40b005724165b8cf772355796c8c.jpeg
│ ├── BiazfanxmamNRoxxVxka.png
│ ├── WhxKECPNujWoWEFNdnJE.png
│ ├── a3b10296862e40edb811418d64455d00.jpeg
│ ├── a43456282d684e0b9319cf332f8ac468.jpeg
│ ├── bba284ac05b041a8b8b0d1927868d5c9x.jpg
│ ├── c7c4ee7be3eb4e73a19887dc713505145.jpg
│ ├── cnrhVkzwxjPwAaCfPbdc.png
│ ├── default.jpg
│ ├── ff698bb2d25c4d218b3256b46c706ece.jpeg
│ ├── gaOngJwsRYRaVAuXXcmB.png
│ ├── jZUIxmJycoymBprLOUbT.png
│ └── ubnKSIfAJTxIgXOKlciN.png
├── file
│ └── city.json
├── img
│ ├── 1work-4997565_1280.png
│ ├── delete.png
│ ├── download.png
│ ├── error.png
│ ├── favicon.ico
│ ├── home.png
│ ├── loading.png
│ ├── logo-blue.png
│ ├── logo.png
│ ├── record.png
│ ├── side-bar-dark.svg
│ ├── side-bar-left.svg
│ ├── side-bar-light.svg
│ ├── side-bar-top.svg
│ ├── template.png
│ ├── total.png
│ ├── work-4997565_1280.png
│ └── work-4997565_12801.png
└── less
│ ├── Color.less
│ ├── Common.less
│ ├── jsmind.css
│ └── jsmind.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | /frontend/node_modules/
2 | /backend/target
3 | /backend/log
--------------------------------------------------------------------------------
/app/README.md:
--------------------------------------------------------------------------------
1 | # WeChat-ColorUI-shop-templet
2 | 微信小程序的 ColorUI扩展的商城模板
3 |
4 | 下载后,使用小程序开发工具导入后即可预览效果。
5 |
6 | 图片效果查看:https://www.yuque.com/itianc/ui/artboards/61558
7 |
8 | ### 新发布了一个基于uni-app开发的仿转转商城APP的模板,有兴趣的朋友,可以去看看:https://ext.dcloud.net.cn/plugin?id=1531
9 |
10 | ColorUI框架的GIT:https://github.com/weilanwl/ColorUI
11 | (此项目使用的2.0.7版本的UI框架)
12 |
13 | # !!此项目不再更新!!
14 |
15 | ColorUI作者已经做了ColorShop完整模板。
16 |
17 | 如需colorshop模板,可在colorui的QQ交流群的群文件里下载colorui作者开发的colorshop模板。
18 |
--------------------------------------------------------------------------------
/app/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | App({
3 | onLaunch: function () {
4 | wx.getSystemInfo({
5 | success: e => {
6 | this.globalData.StatusBar = e.statusBarHeight;
7 | let custom = wx.getMenuButtonBoundingClientRect();
8 | this.globalData.Custom = custom;
9 | let CustomBar = custom.bottom + custom.top - e.statusBarHeight;
10 | this.globalData.CustomBar = CustomBar;
11 | //适配全面屏底部距离
12 | if (CustomBar > 75) {
13 | this.globalData.tabbar_bottom = "y"
14 | }
15 | }
16 | })
17 | },
18 | globalData: {
19 | userInfo: null
20 | }
21 | });
22 |
23 |
--------------------------------------------------------------------------------
/app/common/request.js:
--------------------------------------------------------------------------------
1 | function httpRequest(url, data, method, header, callback) {
2 | wx.request({
3 | url: url,
4 | data: data,
5 | method: method,
6 | header: header,
7 | success: function (result) {
8 | return typeof callback == 'function' && callback(result.data);
9 | },
10 | fail: function () {
11 | return typeof callback == 'function' && callback(false);
12 | }
13 | })
14 | }
15 |
16 | module.exports = { httpRequest: httpRequest }
--------------------------------------------------------------------------------
/app/dist/action-sheet/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/action-sheet/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-popup": "../popup/index",
6 | "van-loading": "../loading/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/app/dist/area/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/area/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/area/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
21 |
--------------------------------------------------------------------------------
/app/dist/area/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function displayColumns(columns, columnsNum) {
3 | return columns.slice(0, +columnsNum);
4 | }
5 |
6 | module.exports = {
7 | displayColumns: displayColumns,
8 | };
9 |
--------------------------------------------------------------------------------
/app/dist/area/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/app/dist/button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/calendar/components/header/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/calendar/components/header/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../../../common/component';
2 | VantComponent({
3 | props: {
4 | title: {
5 | type: String,
6 | value: '日期选择',
7 | },
8 | subtitle: String,
9 | showTitle: Boolean,
10 | showSubtitle: Boolean,
11 | },
12 | data: {
13 | weekdays: ['日', '一', '二', '三', '四', '五', '六'],
14 | },
15 | methods: {},
16 | });
17 |
--------------------------------------------------------------------------------
/app/dist/calendar/components/header/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/calendar/components/header/index.wxml:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/app/dist/calendar/components/month/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/calendar/components/month/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/calendar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/calendar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "header": "./components/header/index",
5 | "month": "./components/month/index",
6 | "van-button": "../button/index",
7 | "van-popup": "../popup/index",
8 | "van-toast": "../toast/index"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/app/dist/calendar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/dist/calendar/utils.d.ts:
--------------------------------------------------------------------------------
1 | export declare const ROW_HEIGHT = 64;
2 | export declare function formatMonthTitle(date: Date): string;
3 | export declare function compareMonth(
4 | date1: Date | number,
5 | date2: Date | number
6 | ): 0 | 1 | -1;
7 | export declare function compareDay(
8 | day1: Date | number,
9 | day2: Date | number
10 | ): 0 | 1 | -1;
11 | export declare function getDayByOffset(date: Date, offset: number): Date;
12 | export declare function getPrevDay(date: Date): Date;
13 | export declare function getNextDay(date: Date): Date;
14 | export declare function calcDateNum(date: [Date, Date]): number;
15 | export declare function copyDates(dates: Date | Date[]): Date | Date[];
16 | export declare function getMonthEndDay(year: number, month: number): number;
17 | export declare function getMonths(minDate: number, maxDate: number): number[];
18 |
--------------------------------------------------------------------------------
/app/dist/calendar/utils.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function getMonthEndDay(year, month) {
3 | return 32 - getDate(year, month - 1, 32).getDate();
4 | }
5 |
6 | function compareMonth(date1, date2) {
7 | date1 = getDate(date1);
8 | date2 = getDate(date2);
9 |
10 | var year1 = date1.getFullYear();
11 | var year2 = date2.getFullYear();
12 | var month1 = date1.getMonth();
13 | var month2 = date2.getMonth();
14 |
15 | if (year1 === year2) {
16 | return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
17 | }
18 |
19 | return year1 > year2 ? 1 : -1;
20 | }
21 |
22 | module.exports = {
23 | getMonthEndDay: getMonthEndDay,
24 | compareMonth: compareMonth
25 | };
26 |
--------------------------------------------------------------------------------
/app/dist/card/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/card/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-tag": "../tag/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/cell-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/cell-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | title: String,
5 | border: {
6 | type: Boolean,
7 | value: true,
8 | },
9 | },
10 | });
11 |
--------------------------------------------------------------------------------
/app/dist/cell-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/cell-group/index.wxml:
--------------------------------------------------------------------------------
1 |
5 | {{ title }}
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/dist/cell-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-cell-group__title{padding:16px 16px 8px;padding:var(--cell-group-title-padding,16px 16px 8px);font-size:14px;font-size:var(--cell-group-title-font-size,14px);line-height:16px;line-height:var(--cell-group-title-line-height,16px);color:#969799;color:var(--cell-group-title-color,#969799)}
--------------------------------------------------------------------------------
/app/dist/cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/cell/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function titleStyle(data) {
6 | return style([
7 | {
8 | 'max-width': addUnit(data.titleWidth),
9 | 'min-width': addUnit(data.titleWidth),
10 | },
11 | data.titleStyle,
12 | ]);
13 | }
14 |
15 | module.exports = {
16 | titleStyle: titleStyle,
17 | };
18 |
--------------------------------------------------------------------------------
/app/dist/checkbox-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/checkbox-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/checkbox-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/dist/checkbox-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/app/dist/checkbox/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/checkbox/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/checkbox/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
6 | var styles = {
7 | 'font-size': addUnit(iconSize),
8 | };
9 |
10 | if (checkedColor && value && !disabled && !parentDisabled) {
11 | styles['border-color'] = checkedColor;
12 | styles['background-color'] = checkedColor;
13 | }
14 |
15 | return style(styles);
16 | }
17 |
18 | module.exports = {
19 | iconStyle: iconStyle,
20 | };
21 |
--------------------------------------------------------------------------------
/app/dist/circle/canvas.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | declare type CanvasContext = WechatMiniprogram.CanvasContext;
3 | export declare function adaptor(
4 | ctx: CanvasContext & Record
5 | ): CanvasContext;
6 | export {};
7 |
--------------------------------------------------------------------------------
/app/dist/circle/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/circle/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/circle/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{ text }}
9 |
10 |
--------------------------------------------------------------------------------
/app/dist/circle/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-circle{position:relative;display:inline-block;text-align:center}.van-circle__text{position:absolute;top:50%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#323233;color:var(--circle-text-color,#323233)}
--------------------------------------------------------------------------------
/app/dist/col/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/col/index.js:
--------------------------------------------------------------------------------
1 | import { useParent } from '../common/relation';
2 | import { VantComponent } from '../common/component';
3 | VantComponent({
4 | relation: useParent('row'),
5 | props: {
6 | span: Number,
7 | offset: Number,
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/app/dist/col/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/col/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/dist/col/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | if (!data.gutter) {
7 | return '';
8 | }
9 |
10 | return style({
11 | 'padding-right': addUnit(data.gutter / 2),
12 | 'padding-left': addUnit(data.gutter / 2),
13 | });
14 | }
15 |
16 | module.exports = {
17 | rootStyle: rootStyle,
18 | };
19 |
--------------------------------------------------------------------------------
/app/dist/collapse-item/animate.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | export declare function setContentAnimate(
3 | context: WechatMiniprogram.Component.TrivialInstance,
4 | expanded: boolean,
5 | mounted: boolean
6 | ): void;
7 |
--------------------------------------------------------------------------------
/app/dist/collapse-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/collapse-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/collapse/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/collapse/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/collapse/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/dist/collapse/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/app/dist/common/color.d.ts:
--------------------------------------------------------------------------------
1 | export declare const RED = "#ee0a24";
2 | export declare const BLUE = "#1989fa";
3 | export declare const WHITE = "#fff";
4 | export declare const GREEN = "#07c160";
5 | export declare const ORANGE = "#ff976a";
6 | export declare const GRAY = "#323233";
7 | export declare const GRAY_DARK = "#969799";
8 |
--------------------------------------------------------------------------------
/app/dist/common/color.js:
--------------------------------------------------------------------------------
1 | export const RED = '#ee0a24';
2 | export const BLUE = '#1989fa';
3 | export const WHITE = '#fff';
4 | export const GREEN = '#07c160';
5 | export const ORANGE = '#ff976a';
6 | export const GRAY = '#323233';
7 | export const GRAY_DARK = '#969799';
8 |
--------------------------------------------------------------------------------
/app/dist/common/component.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { VantComponentOptions } from '../definitions/index';
3 | declare function VantComponent<
4 | Data extends WechatMiniprogram.Component.DataOption,
5 | Props extends WechatMiniprogram.Component.PropertyOption,
6 | Methods extends WechatMiniprogram.Component.MethodOption
7 | >(vantOptions: VantComponentOptions): void;
8 | export { VantComponent };
9 |
--------------------------------------------------------------------------------
/app/dist/common/relation.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | declare type TrivialInstance = WechatMiniprogram.Component.TrivialInstance;
3 | export declare function useParent(
4 | name: string,
5 | onEffect?: (this: TrivialInstance) => void
6 | ): {
7 | relations: {
8 | [x: string]: WechatMiniprogram.Component.RelationOption;
9 | };
10 | mixin: string;
11 | };
12 | export declare function useChildren(
13 | name: string,
14 | onEffect?: (this: TrivialInstance, target: TrivialInstance) => void
15 | ): {
16 | relations: {
17 | [x: string]: WechatMiniprogram.Component.RelationOption;
18 | };
19 | mixin: string;
20 | };
21 | export {};
22 |
--------------------------------------------------------------------------------
/app/dist/common/style/clearfix.wxss:
--------------------------------------------------------------------------------
1 | .van-clearfix:after{display:table;clear:both;content:""}
--------------------------------------------------------------------------------
/app/dist/common/style/ellipsis.wxss:
--------------------------------------------------------------------------------
1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
--------------------------------------------------------------------------------
/app/dist/common/style/mixins/clearfix.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/dist/common/style/mixins/clearfix.wxss
--------------------------------------------------------------------------------
/app/dist/common/style/mixins/ellipsis.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/dist/common/style/mixins/ellipsis.wxss
--------------------------------------------------------------------------------
/app/dist/common/style/mixins/hairline.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/dist/common/style/mixins/hairline.wxss
--------------------------------------------------------------------------------
/app/dist/common/style/theme.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/dist/common/style/theme.wxss
--------------------------------------------------------------------------------
/app/dist/common/style/var.wxss:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/dist/common/style/var.wxss
--------------------------------------------------------------------------------
/app/dist/common/validator.d.ts:
--------------------------------------------------------------------------------
1 | export declare function isFunction(val: unknown): val is Function;
2 | export declare function isPlainObject(
3 | val: unknown
4 | ): val is Record;
5 | export declare function isPromise(val: unknown): val is Promise;
6 | export declare function isDef(value: unknown): boolean;
7 | export declare function isObj(x: unknown): x is Record;
8 | export declare function isNumber(value: string): boolean;
9 | export declare function isBoolean(value: unknown): value is boolean;
10 | export declare function isImageUrl(url: string): boolean;
11 | export declare function isVideoUrl(url: string): boolean;
12 |
--------------------------------------------------------------------------------
/app/dist/common/version.d.ts:
--------------------------------------------------------------------------------
1 | export declare function canIUseModel(): boolean;
2 | export declare function canIUseFormFieldButton(): boolean;
3 | export declare function canIUseAnimate(): boolean;
4 | export declare function canIUseGroupSetData(): boolean;
5 | export declare function canIUseNextTick(): boolean;
6 | export declare function canIUseCanvas2d(): boolean;
7 |
--------------------------------------------------------------------------------
/app/dist/count-down/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/count-down/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/count-down/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ formattedTime }}
4 |
5 |
--------------------------------------------------------------------------------
/app/dist/count-down/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-count-down{color:#323233;color:var(--count-down-text-color,#323233);font-size:14px;font-size:var(--count-down-font-size,14px);line-height:20px;line-height:var(--count-down-line-height,20px)}
--------------------------------------------------------------------------------
/app/dist/count-down/utils.d.ts:
--------------------------------------------------------------------------------
1 | export declare type TimeData = {
2 | days: number;
3 | hours: number;
4 | minutes: number;
5 | seconds: number;
6 | milliseconds: number;
7 | };
8 | export declare function parseTimeData(time: number): TimeData;
9 | export declare function parseFormat(format: string, timeData: TimeData): string;
10 | export declare function isSameSecond(time1: number, time2: number): boolean;
11 |
--------------------------------------------------------------------------------
/app/dist/datetime-picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/datetime-picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/datetime-picker/index.wxml:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/app/dist/datetime-picker/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/app/dist/definitions/index.js:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/dialog/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/dialog/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "van-button": "../button/index",
6 | "van-goods-action": "../goods-action/index",
7 | "van-goods-action-button": "../goods-action-button/index"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/dist/divider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/divider/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dashed: Boolean,
5 | hairline: Boolean,
6 | contentPosition: String,
7 | fontSize: String,
8 | borderColor: String,
9 | textColor: String,
10 | customStyle: String,
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/app/dist/divider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
5 |
--------------------------------------------------------------------------------
/app/dist/divider/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/dist/divider/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | return style([
7 | {
8 | 'border-color': data.borderColor,
9 | color: data.textColor,
10 | 'font-size': addUnit(data.fontSize),
11 | },
12 | data.customStyle,
13 | ]);
14 | }
15 |
16 | module.exports = {
17 | rootStyle: rootStyle,
18 | };
19 |
--------------------------------------------------------------------------------
/app/dist/dropdown-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/dropdown-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "van-cell": "../cell/index",
6 | "van-icon": "../icon/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/app/dist/dropdown-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-dropdown-item{position:fixed;right:0;left:0;overflow:hidden}.van-dropdown-item__option{text-align:left}.van-dropdown-item__option--active .van-dropdown-item__icon,.van-dropdown-item__option--active .van-dropdown-item__title{color:#ee0a24;color:var(--dropdown-menu-option-active-color,#ee0a24)}.van-dropdown-item--up{top:0}.van-dropdown-item--down{bottom:0}.van-dropdown-item__icon{display:block;line-height:inherit}
--------------------------------------------------------------------------------
/app/dist/dropdown-item/shared.d.ts:
--------------------------------------------------------------------------------
1 | export interface Option {
2 | text: string;
3 | value: string | number;
4 | icon: string;
5 | }
6 |
--------------------------------------------------------------------------------
/app/dist/dropdown-item/shared.js:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/dropdown-menu/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/dropdown-menu/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/dropdown-menu/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
24 |
--------------------------------------------------------------------------------
/app/dist/dropdown-menu/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function displayTitle(item) {
3 | if (item.title) {
4 | return item.title;
5 | }
6 |
7 | var match = item.options.filter(function(option) {
8 | return option.value === item.value;
9 | });
10 | var displayTitle = match.length ? match[0].text : '';
11 | return displayTitle;
12 | }
13 |
14 | module.exports = {
15 | displayTitle: displayTitle
16 | };
17 |
--------------------------------------------------------------------------------
/app/dist/empty/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/empty/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | description: String,
5 | image: {
6 | type: String,
7 | value: 'default',
8 | },
9 | },
10 | });
11 |
--------------------------------------------------------------------------------
/app/dist/empty/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/app/dist/empty/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | {{ description }}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/dist/empty/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var PRESETS = ['error', 'search', 'default', 'network'];
3 |
4 | function imageUrl(image) {
5 | if (PRESETS.indexOf(image) !== -1) {
6 | return 'https://img.yzcdn.cn/vant/empty-image-' + image + '.png';
7 | }
8 |
9 | return image;
10 | }
11 |
12 | module.exports = {
13 | imageUrl: imageUrl,
14 | };
15 |
--------------------------------------------------------------------------------
/app/dist/empty/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-empty{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;box-sizing:border-box;padding:32px 0}.van-empty__image{width:160px;height:160px}.van-empty__image:empty{display:none}.van-empty__image__img{width:100%;height:100%}.van-empty__image:not(:empty)+.van-empty__image{display:none}.van-empty__description{margin-top:16px;padding:0 60px;color:#969799;font-size:14px;line-height:20px}.van-empty__description:empty,.van-empty__description:not(:empty)+.van-empty__description{display:none}.van-empty__bottom{margin-top:24px}
--------------------------------------------------------------------------------
/app/dist/field/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/field/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/field/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function inputStyle(autosize) {
6 | if (autosize && autosize.constructor === 'Object') {
7 | return style({
8 | 'min-height': addUnit(autosize.minHeight),
9 | 'max-height': addUnit(autosize.maxHeight),
10 | });
11 | }
12 |
13 | return '';
14 | }
15 |
16 | module.exports = {
17 | inputStyle: inputStyle,
18 | };
19 |
--------------------------------------------------------------------------------
/app/dist/field/props.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | export declare const commonProps: WechatMiniprogram.Component.PropertyOption;
3 | export declare const inputProps: WechatMiniprogram.Component.PropertyOption;
4 | export declare const textareaProps: WechatMiniprogram.Component.PropertyOption;
5 |
--------------------------------------------------------------------------------
/app/dist/goods-action-button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/goods-action-button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/goods-action-icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/goods-action-icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { button } from '../mixins/button';
3 | import { link } from '../mixins/link';
4 | import { openType } from '../mixins/open-type';
5 | VantComponent({
6 | classes: ['icon-class', 'text-class'],
7 | mixins: [link, button, openType],
8 | props: {
9 | text: String,
10 | dot: Boolean,
11 | info: String,
12 | icon: String,
13 | disabled: Boolean,
14 | loading: Boolean,
15 | },
16 | methods: {
17 | onClick(event) {
18 | this.$emit('click', event.detail);
19 | this.jumpLink();
20 | },
21 | },
22 | });
23 |
--------------------------------------------------------------------------------
/app/dist/goods-action-icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/goods-action-icon/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action-icon{display:-webkit-flex!important;display:flex!important;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center!important;justify-content:center!important;line-height:1!important;border:none!important;font-size:10px!important;font-size:var(--goods-action-icon-font-size,10px)!important;color:#646566!important;color:var(--goods-action-icon-text-color,#646566)!important;min-width:48px;min-width:var(--goods-action-icon-width,48px);height:50px!important;height:var(--goods-action-icon-height,50px)!important}.van-goods-action-icon__icon{display:-webkit-flex;display:flex;margin:0 auto 5px;color:#323233;color:var(--goods-action-icon-color,#323233);font-size:18px;font-size:var(--goods-action-icon-size,18px)}
--------------------------------------------------------------------------------
/app/dist/goods-action/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/goods-action/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { useChildren } from '../common/relation';
3 | VantComponent({
4 | relation: useChildren('goods-action-button', function () {
5 | this.children.forEach((item) => {
6 | item.updateStyle();
7 | });
8 | }),
9 | props: {
10 | safeAreaInsetBottom: {
11 | type: Boolean,
12 | value: true,
13 | },
14 | },
15 | });
16 |
--------------------------------------------------------------------------------
/app/dist/goods-action/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/goods-action/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/dist/goods-action/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action{position:fixed;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;box-sizing:initial;height:50px;height:var(--goods-action-height,50px);background-color:#fff;background-color:var(--goods-action-background-color,#fff)}.van-goods-action--safe{padding-bottom:env(safe-area-inset-bottom)}
--------------------------------------------------------------------------------
/app/dist/grid-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/grid-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/grid/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/grid/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/grid/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/dist/grid/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | return style({
7 | 'padding-left': addUnit(data.gutter),
8 | });
9 | }
10 |
11 | module.exports = {
12 | rootStyle: rootStyle,
13 | };
14 |
--------------------------------------------------------------------------------
/app/dist/grid/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-grid{position:relative;box-sizing:border-box;overflow:hidden}
--------------------------------------------------------------------------------
/app/dist/icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dot: Boolean,
5 | info: null,
6 | size: null,
7 | color: String,
8 | customStyle: String,
9 | classPrefix: {
10 | type: String,
11 | value: 'van-icon',
12 | },
13 | name: String,
14 | },
15 | methods: {
16 | onClick() {
17 | this.$emit('click');
18 | },
19 | },
20 | });
21 |
--------------------------------------------------------------------------------
/app/dist/icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/icon/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
14 |
20 |
21 |
--------------------------------------------------------------------------------
/app/dist/image/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/image/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/image/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | return style([
7 | {
8 | width: addUnit(data.width),
9 | height: addUnit(data.height),
10 | 'border-radius': addUnit(data.radius),
11 | },
12 | data.radius ? 'overflow: hidden' : null,
13 | ]);
14 | }
15 |
16 | var FIT_MODE_MAP = {
17 | none: 'center',
18 | fill: 'scaleToFill',
19 | cover: 'aspectFill',
20 | contain: 'aspectFit',
21 | widthFix: 'widthFix',
22 | heightFix: 'heightFix',
23 | };
24 |
25 | function mode(fit) {
26 | return FIT_MODE_MAP[fit];
27 | }
28 |
29 | module.exports = {
30 | rootStyle: rootStyle,
31 | mode: mode,
32 | };
33 |
--------------------------------------------------------------------------------
/app/dist/index-anchor/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/index-anchor/index.js:
--------------------------------------------------------------------------------
1 | import { getRect } from '../common/utils';
2 | import { VantComponent } from '../common/component';
3 | import { useParent } from '../common/relation';
4 | VantComponent({
5 | relation: useParent('index-bar'),
6 | props: {
7 | useSlot: Boolean,
8 | index: null,
9 | },
10 | data: {
11 | active: false,
12 | wrapperStyle: '',
13 | anchorStyle: '',
14 | },
15 | methods: {
16 | scrollIntoView(scrollTop) {
17 | getRect(this, '.van-index-anchor-wrapper').then((rect) => {
18 | wx.pageScrollTo({
19 | duration: 0,
20 | scrollTop: scrollTop + rect.top - this.parent.data.stickyOffsetTop,
21 | });
22 | });
23 | },
24 | },
25 | });
26 |
--------------------------------------------------------------------------------
/app/dist/index-anchor/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/index-anchor/index.wxml:
--------------------------------------------------------------------------------
1 |
5 |
9 |
10 |
11 | {{ index }}
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/app/dist/index-anchor/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-index-anchor{padding:0 16px;padding:var(--index-anchor-padding,0 16px);color:#323233;color:var(--index-anchor-text-color,#323233);font-weight:500;font-weight:var(--index-anchor-font-weight,500);font-size:14px;font-size:var(--index-anchor-font-size,14px);line-height:32px;line-height:var(--index-anchor-line-height,32px);background-color:initial;background-color:var(--index-anchor-background-color,transparent)}.van-index-anchor--active{right:0;left:0;color:#07c160;color:var(--index-anchor-active-text-color,#07c160);background-color:#fff;background-color:var(--index-anchor-active-background-color,#fff)}
--------------------------------------------------------------------------------
/app/dist/index-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/index-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/index-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
22 |
23 |
--------------------------------------------------------------------------------
/app/dist/index-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-index-bar{position:relative}.van-index-bar__sidebar{position:fixed;top:50%;right:0;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;user-select:none}.van-index-bar__index{font-weight:500;padding:0 4px 0 16px;padding:0 var(--padding-base,4px) 0 var(--padding-md,16px);font-size:10px;font-size:var(--index-bar-index-font-size,10px);line-height:14px;line-height:var(--index-bar-index-line-height,14px)}
--------------------------------------------------------------------------------
/app/dist/info/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/info/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | dot: Boolean,
5 | info: null,
6 | customStyle: String,
7 | },
8 | });
9 |
--------------------------------------------------------------------------------
/app/dist/info/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/info/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ dot ? '' : info }}
8 |
--------------------------------------------------------------------------------
/app/dist/loading/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/loading/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | color: String,
5 | vertical: Boolean,
6 | type: {
7 | type: String,
8 | value: 'circular',
9 | },
10 | size: String,
11 | textSize: String,
12 | },
13 | data: {
14 | array12: Array.from({ length: 12 }),
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/app/dist/loading/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/loading/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/dist/loading/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function spinnerStyle(data) {
6 | return style({
7 | color: data.color,
8 | width: addUnit(data.size),
9 | height: addUnit(data.size),
10 | });
11 | }
12 |
13 | function textStyle(data) {
14 | return style({
15 | 'font-size': addUnit(data.textSize),
16 | });
17 | }
18 |
19 | module.exports = {
20 | spinnerStyle: spinnerStyle,
21 | textStyle: textStyle,
22 | };
23 |
--------------------------------------------------------------------------------
/app/dist/mixins/basic.d.ts:
--------------------------------------------------------------------------------
1 | export declare const basic: string;
2 |
--------------------------------------------------------------------------------
/app/dist/mixins/basic.js:
--------------------------------------------------------------------------------
1 | export const basic = Behavior({
2 | methods: {
3 | $emit(name, detail, options) {
4 | this.triggerEvent(name, detail, options);
5 | },
6 | set(data) {
7 | this.setData(data);
8 | return new Promise((resolve) => wx.nextTick(resolve));
9 | },
10 | },
11 | });
12 |
--------------------------------------------------------------------------------
/app/dist/mixins/button.d.ts:
--------------------------------------------------------------------------------
1 | export declare const button: string;
2 |
--------------------------------------------------------------------------------
/app/dist/mixins/button.js:
--------------------------------------------------------------------------------
1 | export const button = Behavior({
2 | externalClasses: ['hover-class'],
3 | properties: {
4 | id: String,
5 | lang: String,
6 | businessId: Number,
7 | sessionFrom: String,
8 | sendMessageTitle: String,
9 | sendMessagePath: String,
10 | sendMessageImg: String,
11 | showMessageCard: Boolean,
12 | appParameter: String,
13 | ariaLabel: String,
14 | },
15 | });
16 |
--------------------------------------------------------------------------------
/app/dist/mixins/link.d.ts:
--------------------------------------------------------------------------------
1 | export declare const link: string;
2 |
--------------------------------------------------------------------------------
/app/dist/mixins/link.js:
--------------------------------------------------------------------------------
1 | export const link = Behavior({
2 | properties: {
3 | url: String,
4 | linkType: {
5 | type: String,
6 | value: 'navigateTo',
7 | },
8 | },
9 | methods: {
10 | jumpLink(urlKey = 'url') {
11 | const url = this.data[urlKey];
12 | if (url) {
13 | if (
14 | this.data.linkType === 'navigateTo' &&
15 | getCurrentPages().length > 9
16 | ) {
17 | wx.redirectTo({ url });
18 | } else {
19 | wx[this.data.linkType]({ url });
20 | }
21 | }
22 | },
23 | },
24 | });
25 |
--------------------------------------------------------------------------------
/app/dist/mixins/open-type.d.ts:
--------------------------------------------------------------------------------
1 | export declare const openType: string;
2 |
--------------------------------------------------------------------------------
/app/dist/mixins/open-type.js:
--------------------------------------------------------------------------------
1 | // @ts-nocheck
2 | export const openType = Behavior({
3 | properties: {
4 | openType: String,
5 | },
6 | methods: {
7 | bindGetUserInfo(event) {
8 | this.$emit('getuserinfo', event.detail);
9 | },
10 | bindContact(event) {
11 | this.$emit('contact', event.detail);
12 | },
13 | bindGetPhoneNumber(event) {
14 | this.$emit('getphonenumber', event.detail);
15 | },
16 | bindError(event) {
17 | this.$emit('error', event.detail);
18 | },
19 | bindLaunchApp(event) {
20 | this.$emit('launchapp', event.detail);
21 | },
22 | bindOpenSetting(event) {
23 | this.$emit('opensetting', event.detail);
24 | },
25 | },
26 | });
27 |
--------------------------------------------------------------------------------
/app/dist/mixins/page-scroll.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | declare type IPageScrollOption = WechatMiniprogram.Page.IPageScrollOption;
3 | declare type Scroller = (
4 | this: WechatMiniprogram.Component.TrivialInstance,
5 | event?: IPageScrollOption
6 | ) => void;
7 | export declare const pageScrollMixin: (scroller: Scroller) => string;
8 | export {};
9 |
--------------------------------------------------------------------------------
/app/dist/mixins/touch.d.ts:
--------------------------------------------------------------------------------
1 | export declare const touch: string;
2 |
--------------------------------------------------------------------------------
/app/dist/mixins/transition.d.ts:
--------------------------------------------------------------------------------
1 | export declare function transition(showDefaultValue: boolean): string;
2 |
--------------------------------------------------------------------------------
/app/dist/nav-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/nav-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/nav-bar/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 |
4 | function barStyle(data) {
5 | return style({
6 | 'z-index': data.zIndex,
7 | 'padding-top': data.safeAreaInsetTop ? data.statusBarHeight + 'px' : 0,
8 | });
9 | }
10 |
11 | module.exports = {
12 | barStyle: barStyle,
13 | };
14 |
--------------------------------------------------------------------------------
/app/dist/notice-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/notice-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/notice-bar/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | return style({
7 | color: data.color,
8 | 'background-color': data.backgroundColor,
9 | background: data.background,
10 | });
11 | }
12 |
13 | module.exports = {
14 | rootStyle: rootStyle,
15 | };
16 |
--------------------------------------------------------------------------------
/app/dist/notify/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/notify/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/notify/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
15 |
19 | {{ message }}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/dist/notify/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | return style({
7 | 'z-index': data.zIndex,
8 | top: addUnit(data.top),
9 | });
10 | }
11 |
12 | function notifyStyle(data) {
13 | return style({
14 | background: data.background,
15 | color: data.color,
16 | });
17 | }
18 |
19 | module.exports = {
20 | rootStyle: rootStyle,
21 | notifyStyle: notifyStyle,
22 | };
23 |
--------------------------------------------------------------------------------
/app/dist/notify/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-notify{text-align:center;word-wrap:break-word;padding:6px 15px;padding:var(--notify-padding,6px 15px);font-size:14px;font-size:var(--notify-font-size,14px);line-height:20px;line-height:var(--notify-line-height,20px)}.van-notify__container{position:fixed;top:0;left:0;box-sizing:border-box;width:100%}.van-notify--primary{background-color:#1989fa;background-color:var(--notify-primary-background-color,#1989fa)}.van-notify--success{background-color:#07c160;background-color:var(--notify-success-background-color,#07c160)}.van-notify--danger{background-color:#ee0a24;background-color:var(--notify-danger-background-color,#ee0a24)}.van-notify--warning{background-color:#ff976a;background-color:var(--notify-warning-background-color,#ff976a)}
--------------------------------------------------------------------------------
/app/dist/notify/notify.d.ts:
--------------------------------------------------------------------------------
1 | interface NotifyOptions {
2 | type?: 'primary' | 'success' | 'danger' | 'warning';
3 | color?: string;
4 | zIndex?: number;
5 | top?: number;
6 | message: string;
7 | context?: any;
8 | duration?: number;
9 | selector?: string;
10 | background?: string;
11 | safeAreaInsetTop?: boolean;
12 | onClick?: () => void;
13 | onOpened?: () => void;
14 | onClose?: () => void;
15 | }
16 | declare function Notify(options: NotifyOptions | string): any;
17 | declare namespace Notify {
18 | var clear: (options?: NotifyOptions | undefined) => void;
19 | }
20 | export default Notify;
21 |
--------------------------------------------------------------------------------
/app/dist/overlay/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/overlay/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | customStyle: String,
6 | duration: {
7 | type: null,
8 | value: 300,
9 | },
10 | zIndex: {
11 | type: Number,
12 | value: 1,
13 | },
14 | },
15 | methods: {
16 | onClick() {
17 | this.$emit('click');
18 | },
19 | // for prevent touchmove
20 | noop() {},
21 | },
22 | });
23 |
--------------------------------------------------------------------------------
/app/dist/overlay/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/overlay/index.wxml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/dist/overlay/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);background-color:var(--overlay-background-color,rgba(0,0,0,.7))}
--------------------------------------------------------------------------------
/app/dist/panel/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/panel/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | classes: ['header-class', 'footer-class'],
4 | props: {
5 | desc: String,
6 | title: String,
7 | status: String,
8 | useFooterSlot: Boolean,
9 | },
10 | });
11 |
--------------------------------------------------------------------------------
/app/dist/panel/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/panel/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/app/dist/panel/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-panel{background:#fff;background:var(--panel-background-color,#fff)}.van-panel__header-value{color:#ee0a24;color:var(--panel-header-value-color,#ee0a24)}.van-panel__footer{padding:8px 16px;padding:var(--panel-footer-padding,8px 16px)}
--------------------------------------------------------------------------------
/app/dist/picker-column/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/picker-column/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/picker-column/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-picker-column{overflow:hidden;text-align:center;color:#000;color:var(--picker-option-text-color,#000);font-size:16px;font-size:var(--picker-option-font-size,16px)}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{font-weight:500;font-weight:var(--font-weight-bold,500);color:#323233;color:var(--picker-option-selected-text-color,#323233)}.van-picker-column__item--disabled{opacity:.3;opacity:var(--picker-option-disabled-opacity,.3)}
--------------------------------------------------------------------------------
/app/dist/picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "picker-column": "../picker-column/index",
5 | "loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/picker/shared.d.ts:
--------------------------------------------------------------------------------
1 | export declare const pickerProps: {
2 | title: StringConstructor;
3 | loading: BooleanConstructor;
4 | showToolbar: BooleanConstructor;
5 | cancelButtonText: {
6 | type: StringConstructor;
7 | value: string;
8 | };
9 | confirmButtonText: {
10 | type: StringConstructor;
11 | value: string;
12 | };
13 | visibleItemCount: {
14 | type: NumberConstructor;
15 | value: number;
16 | };
17 | itemHeight: {
18 | type: NumberConstructor;
19 | value: number;
20 | };
21 | };
22 |
--------------------------------------------------------------------------------
/app/dist/picker/shared.js:
--------------------------------------------------------------------------------
1 | export const pickerProps = {
2 | title: String,
3 | loading: Boolean,
4 | showToolbar: Boolean,
5 | cancelButtonText: {
6 | type: String,
7 | value: '取消',
8 | },
9 | confirmButtonText: {
10 | type: String,
11 | value: '确认',
12 | },
13 | visibleItemCount: {
14 | type: Number,
15 | value: 6,
16 | },
17 | itemHeight: {
18 | type: Number,
19 | value: 44,
20 | },
21 | };
22 |
--------------------------------------------------------------------------------
/app/dist/picker/toolbar.wxml:
--------------------------------------------------------------------------------
1 |
2 |
9 | {{ cancelButtonText }}
10 |
11 | {{
12 | title
13 | }}
14 |
21 | {{ confirmButtonText }}
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/dist/popup/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/popup/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-overlay": "../overlay/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/popup/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 |
4 | function popupStyle(data) {
5 | return style([
6 | {
7 | 'z-index': data.zIndex,
8 | '-webkit-transition-duration': data.currentDuration + 'ms',
9 | 'transition-duration': data.currentDuration + 'ms',
10 | },
11 | data.display ? null : 'display: none',
12 | data.customStyle,
13 | ]);
14 | }
15 |
16 | module.exports = {
17 | popupStyle: popupStyle,
18 | };
19 |
--------------------------------------------------------------------------------
/app/dist/progress/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/progress/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/progress/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
12 |
17 | {{ computed.pivotText(pivotText, percentage) }}
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/dist/radio-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/radio-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/radio-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/dist/radio-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-radio-group--horizontal{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}
--------------------------------------------------------------------------------
/app/dist/radio/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/radio/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/rate/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/rate/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/rate/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-rate{display:-webkit-inline-flex;display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{position:relative;padding:0 2px;padding:0 var(--rate-horizontal-padding,2px)}.van-rate__icon{display:block;height:1em;font-size:20px;font-size:var(--rate-icon-size,20px)}.van-rate__icon--half{position:absolute;top:0;width:.5em;overflow:hidden;left:2px;left:var(--rate-horizontal-padding,2px)}
--------------------------------------------------------------------------------
/app/dist/row/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/row/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { useChildren } from '../common/relation';
3 | VantComponent({
4 | relation: useChildren('col', function (target) {
5 | const { gutter } = this.data;
6 | if (gutter) {
7 | target.setData({ gutter });
8 | }
9 | }),
10 | props: {
11 | gutter: {
12 | type: Number,
13 | observer: 'setGutter',
14 | },
15 | },
16 | methods: {
17 | setGutter() {
18 | this.children.forEach((col) => {
19 | col.setData(this.data);
20 | });
21 | },
22 | },
23 | });
24 |
--------------------------------------------------------------------------------
/app/dist/row/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/row/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/dist/row/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | if (!data.gutter) {
7 | return '';
8 | }
9 |
10 | return style({
11 | 'margin-right': addUnit(-data.gutter / 2),
12 | 'margin-left': addUnit(-data.gutter / 2),
13 | });
14 | }
15 |
16 | module.exports = {
17 | rootStyle: rootStyle,
18 | };
19 |
--------------------------------------------------------------------------------
/app/dist/row/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-row:after{display:table;clear:both;content:""}
--------------------------------------------------------------------------------
/app/dist/search/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-field": "../field/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "options": "./options"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | function isMulti(options) {
3 | if (options == null || options[0] == null) {
4 | return false;
5 | }
6 |
7 | return "Array" === options.constructor && "Array" === options[0].constructor;
8 | }
9 |
10 | module.exports = {
11 | isMulti: isMulti
12 | };
13 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/options.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/options.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | options: Array,
5 | showBorder: Boolean,
6 | },
7 | methods: {
8 | onSelect(event) {
9 | const { index } = event.currentTarget.dataset;
10 | const option = this.data.options[index];
11 | this.$emit('select', Object.assign(Object.assign({}, option), { index }));
12 | },
13 | },
14 | });
15 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/options.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/options.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
15 | {{ item.name }}
16 |
17 | {{ item.description }}
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/dist/share-sheet/options.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var PRESET_ICONS = ['qq', 'weibo', 'wechat', 'link', 'qrcode', 'poster'];
3 |
4 | function getIconURL(icon) {
5 | if (PRESET_ICONS.indexOf(icon) !== -1) {
6 | return 'https://img.yzcdn.cn/vant/share-icon-' + icon + '.png';
7 | }
8 |
9 | return icon;
10 | }
11 |
12 | module.exports = {
13 | getIconURL: getIconURL,
14 | };
15 |
--------------------------------------------------------------------------------
/app/dist/sidebar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/sidebar-item/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { useParent } from '../common/relation';
3 | VantComponent({
4 | classes: ['active-class', 'disabled-class'],
5 | relation: useParent('sidebar'),
6 | props: {
7 | dot: Boolean,
8 | badge: null,
9 | info: null,
10 | title: String,
11 | disabled: Boolean,
12 | },
13 | methods: {
14 | onClick() {
15 | const { parent } = this;
16 | if (!parent || this.data.disabled) {
17 | return;
18 | }
19 | const index = parent.children.indexOf(this);
20 | parent.setActive(index).then(() => {
21 | this.$emit('click', index);
22 | parent.$emit('change', index);
23 | });
24 | },
25 | setActive(selected) {
26 | return this.setData({ selected });
27 | },
28 | },
29 | });
30 |
--------------------------------------------------------------------------------
/app/dist/sidebar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/sidebar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
19 |
--------------------------------------------------------------------------------
/app/dist/sidebar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/sidebar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/sidebar/index.wxml:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/app/dist/sidebar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sidebar{width:80px;width:var(--sidebar-width,80px)}
--------------------------------------------------------------------------------
/app/dist/skeleton/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/skeleton/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
5 |
--------------------------------------------------------------------------------
/app/dist/slider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/slider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/slider/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function barStyle(barHeight, activeColor) {
6 | return style({
7 | height: addUnit(barHeight),
8 | background: activeColor,
9 | });
10 | }
11 |
12 | module.exports = {
13 | barStyle: barStyle,
14 | };
15 |
--------------------------------------------------------------------------------
/app/dist/stepper/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/stepper/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/stepper/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function buttonStyle(data) {
6 | return style({
7 | width: addUnit(data.buttonSize),
8 | height: addUnit(data.buttonSize),
9 | });
10 | }
11 |
12 | function inputStyle(data) {
13 | return style({
14 | width: addUnit(data.inputWidth),
15 | height: addUnit(data.buttonSize),
16 | });
17 | }
18 |
19 | module.exports = {
20 | buttonStyle: buttonStyle,
21 | inputStyle: inputStyle,
22 | };
23 |
--------------------------------------------------------------------------------
/app/dist/steps/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/steps/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { GREEN, GRAY_DARK } from '../common/color';
3 | VantComponent({
4 | classes: ['desc-class'],
5 | props: {
6 | icon: String,
7 | steps: Array,
8 | active: Number,
9 | direction: {
10 | type: String,
11 | value: 'horizontal',
12 | },
13 | activeColor: {
14 | type: String,
15 | value: GREEN,
16 | },
17 | inactiveColor: {
18 | type: String,
19 | value: GRAY_DARK,
20 | },
21 | activeIcon: {
22 | type: String,
23 | value: 'checked',
24 | },
25 | inactiveIcon: String,
26 | },
27 | methods: {
28 | onClick(event) {
29 | const { index } = event.currentTarget.dataset;
30 | this.$emit('click-step', index);
31 | },
32 | },
33 | });
34 |
--------------------------------------------------------------------------------
/app/dist/steps/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/sticky/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/sticky/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/sticky/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/dist/sticky/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function wrapStyle(data) {
6 | return style({
7 | transform: data.transform
8 | ? 'translate3d(0, ' + data.transform + 'px, 0)'
9 | : '',
10 | top: data.fixed ? addUnit(data.offsetTop) : '',
11 | 'z-index': data.zIndex,
12 | });
13 | }
14 |
15 | function containerStyle(data) {
16 | return style({
17 | height: data.fixed ? addUnit(data.height) : '',
18 | 'z-index': data.zIndex,
19 | });
20 | }
21 |
22 | module.exports = {
23 | wrapStyle: wrapStyle,
24 | containerStyle: containerStyle,
25 | };
26 |
--------------------------------------------------------------------------------
/app/dist/sticky/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-sticky{position:relative}.van-sticky-wrap--fixed{position:fixed;right:0;left:0}
--------------------------------------------------------------------------------
/app/dist/submit-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/submit-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/swipe-cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/swipe-cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/swipe-cell/index.wxml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/dist/swipe-cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-swipe-cell{position:relative;overflow:hidden}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
--------------------------------------------------------------------------------
/app/dist/switch/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/switch/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-loading": "../loading/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/switch/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/dist/switch/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function rootStyle(data) {
6 | var currentColor = data.checked ? data.activeColor : data.inactiveColor;
7 |
8 | return style({
9 | 'font-size': addUnit(data.size),
10 | 'background-color': currentColor,
11 | });
12 | }
13 |
14 | var BLUE = '#1989fa';
15 | var GRAY_DARK = '#969799';
16 |
17 | function loadingColor(data) {
18 | return data.checked
19 | ? data.activeColor || BLUE
20 | : data.inactiveColor || GRAY_DARK;
21 | }
22 |
23 | module.exports = {
24 | rootStyle: rootStyle,
25 | loadingColor: loadingColor,
26 | };
27 |
--------------------------------------------------------------------------------
/app/dist/tab/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/tab/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/tab/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/dist/tab/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex-shrink:0;flex-shrink:0;width:100%}.van-tab__pane,:host{box-sizing:border-box}.van-tab__pane{overflow-y:auto;-webkit-overflow-scrolling:touch}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
--------------------------------------------------------------------------------
/app/dist/tabbar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/tabbar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-info": "../info/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/tabbar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
15 |
16 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/dist/tabbar-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-tabbar-item{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;height:100%;color:#646566;color:var(--tabbar-item-text-color,#646566);font-size:12px;font-size:var(--tabbar-item-font-size,12px);line-height:1;line-height:var(--tabbar-item-line-height,1)}.van-tabbar-item__icon{position:relative;margin-bottom:4px;margin-bottom:var(--tabbar-item-margin-bottom,4px);font-size:22px;font-size:var(--tabbar-item-icon-size,22px)}.van-tabbar-item__icon__inner{display:block;min-width:1em}.van-tabbar-item--active{color:#1989fa;color:var(--tabbar-item-active-color,#1989fa)}.van-tabbar-item__info{margin-top:2px}
--------------------------------------------------------------------------------
/app/dist/tabbar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/tabbar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/tabbar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/dist/tabbar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tabbar{display:-webkit-flex;display:flex;box-sizing:initial;width:100%;height:50px;height:var(--tabbar-height,50px);background-color:#fff;background-color:var(--tabbar-background-color,#fff)}.van-tabbar--fixed{position:fixed;bottom:0;left:0}.van-tabbar--safe{padding-bottom:env(safe-area-inset-bottom)}
--------------------------------------------------------------------------------
/app/dist/tabs/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/tabs/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index",
5 | "van-sticky": "../sticky/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/tag/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/tag/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | size: String,
5 | mark: Boolean,
6 | color: String,
7 | plain: Boolean,
8 | round: Boolean,
9 | textColor: String,
10 | type: {
11 | type: String,
12 | value: 'default',
13 | },
14 | closeable: Boolean,
15 | },
16 | methods: {
17 | onClose() {
18 | this.$emit('close');
19 | },
20 | },
21 | });
22 |
--------------------------------------------------------------------------------
/app/dist/tag/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/app/dist/tag/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/app/dist/tag/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 |
4 | function rootStyle(data) {
5 | return style({
6 | 'background-color': data.plain ? '' : data.color,
7 | color: data.textColor || data.plain ? data.textColor || data.color : '',
8 | });
9 | }
10 |
11 | module.exports = {
12 | rootStyle: rootStyle,
13 | };
14 |
--------------------------------------------------------------------------------
/app/dist/toast/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/toast/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | mask: Boolean,
6 | message: String,
7 | forbidClick: Boolean,
8 | zIndex: {
9 | type: Number,
10 | value: 1000,
11 | },
12 | type: {
13 | type: String,
14 | value: 'text',
15 | },
16 | loadingType: {
17 | type: String,
18 | value: 'circular',
19 | },
20 | position: {
21 | type: String,
22 | value: 'middle',
23 | },
24 | },
25 | methods: {
26 | // for prevent touchmove
27 | noop() {},
28 | },
29 | });
30 |
--------------------------------------------------------------------------------
/app/dist/toast/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index",
6 | "van-overlay": "../overlay/index",
7 | "van-transition": "../transition/index"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/dist/transition/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/transition/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { transition } from '../mixins/transition';
3 | VantComponent({
4 | classes: [
5 | 'enter-class',
6 | 'enter-active-class',
7 | 'enter-to-class',
8 | 'leave-class',
9 | 'leave-active-class',
10 | 'leave-to-class',
11 | ],
12 | mixins: [transition(true)],
13 | });
14 |
--------------------------------------------------------------------------------
/app/dist/transition/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/app/dist/transition/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/dist/transition/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 |
4 | function rootStyle(data) {
5 | return style([
6 | {
7 | '-webkit-transition-duration': data.currentDuration + 'ms',
8 | 'transition-duration': data.currentDuration + 'ms',
9 | },
10 | data.display ? null : 'display: none',
11 | data.customStyle,
12 | ]);
13 | }
14 |
15 | module.exports = {
16 | rootStyle: rootStyle,
17 | };
18 |
--------------------------------------------------------------------------------
/app/dist/tree-select/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/tree-select/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-sidebar": "../sidebar/index",
6 | "van-sidebar-item": "../sidebar-item/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/app/dist/tree-select/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var array = require('../wxs/array.wxs');
3 |
4 | function isActive (activeList, itemId) {
5 | if (array.isArray(activeList)) {
6 | return activeList.indexOf(itemId) > -1;
7 | }
8 |
9 | return activeList === itemId;
10 | }
11 |
12 | module.exports.isActive = isActive;
13 |
--------------------------------------------------------------------------------
/app/dist/uploader/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/app/dist/uploader/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/app/dist/uploader/index.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var style = require('../wxs/style.wxs');
3 | var addUnit = require('../wxs/add-unit.wxs');
4 |
5 | function sizeStyle(data) {
6 | return style({
7 | width: addUnit(data.previewSize),
8 | height: addUnit(data.previewSize),
9 | });
10 | }
11 |
12 | module.exports = {
13 | sizeStyle: sizeStyle,
14 | };
15 |
--------------------------------------------------------------------------------
/app/dist/uploader/shared.d.ts:
--------------------------------------------------------------------------------
1 | export declare const chooseImageProps: {
2 | sizeType: {
3 | type: ArrayConstructor;
4 | value: string[];
5 | };
6 | capture: {
7 | type: ArrayConstructor;
8 | value: string[];
9 | };
10 | };
11 | export declare const chooseVideoProps: {
12 | capture: {
13 | type: ArrayConstructor;
14 | value: string[];
15 | };
16 | compressed: {
17 | type: BooleanConstructor;
18 | value: boolean;
19 | };
20 | maxDuration: {
21 | type: NumberConstructor;
22 | value: number;
23 | };
24 | camera: {
25 | type: StringConstructor;
26 | value: string;
27 | };
28 | };
29 |
--------------------------------------------------------------------------------
/app/dist/uploader/shared.js:
--------------------------------------------------------------------------------
1 | // props for choose image
2 | export const chooseImageProps = {
3 | sizeType: {
4 | type: Array,
5 | value: ['original', 'compressed'],
6 | },
7 | capture: {
8 | type: Array,
9 | value: ['album', 'camera'],
10 | },
11 | };
12 | // props for choose video
13 | export const chooseVideoProps = {
14 | capture: {
15 | type: Array,
16 | value: ['album', 'camera'],
17 | },
18 | compressed: {
19 | type: Boolean,
20 | value: true,
21 | },
22 | maxDuration: {
23 | type: Number,
24 | value: 60,
25 | },
26 | camera: {
27 | type: String,
28 | value: 'back',
29 | },
30 | };
31 |
--------------------------------------------------------------------------------
/app/dist/uploader/utils.d.ts:
--------------------------------------------------------------------------------
1 | export interface File {
2 | url: string;
3 | size?: number;
4 | name?: string;
5 | type: string;
6 | duration?: number;
7 | time?: number;
8 | isImage?: boolean;
9 | isVideo?: boolean;
10 | }
11 | export declare function isImageFile(item: File): boolean;
12 | export declare function isVideoFile(item: File): boolean;
13 | export declare function chooseFile({
14 | accept,
15 | multiple,
16 | capture,
17 | compressed,
18 | maxDuration,
19 | sizeType,
20 | camera,
21 | maxCount,
22 | }: {
23 | accept: any;
24 | multiple: any;
25 | capture: any;
26 | compressed: any;
27 | maxDuration: any;
28 | sizeType: any;
29 | camera: any;
30 | maxCount: any;
31 | }): Promise;
32 |
--------------------------------------------------------------------------------
/app/dist/wxs/add-unit.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var REGEXP = getRegExp('^-?\d+(\.\d+)?$');
3 |
4 | function addUnit(value) {
5 | if (value == null) {
6 | return undefined;
7 | }
8 |
9 | return REGEXP.test('' + value) ? value + 'px' : value;
10 | }
11 |
12 | module.exports = addUnit;
13 |
--------------------------------------------------------------------------------
/app/dist/wxs/array.wxs:
--------------------------------------------------------------------------------
1 | function isArray(array) {
2 | return array && array.constructor === 'Array';
3 | }
4 |
5 | module.exports.isArray = isArray;
6 |
--------------------------------------------------------------------------------
/app/dist/wxs/object.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var REGEXP = getRegExp('{|}|"', 'g');
3 |
4 | function keys(obj) {
5 | return JSON.stringify(obj)
6 | .replace(REGEXP, '')
7 | .split(',')
8 | .map(function(item) {
9 | return item.split(':')[0];
10 | });
11 | }
12 |
13 | module.exports.keys = keys;
14 |
--------------------------------------------------------------------------------
/app/dist/wxs/style.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var object = require('./object.wxs');
3 | var array = require('./array.wxs');
4 |
5 | function style(styles) {
6 | if (array.isArray(styles)) {
7 | return styles
8 | .filter(function (item) {
9 | return item != null && item !== '';
10 | })
11 | .map(function (item) {
12 | return style(item);
13 | })
14 | .join(';');
15 | }
16 |
17 | if ('Object' === styles.constructor) {
18 | return object
19 | .keys(styles)
20 | .filter(function (key) {
21 | return styles[key] != null && styles[key] !== '';
22 | })
23 | .map(function (key) {
24 | return [key, [styles[key]]].join(':');
25 | })
26 | .join(';');
27 | }
28 |
29 | return styles;
30 | }
31 |
32 | module.exports = style;
33 |
--------------------------------------------------------------------------------
/app/dist/wxs/utils.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var bem = require('./bem.wxs');
3 | var memoize = require('./memoize.wxs');
4 | var addUnit = require('./add-unit.wxs');
5 |
6 | module.exports = {
7 | bem: memoize(bem),
8 | memoize: memoize,
9 | addUnit: addUnit
10 | };
11 |
--------------------------------------------------------------------------------
/app/img/goodscar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/goodscar.png
--------------------------------------------------------------------------------
/app/img/goodscar1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/goodscar1.png
--------------------------------------------------------------------------------
/app/img/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/home.png
--------------------------------------------------------------------------------
/app/img/home1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/home1.png
--------------------------------------------------------------------------------
/app/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/logo.png
--------------------------------------------------------------------------------
/app/img/message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/message.png
--------------------------------------------------------------------------------
/app/img/message1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/message1.png
--------------------------------------------------------------------------------
/app/img/my.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/my.png
--------------------------------------------------------------------------------
/app/img/my1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/app/img/my1.png
--------------------------------------------------------------------------------
/app/pages/address/add/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/address/add/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .box{
11 | position: absolute;
12 | top: 64px;
13 | width: 100%;
14 | }
15 | .cu-custom .cu-bar{
16 | padding-right:inherit;
17 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
18 | }
19 | .bg-gradual-green {
20 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
21 | }
22 | .text-green, .line-green, .lines-green {
23 | color:#e45c5c;
24 | }
25 | .cu-form-group picker .picker{
26 | text-align: left;
27 | }
28 |
29 | .canui-foor-fixed{
30 | text-align:center;
31 | bottom:20rpx;
32 | background:#f1f1f1;
33 | }
34 |
--------------------------------------------------------------------------------
/app/pages/address/edit/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-uploader": "../../../dist/uploader/index",
13 | "van-radio": "../../../dist/radio/index",
14 | "van-radio-group": "../../../dist/radio-group/index",
15 | "van-datetime-picker": "../../../dist/datetime-picker/index",
16 | "van-calendar": "../../../dist/calendar/index"
17 | }
18 | }
--------------------------------------------------------------------------------
/app/pages/address/edit/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .box{
11 | position: absolute;
12 | top: 64px;
13 | width: 100%;
14 | }
15 | .cu-custom .cu-bar{
16 | padding-right:inherit;
17 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
18 | }
19 | .bg-gradual-green {
20 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
21 | }
22 | .text-green, .line-green, .lines-green {
23 | color:#e45c5c;
24 | }
25 |
--------------------------------------------------------------------------------
/app/pages/auth/auth.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 | Page({
3 | data: {
4 | StatusBar: app.globalData.StatusBar,
5 | CustomBar: app.globalData.CustomBar,
6 | ColorList: app.globalData.ColorList,
7 | },
8 | onGetUserInfo: function (e) {
9 | if (!this.logged && e.detail.userInfo) {
10 | app.globalData.userInfo = e.detail.userInfo;
11 | wx.switchTab({
12 | url: '/pages/index/index',
13 | })
14 | }
15 | }
16 | });
17 |
--------------------------------------------------------------------------------
/app/pages/auth/auth.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/app/pages/auth/auth.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 易汇天下
4 | v0.0.1
5 |
6 |
7 | 重庆古蔓文化传播有限公司
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/pages/auth/auth.wxss:
--------------------------------------------------------------------------------
1 | .UCenter-bg {
2 | background-image: url(https://yhtx.itianc.com/wxxcx/57b6c21fa72901.jpg);
3 | background-size: cover;
4 | height: 700rpx;
5 | display: flex;
6 | justify-content: center;
7 | overflow: hidden;
8 | position: relative;
9 | flex-direction: column;
10 | align-items: center;
11 | color: #fff;
12 | font-weight: 300;
13 | text-shadow: 0 0 3px rgba(0,0,0,0.3);
14 | }
15 | .UCenter-bg::after {
16 | content: "";
17 | position: absolute;
18 | width: 100vw;
19 | height: 50vw;
20 | background-color: #f1f1f1;
21 | transform: rotate(-10deg) scale(2,2);
22 | bottom: -60vw;
23 | left: 0;
24 | right: 0;
25 | margin: auto;
26 |
27 | }
28 | .UCenter-bg text{
29 | opacity: 0.8;
30 | }
31 | .UCenter-bg image {
32 | width: 250rpx;
33 | height: 250rpx;
34 | }
--------------------------------------------------------------------------------
/app/pages/coupon/add/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-uploader": "../../../dist/uploader/index",
13 | "van-radio": "../../../dist/radio/index",
14 | "van-radio-group": "../../../dist/radio-group/index"
15 | }
16 | }
--------------------------------------------------------------------------------
/app/pages/coupon/detail/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-tag": "../../../dist/tag/index",
4 | "van-row": "../../../dist/row/index",
5 | "van-col": "../../../dist/col/index"
6 | }
7 | }
--------------------------------------------------------------------------------
/app/pages/coupon/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-row": "../../../dist/row/index",
4 | "van-col": "../../../dist/col/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/app/pages/goods/add/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-uploader": "../../../dist/uploader/index",
13 | "van-picker": "../../../dist/picker/index",
14 | "van-radio": "../../../dist/radio/index",
15 | "van-radio-group": "../../../dist/radio-group/index"
16 | }
17 | }
--------------------------------------------------------------------------------
/app/pages/goods/edit/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-uploader": "../../../dist/uploader/index",
13 | "van-picker": "../../../dist/picker/index",
14 | "van-radio": "../../../dist/radio/index",
15 | "van-radio-group": "../../../dist/radio-group/index"
16 | }
17 | }
--------------------------------------------------------------------------------
/app/pages/home/bulletin/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/home/doc/index.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 |
3 | Page({
4 | data: {
5 | StatusBar: app.globalData.StatusBar,
6 | CustomBar: app.globalData.CustomBar,
7 | hidden: true,
8 | },
9 | onLoad: function (option) {
10 | console.log(option.id);
11 | wx.getSetting({
12 | success: res => {
13 | if (!res.authSetting['scope.userInfo']) {
14 | wx.redirectTo({
15 | url: '/pages/auth/auth'
16 | })
17 | }
18 | }
19 | });
20 | }
21 |
22 | });
23 |
--------------------------------------------------------------------------------
/app/pages/home/doc/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/home/doc/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 穿承
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/pages/home/doc/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .box{
11 | position: absolute;
12 | top: 64px;
13 | width: 100%;
14 | }
15 | .cu-custom .cu-bar{
16 | padding-right:inherit;
17 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
18 | }
19 | .bg-gradual-green {
20 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
21 | }
22 | .text-green, .line-green, .lines-green {
23 | color:#e45c5c;
24 | }
25 |
--------------------------------------------------------------------------------
/app/pages/home/groom/index.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 | let http = require('../../../utils/request')
3 | Page({
4 | data: {
5 | StatusBar: app.globalData.StatusBar,
6 | CustomBar: app.globalData.CustomBar,
7 | hidden: true,
8 | shopList: []
9 | },
10 | onLoad: function (option) {
11 | this.getShopList()
12 | },
13 | shopDeatil(e) {
14 | wx.navigateTo({
15 | url: '/pages/shop/index/index?shopId='+e.currentTarget.dataset.shopid+''
16 | });
17 | },
18 | getShopList() {
19 | http.get('selShopDetailList').then((r) => {
20 | r.data.forEach(element => {
21 | if (element.goods) {
22 | element.goods.forEach(item => {
23 | item.image = item.images.split(',')[0]
24 | });
25 | }
26 | });
27 | this.setData({
28 | shopList: r.data
29 | })
30 | })
31 | }
32 | });
33 |
--------------------------------------------------------------------------------
/app/pages/home/groom/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/home/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/home/joinus/index.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 |
3 | Page({
4 | data: {
5 | StatusBar: app.globalData.StatusBar,
6 | CustomBar: app.globalData.CustomBar,
7 | hidden: true,
8 | region: ['重庆市', '重庆市', '江北区'],
9 | },
10 | onLoad: function (option) {
11 | console.log(option.id);
12 | wx.getSetting({
13 | success: res => {
14 | if (!res.authSetting['scope.userInfo']) {
15 | wx.redirectTo({
16 | url: '/pages/auth/auth'
17 | })
18 | }
19 | }
20 | });
21 | },
22 | RegionChange: function (e) {
23 | this.setData({
24 | region: e.detail.value
25 | })
26 | },
27 |
28 | });
29 |
--------------------------------------------------------------------------------
/app/pages/home/joinus/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/home/joinus/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .box{
11 | position: absolute;
12 | top: 64px;
13 | width: 100%;
14 | }
15 | .cu-custom .cu-bar{
16 | padding-right:inherit;
17 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
18 | }
19 | .bg-gradual-green {
20 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
21 | }
22 | .text-green, .line-green, .lines-green {
23 | color:#e45c5c;
24 | }
25 |
--------------------------------------------------------------------------------
/app/pages/home/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index"
4 | }
5 | }
--------------------------------------------------------------------------------
/app/pages/home/search/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .cu-custom .cu-bar{
11 | padding-right:inherit;
12 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
13 | }
14 | .canui-goods-nav{
15 | position: relative;
16 | top: 70px;
17 | }
18 | .canui-goods-list{
19 | position: relative;
20 | top: 71px;
21 | }
22 |
--------------------------------------------------------------------------------
/app/pages/order/album/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-icon": "../../../dist/icon/index",
13 | "van-row": "../../../dist/row/index",
14 | "van-col": "../../../dist/col/index"
15 | }
16 | }
--------------------------------------------------------------------------------
/app/pages/order/detail/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/order/detail/index.wxml:
--------------------------------------------------------------------------------
1 |
2 | pages/order/detail/index.wxml
3 |
--------------------------------------------------------------------------------
/app/pages/order/detail/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/order/detail/index.wxss */
--------------------------------------------------------------------------------
/app/pages/order/details/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/order/evaluate/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-icon": "../../../dist/icon/index",
13 | "van-row": "../../../dist/row/index",
14 | "van-col": "../../../dist/col/index"
15 | }
16 | }
--------------------------------------------------------------------------------
/app/pages/order/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-icon": "../../../dist/icon/index",
13 | "van-row": "../../../dist/row/index",
14 | "van-col": "../../../dist/col/index"
15 | }
16 | }
--------------------------------------------------------------------------------
/app/pages/order/music/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-icon": "../../../dist/icon/index",
13 | "van-row": "../../../dist/row/index",
14 | "van-col": "../../../dist/col/index"
15 | }
16 | }
--------------------------------------------------------------------------------
/app/pages/order/music/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 歌曲列表
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/pages/order/play/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-icon": "../../../dist/icon/index",
13 | "van-row": "../../../dist/row/index",
14 | "van-col": "../../../dist/col/index"
15 | }
16 | }
--------------------------------------------------------------------------------
/app/pages/scar/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/scar/order/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/shop/goods/details.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-tag": "../../../dist/tag/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-icon": "../../../dist/icon/index"
13 | }
14 | }
--------------------------------------------------------------------------------
/app/pages/shop/index/details.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/shop/index/details.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .cu-custom .cu-bar{
11 | padding-right:inherit;
12 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
13 | }
14 | .box{
15 | position: absolute;
16 | top: 64px;
17 | width: 100%;
18 | }
19 | .cu-list.menu-avatar>.canui-jsd{
20 | padding-left:30rpx;
21 | }
22 |
--------------------------------------------------------------------------------
/app/pages/shop/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-tag": "../../../dist/tag/index",
4 | "van-row": "../../../dist/row/index",
5 | "van-col": "../../../dist/col/index",
6 | "van-button": "../../../dist/button/index"
7 | }
8 | }
--------------------------------------------------------------------------------
/app/pages/shop/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/shop/search/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | padding-top: 50px;
3 | padding-bottom:170rpx;
4 | }
5 | .cu-custom{
6 | position: absolute;
7 | top: 0px;
8 | width: 100%;
9 | }
10 | .cu-custom .cu-bar{
11 | padding-right:inherit;
12 | background-image:linear-gradient(45deg, #ed1c24, #ed1c24);
13 | }
14 | .canui-goods-list{
15 | position: relative;
16 | top: 70px;
17 | }
18 |
--------------------------------------------------------------------------------
/app/pages/user/address/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index"
4 | }
5 | }
--------------------------------------------------------------------------------
/app/pages/user/alert/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-cell": "../../../dist/cell/index",
5 | "van-cell-group": "../../../dist/cell-group/index",
6 | "van-row": "../../../dist/row/index",
7 | "van-col": "../../../dist/col/index"
8 | }
9 | }
--------------------------------------------------------------------------------
/app/pages/user/audit/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index",
4 | "van-panel": "../../../dist/panel/index",
5 | "van-button": "../../../dist/button/index",
6 | "van-popup": "../../../dist/popup/index",
7 | "van-rate": "../../../dist/rate/index",
8 | "van-field": "../../../dist/field/index",
9 | "van-cell": "../../../dist/cell/index",
10 | "van-cell-group": "../../../dist/cell-group/index",
11 | "van-notify": "../../../dist/notify/index",
12 | "van-uploader": "../../../dist/uploader/index"
13 | }
14 | }
--------------------------------------------------------------------------------
/app/pages/user/detail/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/user/goods/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index"
4 | }
5 | }
--------------------------------------------------------------------------------
/app/pages/user/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/user/message/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "enablePullDownRefresh": true,
3 | "backgroundTextStyle": "dark",
4 | "usingComponents": {
5 | "van-empty": "../../../dist/empty/index"
6 | }
7 | }
--------------------------------------------------------------------------------
/app/pages/user/post/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "van-empty": "../../../dist/empty/index"
4 | }
5 | }
--------------------------------------------------------------------------------
/app/pages/vipcard/details/index.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 | Page({
3 | data: {
4 | StatusBar: app.globalData.StatusBar,
5 | CustomBar: app.globalData.CustomBar,
6 | TabbarBot: app.globalData.tabbar_bottom
7 | },
8 | onLoad: function (options) {
9 | let that = this;
10 | }
11 |
12 | });
13 |
--------------------------------------------------------------------------------
/app/pages/vipcard/details/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/pages/vipcard/index/index.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 | Page({
3 | data: {
4 | StatusBar: app.globalData.StatusBar,
5 | CustomBar: app.globalData.CustomBar,
6 | TabbarBot: app.globalData.tabbar_bottom,
7 | TabCur: 1,scrollLeft:0,
8 | SortMenu: [{id:1,name:"使用中"},{id:2,name:"已失效"}]
9 | },
10 | onLoad: function (options) {
11 | let that = this;
12 | },
13 | tabSelect(e) {
14 | console.log(e.currentTarget.dataset.id);
15 | this.setData({
16 | TabCur: e.currentTarget.dataset.id,
17 | scrollLeft: (e.currentTarget.dataset.id-1)*60
18 | })
19 | }
20 | });
21 |
--------------------------------------------------------------------------------
/app/pages/vipcard/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {}
3 | }
--------------------------------------------------------------------------------
/app/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [{
4 | "action": "allow",
5 | "page": "*"
6 | }]
7 | }
--------------------------------------------------------------------------------
/app/utils/util.js:
--------------------------------------------------------------------------------
1 | const formatTime = date => {
2 | const year = date.getFullYear()
3 | const month = date.getMonth() + 1
4 | const day = date.getDate()
5 | const hour = date.getHours()
6 | const minute = date.getMinutes()
7 | const second = date.getSeconds()
8 |
9 | return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
10 | }
11 |
12 | const formatNumber = n => {
13 | n = n.toString()
14 | return n[1] ? n : '0' + n
15 | }
16 |
17 | module.exports = {
18 | formatTime: formatTime
19 | }
20 |
--------------------------------------------------------------------------------
/backend/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Example user template template
3 | ### Example user template
4 |
5 | # IntelliJ project files
6 | .idea
7 | *.iml
8 | out
9 | gen
10 | /target/
11 | /log/
12 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/FebsApplication.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs;
2 |
3 | import org.springframework.boot.autoconfigure.SpringBootApplication;
4 | import org.springframework.boot.builder.SpringApplicationBuilder;
5 | import org.springframework.scheduling.annotation.EnableAsync;
6 | import org.springframework.scheduling.annotation.EnableScheduling;
7 | import org.springframework.transaction.annotation.EnableTransactionManagement;
8 |
9 | @SpringBootApplication
10 | @EnableTransactionManagement
11 | @EnableScheduling
12 | @EnableAsync
13 | public class FebsApplication {
14 |
15 | public static void main(String[] args) {
16 | new SpringApplicationBuilder(FebsApplication.class)
17 | .run(args);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/annotation/IsCron.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.annotation;
2 |
3 | import cc.mrbird.febs.common.validator.CronValidator;
4 |
5 | import javax.validation.Constraint;
6 | import javax.validation.Payload;
7 | import java.lang.annotation.ElementType;
8 | import java.lang.annotation.Retention;
9 | import java.lang.annotation.RetentionPolicy;
10 | import java.lang.annotation.Target;
11 |
12 | @Target({ElementType.FIELD})
13 | @Retention(RetentionPolicy.RUNTIME)
14 | @Constraint(validatedBy = CronValidator.class)
15 | public @interface IsCron {
16 |
17 | String message();
18 |
19 | Class>[] groups() default {};
20 |
21 | Class extends Payload>[] payload() default {};
22 | }
23 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/annotation/Limit.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.annotation;
2 |
3 | import cc.mrbird.febs.common.domain.LimitType;
4 |
5 | import java.lang.annotation.ElementType;
6 | import java.lang.annotation.Retention;
7 | import java.lang.annotation.RetentionPolicy;
8 | import java.lang.annotation.Target;
9 |
10 | @Target(ElementType.METHOD)
11 | @Retention(RetentionPolicy.RUNTIME)
12 | public @interface Limit {
13 |
14 | // 资源名称,用于描述接口功能
15 | String name() default "";
16 |
17 | // 资源 key
18 | String key() default "";
19 |
20 | // key prefix
21 | String prefix() default "";
22 |
23 | // 时间的,单位秒
24 | int period();
25 |
26 | // 限制访问次数
27 | int count();
28 |
29 | // 限制类型
30 | LimitType limitType() default LimitType.CUSTOMER;
31 | }
32 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/annotation/Log.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Target(ElementType.METHOD)
9 | @Retention(RetentionPolicy.RUNTIME)
10 | public @interface Log {
11 | String value() default "";
12 | }
13 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/config/MyWebMvcConfigurerAdapter.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.config;
2 |
3 | import org.springframework.context.annotation.Configuration;
4 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
6 |
7 | @Configuration
8 | public class MyWebMvcConfigurerAdapter implements WebMvcConfigurer {
9 |
10 | @Override
11 | public void addResourceHandlers(ResourceHandlerRegistry registry) {
12 | registry.addResourceHandler("/imagesWeb/**").addResourceLocations("file:G:/Project/20240725在线音乐播放/db/");
13 | WebMvcConfigurer.super.addResourceHandlers(registry);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/config/MybatisPlusConfig.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.config;
2 |
3 | import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
4 | import org.mybatis.spring.annotation.MapperScan;
5 | import org.springframework.context.annotation.Bean;
6 | import org.springframework.context.annotation.Configuration;
7 |
8 | @Configuration
9 | @MapperScan(value = {"cc.mrbird.febs.*.dao"})
10 | public class MybatisPlusConfig {
11 |
12 | /**
13 | * 分页插件
14 | */
15 | @Bean
16 | public PaginationInterceptor paginationInterceptor() {
17 | return new PaginationInterceptor();
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/controller/BaseController.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.controller;
2 |
3 | import com.baomidou.mybatisplus.core.metadata.IPage;
4 |
5 | import java.util.HashMap;
6 | import java.util.Map;
7 |
8 | public class BaseController {
9 |
10 | protected Map getDataTable(IPage> pageInfo) {
11 | Map rspData = new HashMap<>();
12 | rspData.put("rows", pageInfo.getRecords());
13 | rspData.put("total", pageInfo.getTotal());
14 | return rspData;
15 | }
16 |
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/domain/FebsResponse.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.domain;
2 |
3 | import java.util.HashMap;
4 |
5 | public class FebsResponse extends HashMap {
6 |
7 | private static final long serialVersionUID = -8713837118340960775L;
8 |
9 | public FebsResponse message(String message) {
10 | this.put("message", message);
11 | return this;
12 | }
13 |
14 | public FebsResponse data(Object data) {
15 | this.put("data", data);
16 | return this;
17 | }
18 |
19 | @Override
20 | public FebsResponse put(String key, Object value) {
21 | super.put(key, value);
22 | return this;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/domain/LimitType.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.domain;
2 |
3 | public enum LimitType {
4 | // 传统类型
5 | CUSTOMER,
6 | // 根据 IP 限制
7 | IP;
8 | }
9 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/domain/QueryRequest.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.domain;
2 |
3 | import lombok.Data;
4 | import lombok.ToString;
5 |
6 | import java.io.Serializable;
7 |
8 | @Data
9 | public class QueryRequest implements Serializable {
10 |
11 | private static final long serialVersionUID = -4869594085374385813L;
12 |
13 | private int pageSize = 10;
14 | private int pageNum = 1;
15 |
16 | private String sortField;
17 | private String sortOrder;
18 | }
19 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/domain/RegexpConstant.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.domain;
2 |
3 | /**
4 | * 正则常量
5 | */
6 | public class RegexpConstant {
7 |
8 | // 简单手机号正则(这里只是简单校验是否为11位,实际规则很复杂)
9 | public static final String MOBILE_REG = "[1]\\d{10}";
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/domain/router/RouterMeta.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.domain.router;
2 |
3 | import com.fasterxml.jackson.annotation.JsonInclude;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 |
7 | import java.io.Serializable;
8 |
9 | /**
10 | * Vue路由 Meta
11 | */
12 | @Data
13 | @AllArgsConstructor
14 | @JsonInclude(JsonInclude.Include.NON_NULL)
15 | public class RouterMeta implements Serializable {
16 |
17 | private static final long serialVersionUID = 5499925008927195914L;
18 |
19 | private Boolean closeable;
20 |
21 | private Boolean isShow;
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/exception/FebsException.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.exception;
2 |
3 | /**
4 | * FEBS 系统内部异常
5 | */
6 | public class FebsException extends Exception {
7 |
8 | private static final long serialVersionUID = -994962710559017255L;
9 |
10 | public FebsException(String message) {
11 | super(message);
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/exception/LimitAccessException.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.exception;
2 |
3 | /**
4 | * 限流异常
5 | */
6 | public class LimitAccessException extends Exception {
7 |
8 | private static final long serialVersionUID = -3608667856397125671L;
9 |
10 | public LimitAccessException(String message) {
11 | super(message);
12 | }
13 | }
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/exception/RedisConnectException.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.exception;
2 |
3 | /**
4 | * Redis 连接异常
5 | */
6 | public class RedisConnectException extends Exception {
7 |
8 | private static final long serialVersionUID = 1639374111871115063L;
9 |
10 | public RedisConnectException(String message) {
11 | super(message);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/exception/TokenTimeoutException.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.exception;
2 |
3 | import org.apache.shiro.authc.AuthenticationException;
4 |
5 | /**
6 | * token过期抛出这个
7 | */
8 | public class TokenTimeoutException extends AuthenticationException {
9 |
10 | private static final long serialVersionUID = -8313101744886192005L;
11 |
12 | public TokenTimeoutException(String message) {
13 | super(message);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/function/CacheSelector.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.function;
2 |
3 | @FunctionalInterface
4 | public interface CacheSelector {
5 | T select() throws Exception;
6 | }
7 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/function/JedisExecutor.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.function;
2 |
3 | import cc.mrbird.febs.common.exception.RedisConnectException;
4 |
5 | @FunctionalInterface
6 | public interface JedisExecutor {
7 | R excute(T t) throws RedisConnectException;
8 | }
9 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/properties/FebsProperties.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.properties;
2 |
3 | import lombok.Data;
4 | import org.springframework.boot.context.properties.ConfigurationProperties;
5 | import org.springframework.context.annotation.Configuration;
6 |
7 | @Data
8 | @Configuration
9 | @ConfigurationProperties(prefix = "febs")
10 | public class FebsProperties {
11 |
12 | private ShiroProperties shiro = new ShiroProperties();
13 |
14 | private boolean openAopLog = true;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/properties/ShiroProperties.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.properties;
2 |
3 | public class ShiroProperties {
4 |
5 | private String anonUrl;
6 |
7 | /**
8 | * token默认有效时间 1天
9 | */
10 | private Long jwtTimeOut = 86400L;
11 |
12 | public String getAnonUrl() {
13 | return anonUrl;
14 | }
15 |
16 | public void setAnonUrl(String anonUrl) {
17 | this.anonUrl = anonUrl;
18 | }
19 |
20 | public Long getJwtTimeOut() {
21 | return jwtTimeOut;
22 | }
23 |
24 | public void setJwtTimeOut(Long jwtTimeOut) {
25 | this.jwtTimeOut = jwtTimeOut;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/utils/HttpContextUtil.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.utils;
2 |
3 | import org.springframework.web.context.request.RequestContextHolder;
4 | import org.springframework.web.context.request.ServletRequestAttributes;
5 |
6 | import javax.servlet.http.HttpServletRequest;
7 | import java.util.Objects;
8 |
9 | public class HttpContextUtil {
10 |
11 | private HttpContextUtil(){
12 |
13 | }
14 | public static HttpServletRequest getHttpServletRequest() {
15 | return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/common/validator/CronValidator.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.common.validator;
2 |
3 | import cc.mrbird.febs.common.annotation.IsCron;
4 | import org.quartz.CronExpression;
5 |
6 | import javax.validation.ConstraintValidator;
7 | import javax.validation.ConstraintValidatorContext;
8 |
9 | /**
10 | * 校验是否为合法的 Cron表达式
11 | */
12 | public class CronValidator implements ConstraintValidator {
13 |
14 | @Override
15 | public void initialize(IsCron isCron) {
16 | }
17 |
18 | @Override
19 | public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
20 | try {
21 | return CronExpression.isValidExpression(value);
22 | } catch (Exception e) {
23 | return false;
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/dao/BulletinInfoMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.dao;
2 |
3 | import cc.mrbird.febs.cos.entity.BulletinInfo;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.baomidou.mybatisplus.core.metadata.IPage;
6 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.LinkedHashMap;
10 |
11 | /**
12 | * @author FanK
13 | */
14 | public interface BulletinInfoMapper extends BaseMapper {
15 |
16 | /**
17 | * 分页获取公告信息
18 | * @param page 分页对象
19 | * @param bulletinInfo 公告信息
20 | * @return 结果
21 | */
22 | IPage> getBulletinByPage(Page page, @Param("bulletinInfo") BulletinInfo bulletinInfo);
23 | }
24 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/dao/LyricsInfoMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.dao;
2 |
3 | import cc.mrbird.febs.cos.entity.LyricsInfo;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.baomidou.mybatisplus.core.metadata.IPage;
6 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.LinkedHashMap;
10 |
11 | /**
12 | * 歌词管理 mapper层
13 | *
14 | * @author FanK
15 | */
16 | public interface LyricsInfoMapper extends BaseMapper {
17 |
18 | /**
19 | * 分页获取歌词信息
20 | *
21 | * @param page 分页对象
22 | * @param lyricsInfo 歌词信息
23 | * @return 结果
24 | */
25 | IPage> queryLyricsPage(Page page, @Param("lyricsInfo") LyricsInfo lyricsInfo);
26 | }
27 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/dao/UserInfoMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.dao;
2 |
3 | import cc.mrbird.febs.cos.entity.UserInfo;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 | import com.baomidou.mybatisplus.core.metadata.IPage;
6 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.LinkedHashMap;
10 |
11 | /**
12 | * 用户管理 mapper层
13 | *
14 | * @author FanK
15 | */
16 | public interface UserInfoMapper extends BaseMapper {
17 |
18 | /**
19 | * 分页获取用户信息
20 | *
21 | * @param page 分页对象
22 | * @param userInfo 用户信息
23 | * @return 结果
24 | */
25 | IPage> queryUserPage(Page page, @Param("userInfo") UserInfo userInfo);
26 | }
27 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/service/IBulletinInfoService.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.service;
2 |
3 | import cc.mrbird.febs.cos.entity.BulletinInfo;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 | import com.baomidou.mybatisplus.extension.service.IService;
7 |
8 | import java.util.LinkedHashMap;
9 |
10 | /**
11 | * @author FanK
12 | */
13 | public interface IBulletinInfoService extends IService {
14 |
15 | /**
16 | * 分页获取公告信息
17 | * @param page 分页对象
18 | * @param bulletinInfo 公告信息
19 | * @return 结果
20 | */
21 | IPage> getBulletinByPage(Page page, BulletinInfo bulletinInfo);
22 | }
23 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/service/ILyricsInfoService.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.service;
2 |
3 | import cc.mrbird.febs.cos.entity.LyricsInfo;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 | import com.baomidou.mybatisplus.extension.service.IService;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.LinkedHashMap;
10 |
11 | /**
12 | * 歌词管理 service层
13 | *
14 | * @author FanK
15 | */
16 | public interface ILyricsInfoService extends IService {
17 |
18 | /**
19 | * 分页获取歌词信息
20 | *
21 | * @param page 分页对象
22 | * @param lyricsInfo 歌词信息
23 | * @return 结果
24 | */
25 | IPage> queryLyricsPage(Page page, LyricsInfo lyricsInfo);
26 | }
27 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/service/IMailService.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.service;
2 |
3 | public interface IMailService {
4 |
5 | /**
6 | * 发送文本邮件
7 | * @param to 收件人
8 | * @param subject 主题
9 | * @param content 内容
10 | */
11 | void sendSimpleMail(String to, String subject, String content);
12 |
13 | /**
14 | * 发送HTML邮件
15 | * @param to 收件人
16 | * @param subject 主题
17 | * @param content 内容
18 | */
19 | void sendHtmlMail(String to, String subject, String content);
20 |
21 |
22 |
23 | /**
24 | * 发送带附件的邮件
25 | * @param to 收件人
26 | * @param subject 主题
27 | * @param content 内容
28 | * @param filePath 附件
29 | */
30 | void sendAttachmentsMail(String to, String subject, String content, String filePath);
31 | }
32 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/cos/service/IUserInfoService.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.cos.service;
2 |
3 | import cc.mrbird.febs.cos.entity.UserInfo;
4 | import com.baomidou.mybatisplus.core.metadata.IPage;
5 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 | import com.baomidou.mybatisplus.extension.service.IService;
7 | import org.apache.ibatis.annotations.Param;
8 |
9 | import java.util.LinkedHashMap;
10 |
11 | /**
12 | * 用户管理 service层
13 | *
14 | * @author FanK
15 | */
16 | public interface IUserInfoService extends IService {
17 |
18 | /**
19 | * 分页获取用户信息
20 | *
21 | * @param page 分页对象
22 | * @param userInfo 用户信息
23 | * @return 结果
24 | */
25 | IPage> queryUserPage(Page page, UserInfo userInfo);
26 | }
27 |
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/system/dao/DeptMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.system.dao;
2 |
3 | import cc.mrbird.febs.system.domain.Dept;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | public interface DeptMapper extends BaseMapper {
7 |
8 | }
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/system/dao/DictMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.system.dao;
2 |
3 | import cc.mrbird.febs.system.domain.Dict;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | public interface DictMapper extends BaseMapper {
7 | }
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/system/dao/LogMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.system.dao;
2 |
3 | import cc.mrbird.febs.system.domain.SysLog;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | public interface LogMapper extends BaseMapper {
7 | }
--------------------------------------------------------------------------------
/backend/src/main/java/cc/mrbird/febs/system/dao/MenuMapper.java:
--------------------------------------------------------------------------------
1 | package cc.mrbird.febs.system.dao;
2 |
3 | import cc.mrbird.febs.system.domain.Menu;
4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 |
6 | import java.util.List;
7 |
8 | public interface MenuMapper extends BaseMapper
6 |
7 |
8 |
14 |
15 |
26 |
--------------------------------------------------------------------------------
/frontend/src/components/setting/StyleItem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
![]()
4 |
7 |
8 |
9 |
10 |
16 |
17 |
37 |
--------------------------------------------------------------------------------
/frontend/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import account from './modules/account'
4 | import setting from './modules/setting'
5 |
6 | Vue.use(Vuex)
7 |
8 | export default new Vuex.Store({
9 | modules: {
10 | account,
11 | setting
12 | }
13 | })
14 |
--------------------------------------------------------------------------------
/frontend/src/utils/common.js:
--------------------------------------------------------------------------------
1 | export function triggerWindowResizeEvent () {
2 | let event = document.createEvent('HTMLEvents')
3 | event.initEvent('resize', true, true)
4 | event.eventType = 'message'
5 | window.dispatchEvent(event)
6 | }
7 |
--------------------------------------------------------------------------------
/frontend/src/utils/device.js:
--------------------------------------------------------------------------------
1 | import enquireJs from 'enquire.js'
2 |
3 | const enquireScreen = function (call) {
4 | const hanlder = {
5 | match: function () {
6 | call && call(true)
7 | },
8 | unmatch: function () {
9 | call && call(false)
10 | }
11 | }
12 | enquireJs.register('only screen and (max-width: 767.99px)', hanlder)
13 | }
14 |
15 | export default enquireScreen
16 |
--------------------------------------------------------------------------------
/frontend/src/utils/install.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | import {hasPermission, hasNoPermission, hasAnyPermission, hasRole, hasAnyRole} from 'utils/permissionDirect'
4 |
5 | const Plugins = [
6 | hasPermission,
7 | hasNoPermission,
8 | hasAnyPermission,
9 | hasRole,
10 | hasAnyRole
11 | ]
12 |
13 | Plugins.map((plugin) => {
14 | Vue.use(plugin)
15 | })
16 |
17 | export default Vue
18 |
--------------------------------------------------------------------------------
/frontend/src/utils/localstorage.js:
--------------------------------------------------------------------------------
1 | let db = {
2 | save (key, value) {
3 | localStorage.setItem(key, JSON.stringify(value))
4 | },
5 | get (key, defaultValue = {}) {
6 | return JSON.parse(localStorage.getItem(key)) || defaultValue
7 | },
8 | remove (key) {
9 | localStorage.removeItem(key)
10 | },
11 | clear () {
12 | localStorage.clear()
13 | }
14 | }
15 |
16 | export default db
17 |
--------------------------------------------------------------------------------
/frontend/src/views/common/EmptyPageView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
--------------------------------------------------------------------------------
/frontend/src/views/common/GlobalFooter.vue:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
17 |
18 |
37 |
--------------------------------------------------------------------------------
/frontend/src/views/error/403.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
15 |
--------------------------------------------------------------------------------
/frontend/src/views/error/404.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
15 |
--------------------------------------------------------------------------------
/frontend/src/views/error/500.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
15 |
--------------------------------------------------------------------------------
/frontend/src/views/monitor/RedisTerminal.vue:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
14 |
--------------------------------------------------------------------------------
/frontend/src/views/system/dept/DeptInputTree.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
36 |
--------------------------------------------------------------------------------
/frontend/src/views/system/user/UserInfo.less:
--------------------------------------------------------------------------------
1 | .user-info {
2 | background: #fff;
3 | padding: 0 10px 10px 10px;
4 | }
5 | .user-info-side {
6 | background: #fff;
7 | }
8 | .user-info-side {
9 | max-width: 10rem !important;
10 | min-width: 10rem !important;
11 | width: 10rem !important;
12 | }
13 | .user-content-one{
14 | margin-right: 1.2rem;
15 | }
16 | p {
17 | margin-bottom: 1rem;
18 | max-width: 15.5rem;
19 | }
20 | i {
21 | margin-right: .8rem;
22 | }
23 |
--------------------------------------------------------------------------------
/frontend/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/.gitkeep
--------------------------------------------------------------------------------
/frontend/static/avatar/17e420c250804efe904a09a33796d5a10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/17e420c250804efe904a09a33796d5a10.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/17e420c250804efe904a09a33796d5a16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/17e420c250804efe904a09a33796d5a16.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/19034103295190235.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/19034103295190235.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/1d22f3e41d284f50b2c8fc32e0788698.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/1d22f3e41d284f50b2c8fc32e0788698.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165754.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165754.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165815.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165815.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165821.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165821.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165827.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165827.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165834.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165834.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165840.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165840.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165846.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165846.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165855.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165855.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165909.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165909.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165914.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165914.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165920.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165920.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165927.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165927.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165936.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165936.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165942.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165942.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165947.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165947.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414165955.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414165955.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/20180414170003.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/20180414170003.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/2dd7a2d09fa94bf8b5c52e5318868b4d9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/2dd7a2d09fa94bf8b5c52e5318868b4d9.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/2dd7a2d09fa94bf8b5c52e5318868b4df.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/2dd7a2d09fa94bf8b5c52e5318868b4df.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/496b3ace787342f7954b7045b8b06804.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/496b3ace787342f7954b7045b8b06804.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/595ba7b05f2e485eb50565a50cb6cc3c.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/595ba7b05f2e485eb50565a50cb6cc3c.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/5997fedcc7bd4cffbd350b40d1b5b9824.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/5997fedcc7bd4cffbd350b40d1b5b9824.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/5997fedcc7bd4cffbd350b40d1b5b987.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/5997fedcc7bd4cffbd350b40d1b5b987.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/87d8194bc9834e9f8f0228e9e530beb1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/87d8194bc9834e9f8f0228e9e530beb1.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/8f5b60ef00714a399ee544d331231820.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/8f5b60ef00714a399ee544d331231820.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/964e40b005724165b8cf772355796c8c.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/964e40b005724165b8cf772355796c8c.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/BiazfanxmamNRoxxVxka.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/BiazfanxmamNRoxxVxka.png
--------------------------------------------------------------------------------
/frontend/static/avatar/WhxKECPNujWoWEFNdnJE.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/WhxKECPNujWoWEFNdnJE.png
--------------------------------------------------------------------------------
/frontend/static/avatar/a3b10296862e40edb811418d64455d00.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/a3b10296862e40edb811418d64455d00.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/a43456282d684e0b9319cf332f8ac468.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/a43456282d684e0b9319cf332f8ac468.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/bba284ac05b041a8b8b0d1927868d5c9x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/bba284ac05b041a8b8b0d1927868d5c9x.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/c7c4ee7be3eb4e73a19887dc713505145.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/c7c4ee7be3eb4e73a19887dc713505145.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/cnrhVkzwxjPwAaCfPbdc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/cnrhVkzwxjPwAaCfPbdc.png
--------------------------------------------------------------------------------
/frontend/static/avatar/default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/default.jpg
--------------------------------------------------------------------------------
/frontend/static/avatar/ff698bb2d25c4d218b3256b46c706ece.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/ff698bb2d25c4d218b3256b46c706ece.jpeg
--------------------------------------------------------------------------------
/frontend/static/avatar/gaOngJwsRYRaVAuXXcmB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/gaOngJwsRYRaVAuXXcmB.png
--------------------------------------------------------------------------------
/frontend/static/avatar/jZUIxmJycoymBprLOUbT.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/jZUIxmJycoymBprLOUbT.png
--------------------------------------------------------------------------------
/frontend/static/avatar/ubnKSIfAJTxIgXOKlciN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/avatar/ubnKSIfAJTxIgXOKlciN.png
--------------------------------------------------------------------------------
/frontend/static/img/1work-4997565_1280.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/1work-4997565_1280.png
--------------------------------------------------------------------------------
/frontend/static/img/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/delete.png
--------------------------------------------------------------------------------
/frontend/static/img/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/download.png
--------------------------------------------------------------------------------
/frontend/static/img/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/error.png
--------------------------------------------------------------------------------
/frontend/static/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/favicon.ico
--------------------------------------------------------------------------------
/frontend/static/img/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/home.png
--------------------------------------------------------------------------------
/frontend/static/img/loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/loading.png
--------------------------------------------------------------------------------
/frontend/static/img/logo-blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/logo-blue.png
--------------------------------------------------------------------------------
/frontend/static/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/logo.png
--------------------------------------------------------------------------------
/frontend/static/img/record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/record.png
--------------------------------------------------------------------------------
/frontend/static/img/template.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/template.png
--------------------------------------------------------------------------------
/frontend/static/img/total.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/total.png
--------------------------------------------------------------------------------
/frontend/static/img/work-4997565_1280.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/work-4997565_1280.png
--------------------------------------------------------------------------------
/frontend/static/img/work-4997565_12801.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Fankekeke/music_cloud_cos/bd6faf25badc864e1ea918daf9b7c7586d3f9227/frontend/static/img/work-4997565_12801.png
--------------------------------------------------------------------------------
/frontend/static/less/Common.less:
--------------------------------------------------------------------------------
1 | .search{
2 | margin-bottom: 54px;
3 | }
4 | .fold{
5 | width: calc(100% - 216px);
6 | display: inline-block
7 | }
8 | .operator{
9 | margin-bottom: 18px;
10 | }
11 | @media screen and (max-width: 900px) {
12 | .fold {
13 | width: 100%;
14 | }
15 | }
16 | .operator button {
17 | margin-right: 5px;
18 | }
19 | i {
20 | cursor: pointer;
21 | }
22 |
--------------------------------------------------------------------------------