├── .gitignore
├── .hbuilderx
└── launch.json
├── App.vue
├── Json.js
├── LICENSE
├── README.md
├── api
├── oms
│ ├── cart.js
│ └── order.js
├── pms
│ ├── category.js
│ └── goods.js
├── sms
│ └── advert.js
├── ums
│ └── address.js
└── user.js
├── components
├── Winglau14-lotusAddress
│ ├── Winglau14-lotusAddress.css
│ ├── Winglau14-lotusAddress.js
│ └── Winglau14-lotusAddress.vue
├── empty.vue
├── mix-list-cell.vue
├── mix-loading
│ └── mix-loading.vue
├── share.vue
├── uni-load-more
│ └── uni-load-more.vue
├── uni-number-box.vue
└── upload-images.vue
├── filters
└── index.js
├── main.js
├── manifest.json
├── node_modules
├── axios
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── UPGRADE_GUIDE.md
│ ├── dist
│ │ ├── axios.js
│ │ ├── axios.map
│ │ ├── axios.min.js
│ │ └── axios.min.map
│ ├── index.d.ts
│ ├── index.js
│ ├── lib
│ │ ├── adapters
│ │ │ ├── README.md
│ │ │ ├── http.js
│ │ │ └── xhr.js
│ │ ├── axios.js
│ │ ├── cancel
│ │ │ ├── Cancel.js
│ │ │ ├── CancelToken.js
│ │ │ └── isCancel.js
│ │ ├── core
│ │ │ ├── Axios.js
│ │ │ ├── InterceptorManager.js
│ │ │ ├── README.md
│ │ │ ├── buildFullPath.js
│ │ │ ├── createError.js
│ │ │ ├── dispatchRequest.js
│ │ │ ├── enhanceError.js
│ │ │ ├── mergeConfig.js
│ │ │ ├── settle.js
│ │ │ └── transformData.js
│ │ ├── defaults.js
│ │ ├── helpers
│ │ │ ├── README.md
│ │ │ ├── bind.js
│ │ │ ├── buildURL.js
│ │ │ ├── combineURLs.js
│ │ │ ├── cookies.js
│ │ │ ├── deprecatedMethod.js
│ │ │ ├── isAbsoluteURL.js
│ │ │ ├── isURLSameOrigin.js
│ │ │ ├── normalizeHeaderName.js
│ │ │ ├── parseHeaders.js
│ │ │ └── spread.js
│ │ └── utils.js
│ └── package.json
└── follow-redirects
│ ├── LICENSE
│ ├── README.md
│ ├── debug.js
│ ├── http.js
│ ├── https.js
│ ├── index.js
│ └── package.json
├── package-lock.json
├── pages.json
├── pages
├── address
│ ├── address.vue
│ └── addressManage.vue
├── cart
│ └── cart.vue
├── category
│ └── category.vue
├── detail
│ └── detail.vue
├── index
│ └── index.vue
├── login
│ └── login.vue
├── money
│ ├── money.vue
│ ├── pay.vue
│ └── paySuccess.vue
├── notice
│ └── notice.vue
├── order
│ ├── createOrder.vue
│ └── order.vue
├── product
│ ├── list.vue
│ └── product.vue
├── set
│ └── set.vue
├── user
│ └── user.vue
└── userinfo
│ └── userinfo.vue
├── project.config.json
├── static
├── arc.png
├── emptyCart.jpg
├── errorImage.jpg
├── logo.png
├── missing-face.png
├── select.png
├── selected.png
├── tab-cart-current.png
├── tab-cart.png
├── tab-cate-current.png
├── tab-cate.png
├── tab-home-current.png
├── tab-home.png
├── tab-my-current.png
├── tab-my.png
├── temp
│ ├── ad-splash.jpg
│ ├── ad1.jpg
│ ├── ad2.jpg
│ ├── ad3.jpg
│ ├── banner1.jpg
│ ├── banner2.jpg
│ ├── banner3.jpg
│ ├── banner4.jpg
│ ├── c1.png
│ ├── c2.png
│ ├── c3.png
│ ├── c4.png
│ ├── c5.png
│ ├── c6.png
│ ├── c7.png
│ ├── c8.png
│ ├── h1.png
│ ├── secskill-img.jpg
│ ├── share_moment.png
│ ├── share_qq.png
│ ├── share_qqzone.png
│ └── share_wechat.png
├── user-bg.jpg
├── vip-card-bg.png
├── wxpay.png
├── yticon.ttf
└── zfbpay.png
├── store
├── getters.js
├── index.js
└── modules
│ └── user.js
├── uni.scss
├── uni_modules
├── uni-badge
│ ├── changelog.md
│ ├── components
│ │ └── uni-badge
│ │ │ └── uni-badge.vue
│ ├── package.json
│ └── readme.md
├── uni-calendar
│ ├── changelog.md
│ ├── components
│ │ └── uni-calendar
│ │ │ ├── calendar.js
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ ├── uni-calendar-item.vue
│ │ │ ├── uni-calendar.vue
│ │ │ └── util.js
│ ├── package.json
│ └── readme.md
├── uni-card
│ ├── changelog.md
│ ├── components
│ │ └── uni-card
│ │ │ └── uni-card.vue
│ ├── package.json
│ └── readme.md
├── uni-collapse
│ ├── changelog.md
│ ├── components
│ │ ├── uni-collapse-item
│ │ │ └── uni-collapse-item.vue
│ │ └── uni-collapse
│ │ │ └── uni-collapse.vue
│ ├── package.json
│ └── readme.md
├── uni-combox
│ ├── changelog.md
│ ├── components
│ │ └── uni-combox
│ │ │ └── uni-combox.vue
│ ├── package.json
│ └── readme.md
├── uni-countdown
│ ├── changelog.md
│ ├── components
│ │ └── uni-countdown
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ └── uni-countdown.vue
│ ├── package.json
│ └── readme.md
├── uni-data-checkbox
│ ├── changelog.md
│ ├── components
│ │ └── uni-data-checkbox
│ │ │ └── uni-data-checkbox.vue
│ ├── package.json
│ └── readme.md
├── uni-data-picker
│ ├── changelog.md
│ ├── components
│ │ ├── uni-data-picker
│ │ │ ├── keypress.js
│ │ │ └── uni-data-picker.vue
│ │ └── uni-data-pickerview
│ │ │ ├── uni-data-picker.js
│ │ │ └── uni-data-pickerview.vue
│ ├── package.json
│ └── readme.md
├── uni-dateformat
│ ├── changelog.md
│ ├── components
│ │ └── uni-dateformat
│ │ │ ├── date-format.js
│ │ │ └── uni-dateformat.vue
│ ├── package.json
│ └── readme.md
├── uni-datetime-picker
│ ├── changelog.md
│ ├── components
│ │ └── uni-datetime-picker
│ │ │ ├── calendar-item.vue
│ │ │ ├── calendar.vue
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ ├── keypress.js
│ │ │ ├── time-picker.vue
│ │ │ ├── uni-datetime-picker.vue
│ │ │ └── util.js
│ ├── package.json
│ └── readme.md
├── uni-drawer
│ ├── changelog.md
│ ├── components
│ │ └── uni-drawer
│ │ │ ├── keypress.js
│ │ │ └── uni-drawer.vue
│ ├── package.json
│ └── readme.md
├── uni-easyinput
│ ├── changelog.md
│ ├── components
│ │ └── uni-easyinput
│ │ │ ├── common.js
│ │ │ └── uni-easyinput.vue
│ ├── package.json
│ └── readme.md
├── uni-fab
│ ├── changelog.md
│ ├── components
│ │ └── uni-fab
│ │ │ └── uni-fab.vue
│ ├── package.json
│ └── readme.md
├── uni-fav
│ ├── changelog.md
│ ├── components
│ │ └── uni-fav
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ └── uni-fav.vue
│ ├── package.json
│ └── readme.md
├── uni-file-picker
│ ├── changelog.md
│ ├── components
│ │ └── uni-file-picker
│ │ │ ├── choose-and-upload-file.js
│ │ │ ├── uni-file-picker.vue
│ │ │ ├── upload-file.vue
│ │ │ ├── upload-image.vue
│ │ │ └── utils.js
│ ├── package.json
│ └── readme.md
├── uni-forms
│ ├── changelog.md
│ ├── components
│ │ ├── uni-forms-item
│ │ │ └── uni-forms-item.vue
│ │ └── uni-forms
│ │ │ ├── uni-forms.vue
│ │ │ ├── utils.js
│ │ │ └── validate.js
│ ├── package.json
│ └── readme.md
├── uni-goods-nav
│ ├── changelog.md
│ ├── components
│ │ └── uni-goods-nav
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ └── uni-goods-nav.vue
│ ├── package.json
│ └── readme.md
├── uni-grid
│ ├── changelog.md
│ ├── components
│ │ ├── uni-grid-item
│ │ │ └── uni-grid-item.vue
│ │ └── uni-grid
│ │ │ └── uni-grid.vue
│ ├── package.json
│ └── readme.md
├── uni-group
│ ├── changelog.md
│ ├── components
│ │ └── uni-group
│ │ │ └── uni-group.vue
│ ├── package.json
│ └── readme.md
├── uni-icons
│ ├── changelog.md
│ ├── components
│ │ └── uni-icons
│ │ │ ├── icons.js
│ │ │ ├── uni-icons.vue
│ │ │ ├── uniicons.css
│ │ │ └── uniicons.ttf
│ ├── package.json
│ └── readme.md
├── uni-indexed-list
│ ├── changelog.md
│ ├── components
│ │ └── uni-indexed-list
│ │ │ ├── uni-indexed-list-item.vue
│ │ │ └── uni-indexed-list.vue
│ ├── package.json
│ └── readme.md
├── uni-link
│ ├── changelog.md
│ ├── components
│ │ └── uni-link
│ │ │ └── uni-link.vue
│ ├── package.json
│ └── readme.md
├── uni-list
│ ├── changelog.md
│ ├── components
│ │ ├── uni-list-ad
│ │ │ └── uni-list-ad.vue
│ │ ├── uni-list-chat
│ │ │ ├── uni-list-chat.scss
│ │ │ └── uni-list-chat.vue
│ │ ├── uni-list-item
│ │ │ └── uni-list-item.vue
│ │ └── uni-list
│ │ │ ├── uni-list.vue
│ │ │ ├── uni-refresh.vue
│ │ │ └── uni-refresh.wxs
│ ├── package.json
│ └── readme.md
├── uni-load-more
│ ├── changelog.md
│ ├── components
│ │ └── uni-load-more
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ └── uni-load-more.vue
│ ├── package.json
│ └── readme.md
├── uni-nav-bar
│ ├── changelog.md
│ ├── components
│ │ └── uni-nav-bar
│ │ │ ├── uni-nav-bar.vue
│ │ │ └── uni-status-bar.vue
│ ├── package.json
│ └── readme.md
├── uni-notice-bar
│ ├── changelog.md
│ ├── components
│ │ └── uni-notice-bar
│ │ │ └── uni-notice-bar.vue
│ ├── package.json
│ └── readme.md
├── uni-number-box
│ ├── changelog.md
│ ├── components
│ │ └── uni-number-box
│ │ │ └── uni-number-box.vue
│ ├── package.json
│ └── readme.md
├── uni-pagination
│ ├── changelog.md
│ ├── components
│ │ └── uni-pagination
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── es.json
│ │ │ ├── fr.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ └── uni-pagination.vue
│ ├── package.json
│ └── readme.md
├── uni-popup
│ ├── changelog.md
│ ├── components
│ │ ├── uni-popup-dialog
│ │ │ ├── keypress.js
│ │ │ └── uni-popup-dialog.vue
│ │ ├── uni-popup-message
│ │ │ └── uni-popup-message.vue
│ │ ├── uni-popup-share
│ │ │ └── uni-popup-share.vue
│ │ └── uni-popup
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ ├── keypress.js
│ │ │ ├── popup.js
│ │ │ └── uni-popup.vue
│ ├── package.json
│ └── readme.md
├── uni-rate
│ ├── changelog.md
│ ├── components
│ │ └── uni-rate
│ │ │ └── uni-rate.vue
│ ├── package.json
│ └── readme.md
├── uni-row
│ ├── changelog.md
│ ├── components
│ │ ├── uni-col
│ │ │ └── uni-col.vue
│ │ └── uni-row
│ │ │ └── uni-row.vue
│ ├── package.json
│ └── readme.md
├── uni-scss
│ ├── changelog.md
│ ├── index.scss
│ ├── package.json
│ ├── readme.md
│ ├── styles
│ │ ├── index.scss
│ │ ├── setting
│ │ │ ├── _border.scss
│ │ │ ├── _color.scss
│ │ │ ├── _radius.scss
│ │ │ ├── _space.scss
│ │ │ ├── _styles.scss
│ │ │ ├── _text.scss
│ │ │ └── _variables.scss
│ │ └── tools
│ │ │ └── functions.scss
│ ├── theme.scss
│ └── variables.scss
├── uni-search-bar
│ ├── changelog.md
│ ├── components
│ │ └── uni-search-bar
│ │ │ ├── i18n
│ │ │ ├── en.json
│ │ │ ├── index.js
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ │ └── uni-search-bar.vue
│ ├── package.json
│ └── readme.md
├── uni-segmented-control
│ ├── changelog.md
│ ├── components
│ │ └── uni-segmented-control
│ │ │ └── uni-segmented-control.vue
│ ├── package.json
│ └── readme.md
├── uni-steps
│ ├── changelog.md
│ ├── components
│ │ └── uni-steps
│ │ │ └── uni-steps.vue
│ ├── package.json
│ └── readme.md
├── uni-swipe-action
│ ├── changelog.md
│ ├── components
│ │ ├── uni-swipe-action-item
│ │ │ ├── bindingx.js
│ │ │ ├── isPC.js
│ │ │ ├── mpalipay.js
│ │ │ ├── mpother.js
│ │ │ ├── mpwxs.js
│ │ │ ├── render.js
│ │ │ ├── uni-swipe-action-item.vue
│ │ │ └── wx.wxs
│ │ └── uni-swipe-action
│ │ │ └── uni-swipe-action.vue
│ ├── package.json
│ └── readme.md
├── uni-swiper-dot
│ ├── changelog.md
│ ├── components
│ │ └── uni-swiper-dot
│ │ │ └── uni-swiper-dot.vue
│ ├── package.json
│ └── readme.md
├── uni-table
│ ├── changelog.md
│ ├── components
│ │ ├── uni-table
│ │ │ └── uni-table.vue
│ │ ├── uni-tbody
│ │ │ └── uni-tbody.vue
│ │ ├── uni-td
│ │ │ └── uni-td.vue
│ │ ├── uni-th
│ │ │ ├── filter-dropdown.vue
│ │ │ └── uni-th.vue
│ │ ├── uni-thead
│ │ │ └── uni-thead.vue
│ │ └── uni-tr
│ │ │ ├── table-checkbox.vue
│ │ │ └── uni-tr.vue
│ ├── i18n
│ │ ├── en.json
│ │ ├── es.json
│ │ ├── fr.json
│ │ ├── index.js
│ │ ├── zh-Hans.json
│ │ └── zh-Hant.json
│ ├── package.json
│ └── readme.md
├── uni-tag
│ ├── changelog.md
│ ├── components
│ │ └── uni-tag
│ │ │ └── uni-tag.vue
│ ├── package.json
│ └── readme.md
├── uni-title
│ ├── changelog.md
│ ├── components
│ │ └── uni-title
│ │ │ └── uni-title.vue
│ ├── package.json
│ └── readme.md
├── uni-transition
│ ├── changelog.md
│ ├── components
│ │ └── uni-transition
│ │ │ ├── createAnimation.js
│ │ │ └── uni-transition.vue
│ ├── package.json
│ └── readme.md
└── uni-ui
│ ├── changelog.md
│ ├── components
│ └── uni-ui
│ │ └── uni-ui.vue
│ ├── package.json
│ └── readme.md
└── utils
└── request.js
/.gitignore:
--------------------------------------------------------------------------------
1 | unpackage/
2 | node_modules/
3 | dist/
4 | .hbuilderx/
5 |
6 | package-lock.json
--------------------------------------------------------------------------------
/.hbuilderx/launch.json:
--------------------------------------------------------------------------------
1 | { // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
2 | // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
3 | "version": "0.0",
4 | "configurations": [{
5 | "default" :
6 | {
7 | "launchtype" : "local"
8 | },
9 | "h5" :
10 | {
11 | "launchtype" : "local"
12 | },
13 | "mp-weixin" :
14 | {
15 | "launchtype" : "local"
16 | },
17 | "type" : "uniCloud"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## 预览
4 |
5 | 预览地址: [http://app.youlai.tech](http://app.youlai.tech/)
6 |
7 | |  |  |
8 | | ------------------------------------------------------- | ------------------------------------------------------- |
9 | |  |  |
10 |
11 |
12 |
13 |
14 | ## 启动
15 | ### H5 启动
16 |
17 | 1. 下载 [ HBuilder X](https://www.dcloud.io/hbuilderx.html)
18 | 2. `Hbuilder X`工具栏点击 `运行`->`运行到内置浏览器` (运行到外置浏览器会有跨域限制,推荐内置浏览器访问)
19 |
20 |
21 | ### 微信小程序
22 |
23 | 1. 下载 [ HBuilder X](https://www.dcloud.io/hbuilderx.html) 和 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html)
24 | 2. [微信公众平台](https://mp.weixin.qq.com/)申请小程序,获得小程序的 AppID
25 | 3. `微信开发者工具`微信扫码登录,开启服务端口,点击工具栏`设置`->`安全设置`->`安全`->`服务端口`选择打开
26 | 4. `Hbuilder X`替换项目AppID 成您刚申请的,点击`manifest.json`文件->微信小程序配置
27 | 5. Nacos 控制台修改`youlai-auth`配置中的微信小程序 AppID 和 AppSecret 为自己申请的小程序
28 | 6. `Hbuilder X`工具栏点击 `运行`->`运行到小程序模拟器`->`微信开发者工具`
29 |
30 |
31 |
32 | ## 接口
33 |
34 | 默认使用线上接口地址(https://api.youlai.tech),如果在本地部署 [youlai-mall](https://gitee.com/youlaitech/youlai-mall) 且想使用本地接口开发调试,请修改 `utils/request.js` 的接口地址 `baseURL ` 为 http://localhost:9999 即可。
35 |
36 | 
37 |
38 |
39 | ## 交流群🚀
40 |
41 | > 关注「有来技术」公众号,获取交流群二维码。
42 | >
43 | > 如果交流群的二维码过期,加我微信,备注「前端」、「后端」或「全栈」即可。
44 | >
45 | > 为了避免营销广告人群混入,此举无奈,望理解!
46 |
47 |
48 | |公众号|交流群|
49 | |-|-|
50 | |
|
|
51 |
52 |
--------------------------------------------------------------------------------
/api/oms/cart.js:
--------------------------------------------------------------------------------
1 | import request from '@/utils/request'
2 |
3 |
4 | // 查询购物车
5 | export function getCart() {
6 | return request({
7 | url: '/mall-oms/app-api/v1/carts',
8 | method: 'get',
9 | headers: {
10 | 'auth': true // 需要认证
11 | }
12 | })
13 | }
14 |
15 | /**
16 | * 全选/全不选
17 | * @param {Object} params
18 | */
19 | export function checkAll(params) {
20 | return request({
21 | url: '/mall-oms/app-api/v1/carts/_check',
22 | method: 'patch',
23 | params: params,
24 | headers: {
25 | 'auth': true
26 | }
27 | })
28 | }
29 |
30 |
31 | // 清空购物车
32 | export function deleteCart() {
33 | return request({
34 | url: '/mall-oms/app-api/v1/carts',
35 | method: 'delete',
36 | headers: {
37 | 'auth': true
38 | }
39 | })
40 | }
41 |
42 |
43 | // 添加购物车
44 | export function addCartItem(skuId) {
45 | return request({
46 | url: '/mall-oms/app-api/v1/carts',
47 | method: 'post',
48 | params: {
49 | skuId: skuId
50 | },
51 | headers: {
52 | 'auth': true
53 | }
54 | })
55 | }
56 |
57 | // 更新购物车商品
58 | export function updateCartItem(skuId, data) {
59 | return request({
60 | url: '/mall-oms/app-api/v1/carts/skuId/' + skuId,
61 | method: 'put',
62 | data: data,
63 | headers: {
64 | 'auth': true
65 | }
66 | })
67 | }
68 |
69 |
70 | // 批量删除购物车商品
71 | export function removeCartItem(skuId) {
72 | return request({
73 | url: '/mall-oms/app-api/v1/carts/skuId/' + skuId,
74 | method: 'delete',
75 | headers: {
76 | 'auth': true
77 | }
78 | })
79 | }
80 |
--------------------------------------------------------------------------------
/api/oms/order.js:
--------------------------------------------------------------------------------
1 | import request from '@/utils/request'
2 |
3 | // 订单列表
4 | export function listOrdersWithPage(params) {
5 | return request({
6 | url: '/mall-oms/api/v1/orders',
7 | method: 'get',
8 | params: params,
9 | headers: {
10 | 'auth': true // 需要认证
11 | }
12 | })
13 | }
14 |
15 | // 订单确认
16 | export function confirm(skuId) {
17 | return request({
18 | url: '/mall-oms/app-api/v1/orders/confirm',
19 | method: 'post',
20 | params: {
21 | skuId: skuId
22 | },
23 | headers: {
24 | 'auth': true // 需要认证
25 | }
26 | })
27 | }
28 |
29 | // 订单提交
30 | export function submit(data) {
31 | return request({
32 | url: '/mall-oms/app-api/v1/orders/submit',
33 | method: 'post',
34 | data: data,
35 | headers: {
36 | 'auth': true // 需要认证
37 | }
38 | })
39 | }
40 |
41 | // 订单支付
42 | export function pay(data) {
43 | return request({
44 | url: '/mall-oms/app-api/v1/orders/payment',
45 | method: 'post',
46 | data:data,
47 | headers: {
48 | 'auth': true // 需要认证
49 | }
50 | })
51 | }
52 |
53 | // 取消订单
54 | export function cancelOrder(orderId) {
55 | return request({
56 | url: '/mall-oms/app-api/v1/orders/cancel',
57 | method: 'put',
58 | params: {
59 | id: orderId
60 | },
61 | headers: {
62 | 'auth': true // 需要认证
63 | }
64 | })
65 | }
66 |
67 | // 删除订单
68 | export function deleteOrder(orderId) {
69 | return request({
70 | url: '/mall-oms/app-api/v1/orders/' + orderId,
71 | method: 'delete',
72 | headers: {
73 | 'auth': true // 需要认证
74 | }
75 | })
76 | }
77 |
--------------------------------------------------------------------------------
/api/pms/category.js:
--------------------------------------------------------------------------------
1 | import request from '@/utils/request'
2 |
3 | export function getCategoryList(parentId) {
4 | return request({
5 | url: '/mall-pms/app-api/v1/categories',
6 | method: 'get',
7 | params: {
8 | parentId: parentId
9 | }
10 | })
11 | }
12 |
--------------------------------------------------------------------------------
/api/pms/goods.js:
--------------------------------------------------------------------------------
1 | import request from '@/utils/request'
2 |
3 | /**
4 | * 获取商品分页列表
5 | *
6 | * @param {Object} params
7 | */
8 | export function listSpuPages(params) {
9 | return request({
10 | url: '/mall-pms/app-api/v1/spu/pages',
11 | method: 'get',
12 | params: params
13 | })
14 | }
15 |
16 | /**
17 | * 获取秒杀商品列表
18 | *
19 | * @param {Object} params
20 | */
21 | export function listSeckillingSpus() {
22 | return request({
23 | url: '/mall-pms/app-api/v1/spu/seckilling',
24 | method: 'get',
25 | })
26 | }
27 |
28 | /**
29 | * 获取商品详情
30 | *
31 | * @param {Object} spuId
32 | */
33 | export function getSpuDetail(spuId) {
34 | return request({
35 | url: '/mall-pms/app-api/v1/spu/' + spuId,
36 | method: 'get'
37 | })
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/api/sms/advert.js:
--------------------------------------------------------------------------------
1 |
2 | import request from '@/utils/request'
3 |
4 | export function getAdvertList() {
5 | return request({
6 | url: '/mall-sms/app-api/v1/adverts/banners',
7 | method: 'get'
8 | })
9 | }
10 |
--------------------------------------------------------------------------------
/api/ums/address.js:
--------------------------------------------------------------------------------
1 | import request from '@/utils/request'
2 |
3 | export function list(memberId) {
4 | return request({
5 | url: '/mall-ums/app-api/v1/addresses',
6 | method: 'get',
7 | params: {
8 | memberId: memberId
9 | },
10 | headers: {
11 | 'auth': true // 需要认证
12 | }
13 | })
14 | }
15 |
16 |
17 | export function add(data) {
18 | return request({
19 | url: '/mall-ums/app-api/v1/addresses',
20 | method: 'post',
21 | data: data,
22 | headers: {
23 | 'auth': true // 需要认证
24 | }
25 | })
26 | }
27 |
28 |
29 | export function update(id, data) {
30 | return request({
31 | url: '/mall-ums/app-api/v1/addresses/' + id,
32 | method: 'put',
33 | data: data,
34 | headers: {
35 | 'auth': true // 需要认证
36 | }
37 | })
38 | }
39 |
--------------------------------------------------------------------------------
/api/user.js:
--------------------------------------------------------------------------------
1 | /**
2 | * 用户相关api
3 | */
4 | import request from '@/utils/request'
5 |
6 | // 小程序授权登录
7 | // #ifdef MP
8 | export function login(code) {
9 | return request({
10 | url: '/youlai-auth/oauth2/token',
11 | method: 'post',
12 | params: {
13 | code: code,
14 | grant_type: 'wx_mini_app'
15 | },
16 | headers: {
17 | 'Authorization': 'Basic bWFsbC1hcHA6MTIzNDU2' // 客户端信息Base64加密,明文:mall-app:123456
18 | }
19 | })
20 | }
21 | // #endif
22 |
23 | // H5/Android/IOS 手机短信验证码登录
24 | // #ifndef MP
25 | export function login(mobile, code) {
26 | return request({
27 | url: '/youlai-auth/oauth2/token',
28 | method: 'post',
29 | params: {
30 | mobile: mobile,
31 | code: code,
32 | grant_type: 'sms'
33 | },
34 | headers: {
35 | 'Authorization': 'Basic bWFsbC1hcHA6MTIzNDU2' // 客户端信息Base64加密,明文:mall-app:123456
36 | }
37 | })
38 | }
39 | // #endif
40 |
41 |
42 |
43 | export function logout() {
44 | return request({
45 | url: '/youlai-auth/oauth/logout',
46 | method: 'delete',
47 | headers: {
48 | 'auth': true // 需要认证,通过
49 | }
50 | })
51 | }
52 |
53 | export function getUserInfo() {
54 | return request({
55 | url: '/mall-ums/app-api/v1/members/me',
56 | method: 'get',
57 | headers: {
58 | 'auth': true
59 | }
60 | })
61 | }
62 |
63 | export function sendSmsCode(phoneNumber) {
64 | return request({
65 | url: '/youlai-auth/sms-code',
66 | method: 'post',
67 | params: {
68 | phoneNumber: phoneNumber
69 | }
70 | })
71 | }
--------------------------------------------------------------------------------
/filters/index.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * 金额转换(分->元)
4 | * 100 => 1
5 | * @param {number} num
6 | */
7 | export function moneyFormatter(num) {
8 | return (isNaN(num) ? 0.00 : parseFloat((num / 100).toFixed(2)))
9 | }
10 |
--------------------------------------------------------------------------------
/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import store from './store'
3 | import App from './App'
4 |
5 | import Json from './Json' //测试用数据
6 | import * as filters from './filters' // global filters
7 |
8 |
9 | const msg = (title, duration=1500, mask=false, icon='none')=>{
10 | //统一提示方便全局修改
11 | if(Boolean(title) === false){
12 | return;
13 | }
14 | uni.showToast({
15 | title,
16 | duration,
17 | mask,
18 | icon
19 | });
20 | }
21 | const json = type=>{
22 | //模拟异步请求数据
23 | return new Promise(resolve=>{
24 | setTimeout(()=>{
25 | resolve(Json[type]);
26 | }, 500)
27 | })
28 | }
29 |
30 | const prePage = ()=>{
31 | let pages = getCurrentPages();
32 | let prePage = pages[pages.length - 2];
33 | // #ifdef H5
34 | return prePage;
35 | // #endif
36 | return prePage.$vm;
37 | }
38 |
39 | Vue.config.productionTip = false
40 | Vue.prototype.$fire = new Vue();
41 | Vue.prototype.$store = store;
42 | Vue.prototype.$api = {msg, json, prePage};
43 |
44 |
45 |
46 | App.mpType = 'app'
47 |
48 | const app = new Vue({
49 | ...App
50 | })
51 | app.$mount()
52 |
53 | // register global utility filters
54 | Object.keys(filters).forEach(key => {
55 | Vue.filter(key, filters[key])
56 | })
57 |
--------------------------------------------------------------------------------
/node_modules/axios/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014-present Matt Zabriskie
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/node_modules/axios/index.js:
--------------------------------------------------------------------------------
1 | module.exports = require('./lib/axios');
--------------------------------------------------------------------------------
/node_modules/axios/lib/adapters/README.md:
--------------------------------------------------------------------------------
1 | # axios // adapters
2 |
3 | The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received.
4 |
5 | ## Example
6 |
7 | ```js
8 | var settle = require('./../core/settle');
9 |
10 | module.exports = function myAdapter(config) {
11 | // At this point:
12 | // - config has been merged with defaults
13 | // - request transformers have already run
14 | // - request interceptors have already run
15 |
16 | // Make the request using config provided
17 | // Upon response settle the Promise
18 |
19 | return new Promise(function(resolve, reject) {
20 |
21 | var response = {
22 | data: responseData,
23 | status: request.status,
24 | statusText: request.statusText,
25 | headers: responseHeaders,
26 | config: config,
27 | request: request
28 | };
29 |
30 | settle(resolve, reject, response);
31 |
32 | // From here:
33 | // - response transformers will run
34 | // - response interceptors will run
35 | });
36 | }
37 | ```
38 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/axios.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./utils');
4 | var bind = require('./helpers/bind');
5 | var Axios = require('./core/Axios');
6 | var mergeConfig = require('./core/mergeConfig');
7 | var defaults = require('./defaults');
8 |
9 | /**
10 | * Create an instance of Axios
11 | *
12 | * @param {Object} defaultConfig The default config for the instance
13 | * @return {Axios} A new instance of Axios
14 | */
15 | function createInstance(defaultConfig) {
16 | var context = new Axios(defaultConfig);
17 | var instance = bind(Axios.prototype.request, context);
18 |
19 | // Copy axios.prototype to instance
20 | utils.extend(instance, Axios.prototype, context);
21 |
22 | // Copy context to instance
23 | utils.extend(instance, context);
24 |
25 | return instance;
26 | }
27 |
28 | // Create the default instance to be exported
29 | var axios = createInstance(defaults);
30 |
31 | // Expose Axios class to allow class inheritance
32 | axios.Axios = Axios;
33 |
34 | // Factory for creating new instances
35 | axios.create = function create(instanceConfig) {
36 | return createInstance(mergeConfig(axios.defaults, instanceConfig));
37 | };
38 |
39 | // Expose Cancel & CancelToken
40 | axios.Cancel = require('./cancel/Cancel');
41 | axios.CancelToken = require('./cancel/CancelToken');
42 | axios.isCancel = require('./cancel/isCancel');
43 |
44 | // Expose all/spread
45 | axios.all = function all(promises) {
46 | return Promise.all(promises);
47 | };
48 | axios.spread = require('./helpers/spread');
49 |
50 | module.exports = axios;
51 |
52 | // Allow use of default import syntax in TypeScript
53 | module.exports.default = axios;
54 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/cancel/Cancel.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * A `Cancel` is an object that is thrown when an operation is canceled.
5 | *
6 | * @class
7 | * @param {string=} message The message.
8 | */
9 | function Cancel(message) {
10 | this.message = message;
11 | }
12 |
13 | Cancel.prototype.toString = function toString() {
14 | return 'Cancel' + (this.message ? ': ' + this.message : '');
15 | };
16 |
17 | Cancel.prototype.__CANCEL__ = true;
18 |
19 | module.exports = Cancel;
20 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/cancel/CancelToken.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var Cancel = require('./Cancel');
4 |
5 | /**
6 | * A `CancelToken` is an object that can be used to request cancellation of an operation.
7 | *
8 | * @class
9 | * @param {Function} executor The executor function.
10 | */
11 | function CancelToken(executor) {
12 | if (typeof executor !== 'function') {
13 | throw new TypeError('executor must be a function.');
14 | }
15 |
16 | var resolvePromise;
17 | this.promise = new Promise(function promiseExecutor(resolve) {
18 | resolvePromise = resolve;
19 | });
20 |
21 | var token = this;
22 | executor(function cancel(message) {
23 | if (token.reason) {
24 | // Cancellation has already been requested
25 | return;
26 | }
27 |
28 | token.reason = new Cancel(message);
29 | resolvePromise(token.reason);
30 | });
31 | }
32 |
33 | /**
34 | * Throws a `Cancel` if cancellation has been requested.
35 | */
36 | CancelToken.prototype.throwIfRequested = function throwIfRequested() {
37 | if (this.reason) {
38 | throw this.reason;
39 | }
40 | };
41 |
42 | /**
43 | * Returns an object that contains a new `CancelToken` and a function that, when called,
44 | * cancels the `CancelToken`.
45 | */
46 | CancelToken.source = function source() {
47 | var cancel;
48 | var token = new CancelToken(function executor(c) {
49 | cancel = c;
50 | });
51 | return {
52 | token: token,
53 | cancel: cancel
54 | };
55 | };
56 |
57 | module.exports = CancelToken;
58 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/cancel/isCancel.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = function isCancel(value) {
4 | return !!(value && value.__CANCEL__);
5 | };
6 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/InterceptorManager.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./../utils');
4 |
5 | function InterceptorManager() {
6 | this.handlers = [];
7 | }
8 |
9 | /**
10 | * Add a new interceptor to the stack
11 | *
12 | * @param {Function} fulfilled The function to handle `then` for a `Promise`
13 | * @param {Function} rejected The function to handle `reject` for a `Promise`
14 | *
15 | * @return {Number} An ID used to remove interceptor later
16 | */
17 | InterceptorManager.prototype.use = function use(fulfilled, rejected) {
18 | this.handlers.push({
19 | fulfilled: fulfilled,
20 | rejected: rejected
21 | });
22 | return this.handlers.length - 1;
23 | };
24 |
25 | /**
26 | * Remove an interceptor from the stack
27 | *
28 | * @param {Number} id The ID that was returned by `use`
29 | */
30 | InterceptorManager.prototype.eject = function eject(id) {
31 | if (this.handlers[id]) {
32 | this.handlers[id] = null;
33 | }
34 | };
35 |
36 | /**
37 | * Iterate over all the registered interceptors
38 | *
39 | * This method is particularly useful for skipping over any
40 | * interceptors that may have become `null` calling `eject`.
41 | *
42 | * @param {Function} fn The function to call for each interceptor
43 | */
44 | InterceptorManager.prototype.forEach = function forEach(fn) {
45 | utils.forEach(this.handlers, function forEachHandler(h) {
46 | if (h !== null) {
47 | fn(h);
48 | }
49 | });
50 | };
51 |
52 | module.exports = InterceptorManager;
53 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/README.md:
--------------------------------------------------------------------------------
1 | # axios // core
2 |
3 | The modules found in `core/` should be modules that are specific to the domain logic of axios. These modules would most likely not make sense to be consumed outside of the axios module, as their logic is too specific. Some examples of core modules are:
4 |
5 | - Dispatching requests
6 | - Managing interceptors
7 | - Handling config
8 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/buildFullPath.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var isAbsoluteURL = require('../helpers/isAbsoluteURL');
4 | var combineURLs = require('../helpers/combineURLs');
5 |
6 | /**
7 | * Creates a new URL by combining the baseURL with the requestedURL,
8 | * only when the requestedURL is not already an absolute URL.
9 | * If the requestURL is absolute, this function returns the requestedURL untouched.
10 | *
11 | * @param {string} baseURL The base URL
12 | * @param {string} requestedURL Absolute or relative URL to combine
13 | * @returns {string} The combined full path
14 | */
15 | module.exports = function buildFullPath(baseURL, requestedURL) {
16 | if (baseURL && !isAbsoluteURL(requestedURL)) {
17 | return combineURLs(baseURL, requestedURL);
18 | }
19 | return requestedURL;
20 | };
21 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/createError.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var enhanceError = require('./enhanceError');
4 |
5 | /**
6 | * Create an Error with the specified message, config, error code, request and response.
7 | *
8 | * @param {string} message The error message.
9 | * @param {Object} config The config.
10 | * @param {string} [code] The error code (for example, 'ECONNABORTED').
11 | * @param {Object} [request] The request.
12 | * @param {Object} [response] The response.
13 | * @returns {Error} The created error.
14 | */
15 | module.exports = function createError(message, config, code, request, response) {
16 | var error = new Error(message);
17 | return enhanceError(error, config, code, request, response);
18 | };
19 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/enhanceError.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * Update an Error with the specified config, error code, and response.
5 | *
6 | * @param {Error} error The error to update.
7 | * @param {Object} config The config.
8 | * @param {string} [code] The error code (for example, 'ECONNABORTED').
9 | * @param {Object} [request] The request.
10 | * @param {Object} [response] The response.
11 | * @returns {Error} The error.
12 | */
13 | module.exports = function enhanceError(error, config, code, request, response) {
14 | error.config = config;
15 | if (code) {
16 | error.code = code;
17 | }
18 |
19 | error.request = request;
20 | error.response = response;
21 | error.isAxiosError = true;
22 |
23 | error.toJSON = function toJSON() {
24 | return {
25 | // Standard
26 | message: this.message,
27 | name: this.name,
28 | // Microsoft
29 | description: this.description,
30 | number: this.number,
31 | // Mozilla
32 | fileName: this.fileName,
33 | lineNumber: this.lineNumber,
34 | columnNumber: this.columnNumber,
35 | stack: this.stack,
36 | // Axios
37 | config: this.config,
38 | code: this.code
39 | };
40 | };
41 | return error;
42 | };
43 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/settle.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var createError = require('./createError');
4 |
5 | /**
6 | * Resolve or reject a Promise based on response status.
7 | *
8 | * @param {Function} resolve A function that resolves the promise.
9 | * @param {Function} reject A function that rejects the promise.
10 | * @param {object} response The response.
11 | */
12 | module.exports = function settle(resolve, reject, response) {
13 | var validateStatus = response.config.validateStatus;
14 | if (!response.status || !validateStatus || validateStatus(response.status)) {
15 | resolve(response);
16 | } else {
17 | reject(createError(
18 | 'Request failed with status code ' + response.status,
19 | response.config,
20 | null,
21 | response.request,
22 | response
23 | ));
24 | }
25 | };
26 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/core/transformData.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./../utils');
4 |
5 | /**
6 | * Transform the data for a request or a response
7 | *
8 | * @param {Object|String} data The data to be transformed
9 | * @param {Array} headers The headers for the request or response
10 | * @param {Array|Function} fns A single function or Array of functions
11 | * @returns {*} The resulting transformed data
12 | */
13 | module.exports = function transformData(data, headers, fns) {
14 | /*eslint no-param-reassign:0*/
15 | utils.forEach(fns, function transform(fn) {
16 | data = fn(data, headers);
17 | });
18 |
19 | return data;
20 | };
21 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/README.md:
--------------------------------------------------------------------------------
1 | # axios // helpers
2 |
3 | The modules found in `helpers/` should be generic modules that are _not_ specific to the domain logic of axios. These modules could theoretically be published to npm on their own and consumed by other modules or apps. Some examples of generic modules are things like:
4 |
5 | - Browser polyfills
6 | - Managing cookies
7 | - Parsing HTTP headers
8 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/bind.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = function bind(fn, thisArg) {
4 | return function wrap() {
5 | var args = new Array(arguments.length);
6 | for (var i = 0; i < args.length; i++) {
7 | args[i] = arguments[i];
8 | }
9 | return fn.apply(thisArg, args);
10 | };
11 | };
12 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/buildURL.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./../utils');
4 |
5 | function encode(val) {
6 | return encodeURIComponent(val).
7 | replace(/%3A/gi, ':').
8 | replace(/%24/g, '$').
9 | replace(/%2C/gi, ',').
10 | replace(/%20/g, '+').
11 | replace(/%5B/gi, '[').
12 | replace(/%5D/gi, ']');
13 | }
14 |
15 | /**
16 | * Build a URL by appending params to the end
17 | *
18 | * @param {string} url The base of the url (e.g., http://www.google.com)
19 | * @param {object} [params] The params to be appended
20 | * @returns {string} The formatted url
21 | */
22 | module.exports = function buildURL(url, params, paramsSerializer) {
23 | /*eslint no-param-reassign:0*/
24 | if (!params) {
25 | return url;
26 | }
27 |
28 | var serializedParams;
29 | if (paramsSerializer) {
30 | serializedParams = paramsSerializer(params);
31 | } else if (utils.isURLSearchParams(params)) {
32 | serializedParams = params.toString();
33 | } else {
34 | var parts = [];
35 |
36 | utils.forEach(params, function serialize(val, key) {
37 | if (val === null || typeof val === 'undefined') {
38 | return;
39 | }
40 |
41 | if (utils.isArray(val)) {
42 | key = key + '[]';
43 | } else {
44 | val = [val];
45 | }
46 |
47 | utils.forEach(val, function parseValue(v) {
48 | if (utils.isDate(v)) {
49 | v = v.toISOString();
50 | } else if (utils.isObject(v)) {
51 | v = JSON.stringify(v);
52 | }
53 | parts.push(encode(key) + '=' + encode(v));
54 | });
55 | });
56 |
57 | serializedParams = parts.join('&');
58 | }
59 |
60 | if (serializedParams) {
61 | var hashmarkIndex = url.indexOf('#');
62 | if (hashmarkIndex !== -1) {
63 | url = url.slice(0, hashmarkIndex);
64 | }
65 |
66 | url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
67 | }
68 |
69 | return url;
70 | };
71 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/combineURLs.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * Creates a new URL by combining the specified URLs
5 | *
6 | * @param {string} baseURL The base URL
7 | * @param {string} relativeURL The relative URL
8 | * @returns {string} The combined URL
9 | */
10 | module.exports = function combineURLs(baseURL, relativeURL) {
11 | return relativeURL
12 | ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
13 | : baseURL;
14 | };
15 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/cookies.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./../utils');
4 |
5 | module.exports = (
6 | utils.isStandardBrowserEnv() ?
7 |
8 | // Standard browser envs support document.cookie
9 | (function standardBrowserEnv() {
10 | return {
11 | write: function write(name, value, expires, path, domain, secure) {
12 | var cookie = [];
13 | cookie.push(name + '=' + encodeURIComponent(value));
14 |
15 | if (utils.isNumber(expires)) {
16 | cookie.push('expires=' + new Date(expires).toGMTString());
17 | }
18 |
19 | if (utils.isString(path)) {
20 | cookie.push('path=' + path);
21 | }
22 |
23 | if (utils.isString(domain)) {
24 | cookie.push('domain=' + domain);
25 | }
26 |
27 | if (secure === true) {
28 | cookie.push('secure');
29 | }
30 |
31 | document.cookie = cookie.join('; ');
32 | },
33 |
34 | read: function read(name) {
35 | var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
36 | return (match ? decodeURIComponent(match[3]) : null);
37 | },
38 |
39 | remove: function remove(name) {
40 | this.write(name, '', Date.now() - 86400000);
41 | }
42 | };
43 | })() :
44 |
45 | // Non standard browser env (web workers, react-native) lack needed support.
46 | (function nonStandardBrowserEnv() {
47 | return {
48 | write: function write() {},
49 | read: function read() { return null; },
50 | remove: function remove() {}
51 | };
52 | })()
53 | );
54 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/deprecatedMethod.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /*eslint no-console:0*/
4 |
5 | /**
6 | * Supply a warning to the developer that a method they are using
7 | * has been deprecated.
8 | *
9 | * @param {string} method The name of the deprecated method
10 | * @param {string} [instead] The alternate method to use if applicable
11 | * @param {string} [docs] The documentation URL to get further details
12 | */
13 | module.exports = function deprecatedMethod(method, instead, docs) {
14 | try {
15 | console.warn(
16 | 'DEPRECATED method `' + method + '`.' +
17 | (instead ? ' Use `' + instead + '` instead.' : '') +
18 | ' This method will be removed in a future release.');
19 |
20 | if (docs) {
21 | console.warn('For more information about usage see ' + docs);
22 | }
23 | } catch (e) { /* Ignore */ }
24 | };
25 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/isAbsoluteURL.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * Determines whether the specified URL is absolute
5 | *
6 | * @param {string} url The URL to test
7 | * @returns {boolean} True if the specified URL is absolute, otherwise false
8 | */
9 | module.exports = function isAbsoluteURL(url) {
10 | // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL).
11 | // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
12 | // by any combination of letters, digits, plus, period, or hyphen.
13 | return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
14 | };
15 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/normalizeHeaderName.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('../utils');
4 |
5 | module.exports = function normalizeHeaderName(headers, normalizedName) {
6 | utils.forEach(headers, function processHeader(value, name) {
7 | if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
8 | headers[normalizedName] = value;
9 | delete headers[name];
10 | }
11 | });
12 | };
13 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/parseHeaders.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./../utils');
4 |
5 | // Headers whose duplicates are ignored by node
6 | // c.f. https://nodejs.org/api/http.html#http_message_headers
7 | var ignoreDuplicateOf = [
8 | 'age', 'authorization', 'content-length', 'content-type', 'etag',
9 | 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
10 | 'last-modified', 'location', 'max-forwards', 'proxy-authorization',
11 | 'referer', 'retry-after', 'user-agent'
12 | ];
13 |
14 | /**
15 | * Parse headers into an object
16 | *
17 | * ```
18 | * Date: Wed, 27 Aug 2014 08:58:49 GMT
19 | * Content-Type: application/json
20 | * Connection: keep-alive
21 | * Transfer-Encoding: chunked
22 | * ```
23 | *
24 | * @param {String} headers Headers needing to be parsed
25 | * @returns {Object} Headers parsed into an object
26 | */
27 | module.exports = function parseHeaders(headers) {
28 | var parsed = {};
29 | var key;
30 | var val;
31 | var i;
32 |
33 | if (!headers) { return parsed; }
34 |
35 | utils.forEach(headers.split('\n'), function parser(line) {
36 | i = line.indexOf(':');
37 | key = utils.trim(line.substr(0, i)).toLowerCase();
38 | val = utils.trim(line.substr(i + 1));
39 |
40 | if (key) {
41 | if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
42 | return;
43 | }
44 | if (key === 'set-cookie') {
45 | parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
46 | } else {
47 | parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
48 | }
49 | }
50 | });
51 |
52 | return parsed;
53 | };
54 |
--------------------------------------------------------------------------------
/node_modules/axios/lib/helpers/spread.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | /**
4 | * Syntactic sugar for invoking a function and expanding an array for arguments.
5 | *
6 | * Common use case would be to use `Function.prototype.apply`.
7 | *
8 | * ```js
9 | * function f(x, y, z) {}
10 | * var args = [1, 2, 3];
11 | * f.apply(null, args);
12 | * ```
13 | *
14 | * With `spread` this example can be re-written.
15 | *
16 | * ```js
17 | * spread(function(x, y, z) {})([1, 2, 3]);
18 | * ```
19 | *
20 | * @param {Function} callback
21 | * @returns {Function}
22 | */
23 | module.exports = function spread(callback) {
24 | return function wrap(arr) {
25 | return callback.apply(null, arr);
26 | };
27 | };
28 |
--------------------------------------------------------------------------------
/node_modules/follow-redirects/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2014–present Olivier Lalonde , James Talmage , Ruben Verborgh
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of
4 | this software and associated documentation files (the "Software"), to deal in
5 | the Software without restriction, including without limitation the rights to
6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7 | of the Software, and to permit persons to whom the Software is furnished to do
8 | so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
18 | IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19 |
--------------------------------------------------------------------------------
/node_modules/follow-redirects/debug.js:
--------------------------------------------------------------------------------
1 | var debug;
2 | try {
3 | /* eslint global-require: off */
4 | debug = require("debug")("follow-redirects");
5 | }
6 | catch (error) {
7 | debug = function () { /* */ };
8 | }
9 | module.exports = debug;
10 |
--------------------------------------------------------------------------------
/node_modules/follow-redirects/http.js:
--------------------------------------------------------------------------------
1 | module.exports = require("./").http;
2 |
--------------------------------------------------------------------------------
/node_modules/follow-redirects/https.js:
--------------------------------------------------------------------------------
1 | module.exports = require("./").https;
2 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "requires": true,
3 | "lockfileVersion": 1,
4 | "dependencies": {
5 | "axios": {
6 | "version": "0.20.0",
7 | "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.20.0.tgz?cache=0&sync_timestamp=1597979791211&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.20.0.tgz",
8 | "integrity": "sha1-BXujDwSIRpSZOozQf6OUz/EcUL0=",
9 | "requires": {
10 | "follow-redirects": "^1.10.0"
11 | }
12 | },
13 | "follow-redirects": {
14 | "version": "1.13.0",
15 | "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.0.tgz?cache=0&sync_timestamp=1597057997789&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.0.tgz",
16 | "integrity": "sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs="
17 | },
18 | "vconsole": {
19 | "version": "3.3.4",
20 | "resolved": "https://registry.npm.taobao.org/vconsole/download/vconsole-3.3.4.tgz",
21 | "integrity": "sha1-p9rNiIez0+kC6NGEJc2lbDTnf1E="
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/pages/money/money.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/pages/money/paySuccess.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 支付成功
5 |
6 |
7 | 查看订单
8 | 返回首页
9 |
10 |
11 |
12 |
13 |
25 |
26 |
63 |
--------------------------------------------------------------------------------
/pages/userinfo/userinfo.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
30 |
31 |
87 |
--------------------------------------------------------------------------------
/project.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "项目配置文件",
3 | "packOptions": {
4 | "ignore": []
5 | },
6 | "setting": {
7 | "urlCheck": true,
8 | "es6": true,
9 | "enhance": false,
10 | "postcss": true,
11 | "preloadBackgroundData": false,
12 | "minified": true,
13 | "newFeature": false,
14 | "coverView": true,
15 | "nodeModules": false,
16 | "autoAudits": false,
17 | "showShadowRootInWxmlPanel": true,
18 | "scopeDataCheck": false,
19 | "uglifyFileName": false,
20 | "checkInvalidKey": true,
21 | "checkSiteMap": true,
22 | "uploadWithSourceMap": true,
23 | "compileHotReLoad": false,
24 | "useMultiFrameRuntime": false,
25 | "useApiHook": true,
26 | "babelSetting": {
27 | "ignore": [],
28 | "disablePlugins": [],
29 | "outputPath": ""
30 | },
31 | "enableEngineNative": false,
32 | "bundle": false,
33 | "useIsolateContext": true,
34 | "useCompilerModule": true,
35 | "userConfirmedUseCompilerModuleSwitch": false,
36 | "userConfirmedBundleSwitch": false,
37 | "packNpmManually": false,
38 | "packNpmRelationList": [],
39 | "minifyWXSS": true
40 | },
41 | "compileType": "miniprogram",
42 | "libVersion": "2.14.1",
43 | "appid": "wx99a151dc43d2637b",
44 | "projectname": "youlai-mall-weapp",
45 | "debugOptions": {
46 | "hidedInDevtools": []
47 | },
48 | "scripts": {},
49 | "isGameTourist": false,
50 | "simulatorType": "wechat",
51 | "simulatorPluginLibVersion": {},
52 | "condition": {
53 | "search": {
54 | "list": []
55 | },
56 | "conversation": {
57 | "list": []
58 | },
59 | "game": {
60 | "list": []
61 | },
62 | "plugin": {
63 | "list": []
64 | },
65 | "gamePlugin": {
66 | "list": []
67 | },
68 | "miniprogram": {
69 | "list": []
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/static/arc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/arc.png
--------------------------------------------------------------------------------
/static/emptyCart.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/emptyCart.jpg
--------------------------------------------------------------------------------
/static/errorImage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/errorImage.jpg
--------------------------------------------------------------------------------
/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/logo.png
--------------------------------------------------------------------------------
/static/missing-face.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/missing-face.png
--------------------------------------------------------------------------------
/static/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/select.png
--------------------------------------------------------------------------------
/static/selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/selected.png
--------------------------------------------------------------------------------
/static/tab-cart-current.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-cart-current.png
--------------------------------------------------------------------------------
/static/tab-cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-cart.png
--------------------------------------------------------------------------------
/static/tab-cate-current.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-cate-current.png
--------------------------------------------------------------------------------
/static/tab-cate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-cate.png
--------------------------------------------------------------------------------
/static/tab-home-current.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-home-current.png
--------------------------------------------------------------------------------
/static/tab-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-home.png
--------------------------------------------------------------------------------
/static/tab-my-current.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-my-current.png
--------------------------------------------------------------------------------
/static/tab-my.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/tab-my.png
--------------------------------------------------------------------------------
/static/temp/ad-splash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/ad-splash.jpg
--------------------------------------------------------------------------------
/static/temp/ad1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/ad1.jpg
--------------------------------------------------------------------------------
/static/temp/ad2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/ad2.jpg
--------------------------------------------------------------------------------
/static/temp/ad3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/ad3.jpg
--------------------------------------------------------------------------------
/static/temp/banner1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/banner1.jpg
--------------------------------------------------------------------------------
/static/temp/banner2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/banner2.jpg
--------------------------------------------------------------------------------
/static/temp/banner3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/banner3.jpg
--------------------------------------------------------------------------------
/static/temp/banner4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/banner4.jpg
--------------------------------------------------------------------------------
/static/temp/c1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c1.png
--------------------------------------------------------------------------------
/static/temp/c2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c2.png
--------------------------------------------------------------------------------
/static/temp/c3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c3.png
--------------------------------------------------------------------------------
/static/temp/c4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c4.png
--------------------------------------------------------------------------------
/static/temp/c5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c5.png
--------------------------------------------------------------------------------
/static/temp/c6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c6.png
--------------------------------------------------------------------------------
/static/temp/c7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c7.png
--------------------------------------------------------------------------------
/static/temp/c8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/c8.png
--------------------------------------------------------------------------------
/static/temp/h1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/h1.png
--------------------------------------------------------------------------------
/static/temp/secskill-img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/secskill-img.jpg
--------------------------------------------------------------------------------
/static/temp/share_moment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/share_moment.png
--------------------------------------------------------------------------------
/static/temp/share_qq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/share_qq.png
--------------------------------------------------------------------------------
/static/temp/share_qqzone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/share_qqzone.png
--------------------------------------------------------------------------------
/static/temp/share_wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/temp/share_wechat.png
--------------------------------------------------------------------------------
/static/user-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/user-bg.jpg
--------------------------------------------------------------------------------
/static/vip-card-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/vip-card-bg.png
--------------------------------------------------------------------------------
/static/wxpay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/wxpay.png
--------------------------------------------------------------------------------
/static/yticon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/yticon.ttf
--------------------------------------------------------------------------------
/static/zfbpay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/youlaitech/mall-app/adc53b7934c767d8267f883f27c7e9c4b1bdb538/static/zfbpay.png
--------------------------------------------------------------------------------
/store/getters.js:
--------------------------------------------------------------------------------
1 | const getters = {
2 | hasLogin: state => state.user.hasLogin,
3 | nickname: state => state.user.nickname,
4 | avatar: state => state.user.avatar,
5 | balance: state => state.user.balance,
6 | memberId: state => state.user.memberId
7 | }
8 | export default getters
9 |
--------------------------------------------------------------------------------
/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import getters from './getters'
4 |
5 | Vue.use(Vuex)
6 |
7 | // https://webpack.js.org/guides/dependency-management/#requirecontext
8 | const modulesFiles = require.context('./modules', true, /\.js$/)
9 |
10 | // you do not need `import app from './modules/app'`
11 | // it will auto require all vuex module from modules file
12 | const modules = modulesFiles.keys().reduce((modules, modulePath) => {
13 | // set './app.js' => 'app'
14 | const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
15 | const value = modulesFiles(modulePath)
16 | modules[moduleName] = value.default
17 | return modules
18 | }, {})
19 |
20 | const store = new Vuex.Store({
21 | modules,
22 | getters
23 | })
24 |
25 | export default store
26 |
--------------------------------------------------------------------------------
/uni.scss:
--------------------------------------------------------------------------------
1 |
2 | /* 页面左右间距 */
3 | $page-row-spacing: 30upx;
4 | $page-color-base: #f8f8f8;
5 | $page-color-light: #f8f6fc;
6 | $base-color: #fa436a;
7 |
8 | /* 文字尺寸 */
9 | $font-sm: 24upx;
10 | $font-base: 28upx;
11 | $font-lg: 32upx;
12 | /*文字颜色*/
13 | $font-color-dark: #303133;
14 | $font-color-base: #606266;
15 | $font-color-light: #909399;
16 | $font-color-disabled: #C0C4CC;
17 | $font-color-spec: #4399fc;
18 | /* 边框颜色 */
19 | $border-color-dark: #DCDFE6;
20 | $border-color-base: #E4E7ED;
21 | $border-color-light: #EBEEF5;
22 | /* 图片加载中颜色 */
23 | $image-bg-color: #eee;
24 | /* 行为相关颜色 */
25 | $uni-color-primary:#fa436a;
26 | $uni-color-success: #4cd964;
27 | $uni-color-warning: #f0ad4e;
28 | $uni-color-error: #dd524d;
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/uni_modules/uni-badge/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.2.0(2021-11-19)
2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-badge](https://uniapp.dcloud.io/component/uniui/uni-badge)
4 | ## 1.1.7(2021-11-08)
5 | - 优化 升级ui
6 | - 修改 size 属性默认值调整为 small
7 | - 修改 type 属性,默认值调整为 error,info 替换 default
8 | ## 1.1.6(2021-09-22)
9 | - 修复 在字节小程序上样式不生效的 bug
10 | ## 1.1.5(2021-07-30)
11 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
12 | ## 1.1.4(2021-07-29)
13 | - 修复 去掉 nvue 不支持css 的 align-self 属性,nvue 下不暂支持 absolute 属性
14 | ## 1.1.3(2021-06-24)
15 | - 优化 示例项目
16 | ## 1.1.1(2021-05-12)
17 | - 新增 组件示例地址
18 | ## 1.1.0(2021-05-12)
19 | - 新增 uni-badge 的 absolute 属性,支持定位
20 | - 新增 uni-badge 的 offset 属性,支持定位偏移
21 | - 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点
22 | - 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+
23 | - 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式
24 | ## 1.0.7(2021-05-07)
25 | - 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug
26 | - 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug
27 | - 新增 uni-badge 属性 custom-style, 支持自定义样式
28 | ## 1.0.6(2021-02-04)
29 | - 调整为uni_modules目录规范
30 |
--------------------------------------------------------------------------------
/uni_modules/uni-badge/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-badge",
3 | "displayName": "uni-badge 数字角标",
4 | "version": "1.2.0",
5 | "description": "数字角标(徽章)组件,在元素周围展示消息提醒,一般用于列表、九宫格、按钮等地方。",
6 | "keywords": [
7 | "",
8 | "badge",
9 | "uni-ui",
10 | "uniui",
11 | "数字角标",
12 | "徽章"
13 | ],
14 | "repository": "https://github.com/dcloudio/uni-ui",
15 | "engines": {
16 | "HBuilderX": ""
17 | },
18 | "directories": {
19 | "example": "../../temps/example_temps"
20 | },
21 | "dcloudext": {
22 | "category": [
23 | "前端组件",
24 | "通用组件"
25 | ],
26 | "sale": {
27 | "regular": {
28 | "price": "0.00"
29 | },
30 | "sourcecode": {
31 | "price": "0.00"
32 | }
33 | },
34 | "contact": {
35 | "qq": ""
36 | },
37 | "declaration": {
38 | "ads": "无",
39 | "data": "无",
40 | "permissions": "无"
41 | },
42 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
43 | },
44 | "uni_modules": {
45 | "dependencies": [],
46 | "encrypt": [],
47 | "platforms": {
48 | "cloud": {
49 | "tcb": "y",
50 | "aliyun": "y"
51 | },
52 | "client": {
53 | "App": {
54 | "app-vue": "y",
55 | "app-nvue": "y"
56 | },
57 | "H5-mobile": {
58 | "Safari": "y",
59 | "Android Browser": "y",
60 | "微信浏览器(Android)": "y",
61 | "QQ浏览器(Android)": "y"
62 | },
63 | "H5-pc": {
64 | "Chrome": "y",
65 | "IE": "y",
66 | "Edge": "y",
67 | "Firefox": "y",
68 | "Safari": "y"
69 | },
70 | "小程序": {
71 | "微信": "y",
72 | "阿里": "y",
73 | "百度": "y",
74 | "字节跳动": "y",
75 | "QQ": "y"
76 | },
77 | "快应用": {
78 | "华为": "y",
79 | "联盟": "y"
80 | },
81 | "Vue": {
82 | "vue2": "y",
83 | "vue3": "y"
84 | }
85 | }
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/uni_modules/uni-badge/readme.md:
--------------------------------------------------------------------------------
1 | ## Badge 数字角标
2 | > **组件名:uni-badge**
3 | > 代码块: `uBadge`
4 |
5 | 数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景,
6 |
7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-badge)
8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
9 |
10 |
11 |
--------------------------------------------------------------------------------
/uni_modules/uni-calendar/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.4.5(2022-02-25)
2 | - 修复 条件编译 nvue 不支持的 css 样式
3 | ## 1.4.4(2022-02-25)
4 | - 修复 条件编译 nvue 不支持的 css 样式
5 | ## 1.4.3(2021-09-22)
6 | - 修复 startDate、 endDate 属性失效的 bug
7 | ## 1.4.2(2021-08-24)
8 | - 新增 支持国际化
9 | ## 1.4.1(2021-08-05)
10 | - 修复 弹出层被 tabbar 遮盖 bug
11 | ## 1.4.0(2021-07-30)
12 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
13 | ## 1.3.16(2021-05-12)
14 | - 新增 组件示例地址
15 | ## 1.3.15(2021-02-04)
16 | - 调整为uni_modules目录规范
17 |
--------------------------------------------------------------------------------
/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-calender.ok": "ok",
3 | "uni-calender.cancel": "cancel",
4 | "uni-calender.today": "today",
5 | "uni-calender.MON": "MON",
6 | "uni-calender.TUE": "TUE",
7 | "uni-calender.WED": "WED",
8 | "uni-calender.THU": "THU",
9 | "uni-calender.FRI": "FRI",
10 | "uni-calender.SAT": "SAT",
11 | "uni-calender.SUN": "SUN"
12 | }
13 |
--------------------------------------------------------------------------------
/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js:
--------------------------------------------------------------------------------
1 | import en from './en.json'
2 | import zhHans from './zh-Hans.json'
3 | import zhHant from './zh-Hant.json'
4 | export default {
5 | en,
6 | 'zh-Hans': zhHans,
7 | 'zh-Hant': zhHant
8 | }
9 |
--------------------------------------------------------------------------------
/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-calender.ok": "确定",
3 | "uni-calender.cancel": "取消",
4 | "uni-calender.today": "今日",
5 | "uni-calender.SUN": "日",
6 | "uni-calender.MON": "一",
7 | "uni-calender.TUE": "二",
8 | "uni-calender.WED": "三",
9 | "uni-calender.THU": "四",
10 | "uni-calender.FRI": "五",
11 | "uni-calender.SAT": "六"
12 | }
13 |
--------------------------------------------------------------------------------
/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-calender.ok": "確定",
3 | "uni-calender.cancel": "取消",
4 | "uni-calender.today": "今日",
5 | "uni-calender.SUN": "日",
6 | "uni-calender.MON": "一",
7 | "uni-calender.TUE": "二",
8 | "uni-calender.WED": "三",
9 | "uni-calender.THU": "四",
10 | "uni-calender.FRI": "五",
11 | "uni-calender.SAT": "六"
12 | }
13 |
--------------------------------------------------------------------------------
/uni_modules/uni-calendar/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-calendar",
3 | "displayName": "uni-calendar 日历",
4 | "version": "1.4.5",
5 | "description": "日历组件",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "日历",
10 | "",
11 | "打卡",
12 | "日历选择"
13 | ],
14 | "repository": "https://github.com/dcloudio/uni-ui",
15 | "engines": {
16 | "HBuilderX": ""
17 | },
18 | "directories": {
19 | "example": "../../temps/example_temps"
20 | },
21 | "dcloudext": {
22 | "category": [
23 | "前端组件",
24 | "通用组件"
25 | ],
26 | "sale": {
27 | "regular": {
28 | "price": "0.00"
29 | },
30 | "sourcecode": {
31 | "price": "0.00"
32 | }
33 | },
34 | "contact": {
35 | "qq": ""
36 | },
37 | "declaration": {
38 | "ads": "无",
39 | "data": "无",
40 | "permissions": "无"
41 | },
42 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
43 | },
44 | "uni_modules": {
45 | "dependencies": [],
46 | "encrypt": [],
47 | "platforms": {
48 | "cloud": {
49 | "tcb": "y",
50 | "aliyun": "y"
51 | },
52 | "client": {
53 | "App": {
54 | "app-vue": "y",
55 | "app-nvue": "y"
56 | },
57 | "H5-mobile": {
58 | "Safari": "y",
59 | "Android Browser": "y",
60 | "微信浏览器(Android)": "y",
61 | "QQ浏览器(Android)": "y"
62 | },
63 | "H5-pc": {
64 | "Chrome": "y",
65 | "IE": "y",
66 | "Edge": "y",
67 | "Firefox": "y",
68 | "Safari": "y"
69 | },
70 | "小程序": {
71 | "微信": "y",
72 | "阿里": "y",
73 | "百度": "y",
74 | "字节跳动": "y",
75 | "QQ": "y"
76 | },
77 | "快应用": {
78 | "华为": "u",
79 | "联盟": "u"
80 | },
81 | "Vue": {
82 | "vue2": "y",
83 | "vue3": "y"
84 | }
85 | }
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/uni_modules/uni-card/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.3.1(2021-12-20)
2 | - 修复 在vue页面下略缩图显示不正常的bug
3 | ## 1.3.0(2021-11-19)
4 | - 重构插槽的用法 ,header 替换为 title
5 | - 新增 actions 插槽
6 | - 新增 cover 封面图属性和插槽
7 | - 新增 padding 内容默认内边距离
8 | - 新增 margin 卡片默认外边距离
9 | - 新增 spacing 卡片默认内边距
10 | - 新增 shadow 卡片阴影属性
11 | - 取消 mode 属性,可使用组合插槽代替
12 | - 取消 note 属性 ,使用actions插槽代替
13 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
14 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-card](https://uniapp.dcloud.io/component/uniui/uni-card)
15 | ## 1.2.1(2021-07-30)
16 | - 优化 vue3下事件警告的问题
17 | ## 1.2.0(2021-07-13)
18 | - 组件兼容 vue3,如何创建vue3项目详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
19 | ## 1.1.8(2021-07-01)
20 | - 优化 图文卡片无图片加载时,提供占位图标
21 | - 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持)
22 | - 修复 thumbnail 不存在仍然占位的 bug
23 | ## 1.1.7(2021-05-12)
24 | - 新增 组件示例地址
25 | ## 1.1.6(2021-02-04)
26 | - 调整为uni_modules目录规范
27 |
--------------------------------------------------------------------------------
/uni_modules/uni-card/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-card",
3 | "displayName": "uni-card 卡片",
4 | "version": "1.3.1",
5 | "description": "Card 组件,提供常见的卡片样式。",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "card",
10 | "",
11 | "卡片"
12 | ],
13 | "repository": "https://github.com/dcloudio/uni-ui",
14 | "engines": {
15 | "HBuilderX": ""
16 | },
17 | "directories": {
18 | "example": "../../temps/example_temps"
19 | },
20 | "dcloudext": {
21 | "category": [
22 | "前端组件",
23 | "通用组件"
24 | ],
25 | "sale": {
26 | "regular": {
27 | "price": "0.00"
28 | },
29 | "sourcecode": {
30 | "price": "0.00"
31 | }
32 | },
33 | "contact": {
34 | "qq": ""
35 | },
36 | "declaration": {
37 | "ads": "无",
38 | "data": "无",
39 | "permissions": "无"
40 | },
41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
42 | },
43 | "uni_modules": {
44 | "dependencies": [
45 | "uni-icons",
46 | "uni-scss"
47 | ],
48 | "encrypt": [],
49 | "platforms": {
50 | "cloud": {
51 | "tcb": "y",
52 | "aliyun": "y"
53 | },
54 | "client": {
55 | "App": {
56 | "app-vue": "y",
57 | "app-nvue": "y"
58 | },
59 | "H5-mobile": {
60 | "Safari": "y",
61 | "Android Browser": "y",
62 | "微信浏览器(Android)": "y",
63 | "QQ浏览器(Android)": "y"
64 | },
65 | "H5-pc": {
66 | "Chrome": "y",
67 | "IE": "y",
68 | "Edge": "y",
69 | "Firefox": "y",
70 | "Safari": "y"
71 | },
72 | "小程序": {
73 | "微信": "y",
74 | "阿里": "y",
75 | "百度": "y",
76 | "字节跳动": "y",
77 | "QQ": "y"
78 | },
79 | "快应用": {
80 | "华为": "u",
81 | "联盟": "u"
82 | },
83 | "Vue": {
84 | "vue2": "y",
85 | "vue3": "y"
86 | }
87 | }
88 | }
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/uni_modules/uni-card/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Card 卡片
4 | > **组件名:uni-card**
5 | > 代码块: `uCard`
6 |
7 | 卡片视图组件。
8 |
9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card)
10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
11 |
12 |
13 |
--------------------------------------------------------------------------------
/uni_modules/uni-collapse/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.4.3(2022-01-25)
2 | - 修复 初始化的时候 ,open 属性失效的bug
3 | ## 1.4.2(2022-01-21)
4 | - 修复 微信小程序resize后组件收起的bug
5 | ## 1.4.1(2021-11-22)
6 | - 修复 vue3中个别scss变量无法找到的问题
7 | ## 1.4.0(2021-11-19)
8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-collapse](https://uniapp.dcloud.io/component/uniui/uni-collapse)
10 | ## 1.3.3(2021-08-17)
11 | - 优化 show-arrow 属性默认为true
12 | ## 1.3.2(2021-08-17)
13 | - 新增 show-arrow 属性,控制是否显示右侧箭头
14 | ## 1.3.1(2021-07-30)
15 | - 优化 vue3下小程序事件警告的问题
16 | ## 1.3.0(2021-07-30)
17 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
18 | ## 1.2.2(2021-07-21)
19 | - 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug
20 | ## 1.2.1(2021-07-21)
21 | - 优化 组件示例
22 | ## 1.2.0(2021-07-21)
23 | - 新增 组件折叠动画
24 | - 新增 value\v-model 属性 ,动态修改面板折叠状态
25 | - 新增 title 插槽 ,可定义面板标题
26 | - 新增 border 属性 ,显示隐藏面板内容分隔线
27 | - 新增 title-border 属性 ,显示隐藏面板标题分隔线
28 | - 修复 resize 方法失效的Bug
29 | - 修复 change 事件返回参数不正确的Bug
30 | - 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法
31 | ## 1.1.7(2021-05-12)
32 | - 新增 组件示例地址
33 | ## 1.1.6(2021-02-05)
34 | - 优化 组件引用关系,通过uni_modules引用组件
35 | ## 1.1.5(2021-02-05)
36 | - 调整为uni_modules目录规范
--------------------------------------------------------------------------------
/uni_modules/uni-collapse/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Collapse 折叠面板
4 | > **组件名:uni-collapse**
5 | > 代码块: `uCollapse`
6 | > 关联组件:`uni-collapse-item`、`uni-icons`。
7 |
8 |
9 | 折叠面板用来折叠/显示过长的内容或者是列表。通常是在多内容分类项使用,折叠不重要的内容,显示重要内容。点击可以展开折叠部分。
10 |
11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-collapse)
12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-combox/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.0.1(2021-11-23)
2 | - 优化 label、label-width 属性
3 | ## 1.0.0(2021-11-19)
4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox)
6 | ## 0.1.0(2021-07-30)
7 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
8 | ## 0.0.6(2021-05-12)
9 | - 新增 组件示例地址
10 | ## 0.0.5(2021-04-21)
11 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖
12 | ## 0.0.4(2021-02-05)
13 | - 优化 组件引用关系,通过uni_modules引用组件
14 | ## 0.0.3(2021-02-04)
15 | - 调整为uni_modules目录规范
16 |
--------------------------------------------------------------------------------
/uni_modules/uni-combox/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-combox",
3 | "displayName": "uni-combox 组合框",
4 | "version": "1.0.1",
5 | "description": "可以选择也可以输入的表单项 ",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "combox",
10 | "组合框",
11 | "select"
12 | ],
13 | "repository": "https://github.com/dcloudio/uni-ui",
14 | "engines": {
15 | "HBuilderX": ""
16 | },
17 | "directories": {
18 | "example": "../../temps/example_temps"
19 | },
20 | "dcloudext": {
21 | "category": [
22 | "前端组件",
23 | "通用组件"
24 | ],
25 | "sale": {
26 | "regular": {
27 | "price": "0.00"
28 | },
29 | "sourcecode": {
30 | "price": "0.00"
31 | }
32 | },
33 | "contact": {
34 | "qq": ""
35 | },
36 | "declaration": {
37 | "ads": "无",
38 | "data": "无",
39 | "permissions": "无"
40 | },
41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
42 | },
43 | "uni_modules": {
44 | "dependencies": [
45 | "uni-scss",
46 | "uni-icons"
47 | ],
48 | "encrypt": [],
49 | "platforms": {
50 | "cloud": {
51 | "tcb": "y",
52 | "aliyun": "y"
53 | },
54 | "client": {
55 | "App": {
56 | "app-vue": "y",
57 | "app-nvue": "n"
58 | },
59 | "H5-mobile": {
60 | "Safari": "y",
61 | "Android Browser": "y",
62 | "微信浏览器(Android)": "y",
63 | "QQ浏览器(Android)": "y"
64 | },
65 | "H5-pc": {
66 | "Chrome": "y",
67 | "IE": "y",
68 | "Edge": "y",
69 | "Firefox": "y",
70 | "Safari": "y"
71 | },
72 | "小程序": {
73 | "微信": "y",
74 | "阿里": "y",
75 | "百度": "y",
76 | "字节跳动": "y",
77 | "QQ": "y"
78 | },
79 | "快应用": {
80 | "华为": "u",
81 | "联盟": "u"
82 | },
83 | "Vue": {
84 | "vue2": "y",
85 | "vue3": "y"
86 | }
87 | }
88 | }
89 | }
90 | }
--------------------------------------------------------------------------------
/uni_modules/uni-combox/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Combox 组合框
4 | > **组件名:uni-combox**
5 | > 代码块: `uCombox`
6 |
7 |
8 | 组合框组件。
9 |
10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-combox)
11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.2.2(2022-01-19)
2 | - 修复 在微信小程序中样式不生效的bug
3 | ## 1.2.1(2022-01-18)
4 | - 新增 update 方法 ,在动态更新时间后,刷新组件
5 | ## 1.2.0(2021-11-19)
6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-countdown](https://uniapp.dcloud.io/component/uniui/uni-countdown)
8 | ## 1.1.3(2021-10-18)
9 | - 重构
10 | - 新增 font-size 支持自定义字体大小
11 | ## 1.1.2(2021-08-24)
12 | - 新增 支持国际化
13 | ## 1.1.1(2021-07-30)
14 | - 优化 vue3下小程序事件警告的问题
15 | ## 1.1.0(2021-07-30)
16 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
17 | ## 1.0.5(2021-06-18)
18 | - 修复 uni-countdown 重复赋值跳两秒的 bug
19 | ## 1.0.4(2021-05-12)
20 | - 新增 组件示例地址
21 | ## 1.0.3(2021-05-08)
22 | - 修复 uni-countdown 不能控制倒计时的 bug
23 | ## 1.0.2(2021-02-04)
24 | - 调整为uni_modules目录规范
25 |
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-countdown.day": "day",
3 | "uni-countdown.h": "h",
4 | "uni-countdown.m": "m",
5 | "uni-countdown.s": "s"
6 | }
7 |
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js:
--------------------------------------------------------------------------------
1 | import en from './en.json'
2 | import zhHans from './zh-Hans.json'
3 | import zhHant from './zh-Hant.json'
4 | export default {
5 | en,
6 | 'zh-Hans': zhHans,
7 | 'zh-Hant': zhHant
8 | }
9 |
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-countdown.day": "天",
3 | "uni-countdown.h": "时",
4 | "uni-countdown.m": "分",
5 | "uni-countdown.s": "秒"
6 | }
7 |
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-countdown.day": "天",
3 | "uni-countdown.h": "時",
4 | "uni-countdown.m": "分",
5 | "uni-countdown.s": "秒"
6 | }
7 |
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-countdown",
3 | "displayName": "uni-countdown 倒计时",
4 | "version": "1.2.2",
5 | "description": "CountDown 倒计时组件",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "countdown",
10 | "倒计时"
11 | ],
12 | "repository": "https://github.com/dcloudio/uni-ui",
13 | "engines": {
14 | "HBuilderX": ""
15 | },
16 | "directories": {
17 | "example": "../../temps/example_temps"
18 | },
19 | "dcloudext": {
20 | "category": [
21 | "前端组件",
22 | "通用组件"
23 | ],
24 | "sale": {
25 | "regular": {
26 | "price": "0.00"
27 | },
28 | "sourcecode": {
29 | "price": "0.00"
30 | }
31 | },
32 | "contact": {
33 | "qq": ""
34 | },
35 | "declaration": {
36 | "ads": "无",
37 | "data": "无",
38 | "permissions": "无"
39 | },
40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
41 | },
42 | "uni_modules": {
43 | "dependencies": ["uni-scss"],
44 | "encrypt": [],
45 | "platforms": {
46 | "cloud": {
47 | "tcb": "y",
48 | "aliyun": "y"
49 | },
50 | "client": {
51 | "App": {
52 | "app-vue": "y",
53 | "app-nvue": "y"
54 | },
55 | "H5-mobile": {
56 | "Safari": "y",
57 | "Android Browser": "y",
58 | "微信浏览器(Android)": "y",
59 | "QQ浏览器(Android)": "y"
60 | },
61 | "H5-pc": {
62 | "Chrome": "y",
63 | "IE": "y",
64 | "Edge": "y",
65 | "Firefox": "y",
66 | "Safari": "y"
67 | },
68 | "小程序": {
69 | "微信": "y",
70 | "阿里": "y",
71 | "百度": "y",
72 | "字节跳动": "y",
73 | "QQ": "y"
74 | },
75 | "快应用": {
76 | "华为": "u",
77 | "联盟": "u"
78 | },
79 | "Vue": {
80 | "vue2": "y",
81 | "vue3": "y"
82 | }
83 | }
84 | }
85 | }
86 | }
--------------------------------------------------------------------------------
/uni_modules/uni-countdown/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## CountDown 倒计时
4 | > **组件名:uni-countdown**
5 | > 代码块: `uCountDown`
6 |
7 | 倒计时组件。
8 |
9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-countdown)
10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-data-checkbox/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.0.2(2022-06-30)
2 | - 优化 在 uni-forms 中的依赖注入方式
3 | ## 1.0.1(2022-02-07)
4 | - 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug
5 | ## 1.0.0(2021-11-19)
6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-checkbox](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox)
8 | ## 0.2.5(2021-08-23)
9 | - 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题
10 | ## 0.2.4(2021-08-17)
11 | - 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题
12 | ## 0.2.3(2021-08-11)
13 | - 修复 在 uni-forms 中重置表单,错误信息无法清除的问题
14 | ## 0.2.2(2021-07-30)
15 | - 优化 在uni-forms组件,与label不对齐的问题
16 | ## 0.2.1(2021-07-27)
17 | - 修复 单选默认值为0不能选中的Bug
18 | ## 0.2.0(2021-07-13)
19 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
20 | ## 0.1.11(2021-07-06)
21 | - 优化 删除无用日志
22 | ## 0.1.10(2021-07-05)
23 | - 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题
24 | ## 0.1.9(2021-07-05)
25 | - 修复 nvue 黑框样式问题
26 | ## 0.1.8(2021-06-28)
27 | - 修复 selectedTextColor 属性不生效的Bug
28 | ## 0.1.7(2021-06-02)
29 | - 新增 map 属性,可以方便映射text/value属性
30 | ## 0.1.6(2021-05-26)
31 | - 修复 不关联服务空间的情况下组件报错的Bug
32 | ## 0.1.5(2021-05-12)
33 | - 新增 组件示例地址
34 | ## 0.1.4(2021-04-09)
35 | - 修复 nvue 下无法选中的问题
36 | ## 0.1.3(2021-03-22)
37 | - 新增 disabled属性
38 | ## 0.1.2(2021-02-24)
39 | - 优化 默认颜色显示
40 | ## 0.1.1(2021-02-24)
41 | - 新增 支持nvue
42 | ## 0.1.0(2021-02-18)
43 | - “暂无数据”显示居中
44 |
--------------------------------------------------------------------------------
/uni_modules/uni-data-checkbox/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## DataCheckbox 数据驱动的单选复选框
4 | > **组件名:uni-data-checkbox**
5 | > 代码块: `uDataCheckbox`
6 |
7 |
8 | 本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括:
9 |
10 | 1. 数据绑定型组件:给本组件绑定一个data,会自动渲染一组候选内容。再以往,开发者需要编写不少代码实现类似功能
11 | 2. 自动的表单校验:组件绑定了data,且符合[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)组件的表单校验规范,搭配使用会自动实现表单校验
12 | 3. 本组件合并了单选多选
13 | 4. 本组件有若干风格选择,如普通的单选多选框、并列button风格、tag风格。开发者可以快速选择需要的风格。但作为一个封装组件,样式代码虽然不用自己写了,却会牺牲一定的样式自定义性
14 |
15 | 在uniCloud开发中,`DB Schema`中配置了enum枚举等类型后,在web控制台的[自动生成表单](https://uniapp.dcloud.io/uniCloud/schema?id=autocode)功能中,会自动生成``uni-data-checkbox``组件并绑定好data
16 |
17 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox)
18 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js:
--------------------------------------------------------------------------------
1 | // #ifdef H5
2 | export default {
3 | name: 'Keypress',
4 | props: {
5 | disable: {
6 | type: Boolean,
7 | default: false
8 | }
9 | },
10 | mounted () {
11 | const keyNames = {
12 | esc: ['Esc', 'Escape'],
13 | tab: 'Tab',
14 | enter: 'Enter',
15 | space: [' ', 'Spacebar'],
16 | up: ['Up', 'ArrowUp'],
17 | left: ['Left', 'ArrowLeft'],
18 | right: ['Right', 'ArrowRight'],
19 | down: ['Down', 'ArrowDown'],
20 | delete: ['Backspace', 'Delete', 'Del']
21 | }
22 | const listener = ($event) => {
23 | if (this.disable) {
24 | return
25 | }
26 | const keyName = Object.keys(keyNames).find(key => {
27 | const keyName = $event.key
28 | const value = keyNames[key]
29 | return value === keyName || (Array.isArray(value) && value.includes(keyName))
30 | })
31 | if (keyName) {
32 | // 避免和其他按键事件冲突
33 | setTimeout(() => {
34 | this.$emit(keyName, {})
35 | }, 0)
36 | }
37 | }
38 | document.addEventListener('keyup', listener)
39 | this.$once('hook:beforeDestroy', () => {
40 | document.removeEventListener('keyup', listener)
41 | })
42 | },
43 | render: () => {}
44 | }
45 | // #endif
46 |
--------------------------------------------------------------------------------
/uni_modules/uni-data-picker/readme.md:
--------------------------------------------------------------------------------
1 | ## DataPicker 级联选择
2 | > **组件名:uni-data-picker**
3 | > 代码块: `uDataPicker`
4 | > 关联组件:`uni-data-pickerview`、`uni-load-more`。
5 |
6 |
7 | `` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。
8 |
9 | 支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。
10 |
11 | 候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。
12 |
13 | `` 组件尤其适用于地址选择、分类选择等选择类。
14 |
15 | `` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。
16 |
17 | `` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。
18 |
19 | 在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。
20 |
21 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker)
22 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-dateformat/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.0.0(2021-11-19)
2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-dateformat](https://uniapp.dcloud.io/component/uniui/uni-dateformat)
4 | ## 0.0.5(2021-07-08)
5 | - 调整 默认时间不再是当前时间,而是显示'-'字符
6 | ## 0.0.4(2021-05-12)
7 | - 新增 组件示例地址
8 | ## 0.0.3(2021-02-04)
9 | - 调整为uni_modules目录规范
10 | - 修复 iOS 平台日期格式化出错的问题
11 |
--------------------------------------------------------------------------------
/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue:
--------------------------------------------------------------------------------
1 |
2 | {{dateShow}}
3 |
4 |
5 |
85 |
86 |
89 |
--------------------------------------------------------------------------------
/uni_modules/uni-dateformat/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-dateformat",
3 | "displayName": "uni-dateformat 日期格式化",
4 | "version": "1.0.0",
5 | "description": "日期格式化组件,可以将日期格式化为1分钟前、刚刚等形式",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "日期格式化",
10 | "时间格式化",
11 | "格式化时间",
12 | ""
13 | ],
14 | "repository": "https://github.com/dcloudio/uni-ui",
15 | "engines": {
16 | "HBuilderX": ""
17 | },
18 | "directories": {
19 | "example": "../../temps/example_temps"
20 | },
21 | "dcloudext": {
22 | "category": [
23 | "前端组件",
24 | "通用组件"
25 | ],
26 | "sale": {
27 | "regular": {
28 | "price": "0.00"
29 | },
30 | "sourcecode": {
31 | "price": "0.00"
32 | }
33 | },
34 | "contact": {
35 | "qq": ""
36 | },
37 | "declaration": {
38 | "ads": "无",
39 | "data": "无",
40 | "permissions": "无"
41 | },
42 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
43 | },
44 | "uni_modules": {
45 | "dependencies": ["uni-scss"],
46 | "encrypt": [],
47 | "platforms": {
48 | "cloud": {
49 | "tcb": "y",
50 | "aliyun": "y"
51 | },
52 | "client": {
53 | "App": {
54 | "app-vue": "y",
55 | "app-nvue": "y"
56 | },
57 | "H5-mobile": {
58 | "Safari": "y",
59 | "Android Browser": "y",
60 | "微信浏览器(Android)": "y",
61 | "QQ浏览器(Android)": "y"
62 | },
63 | "H5-pc": {
64 | "Chrome": "y",
65 | "IE": "y",
66 | "Edge": "y",
67 | "Firefox": "y",
68 | "Safari": "y"
69 | },
70 | "小程序": {
71 | "微信": "y",
72 | "阿里": "y",
73 | "百度": "y",
74 | "字节跳动": "y",
75 | "QQ": "y"
76 | },
77 | "快应用": {
78 | "华为": "y",
79 | "联盟": "y"
80 | },
81 | "Vue": {
82 | "vue2": "y",
83 | "vue3": "y"
84 | }
85 | }
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/uni_modules/uni-dateformat/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ### DateFormat 日期格式化
4 | > **组件名:uni-dateformat**
5 | > 代码块: `uDateformat`
6 |
7 |
8 | 日期格式化组件。
9 |
10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-dateformat)
11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-datetime-picker.selectDate": "select date",
3 | "uni-datetime-picker.selectTime": "select time",
4 | "uni-datetime-picker.selectDateTime": "select datetime",
5 | "uni-datetime-picker.startDate": "start date",
6 | "uni-datetime-picker.endDate": "end date",
7 | "uni-datetime-picker.startTime": "start time",
8 | "uni-datetime-picker.endTime": "end time",
9 | "uni-datetime-picker.ok": "ok",
10 | "uni-datetime-picker.clear": "clear",
11 | "uni-datetime-picker.cancel": "cancel",
12 | "uni-datetime-picker.year": "-",
13 | "uni-datetime-picker.month": "",
14 | "uni-calender.MON": "MON",
15 | "uni-calender.TUE": "TUE",
16 | "uni-calender.WED": "WED",
17 | "uni-calender.THU": "THU",
18 | "uni-calender.FRI": "FRI",
19 | "uni-calender.SAT": "SAT",
20 | "uni-calender.SUN": "SUN",
21 | "uni-calender.confirm": "confirm"
22 | }
23 |
--------------------------------------------------------------------------------
/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js:
--------------------------------------------------------------------------------
1 | import en from './en.json'
2 | import zhHans from './zh-Hans.json'
3 | import zhHant from './zh-Hant.json'
4 | export default {
5 | en,
6 | 'zh-Hans': zhHans,
7 | 'zh-Hant': zhHant
8 | }
9 |
--------------------------------------------------------------------------------
/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-datetime-picker.selectDate": "选择日期",
3 | "uni-datetime-picker.selectTime": "选择时间",
4 | "uni-datetime-picker.selectDateTime": "选择日期时间",
5 | "uni-datetime-picker.startDate": "开始日期",
6 | "uni-datetime-picker.endDate": "结束日期",
7 | "uni-datetime-picker.startTime": "开始时间",
8 | "uni-datetime-picker.endTime": "结束时间",
9 | "uni-datetime-picker.ok": "确定",
10 | "uni-datetime-picker.clear": "清除",
11 | "uni-datetime-picker.cancel": "取消",
12 | "uni-datetime-picker.year": "年",
13 | "uni-datetime-picker.month": "月",
14 | "uni-calender.SUN": "日",
15 | "uni-calender.MON": "一",
16 | "uni-calender.TUE": "二",
17 | "uni-calender.WED": "三",
18 | "uni-calender.THU": "四",
19 | "uni-calender.FRI": "五",
20 | "uni-calender.SAT": "六",
21 | "uni-calender.confirm": "确认"
22 | }
--------------------------------------------------------------------------------
/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-datetime-picker.selectDate": "選擇日期",
3 | "uni-datetime-picker.selectTime": "選擇時間",
4 | "uni-datetime-picker.selectDateTime": "選擇日期時間",
5 | "uni-datetime-picker.startDate": "開始日期",
6 | "uni-datetime-picker.endDate": "結束日期",
7 | "uni-datetime-picker.startTime": "開始时间",
8 | "uni-datetime-picker.endTime": "結束时间",
9 | "uni-datetime-picker.ok": "確定",
10 | "uni-datetime-picker.clear": "清除",
11 | "uni-datetime-picker.cancel": "取消",
12 | "uni-datetime-picker.year": "年",
13 | "uni-datetime-picker.month": "月",
14 | "uni-calender.SUN": "日",
15 | "uni-calender.MON": "一",
16 | "uni-calender.TUE": "二",
17 | "uni-calender.WED": "三",
18 | "uni-calender.THU": "四",
19 | "uni-calender.FRI": "五",
20 | "uni-calender.SAT": "六",
21 | "uni-calender.confirm": "確認"
22 | }
--------------------------------------------------------------------------------
/uni_modules/uni-datetime-picker/components/uni-datetime-picker/keypress.js:
--------------------------------------------------------------------------------
1 | // #ifdef H5
2 | export default {
3 | name: 'Keypress',
4 | props: {
5 | disable: {
6 | type: Boolean,
7 | default: false
8 | }
9 | },
10 | mounted () {
11 | const keyNames = {
12 | esc: ['Esc', 'Escape'],
13 | tab: 'Tab',
14 | enter: 'Enter',
15 | space: [' ', 'Spacebar'],
16 | up: ['Up', 'ArrowUp'],
17 | left: ['Left', 'ArrowLeft'],
18 | right: ['Right', 'ArrowRight'],
19 | down: ['Down', 'ArrowDown'],
20 | delete: ['Backspace', 'Delete', 'Del']
21 | }
22 | const listener = ($event) => {
23 | if (this.disable) {
24 | return
25 | }
26 | const keyName = Object.keys(keyNames).find(key => {
27 | const keyName = $event.key
28 | const value = keyNames[key]
29 | return value === keyName || (Array.isArray(value) && value.includes(keyName))
30 | })
31 | if (keyName) {
32 | // 避免和其他按键事件冲突
33 | setTimeout(() => {
34 | this.$emit(keyName, {})
35 | }, 0)
36 | }
37 | }
38 | document.addEventListener('keyup', listener)
39 | this.$once('hook:beforeDestroy', () => {
40 | document.removeEventListener('keyup', listener)
41 | })
42 | },
43 | render: () => {}
44 | }
45 | // #endif
--------------------------------------------------------------------------------
/uni_modules/uni-datetime-picker/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | > `重要通知:组件升级更新 2.0.0 后,支持日期+时间范围选择,组件 ui 将使用日历选择日期,ui 变化较大,同时支持 PC 和 移动端。此版本不向后兼容,不再支持单独的时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)。若仍需使用旧版本,可在插件市场下载*非uni_modules版本*,旧版本将不再维护`
4 |
5 | ## DatetimePicker 时间选择器
6 |
7 | > **组件名:uni-datetime-picker**
8 | > 代码块: `uDatetimePicker`
9 |
10 |
11 | 该组件的优势是,支持**时间戳**输入和输出(起始时间、终止时间也支持时间戳),可**同时选择**日期和时间。
12 |
13 | 若只是需要单独选择日期和时间,不需要时间戳输入和输出,可使用原生的 picker 组件。
14 |
15 | **_点击 picker 默认值规则:_**
16 |
17 | - 若设置初始值 value, 会显示在 picker 显示框中
18 | - 若无初始值 value,则初始值 value 为当前本地时间 Date.now(), 但不会显示在 picker 显示框中
19 |
20 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker)
21 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-drawer/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.2.1(2021-11-22)
2 | - 修复 vue3中个别scss变量无法找到的问题
3 | ## 1.2.0(2021-11-19)
4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer)
6 | ## 1.1.1(2021-07-30)
7 | - 优化 vue3下事件警告的问题
8 | ## 1.1.0(2021-07-13)
9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
10 | ## 1.0.7(2021-05-12)
11 | - 新增 组件示例地址
12 | ## 1.0.6(2021-02-04)
13 | - 调整为uni_modules目录规范
14 |
--------------------------------------------------------------------------------
/uni_modules/uni-drawer/components/uni-drawer/keypress.js:
--------------------------------------------------------------------------------
1 | // #ifdef H5
2 | export default {
3 | name: 'Keypress',
4 | props: {
5 | disable: {
6 | type: Boolean,
7 | default: false
8 | }
9 | },
10 | mounted () {
11 | const keyNames = {
12 | esc: ['Esc', 'Escape'],
13 | tab: 'Tab',
14 | enter: 'Enter',
15 | space: [' ', 'Spacebar'],
16 | up: ['Up', 'ArrowUp'],
17 | left: ['Left', 'ArrowLeft'],
18 | right: ['Right', 'ArrowRight'],
19 | down: ['Down', 'ArrowDown'],
20 | delete: ['Backspace', 'Delete', 'Del']
21 | }
22 | const listener = ($event) => {
23 | if (this.disable) {
24 | return
25 | }
26 | const keyName = Object.keys(keyNames).find(key => {
27 | const keyName = $event.key
28 | const value = keyNames[key]
29 | return value === keyName || (Array.isArray(value) && value.includes(keyName))
30 | })
31 | if (keyName) {
32 | // 避免和其他按键事件冲突
33 | setTimeout(() => {
34 | this.$emit(keyName, {})
35 | }, 0)
36 | }
37 | }
38 | document.addEventListener('keyup', listener)
39 | // this.$once('hook:beforeDestroy', () => {
40 | // document.removeEventListener('keyup', listener)
41 | // })
42 | },
43 | render: () => {}
44 | }
45 | // #endif
46 |
--------------------------------------------------------------------------------
/uni_modules/uni-drawer/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-drawer",
3 | "displayName": "uni-drawer 抽屉",
4 | "version": "1.2.1",
5 | "description": "抽屉式导航,用于展示侧滑菜单,侧滑导航。",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "drawer",
10 | "抽屉",
11 | "侧滑导航"
12 | ],
13 | "repository": "https://github.com/dcloudio/uni-ui",
14 | "engines": {
15 | "HBuilderX": ""
16 | },
17 | "directories": {
18 | "example": "../../temps/example_temps"
19 | },
20 | "dcloudext": {
21 | "category": [
22 | "前端组件",
23 | "通用组件"
24 | ],
25 | "sale": {
26 | "regular": {
27 | "price": "0.00"
28 | },
29 | "sourcecode": {
30 | "price": "0.00"
31 | }
32 | },
33 | "contact": {
34 | "qq": ""
35 | },
36 | "declaration": {
37 | "ads": "无",
38 | "data": "无",
39 | "permissions": "无"
40 | },
41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
42 | },
43 | "uni_modules": {
44 | "dependencies": ["uni-scss"],
45 | "encrypt": [],
46 | "platforms": {
47 | "cloud": {
48 | "tcb": "y",
49 | "aliyun": "y"
50 | },
51 | "client": {
52 | "App": {
53 | "app-vue": "y",
54 | "app-nvue": "y"
55 | },
56 | "H5-mobile": {
57 | "Safari": "y",
58 | "Android Browser": "y",
59 | "微信浏览器(Android)": "y",
60 | "QQ浏览器(Android)": "y"
61 | },
62 | "H5-pc": {
63 | "Chrome": "y",
64 | "IE": "y",
65 | "Edge": "y",
66 | "Firefox": "y",
67 | "Safari": "y"
68 | },
69 | "小程序": {
70 | "微信": "y",
71 | "阿里": "y",
72 | "百度": "y",
73 | "字节跳动": "y",
74 | "QQ": "y"
75 | },
76 | "快应用": {
77 | "华为": "u",
78 | "联盟": "u"
79 | },
80 | "Vue": {
81 | "vue2": "y",
82 | "vue3": "y"
83 | }
84 | }
85 | }
86 | }
87 | }
--------------------------------------------------------------------------------
/uni_modules/uni-drawer/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Drawer 抽屉
4 | > **组件名:uni-drawer**
5 | > 代码块: `uDrawer`
6 |
7 | 抽屉侧滑菜单。
8 |
9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-drawer)
10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-easyinput/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.1.0(2022-06-30)
2 | - 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容
3 | - 新增 clear 事件,点击右侧叉号图标触发
4 | - 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发
5 | - 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等
6 | -
7 | ## 1.0.5(2022-06-07)
8 | - 优化 clearable 显示策略
9 | ## 1.0.4(2022-06-07)
10 | - 优化 clearable 显示策略
11 | ## 1.0.3(2022-05-20)
12 | - 修复 关闭图标某些情况下无法取消的bug
13 | ## 1.0.2(2022-04-12)
14 | - 修复 默认值不生效的bug
15 | ## 1.0.1(2022-04-02)
16 | - 修复 value不能为0的bug
17 | ## 1.0.0(2021-11-19)
18 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
19 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-easyinput](https://uniapp.dcloud.io/component/uniui/uni-easyinput)
20 | ## 0.1.4(2021-08-20)
21 | - 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug
22 | ## 0.1.3(2021-08-11)
23 | - 修复 在 uni-forms 中重置表单,错误信息无法清除的问题
24 | ## 0.1.2(2021-07-30)
25 | - 优化 vue3下事件警告的问题
26 | ## 0.1.1
27 | - 优化 errorMessage 属性支持 Boolean 类型
28 | ## 0.1.0(2021-07-13)
29 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
30 | ## 0.0.16(2021-06-29)
31 | - 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug
32 | ## 0.0.15(2021-06-21)
33 | - 修复 passwordIcon 属性拼写错误的 bug
34 | ## 0.0.14(2021-06-18)
35 | - 新增 passwordIcon 属性,当type=password时是否显示小眼睛图标
36 | - 修复 confirmType 属性不生效的问题
37 | ## 0.0.13(2021-06-04)
38 | - 修复 disabled 状态可清出内容的 bug
39 | ## 0.0.12(2021-05-12)
40 | - 新增 组件示例地址
41 | ## 0.0.11(2021-05-07)
42 | - 修复 input-border 属性不生效的问题
43 | ## 0.0.10(2021-04-30)
44 | - 修复 ios 遮挡文字、显示一半的问题
45 | ## 0.0.9(2021-02-05)
46 | - 调整为uni_modules目录规范
47 | - 优化 兼容 nvue 页面
48 |
--------------------------------------------------------------------------------
/uni_modules/uni-easyinput/components/uni-easyinput/common.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @desc 函数防抖
3 | * @param func 目标函数
4 | * @param wait 延迟执行毫秒数
5 | * @param immediate true - 立即执行, false - 延迟执行
6 | */
7 | export const debounce = function(func, wait = 1000, immediate = true) {
8 | let timer;
9 | console.log(1);
10 | return function() {
11 | console.log(123);
12 | let context = this,
13 | args = arguments;
14 | if (timer) clearTimeout(timer);
15 | if (immediate) {
16 | let callNow = !timer;
17 | timer = setTimeout(() => {
18 | timer = null;
19 | }, wait);
20 | if (callNow) func.apply(context, args);
21 | } else {
22 | timer = setTimeout(() => {
23 | func.apply(context, args);
24 | }, wait)
25 | }
26 | }
27 | }
28 | /**
29 | * @desc 函数节流
30 | * @param func 函数
31 | * @param wait 延迟执行毫秒数
32 | * @param type 1 使用表时间戳,在时间段开始的时候触发 2 使用表定时器,在时间段结束的时候触发
33 | */
34 | export const throttle = (func, wait = 1000, type = 1) => {
35 | let previous = 0;
36 | let timeout;
37 | return function() {
38 | let context = this;
39 | let args = arguments;
40 | if (type === 1) {
41 | let now = Date.now();
42 |
43 | if (now - previous > wait) {
44 | func.apply(context, args);
45 | previous = now;
46 | }
47 | } else if (type === 2) {
48 | if (!timeout) {
49 | timeout = setTimeout(() => {
50 | timeout = null;
51 | func.apply(context, args)
52 | }, wait)
53 | }
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/uni_modules/uni-easyinput/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ### Easyinput 增强输入框
4 | > **组件名:uni-easyinput**
5 | > 代码块: `uEasyinput`
6 |
7 |
8 | easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能
9 |
10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput)
11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-fab/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.2.2(2021-12-29)
2 | - 更新 组件依赖
3 | ## 1.2.1(2021-11-19)
4 | - 修复 阴影颜色不正确的bug
5 | ## 1.2.0(2021-11-19)
6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab)
8 | ## 1.1.1(2021-11-09)
9 | - 新增 提供组件设计资源,组件样式调整
10 | ## 1.1.0(2021-07-30)
11 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
12 | ## 1.0.7(2021-05-12)
13 | - 新增 组件示例地址
14 | ## 1.0.6(2021-02-05)
15 | - 调整为uni_modules目录规范
16 | - 优化 按钮背景色调整
17 | - 优化 兼容pc端
18 |
--------------------------------------------------------------------------------
/uni_modules/uni-fab/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-fab",
3 | "displayName": "uni-fab 悬浮按钮",
4 | "version": "1.2.2",
5 | "description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "按钮",
10 | "悬浮按钮",
11 | "fab"
12 | ],
13 | "repository": "https://github.com/dcloudio/uni-ui",
14 | "engines": {
15 | "HBuilderX": ""
16 | },
17 | "directories": {
18 | "example": "../../temps/example_temps"
19 | },
20 | "dcloudext": {
21 | "category": [
22 | "前端组件",
23 | "通用组件"
24 | ],
25 | "sale": {
26 | "regular": {
27 | "price": "0.00"
28 | },
29 | "sourcecode": {
30 | "price": "0.00"
31 | }
32 | },
33 | "contact": {
34 | "qq": ""
35 | },
36 | "declaration": {
37 | "ads": "无",
38 | "data": "无",
39 | "permissions": "无"
40 | },
41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
42 | },
43 | "uni_modules": {
44 | "dependencies": ["uni-scss","uni-icons"],
45 | "encrypt": [],
46 | "platforms": {
47 | "cloud": {
48 | "tcb": "y",
49 | "aliyun": "y"
50 | },
51 | "client": {
52 | "App": {
53 | "app-vue": "y",
54 | "app-nvue": "y"
55 | },
56 | "H5-mobile": {
57 | "Safari": "y",
58 | "Android Browser": "y",
59 | "微信浏览器(Android)": "y",
60 | "QQ浏览器(Android)": "y"
61 | },
62 | "H5-pc": {
63 | "Chrome": "y",
64 | "IE": "y",
65 | "Edge": "y",
66 | "Firefox": "y",
67 | "Safari": "y"
68 | },
69 | "小程序": {
70 | "微信": "y",
71 | "阿里": "y",
72 | "百度": "y",
73 | "字节跳动": "y",
74 | "QQ": "y"
75 | },
76 | "快应用": {
77 | "华为": "u",
78 | "联盟": "u"
79 | },
80 | "Vue": {
81 | "vue2": "y",
82 | "vue3": "y"
83 | }
84 | }
85 | }
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/uni_modules/uni-fab/readme.md:
--------------------------------------------------------------------------------
1 | ## Fab 悬浮按钮
2 | > **组件名:uni-fab**
3 | > 代码块: `uFab`
4 |
5 |
6 | 点击可展开一个图形按钮菜单
7 |
8 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab)
9 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-fav/changelog.md:
--------------------------------------------------------------------------------
1 | ## 1.2.1(2022-05-30)
2 | - 新增 stat 属性 ,是否开启uni统计功能
3 | ## 1.2.0(2021-11-19)
4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav)
6 | ## 1.1.1(2021-08-24)
7 | - 新增 支持国际化
8 | ## 1.1.0(2021-07-13)
9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
10 | ## 1.0.6(2021-05-12)
11 | - 新增 组件示例地址
12 | ## 1.0.5(2021-04-21)
13 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖
14 | ## 1.0.4(2021-02-05)
15 | - 优化 组件引用关系,通过uni_modules引用组件
16 | ## 1.0.3(2021-02-05)
17 | - 优化 组件引用关系,通过uni_modules引用组件
18 | ## 1.0.2(2021-02-05)
19 | - 调整为uni_modules目录规范
20 |
--------------------------------------------------------------------------------
/uni_modules/uni-fav/components/uni-fav/i18n/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-fav.collect": "collect",
3 | "uni-fav.collected": "collected"
4 | }
5 |
--------------------------------------------------------------------------------
/uni_modules/uni-fav/components/uni-fav/i18n/index.js:
--------------------------------------------------------------------------------
1 | import en from './en.json'
2 | import zhHans from './zh-Hans.json'
3 | import zhHant from './zh-Hant.json'
4 | export default {
5 | en,
6 | 'zh-Hans': zhHans,
7 | 'zh-Hant': zhHant
8 | }
9 |
--------------------------------------------------------------------------------
/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-fav.collect": "收藏",
3 | "uni-fav.collected": "已收藏"
4 | }
5 |
--------------------------------------------------------------------------------
/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json:
--------------------------------------------------------------------------------
1 | {
2 | "uni-fav.collect": "收藏",
3 | "uni-fav.collected": "已收藏"
4 | }
5 |
--------------------------------------------------------------------------------
/uni_modules/uni-fav/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-fav",
3 | "displayName": "uni-fav 收藏按钮",
4 | "version": "1.2.1",
5 | "description": " Fav 收藏组件,可自定义颜色、大小。",
6 | "keywords": [
7 | "fav",
8 | "uni-ui",
9 | "uniui",
10 | "收藏"
11 | ],
12 | "repository": "https://github.com/dcloudio/uni-ui",
13 | "engines": {
14 | "HBuilderX": ""
15 | },
16 | "directories": {
17 | "example": "../../temps/example_temps"
18 | },
19 | "dcloudext": {
20 | "category": [
21 | "前端组件",
22 | "通用组件"
23 | ],
24 | "sale": {
25 | "regular": {
26 | "price": "0.00"
27 | },
28 | "sourcecode": {
29 | "price": "0.00"
30 | }
31 | },
32 | "contact": {
33 | "qq": ""
34 | },
35 | "declaration": {
36 | "ads": "无",
37 | "data": "无",
38 | "permissions": "无"
39 | },
40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
41 | },
42 | "uni_modules": {
43 | "dependencies": [
44 | "uni-scss",
45 | "uni-icons"
46 | ],
47 | "encrypt": [],
48 | "platforms": {
49 | "cloud": {
50 | "tcb": "y",
51 | "aliyun": "y"
52 | },
53 | "client": {
54 | "App": {
55 | "app-vue": "y",
56 | "app-nvue": "y"
57 | },
58 | "H5-mobile": {
59 | "Safari": "y",
60 | "Android Browser": "y",
61 | "微信浏览器(Android)": "y",
62 | "QQ浏览器(Android)": "y"
63 | },
64 | "H5-pc": {
65 | "Chrome": "y",
66 | "IE": "y",
67 | "Edge": "y",
68 | "Firefox": "y",
69 | "Safari": "y"
70 | },
71 | "小程序": {
72 | "微信": "y",
73 | "阿里": "y",
74 | "百度": "y",
75 | "字节跳动": "y",
76 | "QQ": "y"
77 | },
78 | "快应用": {
79 | "华为": "u",
80 | "联盟": "u"
81 | },
82 | "Vue": {
83 | "vue2": "y",
84 | "vue3": "y"
85 | }
86 | }
87 | }
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/uni_modules/uni-fav/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Fav 收藏按钮
4 | > **组件名:uni-fav**
5 | > 代码块: `uFav`
6 |
7 | 用于收藏功能,可点击切换选中、不选中的状态。
8 |
9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fav)
10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-file-picker/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "uni-file-picker",
3 | "displayName": "uni-file-picker 文件选择上传",
4 | "version": "1.0.2",
5 | "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间",
6 | "keywords": [
7 | "uni-ui",
8 | "uniui",
9 | "图片上传",
10 | "文件上传"
11 | ],
12 | "repository": "https://github.com/dcloudio/uni-ui",
13 | "engines": {
14 | "HBuilderX": ""
15 | },
16 | "directories": {
17 | "example": "../../temps/example_temps"
18 | },
19 | "dcloudext": {
20 | "category": [
21 | "前端组件",
22 | "通用组件"
23 | ],
24 | "sale": {
25 | "regular": {
26 | "price": "0.00"
27 | },
28 | "sourcecode": {
29 | "price": "0.00"
30 | }
31 | },
32 | "contact": {
33 | "qq": ""
34 | },
35 | "declaration": {
36 | "ads": "无",
37 | "data": "无",
38 | "permissions": "无"
39 | },
40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
41 | },
42 | "uni_modules": {
43 | "dependencies": ["uni-scss"],
44 | "encrypt": [],
45 | "platforms": {
46 | "cloud": {
47 | "tcb": "y",
48 | "aliyun": "y"
49 | },
50 | "client": {
51 | "App": {
52 | "app-vue": "y",
53 | "app-nvue": "n"
54 | },
55 | "H5-mobile": {
56 | "Safari": "y",
57 | "Android Browser": "y",
58 | "微信浏览器(Android)": "y",
59 | "QQ浏览器(Android)": "y"
60 | },
61 | "H5-pc": {
62 | "Chrome": "y",
63 | "IE": "y",
64 | "Edge": "y",
65 | "Firefox": "y",
66 | "Safari": "y"
67 | },
68 | "小程序": {
69 | "微信": "y",
70 | "阿里": "y",
71 | "百度": "y",
72 | "字节跳动": "y",
73 | "QQ": "y"
74 | },
75 | "快应用": {
76 | "华为": "u",
77 | "联盟": "u"
78 | },
79 | "Vue": {
80 | "vue2": "y",
81 | "vue3": "y"
82 | }
83 | }
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/uni_modules/uni-file-picker/readme.md:
--------------------------------------------------------------------------------
1 |
2 | ## FilePicker 文件选择上传
3 |
4 | > **组件名:uni-file-picker**
5 | > 代码块: `uFilePicker`
6 |
7 |
8 | 文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间
9 |
10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-file-picker)
11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
--------------------------------------------------------------------------------
/uni_modules/uni-forms/readme.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## Forms 表单
4 |
5 | > **组件名:uni-forms**
6 | > 代码块: `uForms`、`uni-forms-item`
7 | > 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。
8 |
9 |
10 | uni-app的内置组件已经有了 `