├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .prettierrc.js ├── LICENSE-SUPPLEMENTAL.md ├── LICENSE.md ├── README.md ├── favicon.ico ├── index.html ├── jweixin-1.6.0.js ├── package.json ├── postcss.config.js ├── src ├── App.vue ├── androidPrivacy.json ├── api │ ├── tinyShop │ │ ├── common.ts │ │ ├── index.ts │ │ ├── marketing.ts │ │ ├── member.ts │ │ ├── merchant.ts │ │ ├── order.ts │ │ ├── product.ts │ │ ├── site.ts │ │ └── thirdParty.ts │ └── wehchatMini │ │ └── wechat.ts ├── components │ ├── rf-ad │ │ └── rf-ad.vue │ ├── rf-attr-content │ │ └── rf-attr-content.vue │ ├── rf-avatar │ │ └── rf-avatar.vue │ ├── rf-back-top │ │ └── rf-back-top.vue │ ├── rf-badge │ │ └── rf-badge.vue │ ├── rf-barrage │ │ └── rf-barrage.vue │ ├── rf-base-popup │ │ └── rf-base-popup.vue │ ├── rf-base-product-item │ │ └── rf-base-product-item.vue │ ├── rf-calendar │ │ └── rf-calendar.vue │ ├── rf-circle-comment-list │ │ └── rf-circle-comment-list.vue │ ├── rf-circle-comment │ │ └── rf-circle-comment.vue │ ├── rf-collapse-item │ │ └── rf-collapse-item.vue │ ├── rf-collapse │ │ └── rf-collapse.vue │ ├── rf-count-down │ │ └── rf-count-down.vue │ ├── rf-coupon │ │ └── rf-coupon.vue │ ├── rf-custom │ │ └── rf-custom.vue │ ├── rf-decorate │ │ └── rf-home-product-list │ │ │ └── rf-home-product-list.vue │ ├── rf-emoji │ │ └── rf-emoji.vue │ ├── rf-empty │ │ └── rf-empty.vue │ ├── rf-home-normal │ │ └── rf-home-normal.vue │ ├── rf-icon │ │ └── rf-icon.vue │ ├── rf-image │ │ ├── lazyLoad.vue │ │ └── rf-image.vue │ ├── rf-item-popup │ │ └── rf-item-popup.vue │ ├── rf-list-cell │ │ └── rf-list-cell.vue │ ├── rf-live-tag │ │ └── rf-live-tag.vue │ ├── rf-load-more │ │ └── rf-load-more.vue │ ├── rf-loading │ │ ├── loaders │ │ │ ├── bounce.vue │ │ │ ├── double-bounce.vue │ │ │ ├── double-cube.vue │ │ │ ├── double-dot.vue │ │ │ ├── loop.vue │ │ │ ├── rotate-plane.vue │ │ │ ├── scale-out.vue │ │ │ └── shrink-rect.vue │ │ └── rf-loading.vue │ ├── rf-menu │ │ └── rf-menu.vue │ ├── rf-modal-bg │ │ └── rf-modal-bg.vue │ ├── rf-modal │ │ └── rf-modal.vue │ ├── rf-navbar │ │ └── rf-navbar.vue │ ├── rf-no-data │ │ └── rf-no-data.vue │ ├── rf-normal-swiper-category │ │ └── rf-normal-swiper-category.vue │ ├── rf-number-box │ │ └── rf-number-box.vue │ ├── rf-parser │ │ └── rf-parser.vue │ ├── rf-pick-regions │ │ └── rf-pick-regions.vue │ ├── rf-picker │ │ └── rf-picker.vue │ ├── rf-popup-ad │ │ └── rf-popup-ad.vue │ ├── rf-popup │ │ └── rf-popup.vue │ ├── rf-poster │ │ └── rf-poster.vue │ ├── rf-product-detail │ │ └── rf-product-detail.vue │ ├── rf-product-home-item │ │ └── rf-product-home-item.vue │ ├── rf-progress │ │ └── rf-progress.vue │ ├── rf-protocol-popup │ │ └── rf-protocol-popup.vue │ ├── rf-qrcode │ │ ├── rf-qrcode.vue │ │ └── uqrcode.js │ ├── rf-quick-menu │ │ └── rf-quick-menu.vue │ ├── rf-rate │ │ └── rf-rate.vue │ ├── rf-recommend │ │ └── rf-recommend.vue │ ├── rf-search-bar │ │ └── rf-search-bar.vue │ ├── rf-search │ │ └── rf-search.vue │ ├── rf-sign-calendar │ │ └── rf-sign-calendar.vue │ ├── rf-site-open │ │ └── rf-site-open.vue │ ├── rf-sub-popup │ │ └── rf-sub-popup.vue │ ├── rf-swipe-dot │ │ └── rf-swipe-dot.vue │ ├── rf-swiper-slide │ │ └── rf-swiper-slide.vue │ ├── rf-table-regional │ │ └── rf-table-regional.vue │ ├── rf-table │ │ └── rf-table.vue │ ├── rf-tag │ │ └── rf-tag.vue │ ├── rf-timeline-item │ │ └── rf-timeline-item.vue │ ├── rf-timeline │ │ └── rf-timeline.vue │ ├── rf-top-drawer │ │ └── rf-top-drawer.vue │ └── rf-top-dropdown │ │ └── rf-top-dropdown.vue ├── config │ ├── assets.ts │ ├── city.ts │ ├── constData.ts │ ├── formRule.ts │ ├── routes.ts │ └── site.ts ├── enum │ ├── categoryEnum.ts │ ├── couponEnum.ts │ ├── distributeEnum.ts │ ├── loginEnum.ts │ ├── marketingEnum.ts │ ├── orderEnum.ts │ ├── orderProductCode.ts │ ├── paymentEnum.ts │ ├── productEnum.ts │ └── serviceEnum.ts ├── env.d.ts ├── favicon.ico ├── index.html ├── jWeixin.d.ts ├── locales │ ├── index.ts │ └── lang │ │ ├── en │ │ ├── basic.ts │ │ └── profile.ts │ │ └── zh-CN │ │ ├── basic.ts │ │ └── profile.ts ├── main.ts ├── manifest.json ├── node_modules │ ├── moment │ │ └── dist │ │ │ ├── locale │ │ │ ├── af.js │ │ │ ├── ar-dz.js │ │ │ ├── ar-kw.js │ │ │ ├── ar-ly.js │ │ │ ├── ar-ma.js │ │ │ ├── ar-sa.js │ │ │ ├── ar-tn.js │ │ │ ├── ar.js │ │ │ ├── az.js │ │ │ ├── be.js │ │ │ ├── bg.js │ │ │ ├── bm.js │ │ │ ├── bn-bd.js │ │ │ ├── bn.js │ │ │ ├── bo.js │ │ │ ├── br.js │ │ │ ├── bs.js │ │ │ ├── ca.js │ │ │ ├── cs.js │ │ │ ├── cv.js │ │ │ ├── cy.js │ │ │ ├── da.js │ │ │ ├── de-at.js │ │ │ ├── de-ch.js │ │ │ ├── de.js │ │ │ ├── dv.js │ │ │ ├── el.js │ │ │ ├── en-au.js │ │ │ ├── en-ca.js │ │ │ ├── en-gb.js │ │ │ ├── en-ie.js │ │ │ ├── en-il.js │ │ │ ├── en-in.js │ │ │ ├── en-nz.js │ │ │ ├── en-sg.js │ │ │ ├── eo.js │ │ │ ├── es-do.js │ │ │ ├── es-mx.js │ │ │ ├── es-us.js │ │ │ ├── es.js │ │ │ ├── et.js │ │ │ ├── eu.js │ │ │ ├── fa.js │ │ │ ├── fi.js │ │ │ ├── fil.js │ │ │ ├── fo.js │ │ │ ├── fr-ca.js │ │ │ ├── fr-ch.js │ │ │ ├── fr.js │ │ │ ├── fy.js │ │ │ ├── ga.js │ │ │ ├── gd.js │ │ │ ├── gl.js │ │ │ ├── gom-deva.js │ │ │ ├── gom-latn.js │ │ │ ├── gu.js │ │ │ ├── he.js │ │ │ ├── hi.js │ │ │ ├── hr.js │ │ │ ├── hu.js │ │ │ ├── hy-am.js │ │ │ ├── id.js │ │ │ ├── is.js │ │ │ ├── it-ch.js │ │ │ ├── it.js │ │ │ ├── ja.js │ │ │ ├── jv.js │ │ │ ├── ka.js │ │ │ ├── kk.js │ │ │ ├── km.js │ │ │ ├── kn.js │ │ │ ├── ko.js │ │ │ ├── ku.js │ │ │ ├── ky.js │ │ │ ├── lb.js │ │ │ ├── lo.js │ │ │ ├── lt.js │ │ │ ├── lv.js │ │ │ ├── me.js │ │ │ ├── mi.js │ │ │ ├── mk.js │ │ │ ├── ml.js │ │ │ ├── mn.js │ │ │ ├── mr.js │ │ │ ├── ms-my.js │ │ │ ├── ms.js │ │ │ ├── mt.js │ │ │ ├── my.js │ │ │ ├── nb.js │ │ │ ├── ne.js │ │ │ ├── nl-be.js │ │ │ ├── nl.js │ │ │ ├── nn.js │ │ │ ├── oc-lnc.js │ │ │ ├── pa-in.js │ │ │ ├── pl.js │ │ │ ├── pt-br.js │ │ │ ├── pt.js │ │ │ ├── ro.js │ │ │ ├── ru.js │ │ │ ├── sd.js │ │ │ ├── se.js │ │ │ ├── si.js │ │ │ ├── sk.js │ │ │ ├── sl.js │ │ │ ├── sq.js │ │ │ ├── sr-cyrl.js │ │ │ ├── sr.js │ │ │ ├── ss.js │ │ │ ├── sv.js │ │ │ ├── sw.js │ │ │ ├── ta.js │ │ │ ├── te.js │ │ │ ├── tet.js │ │ │ ├── tg.js │ │ │ ├── th.js │ │ │ ├── tk.js │ │ │ ├── tl-ph.js │ │ │ ├── tlh.js │ │ │ ├── tr.js │ │ │ ├── tzl.js │ │ │ ├── tzm-latn.js │ │ │ ├── tzm.js │ │ │ ├── ug-cn.js │ │ │ ├── uk.js │ │ │ ├── ur.js │ │ │ ├── uz-latn.js │ │ │ ├── uz.js │ │ │ ├── vi.js │ │ │ ├── x-pseudo.js │ │ │ ├── yo.js │ │ │ ├── zh-cn.js │ │ │ ├── zh-hk.js │ │ │ ├── zh-mo.js │ │ │ └── zh-tw.js │ │ │ └── moment.js │ ├── mp-html │ │ ├── README.md │ │ ├── changelog.md │ │ ├── components │ │ │ └── mp-html │ │ │ │ ├── mp-html.vue │ │ │ │ ├── node │ │ │ │ └── node.vue │ │ │ │ └── parser.js │ │ ├── package.json │ │ └── static │ │ │ └── app-plus │ │ │ └── mp-html │ │ │ ├── js │ │ │ ├── handler.js │ │ │ └── uni.webview.min.js │ │ │ └── local.html │ └── qs-canvas │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ ├── package.json │ │ └── view.png ├── pages.json ├── pages │ ├── index │ │ └── index.vue │ ├── marketing │ │ └── live.vue │ ├── order │ │ ├── create.vue │ │ ├── detail.vue │ │ ├── evaluation │ │ │ ├── evaluation.vue │ │ │ └── list.vue │ │ ├── friendPay.vue │ │ ├── orderRefund.vue │ │ ├── refund.vue │ │ └── shipping.vue │ ├── product │ │ ├── excellent.vue │ │ ├── list.vue │ │ ├── prodPoster.vue │ │ ├── product.vue │ │ └── search.vue │ ├── public │ │ ├── location.vue │ │ ├── login.vue │ │ ├── loginAuthorized.vue │ │ ├── notice │ │ │ ├── detail.vue │ │ │ └── notice.vue │ │ ├── password.vue │ │ ├── register.vue │ │ └── url.vue │ ├── set │ │ ├── about │ │ │ ├── about.vue │ │ │ └── detail.vue │ │ ├── authorization.vue │ │ ├── feedback │ │ │ ├── detail.vue │ │ │ ├── feedback.vue │ │ │ └── list.vue │ │ ├── helper │ │ │ ├── detail.vue │ │ │ └── helper.vue │ │ ├── invoice │ │ │ ├── invoice.vue │ │ │ ├── list.vue │ │ │ └── manage.vue │ │ ├── security.vue │ │ └── set.vue │ ├── tab │ │ ├── cart │ │ │ └── cart.vue │ │ ├── category │ │ │ └── category.vue │ │ ├── notify │ │ │ └── notify.vue │ │ ├── order │ │ │ └── order.vue │ │ └── profile │ │ │ └── profile.vue │ └── user │ │ ├── account │ │ ├── account.vue │ │ ├── bill.vue │ │ ├── integral.vue │ │ ├── level.vue │ │ └── recharge.vue │ │ ├── address │ │ ├── address.vue │ │ └── manage.vue │ │ ├── collection.vue │ │ ├── coupon │ │ ├── center.vue │ │ ├── coupon.vue │ │ └── detail.vue │ │ ├── footprint.vue │ │ ├── mobile.vue │ │ ├── pay.vue │ │ ├── paySuccess.vue │ │ └── userinfo.vue ├── request.ts ├── response │ ├── account.ts │ ├── activity.ts │ ├── address.ts │ ├── cart.ts │ ├── category.ts │ ├── circle.ts │ ├── config.ts │ ├── coupon.ts │ ├── distribute.ts │ ├── evaluation.ts │ ├── excellent.ts │ ├── feedback.ts │ ├── helper.ts │ ├── index.ts │ ├── invoice.ts │ ├── live.ts │ ├── marketing.ts │ ├── merchant.ts │ ├── notify.ts │ ├── order.ts │ ├── payment.ts │ ├── product.ts │ ├── productCode.ts │ ├── profile.ts │ ├── route.ts │ ├── service.ts │ ├── upload.ts │ └── version.ts ├── static │ ├── css │ │ ├── iconfont.css │ │ ├── theme.scss │ │ └── uni.scss │ ├── image │ │ ├── common │ │ │ ├── alipay.png │ │ │ ├── apple.png │ │ │ ├── byte-dance.png │ │ │ ├── default-img.png │ │ │ ├── errorImage.jpg │ │ │ ├── kj.png │ │ │ ├── logo.png │ │ │ ├── missing-face.png │ │ │ ├── money-bg.png │ │ │ ├── no-net-work.png │ │ │ ├── not-data.png │ │ │ ├── not-found.png │ │ │ ├── open-site-bg.png │ │ │ ├── qq.png │ │ │ ├── recommend-tag.png │ │ │ ├── share-bg.png │ │ │ ├── taobao.png │ │ │ ├── tg.png │ │ │ ├── upgrade-top.png │ │ │ ├── vip-bg.png │ │ │ ├── vip-price.png │ │ │ ├── vip_member_bg.png │ │ │ ├── wechat.png │ │ │ ├── weibo.png │ │ │ └── zk.png │ │ ├── decorate │ │ │ ├── text-tag-0.png │ │ │ ├── text-tag-1.png │ │ │ ├── text-tag-2.png │ │ │ ├── text-tag-3.png │ │ │ ├── text-tag-4.png │ │ │ ├── text-tag-5.png │ │ │ └── text-tag-6.png │ │ ├── distribute │ │ │ ├── distribute-apply.png │ │ │ ├── distribute-bg.png │ │ │ ├── distribute-index-bg.png │ │ │ ├── distribute-rank-bg.png │ │ │ ├── distribute-tag.png │ │ │ ├── first.png │ │ │ ├── second.png │ │ │ └── third.png │ │ ├── marketing │ │ │ ├── bargain-banner.png │ │ │ ├── bargain-bg.png │ │ │ ├── bargain-tag-bg.png │ │ │ ├── default-prize.png │ │ │ ├── discount-tag-bg.png │ │ │ ├── group-buy-tag-bg.png │ │ │ ├── point-tag-bg.png │ │ │ ├── presell-tag-bg.png │ │ │ ├── product-code-input.png │ │ │ ├── product-code-scan.png │ │ │ ├── sec-kill-tag-bg.png │ │ │ ├── vip-btn-bg.png │ │ │ ├── vip-icon.png │ │ │ └── wholesale-tag-bg.png │ │ ├── profile │ │ │ ├── distribute-banner.png │ │ │ ├── invalid-coupon.png │ │ │ ├── to-vip-bg.png │ │ │ ├── used-coupon.png │ │ │ ├── user-bg.png │ │ │ └── vip-card-bg.png │ │ ├── sign │ │ │ ├── sign-in-bg.png │ │ │ ├── sign-in-checked.png │ │ │ ├── sign-in-coupon.png │ │ │ ├── sign-in-growth.png │ │ │ ├── sign-in-more.png │ │ │ ├── sign-in-point.png │ │ │ ├── sign-in-rank-bg.png │ │ │ └── sign-in-success.png │ │ └── tabbar │ │ │ ├── fenlei.png │ │ │ ├── fenlei_select.png │ │ │ ├── gouwuche.png │ │ │ ├── gouwuche_select.png │ │ │ ├── shouye.png │ │ │ ├── shouye_select.png │ │ │ ├── wode.png │ │ │ ├── wode_select.png │ │ │ ├── xiaoxi.png │ │ │ └── xiaoxi_select.png │ └── js │ │ └── jweixin-1.6.0.js ├── store │ ├── index.ts │ └── modules │ │ ├── cart.ts │ │ ├── im.ts │ │ ├── index.ts │ │ ├── locale.ts │ │ ├── notify.ts │ │ ├── theme.ts │ │ └── user.ts ├── uni.scss ├── uni_modules │ ├── uni-icons │ │ ├── changelog.md │ │ ├── components │ │ │ └── uni-icons │ │ │ │ ├── icons.js │ │ │ │ ├── uni-icons.vue │ │ │ │ ├── uniicons.css │ │ │ │ └── uniicons.ttf │ │ ├── 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-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-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-transition │ │ ├── changelog.md │ │ ├── components │ │ └── uni-transition │ │ │ ├── createAnimation.js │ │ │ └── uni-transition.vue │ │ ├── package.json │ │ └── readme.md ├── url.json └── utils │ ├── checker.ts │ ├── dateUtil.ts │ ├── hFunc.ts │ ├── helper.ts │ ├── luch-request │ ├── adapters │ │ └── index.js │ ├── core │ │ ├── InterceptorManager.js │ │ ├── Request.js │ │ ├── buildFullPath.js │ │ ├── defaults.js │ │ ├── dispatchRequest.js │ │ ├── mergeConfig.js │ │ └── settle.js │ ├── helpers │ │ ├── buildURL.js │ │ ├── combineURLs.js │ │ └── isAbsoluteURL.js │ ├── index.d.ts │ ├── index.js │ ├── service.ts │ ├── utils.js │ └── utils │ │ └── clone.js │ ├── payment.ts │ ├── poster │ ├── QRCodeAlg.js │ ├── QS-SharePoster.js │ ├── app.js │ ├── image-tools.js │ └── index.js │ ├── posterUtil.ts │ ├── routerUtil.ts │ └── wxMpSub │ └── subscribeMessage.ts ├── tsconfig.json ├── vite.config.ts └── yarn.lock /.eslintignore: -------------------------------------------------------------------------------- 1 | *.sh 2 | node_modules 3 | uni_modules 4 | *.md 5 | *.woff 6 | *.ttf 7 | .vscode 8 | .idea 9 | dist 10 | /public 11 | /docs 12 | .husky 13 | .local 14 | /bin 15 | .eslintrc.js 16 | prettier.config.js 17 | /src/mock/* 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules/ 3 | unpackage/ 4 | src/unpackage/ 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | 15 | # Editor directories and files 16 | .project 17 | .idea 18 | .hbuilderx 19 | .vscode 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw* 25 | /dist/ 26 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | printWidth: 120, 3 | tabWidth: 2, 4 | tabs: false, 5 | quoteProps: 'as-needed', 6 | tailingComma: 'all', 7 | bracketSpacing: true, 8 | jsxBracketSameLine: false, 9 | arrowParens: 'always', 10 | // 行位不需要分号 11 | semi: true, 12 | // 使用单引号 13 | singleQuote: true, 14 | //末尾逗号 15 | trailingComma: 'none', 16 | // 让函数(名)和后面的括号之间加个空格 17 | 'javascript.format.insertSpaceBeforeFunctionParenthesis': true, 18 | // 让vue中的js按编辑器自带的ts格式进行格式化 19 | 'vetur.format.defaultFormatter.js': 'vscode-typescript', 20 | // 让prettier使用eslint的代码格式进行校验 21 | eslintIntegration: true, 22 | // 指定 HTML 文件的全局空白区域敏感度, "ignore" - 空格被认为是不敏感的 23 | htmlWhitespaceSensitivity: 'ignore', 24 | endOfLine: 'auto', 25 | }; 26 | -------------------------------------------------------------------------------- /LICENSE-SUPPLEMENTAL.md: -------------------------------------------------------------------------------- 1 | RF商城 的 V3 版本遵循 Apache2 协议,在国内鱼龙混杂的互联网环境下 为了更好的保护 RF商城 的发展,进行了如下的附加协议: 2 | 3 | 1. 如果你用于自己的公司业务(自己做商城卖货),是免费授权的。 4 | 5 | 2. 如果你是建站公司,帮别人做商城,有义务告知甲方,该商城是基于 RF商城 进行二次开发的商城。 6 | 7 | 3. 如果你是建站公司,将 RF商城 进行二次开发,然后包装成新产品(注意,这里的产品指的是软件产品),然后对完宣传你的新产品 xxShop,然后说一堆混淆是非的自主研发等, 进行产品出售,这是不允许的,需要命名为 RF商城 xxShop,并在你的软件产品官网明显处写明基于 RF商城 二次开发的软件产品系统并提供跳转 RF商城 的 GitHub 链接。 8 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/favicon.ico -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | const { 2 | uniPostcssPlugin 3 | } = require("@dcloudio/uni-cli-shared"); 4 | module.exports = { 5 | plugins: [ 6 | uniPostcssPlugin(), 7 | require("autoprefixer")() 8 | ] 9 | }; 10 | 11 | -------------------------------------------------------------------------------- /src/androidPrivacy.json: -------------------------------------------------------------------------------- 1 | { 2 | "prompt" : "template" 3 | } 4 | -------------------------------------------------------------------------------- /src/api/tinyShop/index.ts: -------------------------------------------------------------------------------- 1 | import { http } from "@/utils/luch-request/service"; 2 | 3 | enum Api { 4 | // 首页列表 5 | indexData = "/tiny-shop/v1/index/index", 6 | // 自定义首页列表 7 | customIndexData = "/tiny-shop/v1/index/custom", 8 | // 积分商城 9 | integralIndex = "/tiny-shop/v1/index/integral", 10 | // 经纬度转地址 11 | locationToAddress = "/tiny-shop/v1/index/location-to-address", 12 | // 地址转经纬度 13 | addressToLocation = "/tiny-shop/v1/index/address-to-location", 14 | } 15 | 16 | /** 17 | * @description: index api 18 | */ 19 | const indexApi = { 20 | // 经纬度转地址 21 | handleLocationToAddress(params = {}) { 22 | return http.get(Api.locationToAddress, { params }); 23 | }, 24 | // 地址转经纬度 25 | handleAddressToLocation(params = {}) { 26 | return http.get(Api.addressToLocation, { params }); 27 | }, 28 | // 自定义首页列表 29 | getIndexData(params = {}) { 30 | return http.get(Api.indexData, { params }); 31 | }, 32 | // 积分商城 33 | getIntegralIndex(params = {}) { 34 | return http.get(Api.integralIndex, { params }); 35 | }, 36 | getCustomIndexData(params = {}) { 37 | return http.get(Api.customIndexData, { params }); 38 | }, 39 | }; 40 | export default indexApi; 41 | -------------------------------------------------------------------------------- /src/api/tinyShop/merchant.ts: -------------------------------------------------------------------------------- 1 | import { http } from "@/utils/luch-request/service"; 2 | 3 | enum Api { 4 | // 商户主页 5 | merchantCenter = "/tiny-shop/v1/merchant/index/index", 6 | // 商户详情 7 | merchantDetail = "/tiny-shop/v1/merchant/merchant/view", 8 | // 商户列表 9 | merchantIndex = "/tiny-shop/v1/merchant/merchant/index", 10 | 11 | // 核销列表 12 | productCodeVerifyList = "/tiny-shop/v1/merchant/product-code-verify/index", 13 | // 核销信息 14 | productCodeVerifyCheck = "/tiny-shop/v1/merchant/product-code-verify/check", 15 | // 核销 16 | productCodeVerifyVerify = "/tiny-shop/v1/merchant/product-code-verify/verify", 17 | } 18 | 19 | /** 20 | * @description: merchant api 21 | */ 22 | const merchantApi = { 23 | // 商户主页 24 | getMerchantIndex(params = {}) { 25 | return http.get(Api.merchantIndex, { params }); 26 | }, 27 | // 商户详情 28 | getMerchantDetail(params = {}) { 29 | return http.get(Api.merchantDetail, { params }); 30 | }, 31 | // 商户列表 32 | getMerchantCenter(params = {}) { 33 | return http.get(Api.merchantCenter, { params }); 34 | }, 35 | // 核销信息 36 | handleProductCodeVerifyCheck(params = {}) { 37 | return http.post(Api.productCodeVerifyCheck, params); 38 | }, 39 | // 核销列表 40 | getProductCodeVerifyList(params = {}) { 41 | return http.get(Api.productCodeVerifyList, { params }); 42 | }, 43 | // 核销 44 | handleProductCodeVerifyVerify(params = {}) { 45 | return http.post(Api.productCodeVerifyVerify, params); 46 | }, 47 | }; 48 | export default merchantApi; 49 | -------------------------------------------------------------------------------- /src/api/tinyShop/order.ts: -------------------------------------------------------------------------------- 1 | import { http } from "@/utils/luch-request/service"; 2 | 3 | enum Api { 4 | // 订单创建 5 | orderCreate = "/tiny-shop/v1/order/order/create", 6 | // 多商户订单创建 7 | orderItemsCreate = "/tiny-shop/v1/order/order/items-create", 8 | // 订单预览 9 | orderPreview = "/tiny-shop/v1/order/order/preview", 10 | // 营销计算 11 | orderMarketing = "/tiny-shop/v1/order/order/marketing", 12 | 13 | orderItemsPreview = "/tiny-shop/v1/order/order/items-preview", 14 | 15 | // 选择快递运费计算 16 | orderFreightFee = "/tiny-shop/v1/order/order/freight-fee", 17 | 18 | // 订单支付 19 | orderPay = "/tiny-shop/v1/common/pay/create", 20 | 21 | // 批量支付详情 22 | orderPayMapDetail = "/tiny-shop/v1/order/order/pay-info", 23 | } 24 | 25 | /** 26 | * @description: user login api 27 | */ 28 | const orderApi = { 29 | getOrderItemsPreview(params = {}) { 30 | return http.get(Api.orderItemsPreview, { params }); 31 | }, 32 | getOrderMarketingFee(params = {}) { 33 | return http.get(Api.orderMarketing, { params }); 34 | }, 35 | getOrderPayMapDetail(params = {}) { 36 | return http.get(Api.orderPayMapDetail, { params }); 37 | }, 38 | getOrderFreightFee(params = {}) { 39 | return http.get(Api.orderFreightFee, { params }); 40 | }, 41 | handleOrderItemsCreate(params = {}) { 42 | return http.post(Api.orderItemsCreate, params); 43 | }, 44 | handleOrderPay(params = {}) { 45 | return http.post(Api.orderPay, params); 46 | }, 47 | }; 48 | export default orderApi; 49 | -------------------------------------------------------------------------------- /src/api/tinyShop/product.ts: -------------------------------------------------------------------------------- 1 | import { 2 | http 3 | } from "@/utils/luch-request/service"; 4 | 5 | enum Api { 6 | // 产品分类列表 7 | productCate = "/tiny-shop/v1/product/cate/index", 8 | // 首页推荐分类 9 | productCateList = "/tiny-shop/v1/product/cate/list", 10 | // 产品列表 11 | productList = "/tiny-shop/v1/product/product/index", 12 | // 产品详情 13 | productDetail = "/tiny-shop/v1/product/product/view", 14 | // 产品基础详情 15 | productBaseDetail = "/tiny-shop/v1/product/product/view-by-base", 16 | // 猜您喜欢 17 | guessYouLikeList = "/tiny-shop/v1/product/product/guess-you-like", 18 | 19 | // 品牌列表 20 | brandIndex = "/tiny-shop/v1/product/brand/index", 21 | 22 | // 商品评价列表 23 | evaluateList = "/tiny-shop/v1/product/evaluate/index", 24 | // 精选列表 25 | productExcellentList = "/tiny-shop/v1/product/product/excellent", 26 | 27 | } 28 | 29 | /** 30 | * @description: product api 31 | */ 32 | const productApi = { 33 | getGuessYouLikeList(params = {}) { 34 | return http.get(Api.guessYouLikeList, {params}); 35 | }, 36 | getProductDetail(params = {}) { 37 | return http.get(Api.productDetail, {params}); 38 | }, 39 | getProductBaseDetail(params = {}) { 40 | return http.get(Api.productBaseDetail, {params}); 41 | }, 42 | getProductList(params = {}) { 43 | return http.get(Api.productList, {params}); 44 | }, 45 | getProductCate(params = {}) { 46 | return http.get(Api.productCate, {params}); 47 | }, 48 | getEvaluateList(params = {}) { 49 | return http.get(Api.evaluateList, {params}); 50 | }, 51 | getBrandIndex(params = {}) { 52 | return http.get(Api.brandIndex, {params}); 53 | }, 54 | getProductExcellentList(params = {}) { 55 | return http.get(Api.productExcellentList, {params}); 56 | } 57 | }; 58 | export default productApi; 59 | -------------------------------------------------------------------------------- /src/api/tinyShop/site.ts: -------------------------------------------------------------------------------- 1 | import { 2 | http 3 | } from "@/utils/luch-request/service"; 4 | 5 | enum Api { 6 | // 密码注册 7 | registerByPass = "/tiny-shop/v1/site/register", 8 | 9 | // 密码登录 10 | loginByPass = "/tiny-shop/v1/site/login", 11 | 12 | // 密码重置 13 | updatePassword = "/tiny-shop/v1/site/up-pwd", 14 | 15 | // 手机号登录 16 | loginBySmsCode = "/tiny-shop/v1/site/mobile-login", 17 | 18 | // 获取手机验证码 19 | smsCode = "/tiny-shop/v1/site/sms-code", 20 | 21 | // 退出登录 22 | logout = "/tiny-shop/v1/site/logout", 23 | 24 | // 刷新token 25 | refreshToken = "/tiny-shop/v1/site/refresh", 26 | 27 | // 登录令牌有效性检测 28 | verifyAccessToken = "/tiny-shop/v1/site/verify-access-token", 29 | } 30 | 31 | /** 32 | * @description: site api 33 | */ 34 | const siteApi = { 35 | refreshToken: Api.refreshToken, 36 | // 用户登录 37 | login(params = {}, isLoginByPass: boolean) { 38 | return http.post(isLoginByPass ? Api.loginByPass : Api.loginBySmsCode, params); 39 | }, 40 | //更新用户信息 41 | register(params = {}) { 42 | return http.post(Api.registerByPass, params); 43 | }, 44 | //更新用户信息 45 | handleVerifyAccessToken(params = {}) { 46 | return http.post(Api.verifyAccessToken, params); 47 | }, 48 | //更新用户信息 49 | handleUpdatePassword(params = {}) { 50 | return http.post(Api.updatePassword, params); 51 | }, 52 | //更新用户信息 53 | logout(params = {}) { 54 | return http.post(Api.logout, params); 55 | }, 56 | // 获取手机验证码 57 | getSmsCode(params = {}) { 58 | return http.post(Api.smsCode, params); 59 | } 60 | }; 61 | 62 | 63 | export default siteApi; 64 | 65 | -------------------------------------------------------------------------------- /src/api/tinyShop/thirdParty.ts: -------------------------------------------------------------------------------- 1 | import { 2 | http 3 | } from "@/utils/luch-request/service"; 4 | 5 | enum Api { 6 | 7 | // 充值配置 8 | wechatConfig = "/tiny-shop/v1/third-party/wechat-mp-js-sdk", 9 | 10 | // 微信授权登录 11 | wechatH5Login = "/tiny-shop/v1/third-party/wechat-mp", 12 | // 微信小程序获取手机号码 13 | mpWechatLoginMobile = "/tiny-shop/v1/third-party/wechat-mini-mobile", 14 | 15 | // 微信小程序授权登录 16 | mpWechatLogin = "/tiny-shop/v1/third-party/wechat-mini", 17 | 18 | // 抖音小程序授权登录 19 | mpBytedanceLogin = "/tiny-shop/v1/third-party/byte-dance-mini", 20 | 21 | // App微信授权登录 22 | thirdPartyWechat = "/tiny-shop/v1/third-party/wechat", 23 | 24 | // Ios苹果扥估 25 | thirdPartyApple = "/tiny-shop/v1/third-party/apple", 26 | 27 | // 第三方二维码 28 | thirdPartyWechatMiniQrCode = "/tiny-shop/v1/third-party/wechat-mini-qr-code", 29 | 30 | } 31 | 32 | /** 33 | * @description: user login api 34 | */ 35 | const thirdPartyApi = { 36 | //更新用户信息 37 | handleWechatConfig(params = {}) { 38 | return http.post(Api.wechatConfig, params); 39 | }, 40 | //更新用户信息 41 | handleThirdPartyWechatOpenPlatform(params = {}, str = "") { 42 | return http.post(Api.thirdPartyWechat + str, params); 43 | }, 44 | //更新用户信息 45 | handleThirdPartyApple(params = {}) { 46 | return http.post(Api.thirdPartyApple, params); 47 | }, 48 | //更新用户信息 49 | handleMpWechatLoginMobile(params = {}) { 50 | return http.post(Api.mpWechatLoginMobile, params); 51 | }, 52 | //小程序授权登录 53 | handleMpWechatLogin(params={}){ 54 | return http.post(Api.mpWechatLogin, params) 55 | }, 56 | getThirdPartyQrCode(params = {}) { 57 | return http.get(Api.thirdPartyWechatMiniQrCode, {params}); 58 | }, 59 | getWechatH5Login(params = {}) { 60 | return http.get(Api.wechatH5Login, {params}); 61 | } 62 | }; 63 | export default thirdPartyApi; 64 | -------------------------------------------------------------------------------- /src/api/wehchatMini/wechat.ts: -------------------------------------------------------------------------------- 1 | import { http } from "@/utils/luch-request/service"; 2 | 3 | enum Api { 4 | // 直播列表 5 | wechatMiniLiveList = "/wechat-mini/v1/live/live/index", 6 | } 7 | 8 | /** 9 | * @description: user login api 10 | */ 11 | const wechatMiniApi = { 12 | getWechatMiniLiveList(params = {}) { 13 | return http.get(Api.wechatMiniLiveList, { params }); 14 | }, 15 | }; 16 | export default wechatMiniApi; 17 | -------------------------------------------------------------------------------- /src/components/rf-ad/rf-ad.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 14 | 49 | 72 | -------------------------------------------------------------------------------- /src/components/rf-back-top/rf-back-top.vue: -------------------------------------------------------------------------------- 1 | 11 | 14 | 48 | 77 | -------------------------------------------------------------------------------- /src/components/rf-base-popup/rf-base-popup.vue: -------------------------------------------------------------------------------- 1 | 13 | 21 | 77 | -------------------------------------------------------------------------------- /src/components/rf-base-product-item/rf-base-product-item.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 49 | 62 | -------------------------------------------------------------------------------- /src/components/rf-collapse/rf-collapse.vue: -------------------------------------------------------------------------------- 1 | 6 | 40 | 54 | -------------------------------------------------------------------------------- /src/components/rf-empty/rf-empty.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 27 | 73 | 74 | 93 | -------------------------------------------------------------------------------- /src/components/rf-list-cell/rf-list-cell.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 52 | 53 | 94 | -------------------------------------------------------------------------------- /src/components/rf-load-more/rf-load-more.vue: -------------------------------------------------------------------------------- 1 | 13 | 16 | 42 | 43 | 57 | -------------------------------------------------------------------------------- /src/components/rf-loading/loaders/bounce.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | 26 | 79 | -------------------------------------------------------------------------------- /src/components/rf-loading/loaders/double-bounce.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | 26 | 73 | -------------------------------------------------------------------------------- /src/components/rf-loading/loaders/double-dot.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 25 | 26 | 91 | -------------------------------------------------------------------------------- /src/components/rf-loading/loaders/rotate-plane.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 23 | 24 | 59 | -------------------------------------------------------------------------------- /src/components/rf-loading/loaders/scale-out.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 23 | 24 | 55 | -------------------------------------------------------------------------------- /src/components/rf-loading/loaders/shrink-rect.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 28 | 29 | 89 | -------------------------------------------------------------------------------- /src/components/rf-parser/rf-parser.vue: -------------------------------------------------------------------------------- 1 | 6 | 25 | -------------------------------------------------------------------------------- /src/components/rf-rate/rf-rate.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 93 | 94 | 101 | -------------------------------------------------------------------------------- /src/components/rf-sub-popup/rf-sub-popup.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 41 | 42 | 73 | -------------------------------------------------------------------------------- /src/components/rf-swiper-slide/rf-swiper-slide.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 51 | 52 | 83 | -------------------------------------------------------------------------------- /src/components/rf-timeline/rf-timeline.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 13 | 14 | 18 | -------------------------------------------------------------------------------- /src/config/site.ts: -------------------------------------------------------------------------------- 1 | /** 2 | *@des 站点配置参数 3 | */ 4 | const mSiteConfig = { 5 | baseURL: 'https://v3.b2c.rageframe.com/api', // 后台接口请求地址 6 | hostURL: 'https://h5.v3.b2c.rageframe.com', // H5地址(前端运行地址) 7 | assetsPath: '/static/image', // 静态图片目录 8 | locale: 'zh-CN', // 国际化语言 9 | themeColor: 'pink', // 默认主题色 10 | wxAppId: '', // 公众号appid 11 | mpLiveAppId: '', // 微信小程序直播appid 12 | devPattern: 'b2c', 13 | }; 14 | export default mSiteConfig; 15 | -------------------------------------------------------------------------------- /src/enum/categoryEnum.ts: -------------------------------------------------------------------------------- 1 | // 平台判断 2 | export enum CateStyleEnum { 3 | ONE_COVER = "one_cover", 4 | ONE_TWO_TEXT = "one_two_text", 5 | ONE_TWO_COVER = "one_two_cover", 6 | ONE_TWO_THREE_TEXT = "one_two_three_text", 7 | ONE_TWO_THREE_COVER = "one_two_three_cover", 8 | ONE_PRODUCT = "one_product", 9 | ONE_TWO_PRODUCT = "one_two_product", 10 | } 11 | -------------------------------------------------------------------------------- /src/enum/couponEnum.ts: -------------------------------------------------------------------------------- 1 | // 优惠券使用类型 2 | export enum CouponStatusEnum { 3 | // 全部商品可使用 4 | ALL = "1", 5 | // 部分商品可使用 6 | ASSIGN_PRODUCT = "2", 7 | // 部分商品不能使用 8 | NOT_ASSIGN_PRODUCT = "3", 9 | // 部分分类可使用 10 | ASSIGN_CATE = "11", 11 | // 部分分类不能使用 12 | NOT_ASSIGN_CATE = "12", 13 | } 14 | -------------------------------------------------------------------------------- /src/enum/distributeEnum.ts: -------------------------------------------------------------------------------- 1 | // 提现 2 | export enum WithdrawEnum { 3 | UNION_PAY = 10, // 银联卡 4 | WECHAT = 20, // 微信 5 | WECHAT_MP = 21, // 微信小程序 6 | ALIPAY = 30, // 支付宝 7 | BALANCE = 1, // 余额 8 | } 9 | 10 | export enum WithdrawCashEnum { 11 | APPLY = 0, // 审核中 12 | APPLY_AGREE = 1, // 待转账 13 | TRANSFER_IN_PROGRESS = 2, // 转账中 14 | TRANSFER_SUCCESS = 3, // 转账成功 15 | APPLY_REFUSE = -1, // 审核拒绝 16 | TRANSFER_ERROR = -2, // 转账失败 17 | } 18 | -------------------------------------------------------------------------------- /src/enum/loginEnum.ts: -------------------------------------------------------------------------------- 1 | // 平台判断 2 | export enum PlatformGroupEnum { 3 | // H5 4 | TINYSHOP = "tinyShop", 5 | // 微信H5 6 | TINYSHOPWECHATMP = "tinyShopWechatMp", 7 | // 非微信H5 8 | TINYSHOPH5 = "tinyShopH5", 9 | // QQ小程序 10 | TINYSHOPQQMINI = "tinyShopQqMini", 11 | // 微信小程序 12 | TINYSHOPWECHATMINI = "tinyShopWechatMini", 13 | // 支付宝小程序 14 | TINYSHOPALIMINI = "tinyShopAliMini", 15 | // 百度小程序 16 | TINYSHOPBAIDUMINI = "tinyShopBaiduMini", 17 | // 字节跳动小程序 18 | TINYSHOPBYTEDANCEMINI = "tinyShopByteDanceMini", 19 | // App 20 | TINYSHOPAPP = "tinyShopApp", 21 | // Android App 22 | TINYSHOPANDROID = "tinyShopAndroid", 23 | // Ios App 24 | TINYSHOPIOS = "tinyShopIos", 25 | } 26 | 27 | // 验证码用途 28 | export enum SmsUsageEnum { 29 | // 登陆 30 | LOGIN = "login", 31 | // 注册 32 | REGISTER = "register", 33 | // 修改密码 34 | UPPWD = "up-pwd", 35 | } 36 | -------------------------------------------------------------------------------- /src/enum/marketingEnum.ts: -------------------------------------------------------------------------------- 1 | // 营销类型 2 | export enum MarketingTypeEnum { 3 | WHOLESALE = "wholesale", // 拼团 4 | SEC_KILL = "sec_kill", // 秒杀 5 | GROUP_BUY = "group_buy", // 团购 6 | SECOND_HALF_DISCOUNT = "second_half_discount", // 第 “2” 件半价 7 | BALE = "bale", // 打包一口价 8 | BARGAIN = "bargain", // 砍价 9 | PRE_SELL = "pre_sell", // 预售 10 | PLUS_BUY = "plus_buy", // 超值换购 11 | BUY_NOW = "buy_now", // 立即购买 12 | PRODUCT = "product", // 立即购买 13 | DISCOUNT = "discount", // 限时折扣 14 | COMBINATION = "combination", // 组合套餐 15 | FULL_GIVE = "full_give", // 满减送 16 | MEMBER_DISCOUNT = "member_discount", // 会员折扣 17 | POINT_EXCHANGE = "point_exchange", // 积分兑换 18 | } 19 | -------------------------------------------------------------------------------- /src/enum/orderEnum.ts: -------------------------------------------------------------------------------- 1 | // 订单状态 2 | export enum OrderStatusEnum { 3 | PENDING_PAYMENT = "0", // 待付款 4 | DELIVERED = "10", // 待发货 5 | SENT = "20", // 已发货 6 | RECEIVED = "30", // 已收货 7 | COMPLETED = "40", // 已完成 8 | RETURN_APPLY = "-10", // 退货申请 9 | REFUNDING = "-20", // 退款中 10 | REFUND_COMPLETE = "-30", // 退款完成 11 | CLOSE = "-40", // 已关闭 12 | APPLICATION_CANCELED = "-50", // 撤销申请 13 | FORMED = "11", // 待成团 14 | IN_STOCK = "12", // 备货中 15 | BALANCE_TO_BE_PAID = "13", // 待付尾款 16 | TAKE_ORDER = "21", // 等待骑手接单 17 | PENDING_DELIVERY = "22", // 待配送(骑手已接单) 18 | } 19 | 20 | // 配送方式 21 | export enum OrderShippingType { 22 | LOGISTICS = 1, // 物流配送 23 | LOCAL_DISTRIBUTION = 2, // 同城配送 24 | PICK_UP = 100, // 买家自提 25 | TO_STORE = 101, // 买家到店 26 | VIRTUAL = 201, // 无需物流 (虚拟商品) 27 | } 28 | 29 | // 订单状态 30 | export enum OrderRefundStatusEnum { 31 | UN_APPLY = "0", // 未申请 32 | APPLY = "10", // 买家退款申请 33 | SALES_RETURN = "20", // 等待买家退货 34 | AFFIRM_SALES_RETURN = "30", // 等待卖家确认收货 35 | AFFIRM_RETURN_MONEY = "40", // 等待卖家确认退款 36 | AFFIRM_SHIPMENTS = "41", // 等待商家发货(换货) 37 | SHIPMENTS = "42", // 等待买家收货(换货) 38 | MEMBER_AFFIRM = "43", // 换货完成(换货) 39 | CONSENT = "50", // 换货完成 40 | NO_PASS_ALWAYS = "-10", // 退款已拒绝(不可再次申请退款退货流程) 41 | CANCEL = "-20", // 退款已关闭 42 | NO_PASS = "-30", // 退款申请不通过(可再次申请退款退货流程) 43 | } 44 | 45 | // 售后状态 46 | export enum OrderRefundType { 47 | MONEY = "1", // 仅退款 48 | MONEY_AND_PRODUCT = "2", // 退款且退货 49 | EXCHANGE_PRODUCT = "3", // 换货 50 | } 51 | -------------------------------------------------------------------------------- /src/enum/orderProductCode.ts: -------------------------------------------------------------------------------- 1 | // 平台判断 2 | export enum OrderProductCodeEnum { 3 | GET = "1", // 待使用 4 | USE = "2", // 已使用 5 | PAST_DUE = "3", // 已过期 6 | } 7 | -------------------------------------------------------------------------------- /src/enum/paymentEnum.ts: -------------------------------------------------------------------------------- 1 | // 订单组别说明 2 | export enum OrderGroupEnum { 3 | // 充值 4 | RECHARGE = "recharge", 5 | // 订单支付 6 | ORDER = "order", 7 | // 订单批量支付 8 | ORDERBATCH = "orderBatch", 9 | // 订单混合批量支付 10 | ORDERUNITEBATCH = "orderUniteBatch", 11 | // 订单尾款 12 | ORDERFINAL = "orderFinal", 13 | // 订单尾款混合支付 14 | ORDERUNITEFINAL = "orderUniteFinal", 15 | // 好友代付 16 | ORDERPEER = "orderPeer", 17 | // 会员卡支付 18 | MEMBERCARD = "memberCard", 19 | } 20 | 21 | // 订单组别说明 22 | export enum PayTypeEnum { 23 | // 微信 24 | WECHAT = "100", 25 | // 支付宝 26 | ALIPAY = "101", 27 | // 银联 28 | UNIONPAY = "102", 29 | // 字节跳动 30 | BYTEDANCE = "103", 31 | // 余额 32 | BALANCE = "1", 33 | } 34 | -------------------------------------------------------------------------------- /src/enum/productEnum.ts: -------------------------------------------------------------------------------- 1 | // 商品组别 2 | export enum ProductTypeEnum { 3 | // 实物商品 4 | ENTITY = "0", 5 | // 虚拟商品 6 | VIRTUAL = "201", 7 | // 电子卡卷 8 | CARD_VOLUME = "202", 9 | } 10 | 11 | // 卡卷有效期 12 | export enum TermOfValidityTypeEnum { 13 | // 固定时间 14 | FIXATION = "0", 15 | // 领到券当日开始 N 天内有效 16 | GET = "1", 17 | } 18 | -------------------------------------------------------------------------------- /src/enum/serviceEnum.ts: -------------------------------------------------------------------------------- 1 | // 客服发送消息类型 2 | export enum ServiceSendTypeEnum { 3 | TEXT = "text", // 文字 4 | VOICE = "voice", // 语音 5 | VIDEO = "video", // 视频 6 | IMAGE = "image", // 图片 7 | LONGITUDE_AND_LATITUDE = "longitudeAndLatitude", // 经纬度 8 | PRODUCT = "product", // product 9 | ORDER = "order", // order 10 | COUPON_TYPE = "couponType", // couponType 11 | } 12 | -------------------------------------------------------------------------------- /src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | declare module "*.vue" { 3 | import {DefineComponent} from "vue"; 4 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 5 | const component: DefineComponent<{}, {}, any>; 6 | export default component; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/favicon.ico -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/locales/index.ts: -------------------------------------------------------------------------------- 1 | import { createI18n } from "vue-i18n"; 2 | import siteConfig from "@/config/site"; 3 | 4 | export function loadLanguages() { 5 | const context = import.meta.globEager("./lang/*/*.ts"); 6 | const languages: AnyObject = {}; 7 | const langs = Object.keys(context); 8 | for (const key of langs) { 9 | if (key === "./index.ts") return; 10 | const lang = context[key].lang; 11 | const name = key.split("/")[2]; 12 | languages[name] = { ...languages[name], ...lang }; 13 | } 14 | 15 | return languages; 16 | } 17 | const currentLocale = uni.getStorageSync("locale") || siteConfig.locale; 18 | export const i18n = createI18n({ 19 | // globalInjection: true, 20 | // legacy: false, 21 | locale: currentLocale, 22 | fallbackLocale: currentLocale, 23 | messages: loadLanguages(), 24 | }); 25 | 26 | export const i18nt = i18n.global.t; 27 | 28 | export function setLanguage(locale: string) { 29 | i18n.global.locale = locale; 30 | } 31 | -------------------------------------------------------------------------------- /src/locales/lang/en/profile.ts: -------------------------------------------------------------------------------- 1 | export const lang = { 2 | 'profile': { 3 | 'language': ' ئۇيغۇرچە', 4 | 'setting': 'تەڭشەك', 5 | 'live': 'بىۋاستە كۆرسىتىش', 6 | 'share': 'بەھىرلەڭ', 7 | 'notice': 'ئېلان', 8 | 'couponCenter': 'بىلەت ئېلش', 9 | 'addressManage': 'ئادىرىس باشقۇرۇش', 10 | 'virtual': ' كود', 11 | 'myWholesale': 'كوللىكتىپ', 12 | 'myBargain': 'تالىشىم باھايىم', 13 | 'myCollection': 'ساقلىۋالغانلىرىم', 14 | 'distribute': 'كىڭەيتىش ئورنى', 15 | 'myService': 'مۇلازىمىتىم', 16 | 'myAccount': 'ھىساۋاتىم', 17 | 'balance': 'پۇلۇم', 18 | 'coupon': 'ئېتىبار بېلىتى', 19 | 'integral': 'يۇغلانما نۇمۇر', 20 | 'allOrder': 'ئومومى زاكاس', 21 | 'pendingPay': 'ساقلاۋاتقىنى', 22 | 'delivered': 'يوللىنىۋاتىدۇ', 23 | 'received': 'ساقلاۋاتقىنى', 24 | 'comment': 'باھا قويۇلىۋاتىدۇ', 25 | 'afterSale': 'سىتىشتىن كىيىنكى', 26 | 'promotionCenter': 'كىڭەيتىش ئورنى', 27 | 'cumulativeCommission': 'ئومومى پايدا', 28 | 'currentCommission': 'ھازىرقى پايدا', 29 | 'withdrawnCommission': 'ئىلىنغان پايدا', 30 | 'myFootprint': 'كۆرگەنلىرىم', 31 | 'seeAfterLogin': 'كىرگەندىن كىين كۆرەلەيسىز', 32 | 'login&Register':'تىزىملىتىش / كىرىش', 33 | 'stroll': 'ئايىلىنىپ باقامىسز' 34 | } 35 | }; 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/locales/lang/zh-CN/profile.ts: -------------------------------------------------------------------------------- 1 | export const lang = { 2 | profile: { 3 | language: '切换语言', 4 | 'setting': '设置', 5 | 'live': '直播', 6 | 'share': '分享', 7 | 'notice': '商城公告', 8 | 'couponCenter': '领券中心', 9 | 'addressManage': '地址管理', 10 | 'virtual': '核销码', 11 | 'myWholesale': '我的拼团', 12 | 'myBargain': '我的砍价', 13 | 'myCollection': '我的收藏', 14 | 'distribute': '推广中心', 15 | 'myService': '我的服务', 16 | 'myAccount': '我的账户', 17 | 'balance': '余额', 18 | 'coupon': '优惠券', 19 | 'integral': '积分', 20 | 'allOrder': '全部订单', 21 | 'pendingPay': '待付款', 22 | 'delivered': '待发货', 23 | 'received': '待收货', 24 | 'comment': '待评价', 25 | 'afterSale': '售后', 26 | 'promotionCenter': '推广中心', 27 | 'cumulativeCommission': '累计佣金', 28 | 'currentCommission': '当前佣金', 29 | 'withdrawnCommission': '已提现佣金', 30 | 'myFootprint': '我的足迹', 31 | 'seeAfterLogin': '登陆后查看', 32 | 'login&Register': '登录/注册', 33 | 'stroll': '先去逛逛吧' 34 | } 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createSSRApp } from "vue"; 2 | import App from "./App.vue"; 3 | import store from "./store"; 4 | import { i18n } from "@/locales"; 5 | 6 | export function createApp() { 7 | const app = createSSRApp(App).use(i18n).use(store); 8 | return { app }; 9 | } 10 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/ar-kw.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Kuwait) [ar-kw] 3 | //! author : Nusret Parlak: https://github.com/nusretparlak 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('ar-kw', { 8 | months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( 9 | '_' 10 | ), 11 | monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( 12 | '_' 13 | ), 14 | weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 15 | weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), 16 | weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), 17 | weekdaysParseExact: true, 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD/MM/YYYY', 22 | LL: 'D MMMM YYYY', 23 | LLL: 'D MMMM YYYY HH:mm', 24 | LLLL: 'dddd D MMMM YYYY HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: '[اليوم على الساعة] LT', 28 | nextDay: '[غدا على الساعة] LT', 29 | nextWeek: 'dddd [على الساعة] LT', 30 | lastDay: '[أمس على الساعة] LT', 31 | lastWeek: 'dddd [على الساعة] LT', 32 | sameElse: 'L', 33 | }, 34 | relativeTime: { 35 | future: 'في %s', 36 | past: 'منذ %s', 37 | s: 'ثوان', 38 | ss: '%d ثانية', 39 | m: 'دقيقة', 40 | mm: '%d دقائق', 41 | h: 'ساعة', 42 | hh: '%d ساعات', 43 | d: 'يوم', 44 | dd: '%d أيام', 45 | M: 'شهر', 46 | MM: '%d أشهر', 47 | y: 'سنة', 48 | yy: '%d سنوات', 49 | }, 50 | week: { 51 | dow: 0, // Sunday is the first day of the week. 52 | doy: 12, // The week that contains Jan 12th is the first week of the year. 53 | }, 54 | }); 55 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/ar-ma.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Morocco) [ar-ma] 3 | //! author : ElFadili Yassine : https://github.com/ElFadiliY 4 | //! author : Abdel Said : https://github.com/abdelsaid 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('ar-ma', { 9 | months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( 10 | '_' 11 | ), 12 | monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( 13 | '_' 14 | ), 15 | weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 16 | weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), 17 | weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), 18 | weekdaysParseExact: true, 19 | longDateFormat: { 20 | LT: 'HH:mm', 21 | LTS: 'HH:mm:ss', 22 | L: 'DD/MM/YYYY', 23 | LL: 'D MMMM YYYY', 24 | LLL: 'D MMMM YYYY HH:mm', 25 | LLLL: 'dddd D MMMM YYYY HH:mm', 26 | }, 27 | calendar: { 28 | sameDay: '[اليوم على الساعة] LT', 29 | nextDay: '[غدا على الساعة] LT', 30 | nextWeek: 'dddd [على الساعة] LT', 31 | lastDay: '[أمس على الساعة] LT', 32 | lastWeek: 'dddd [على الساعة] LT', 33 | sameElse: 'L', 34 | }, 35 | relativeTime: { 36 | future: 'في %s', 37 | past: 'منذ %s', 38 | s: 'ثوان', 39 | ss: '%d ثانية', 40 | m: 'دقيقة', 41 | mm: '%d دقائق', 42 | h: 'ساعة', 43 | hh: '%d ساعات', 44 | d: 'يوم', 45 | dd: '%d أيام', 46 | M: 'شهر', 47 | MM: '%d أشهر', 48 | y: 'سنة', 49 | yy: '%d سنوات', 50 | }, 51 | week: { 52 | dow: 1, // Monday is the first day of the week. 53 | doy: 4, // The week that contains Jan 4th is the first week of the year. 54 | }, 55 | }); 56 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/ar-tn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Tunisia) [ar-tn] 3 | //! author : Nader Toukabri : https://github.com/naderio 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('ar-tn', { 8 | months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( 9 | '_' 10 | ), 11 | monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( 12 | '_' 13 | ), 14 | weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 15 | weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), 16 | weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), 17 | weekdaysParseExact: true, 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD/MM/YYYY', 22 | LL: 'D MMMM YYYY', 23 | LLL: 'D MMMM YYYY HH:mm', 24 | LLLL: 'dddd D MMMM YYYY HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: '[اليوم على الساعة] LT', 28 | nextDay: '[غدا على الساعة] LT', 29 | nextWeek: 'dddd [على الساعة] LT', 30 | lastDay: '[أمس على الساعة] LT', 31 | lastWeek: 'dddd [على الساعة] LT', 32 | sameElse: 'L', 33 | }, 34 | relativeTime: { 35 | future: 'في %s', 36 | past: 'منذ %s', 37 | s: 'ثوان', 38 | ss: '%d ثانية', 39 | m: 'دقيقة', 40 | mm: '%d دقائق', 41 | h: 'ساعة', 42 | hh: '%d ساعات', 43 | d: 'يوم', 44 | dd: '%d أيام', 45 | M: 'شهر', 46 | MM: '%d أشهر', 47 | y: 'سنة', 48 | yy: '%d سنوات', 49 | }, 50 | week: { 51 | dow: 1, // Monday is the first day of the week. 52 | doy: 4, // The week that contains Jan 4th is the first week of the year. 53 | }, 54 | }); 55 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/bm.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Bambara [bm] 3 | //! author : Estelle Comment : https://github.com/estellecomment 4 | // Language contact person : Abdoufata Kane : https://github.com/abdoufata 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('bm', { 9 | months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( 10 | '_' 11 | ), 12 | monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), 13 | weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), 14 | weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), 15 | weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), 16 | longDateFormat: { 17 | LT: 'HH:mm', 18 | LTS: 'HH:mm:ss', 19 | L: 'DD/MM/YYYY', 20 | LL: 'MMMM [tile] D [san] YYYY', 21 | LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', 22 | LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', 23 | }, 24 | calendar: { 25 | sameDay: '[Bi lɛrɛ] LT', 26 | nextDay: '[Sini lɛrɛ] LT', 27 | nextWeek: 'dddd [don lɛrɛ] LT', 28 | lastDay: '[Kunu lɛrɛ] LT', 29 | lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', 30 | sameElse: 'L', 31 | }, 32 | relativeTime: { 33 | future: '%s kɔnɔ', 34 | past: 'a bɛ %s bɔ', 35 | s: 'sanga dama dama', 36 | ss: 'sekondi %d', 37 | m: 'miniti kelen', 38 | mm: 'miniti %d', 39 | h: 'lɛrɛ kelen', 40 | hh: 'lɛrɛ %d', 41 | d: 'tile kelen', 42 | dd: 'tile %d', 43 | M: 'kalo kelen', 44 | MM: 'kalo %d', 45 | y: 'san kelen', 46 | yy: 'san %d', 47 | }, 48 | week: { 49 | dow: 1, // Monday is the first day of the week. 50 | doy: 4, // The week that contains Jan 4th is the first week of the year. 51 | }, 52 | }); 53 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/cv.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Chuvash [cv] 3 | //! author : Anatoly Mironov : https://github.com/mirontoli 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('cv', { 8 | months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( 9 | '_' 10 | ), 11 | monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), 12 | weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), 16 | weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD-MM-YYYY', 21 | LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', 22 | LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', 23 | LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[Паян] LT [сехетре]', 27 | nextDay: '[Ыран] LT [сехетре]', 28 | lastDay: '[Ӗнер] LT [сехетре]', 29 | nextWeek: '[Ҫитес] dddd LT [сехетре]', 30 | lastWeek: '[Иртнӗ] dddd LT [сехетре]', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: function (output) { 35 | var affix = /сехет$/i.exec(output) 36 | ? 'рен' 37 | : /ҫул$/i.exec(output) 38 | ? 'тан' 39 | : 'ран'; 40 | return output + affix; 41 | }, 42 | past: '%s каялла', 43 | s: 'пӗр-ик ҫеккунт', 44 | ss: '%d ҫеккунт', 45 | m: 'пӗр минут', 46 | mm: '%d минут', 47 | h: 'пӗр сехет', 48 | hh: '%d сехет', 49 | d: 'пӗр кун', 50 | dd: '%d кун', 51 | M: 'пӗр уйӑх', 52 | MM: '%d уйӑх', 53 | y: 'пӗр ҫул', 54 | yy: '%d ҫул', 55 | }, 56 | dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, 57 | ordinal: '%d-мӗш', 58 | week: { 59 | dow: 1, // Monday is the first day of the week. 60 | doy: 7, // The week that contains Jan 7th is the first week of the year. 61 | }, 62 | }); 63 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/da.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Danish [da] 3 | //! author : Ulrik Nielsen : https://github.com/mrbase 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('da', { 8 | months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split( 9 | '_' 10 | ), 11 | monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 12 | weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 13 | weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), 14 | weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), 15 | longDateFormat: { 16 | LT: 'HH:mm', 17 | LTS: 'HH:mm:ss', 18 | L: 'DD.MM.YYYY', 19 | LL: 'D. MMMM YYYY', 20 | LLL: 'D. MMMM YYYY HH:mm', 21 | LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm', 22 | }, 23 | calendar: { 24 | sameDay: '[i dag kl.] LT', 25 | nextDay: '[i morgen kl.] LT', 26 | nextWeek: 'på dddd [kl.] LT', 27 | lastDay: '[i går kl.] LT', 28 | lastWeek: '[i] dddd[s kl.] LT', 29 | sameElse: 'L', 30 | }, 31 | relativeTime: { 32 | future: 'om %s', 33 | past: '%s siden', 34 | s: 'få sekunder', 35 | ss: '%d sekunder', 36 | m: 'et minut', 37 | mm: '%d minutter', 38 | h: 'en time', 39 | hh: '%d timer', 40 | d: 'en dag', 41 | dd: '%d dage', 42 | M: 'en måned', 43 | MM: '%d måneder', 44 | y: 'et år', 45 | yy: '%d år', 46 | }, 47 | dayOfMonthOrdinalParse: /\d{1,2}\./, 48 | ordinal: '%d.', 49 | week: { 50 | dow: 1, // Monday is the first day of the week. 51 | doy: 4, // The week that contains Jan 4th is the first week of the year. 52 | }, 53 | }); 54 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/en-ca.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : English (Canada) [en-ca] 3 | //! author : Jonathan Abourbih : https://github.com/jonbca 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('en-ca', { 8 | months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 12 | weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 16 | weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 17 | longDateFormat: { 18 | LT: 'h:mm A', 19 | LTS: 'h:mm:ss A', 20 | L: 'YYYY-MM-DD', 21 | LL: 'MMMM D, YYYY', 22 | LLL: 'MMMM D, YYYY h:mm A', 23 | LLLL: 'dddd, MMMM D, YYYY h:mm A', 24 | }, 25 | calendar: { 26 | sameDay: '[Today at] LT', 27 | nextDay: '[Tomorrow at] LT', 28 | nextWeek: 'dddd [at] LT', 29 | lastDay: '[Yesterday at] LT', 30 | lastWeek: '[Last] dddd [at] LT', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'in %s', 35 | past: '%s ago', 36 | s: 'a few seconds', 37 | ss: '%d seconds', 38 | m: 'a minute', 39 | mm: '%d minutes', 40 | h: 'an hour', 41 | hh: '%d hours', 42 | d: 'a day', 43 | dd: '%d days', 44 | M: 'a month', 45 | MM: '%d months', 46 | y: 'a year', 47 | yy: '%d years', 48 | }, 49 | dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 50 | ordinal: function (number) { 51 | var b = number % 10, 52 | output = 53 | ~~((number % 100) / 10) === 1 54 | ? 'th' 55 | : b === 1 56 | ? 'st' 57 | : b === 2 58 | ? 'nd' 59 | : b === 3 60 | ? 'rd' 61 | : 'th'; 62 | return number + output; 63 | }, 64 | }); 65 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/en-il.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : English (Israel) [en-il] 3 | //! author : Chris Gedrim : https://github.com/chrisgedrim 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('en-il', { 8 | months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 12 | weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 16 | weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD/MM/YYYY', 21 | LL: 'D MMMM YYYY', 22 | LLL: 'D MMMM YYYY HH:mm', 23 | LLLL: 'dddd, D MMMM YYYY HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[Today at] LT', 27 | nextDay: '[Tomorrow at] LT', 28 | nextWeek: 'dddd [at] LT', 29 | lastDay: '[Yesterday at] LT', 30 | lastWeek: '[Last] dddd [at] LT', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'in %s', 35 | past: '%s ago', 36 | s: 'a few seconds', 37 | ss: '%d seconds', 38 | m: 'a minute', 39 | mm: '%d minutes', 40 | h: 'an hour', 41 | hh: '%d hours', 42 | d: 'a day', 43 | dd: '%d days', 44 | M: 'a month', 45 | MM: '%d months', 46 | y: 'a year', 47 | yy: '%d years', 48 | }, 49 | dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 50 | ordinal: function (number) { 51 | var b = number % 10, 52 | output = 53 | ~~((number % 100) / 10) === 1 54 | ? 'th' 55 | : b === 1 56 | ? 'st' 57 | : b === 2 58 | ? 'nd' 59 | : b === 3 60 | ? 'rd' 61 | : 'th'; 62 | return number + output; 63 | }, 64 | }); 65 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/eu.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Basque [eu] 3 | //! author : Eneko Illarramendi : https://github.com/eillarra 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('eu', { 8 | months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split( 9 | '_' 10 | ), 11 | monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split( 12 | '_' 13 | ), 14 | monthsParseExact: true, 15 | weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split( 16 | '_' 17 | ), 18 | weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), 19 | weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), 20 | weekdaysParseExact: true, 21 | longDateFormat: { 22 | LT: 'HH:mm', 23 | LTS: 'HH:mm:ss', 24 | L: 'YYYY-MM-DD', 25 | LL: 'YYYY[ko] MMMM[ren] D[a]', 26 | LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', 27 | LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', 28 | l: 'YYYY-M-D', 29 | ll: 'YYYY[ko] MMM D[a]', 30 | lll: 'YYYY[ko] MMM D[a] HH:mm', 31 | llll: 'ddd, YYYY[ko] MMM D[a] HH:mm', 32 | }, 33 | calendar: { 34 | sameDay: '[gaur] LT[etan]', 35 | nextDay: '[bihar] LT[etan]', 36 | nextWeek: 'dddd LT[etan]', 37 | lastDay: '[atzo] LT[etan]', 38 | lastWeek: '[aurreko] dddd LT[etan]', 39 | sameElse: 'L', 40 | }, 41 | relativeTime: { 42 | future: '%s barru', 43 | past: 'duela %s', 44 | s: 'segundo batzuk', 45 | ss: '%d segundo', 46 | m: 'minutu bat', 47 | mm: '%d minutu', 48 | h: 'ordu bat', 49 | hh: '%d ordu', 50 | d: 'egun bat', 51 | dd: '%d egun', 52 | M: 'hilabete bat', 53 | MM: '%d hilabete', 54 | y: 'urte bat', 55 | yy: '%d urte', 56 | }, 57 | dayOfMonthOrdinalParse: /\d{1,2}\./, 58 | ordinal: '%d.', 59 | week: { 60 | dow: 1, // Monday is the first day of the week. 61 | doy: 7, // The week that contains Jan 7th is the first week of the year. 62 | }, 63 | }); 64 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/fil.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Filipino [fil] 3 | //! author : Dan Hagman : https://github.com/hagmandan 4 | //! author : Matthew Co : https://github.com/matthewdeeco 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('fil', { 9 | months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( 10 | '_' 11 | ), 12 | monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 13 | weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( 14 | '_' 15 | ), 16 | weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 17 | weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'MM/D/YYYY', 22 | LL: 'MMMM D, YYYY', 23 | LLL: 'MMMM D, YYYY HH:mm', 24 | LLLL: 'dddd, MMMM DD, YYYY HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: 'LT [ngayong araw]', 28 | nextDay: '[Bukas ng] LT', 29 | nextWeek: 'LT [sa susunod na] dddd', 30 | lastDay: 'LT [kahapon]', 31 | lastWeek: 'LT [noong nakaraang] dddd', 32 | sameElse: 'L', 33 | }, 34 | relativeTime: { 35 | future: 'sa loob ng %s', 36 | past: '%s ang nakalipas', 37 | s: 'ilang segundo', 38 | ss: '%d segundo', 39 | m: 'isang minuto', 40 | mm: '%d minuto', 41 | h: 'isang oras', 42 | hh: '%d oras', 43 | d: 'isang araw', 44 | dd: '%d araw', 45 | M: 'isang buwan', 46 | MM: '%d buwan', 47 | y: 'isang taon', 48 | yy: '%d taon', 49 | }, 50 | dayOfMonthOrdinalParse: /\d{1,2}/, 51 | ordinal: function (number) { 52 | return number; 53 | }, 54 | week: { 55 | dow: 1, // Monday is the first day of the week. 56 | doy: 4, // The week that contains Jan 4th is the first week of the year. 57 | }, 58 | }); 59 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/fo.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Faroese [fo] 3 | //! author : Ragnar Johannesen : https://github.com/ragnar123 4 | //! author : Kristian Sakarisson : https://github.com/sakarisson 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('fo', { 9 | months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split( 10 | '_' 11 | ), 12 | monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 13 | weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( 14 | '_' 15 | ), 16 | weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), 17 | weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD/MM/YYYY', 22 | LL: 'D MMMM YYYY', 23 | LLL: 'D MMMM YYYY HH:mm', 24 | LLLL: 'dddd D. MMMM, YYYY HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: '[Í dag kl.] LT', 28 | nextDay: '[Í morgin kl.] LT', 29 | nextWeek: 'dddd [kl.] LT', 30 | lastDay: '[Í gjár kl.] LT', 31 | lastWeek: '[síðstu] dddd [kl] LT', 32 | sameElse: 'L', 33 | }, 34 | relativeTime: { 35 | future: 'um %s', 36 | past: '%s síðani', 37 | s: 'fá sekund', 38 | ss: '%d sekundir', 39 | m: 'ein minuttur', 40 | mm: '%d minuttir', 41 | h: 'ein tími', 42 | hh: '%d tímar', 43 | d: 'ein dagur', 44 | dd: '%d dagar', 45 | M: 'ein mánaður', 46 | MM: '%d mánaðir', 47 | y: 'eitt ár', 48 | yy: '%d ár', 49 | }, 50 | dayOfMonthOrdinalParse: /\d{1,2}\./, 51 | ordinal: '%d.', 52 | week: { 53 | dow: 1, // Monday is the first day of the week. 54 | doy: 4, // The week that contains Jan 4th is the first week of the year. 55 | }, 56 | }); 57 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/it-ch.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Italian (Switzerland) [it-ch] 3 | //! author : xfh : https://github.com/xfh 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('it-ch', { 8 | months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split( 9 | '_' 10 | ), 11 | monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 12 | weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 16 | weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD.MM.YYYY', 21 | LL: 'D MMMM YYYY', 22 | LLL: 'D MMMM YYYY HH:mm', 23 | LLLL: 'dddd D MMMM YYYY HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[Oggi alle] LT', 27 | nextDay: '[Domani alle] LT', 28 | nextWeek: 'dddd [alle] LT', 29 | lastDay: '[Ieri alle] LT', 30 | lastWeek: function () { 31 | switch (this.day()) { 32 | case 0: 33 | return '[la scorsa] dddd [alle] LT'; 34 | default: 35 | return '[lo scorso] dddd [alle] LT'; 36 | } 37 | }, 38 | sameElse: 'L', 39 | }, 40 | relativeTime: { 41 | future: function (s) { 42 | return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s; 43 | }, 44 | past: '%s fa', 45 | s: 'alcuni secondi', 46 | ss: '%d secondi', 47 | m: 'un minuto', 48 | mm: '%d minuti', 49 | h: "un'ora", 50 | hh: '%d ore', 51 | d: 'un giorno', 52 | dd: '%d giorni', 53 | M: 'un mese', 54 | MM: '%d mesi', 55 | y: 'un anno', 56 | yy: '%d anni', 57 | }, 58 | dayOfMonthOrdinalParse: /\d{1,2}º/, 59 | ordinal: '%dº', 60 | week: { 61 | dow: 1, // Monday is the first day of the week. 62 | doy: 4, // The week that contains Jan 4th is the first week of the year. 63 | }, 64 | }); 65 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/lo.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Lao [lo] 3 | //! author : Ryan Hart : https://github.com/ryanhart2 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('lo', { 8 | months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( 9 | '_' 10 | ), 11 | monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( 12 | '_' 13 | ), 14 | weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), 15 | weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), 16 | weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'), 17 | weekdaysParseExact: true, 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD/MM/YYYY', 22 | LL: 'D MMMM YYYY', 23 | LLL: 'D MMMM YYYY HH:mm', 24 | LLLL: 'ວັນdddd D MMMM YYYY HH:mm', 25 | }, 26 | meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/, 27 | isPM: function (input) { 28 | return input === 'ຕອນແລງ'; 29 | }, 30 | meridiem: function (hour, minute, isLower) { 31 | if (hour < 12) { 32 | return 'ຕອນເຊົ້າ'; 33 | } else { 34 | return 'ຕອນແລງ'; 35 | } 36 | }, 37 | calendar: { 38 | sameDay: '[ມື້ນີ້ເວລາ] LT', 39 | nextDay: '[ມື້ອື່ນເວລາ] LT', 40 | nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', 41 | lastDay: '[ມື້ວານນີ້ເວລາ] LT', 42 | lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', 43 | sameElse: 'L', 44 | }, 45 | relativeTime: { 46 | future: 'ອີກ %s', 47 | past: '%sຜ່ານມາ', 48 | s: 'ບໍ່ເທົ່າໃດວິນາທີ', 49 | ss: '%d ວິນາທີ', 50 | m: '1 ນາທີ', 51 | mm: '%d ນາທີ', 52 | h: '1 ຊົ່ວໂມງ', 53 | hh: '%d ຊົ່ວໂມງ', 54 | d: '1 ມື້', 55 | dd: '%d ມື້', 56 | M: '1 ເດືອນ', 57 | MM: '%d ເດືອນ', 58 | y: '1 ປີ', 59 | yy: '%d ປີ', 60 | }, 61 | dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/, 62 | ordinal: function (number) { 63 | return 'ທີ່' + number; 64 | }, 65 | }); 66 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/mi.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Maori [mi] 3 | //! author : John Corrigan : https://github.com/johnideal 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('mi', { 8 | months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split( 12 | '_' 13 | ), 14 | monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 15 | monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 16 | monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 17 | monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, 18 | weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), 19 | weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), 20 | weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), 21 | longDateFormat: { 22 | LT: 'HH:mm', 23 | LTS: 'HH:mm:ss', 24 | L: 'DD/MM/YYYY', 25 | LL: 'D MMMM YYYY', 26 | LLL: 'D MMMM YYYY [i] HH:mm', 27 | LLLL: 'dddd, D MMMM YYYY [i] HH:mm', 28 | }, 29 | calendar: { 30 | sameDay: '[i teie mahana, i] LT', 31 | nextDay: '[apopo i] LT', 32 | nextWeek: 'dddd [i] LT', 33 | lastDay: '[inanahi i] LT', 34 | lastWeek: 'dddd [whakamutunga i] LT', 35 | sameElse: 'L', 36 | }, 37 | relativeTime: { 38 | future: 'i roto i %s', 39 | past: '%s i mua', 40 | s: 'te hēkona ruarua', 41 | ss: '%d hēkona', 42 | m: 'he meneti', 43 | mm: '%d meneti', 44 | h: 'te haora', 45 | hh: '%d haora', 46 | d: 'he ra', 47 | dd: '%d ra', 48 | M: 'he marama', 49 | MM: '%d marama', 50 | y: 'he tau', 51 | yy: '%d tau', 52 | }, 53 | dayOfMonthOrdinalParse: /\d{1,2}º/, 54 | ordinal: '%dº', 55 | week: { 56 | dow: 1, // Monday is the first day of the week. 57 | doy: 4, // The week that contains Jan 4th is the first week of the year. 58 | }, 59 | }); 60 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/mt.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Maltese (Malta) [mt] 3 | //! author : Alessandro Maruccia : https://github.com/alesma 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('mt', { 8 | months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), 12 | weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), 16 | weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD/MM/YYYY', 21 | LL: 'D MMMM YYYY', 22 | LLL: 'D MMMM YYYY HH:mm', 23 | LLLL: 'dddd, D MMMM YYYY HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[Illum fil-]LT', 27 | nextDay: '[Għada fil-]LT', 28 | nextWeek: 'dddd [fil-]LT', 29 | lastDay: '[Il-bieraħ fil-]LT', 30 | lastWeek: 'dddd [li għadda] [fil-]LT', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'f’ %s', 35 | past: '%s ilu', 36 | s: 'ftit sekondi', 37 | ss: '%d sekondi', 38 | m: 'minuta', 39 | mm: '%d minuti', 40 | h: 'siegħa', 41 | hh: '%d siegħat', 42 | d: 'ġurnata', 43 | dd: '%d ġranet', 44 | M: 'xahar', 45 | MM: '%d xhur', 46 | y: 'sena', 47 | yy: '%d sni', 48 | }, 49 | dayOfMonthOrdinalParse: /\d{1,2}º/, 50 | ordinal: '%dº', 51 | week: { 52 | dow: 1, // Monday is the first day of the week. 53 | doy: 4, // The week that contains Jan 4th is the first week of the year. 54 | }, 55 | }); 56 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/nb.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Norwegian Bokmål [nb] 3 | //! authors : Espen Hovlandsdal : https://github.com/rexxars 4 | //! Sigurd Gartmann : https://github.com/sigurdga 5 | //! Stephen Ramthun : https://github.com/stephenramthun 6 | 7 | import moment from '../moment'; 8 | 9 | export default moment.defineLocale('nb', { 10 | months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( 11 | '_' 12 | ), 13 | monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( 14 | '_' 15 | ), 16 | monthsParseExact: true, 17 | weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 18 | weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), 19 | weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'), 20 | weekdaysParseExact: true, 21 | longDateFormat: { 22 | LT: 'HH:mm', 23 | LTS: 'HH:mm:ss', 24 | L: 'DD.MM.YYYY', 25 | LL: 'D. MMMM YYYY', 26 | LLL: 'D. MMMM YYYY [kl.] HH:mm', 27 | LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', 28 | }, 29 | calendar: { 30 | sameDay: '[i dag kl.] LT', 31 | nextDay: '[i morgen kl.] LT', 32 | nextWeek: 'dddd [kl.] LT', 33 | lastDay: '[i går kl.] LT', 34 | lastWeek: '[forrige] dddd [kl.] LT', 35 | sameElse: 'L', 36 | }, 37 | relativeTime: { 38 | future: 'om %s', 39 | past: '%s siden', 40 | s: 'noen sekunder', 41 | ss: '%d sekunder', 42 | m: 'ett minutt', 43 | mm: '%d minutter', 44 | h: 'en time', 45 | hh: '%d timer', 46 | d: 'en dag', 47 | dd: '%d dager', 48 | w: 'en uke', 49 | ww: '%d uker', 50 | M: 'en måned', 51 | MM: '%d måneder', 52 | y: 'ett år', 53 | yy: '%d år', 54 | }, 55 | dayOfMonthOrdinalParse: /\d{1,2}\./, 56 | ordinal: '%d.', 57 | week: { 58 | dow: 1, // Monday is the first day of the week. 59 | doy: 4, // The week that contains Jan 4th is the first week of the year. 60 | }, 61 | }); 62 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/nn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Nynorsk [nn] 3 | //! authors : https://github.com/mechuwind 4 | //! Stephen Ramthun : https://github.com/stephenramthun 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('nn', { 9 | months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split( 10 | '_' 11 | ), 12 | monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split( 13 | '_' 14 | ), 15 | monthsParseExact: true, 16 | weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), 17 | weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), 18 | weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'), 19 | weekdaysParseExact: true, 20 | longDateFormat: { 21 | LT: 'HH:mm', 22 | LTS: 'HH:mm:ss', 23 | L: 'DD.MM.YYYY', 24 | LL: 'D. MMMM YYYY', 25 | LLL: 'D. MMMM YYYY [kl.] H:mm', 26 | LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm', 27 | }, 28 | calendar: { 29 | sameDay: '[I dag klokka] LT', 30 | nextDay: '[I morgon klokka] LT', 31 | nextWeek: 'dddd [klokka] LT', 32 | lastDay: '[I går klokka] LT', 33 | lastWeek: '[Føregåande] dddd [klokka] LT', 34 | sameElse: 'L', 35 | }, 36 | relativeTime: { 37 | future: 'om %s', 38 | past: '%s sidan', 39 | s: 'nokre sekund', 40 | ss: '%d sekund', 41 | m: 'eit minutt', 42 | mm: '%d minutt', 43 | h: 'ein time', 44 | hh: '%d timar', 45 | d: 'ein dag', 46 | dd: '%d dagar', 47 | w: 'ei veke', 48 | ww: '%d veker', 49 | M: 'ein månad', 50 | MM: '%d månader', 51 | y: 'eit år', 52 | yy: '%d år', 53 | }, 54 | dayOfMonthOrdinalParse: /\d{1,2}\./, 55 | ordinal: '%d.', 56 | week: { 57 | dow: 1, // Monday is the first day of the week. 58 | doy: 4, // The week that contains Jan 4th is the first week of the year. 59 | }, 60 | }); 61 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/pt-br.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Portuguese (Brazil) [pt-br] 3 | //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('pt-br', { 8 | months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( 9 | '_' 10 | ), 11 | monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), 12 | weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), 16 | weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'), 17 | weekdaysParseExact: true, 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD/MM/YYYY', 22 | LL: 'D [de] MMMM [de] YYYY', 23 | LLL: 'D [de] MMMM [de] YYYY [às] HH:mm', 24 | LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: '[Hoje às] LT', 28 | nextDay: '[Amanhã às] LT', 29 | nextWeek: 'dddd [às] LT', 30 | lastDay: '[Ontem às] LT', 31 | lastWeek: function () { 32 | return this.day() === 0 || this.day() === 6 33 | ? '[Último] dddd [às] LT' // Saturday + Sunday 34 | : '[Última] dddd [às] LT'; // Monday - Friday 35 | }, 36 | sameElse: 'L', 37 | }, 38 | relativeTime: { 39 | future: 'em %s', 40 | past: 'há %s', 41 | s: 'poucos segundos', 42 | ss: '%d segundos', 43 | m: 'um minuto', 44 | mm: '%d minutos', 45 | h: 'uma hora', 46 | hh: '%d horas', 47 | d: 'um dia', 48 | dd: '%d dias', 49 | M: 'um mês', 50 | MM: '%d meses', 51 | y: 'um ano', 52 | yy: '%d anos', 53 | }, 54 | dayOfMonthOrdinalParse: /\d{1,2}º/, 55 | ordinal: '%dº', 56 | invalidDate: 'Data inválida', 57 | }); 58 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/pt.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Portuguese [pt] 3 | //! author : Jefferson : https://github.com/jalex79 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('pt', { 8 | months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split( 9 | '_' 10 | ), 11 | monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'), 12 | weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 16 | weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 17 | weekdaysParseExact: true, 18 | longDateFormat: { 19 | LT: 'HH:mm', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD/MM/YYYY', 22 | LL: 'D [de] MMMM [de] YYYY', 23 | LLL: 'D [de] MMMM [de] YYYY HH:mm', 24 | LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: '[Hoje às] LT', 28 | nextDay: '[Amanhã às] LT', 29 | nextWeek: 'dddd [às] LT', 30 | lastDay: '[Ontem às] LT', 31 | lastWeek: function () { 32 | return this.day() === 0 || this.day() === 6 33 | ? '[Último] dddd [às] LT' // Saturday + Sunday 34 | : '[Última] dddd [às] LT'; // Monday - Friday 35 | }, 36 | sameElse: 'L', 37 | }, 38 | relativeTime: { 39 | future: 'em %s', 40 | past: 'há %s', 41 | s: 'segundos', 42 | ss: '%d segundos', 43 | m: 'um minuto', 44 | mm: '%d minutos', 45 | h: 'uma hora', 46 | hh: '%d horas', 47 | d: 'um dia', 48 | dd: '%d dias', 49 | w: 'uma semana', 50 | ww: '%d semanas', 51 | M: 'um mês', 52 | MM: '%d meses', 53 | y: 'um ano', 54 | yy: '%d anos', 55 | }, 56 | dayOfMonthOrdinalParse: /\d{1,2}º/, 57 | ordinal: '%dº', 58 | week: { 59 | dow: 1, // Monday is the first day of the week. 60 | doy: 4, // The week that contains Jan 4th is the first week of the year. 61 | }, 62 | }); 63 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/se.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Northern Sami [se] 3 | //! authors : Bård Rolstad Henriksen : https://github.com/karamell 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('se', { 8 | months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( 9 | '_' 10 | ), 11 | monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( 12 | '_' 13 | ), 14 | weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( 15 | '_' 16 | ), 17 | weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), 18 | weekdaysMin: 's_v_m_g_d_b_L'.split('_'), 19 | longDateFormat: { 20 | LT: 'HH:mm', 21 | LTS: 'HH:mm:ss', 22 | L: 'DD.MM.YYYY', 23 | LL: 'MMMM D. [b.] YYYY', 24 | LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm', 25 | LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm', 26 | }, 27 | calendar: { 28 | sameDay: '[otne ti] LT', 29 | nextDay: '[ihttin ti] LT', 30 | nextWeek: 'dddd [ti] LT', 31 | lastDay: '[ikte ti] LT', 32 | lastWeek: '[ovddit] dddd [ti] LT', 33 | sameElse: 'L', 34 | }, 35 | relativeTime: { 36 | future: '%s geažes', 37 | past: 'maŋit %s', 38 | s: 'moadde sekunddat', 39 | ss: '%d sekunddat', 40 | m: 'okta minuhta', 41 | mm: '%d minuhtat', 42 | h: 'okta diimmu', 43 | hh: '%d diimmut', 44 | d: 'okta beaivi', 45 | dd: '%d beaivvit', 46 | M: 'okta mánnu', 47 | MM: '%d mánut', 48 | y: 'okta jahki', 49 | yy: '%d jagit', 50 | }, 51 | dayOfMonthOrdinalParse: /\d{1,2}\./, 52 | ordinal: '%d.', 53 | week: { 54 | dow: 1, // Monday is the first day of the week. 55 | doy: 4, // The week that contains Jan 4th is the first week of the year. 56 | }, 57 | }); 58 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/si.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Sinhalese [si] 3 | //! author : Sampath Sitinamaluwa : https://github.com/sampathsris 4 | 5 | import moment from '../moment'; 6 | 7 | /*jshint -W100*/ 8 | export default moment.defineLocale('si', { 9 | months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( 10 | '_' 11 | ), 12 | monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( 13 | '_' 14 | ), 15 | weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( 16 | '_' 17 | ), 18 | weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'), 19 | weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'), 20 | weekdaysParseExact: true, 21 | longDateFormat: { 22 | LT: 'a h:mm', 23 | LTS: 'a h:mm:ss', 24 | L: 'YYYY/MM/DD', 25 | LL: 'YYYY MMMM D', 26 | LLL: 'YYYY MMMM D, a h:mm', 27 | LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss', 28 | }, 29 | calendar: { 30 | sameDay: '[අද] LT[ට]', 31 | nextDay: '[හෙට] LT[ට]', 32 | nextWeek: 'dddd LT[ට]', 33 | lastDay: '[ඊයේ] LT[ට]', 34 | lastWeek: '[පසුගිය] dddd LT[ට]', 35 | sameElse: 'L', 36 | }, 37 | relativeTime: { 38 | future: '%sකින්', 39 | past: '%sකට පෙර', 40 | s: 'තත්පර කිහිපය', 41 | ss: 'තත්පර %d', 42 | m: 'මිනිත්තුව', 43 | mm: 'මිනිත්තු %d', 44 | h: 'පැය', 45 | hh: 'පැය %d', 46 | d: 'දිනය', 47 | dd: 'දින %d', 48 | M: 'මාසය', 49 | MM: 'මාස %d', 50 | y: 'වසර', 51 | yy: 'වසර %d', 52 | }, 53 | dayOfMonthOrdinalParse: /\d{1,2} වැනි/, 54 | ordinal: function (number) { 55 | return number + ' වැනි'; 56 | }, 57 | meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./, 58 | isPM: function (input) { 59 | return input === 'ප.ව.' || input === 'පස් වරු'; 60 | }, 61 | meridiem: function (hours, minutes, isLower) { 62 | if (hours > 11) { 63 | return isLower ? 'ප.ව.' : 'පස් වරු'; 64 | } else { 65 | return isLower ? 'පෙ.ව.' : 'පෙර වරු'; 66 | } 67 | }, 68 | }); 69 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/sq.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Albanian [sq] 3 | //! author : Flakërim Ismani : https://github.com/flakerimi 4 | //! author : Menelion Elensúle : https://github.com/Oire 5 | //! author : Oerd Cukalla : https://github.com/oerd 6 | 7 | import moment from '../moment'; 8 | 9 | export default moment.defineLocale('sq', { 10 | months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( 11 | '_' 12 | ), 13 | monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), 14 | weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( 15 | '_' 16 | ), 17 | weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), 18 | weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), 19 | weekdaysParseExact: true, 20 | meridiemParse: /PD|MD/, 21 | isPM: function (input) { 22 | return input.charAt(0) === 'M'; 23 | }, 24 | meridiem: function (hours, minutes, isLower) { 25 | return hours < 12 ? 'PD' : 'MD'; 26 | }, 27 | longDateFormat: { 28 | LT: 'HH:mm', 29 | LTS: 'HH:mm:ss', 30 | L: 'DD/MM/YYYY', 31 | LL: 'D MMMM YYYY', 32 | LLL: 'D MMMM YYYY HH:mm', 33 | LLLL: 'dddd, D MMMM YYYY HH:mm', 34 | }, 35 | calendar: { 36 | sameDay: '[Sot në] LT', 37 | nextDay: '[Nesër në] LT', 38 | nextWeek: 'dddd [në] LT', 39 | lastDay: '[Dje në] LT', 40 | lastWeek: 'dddd [e kaluar në] LT', 41 | sameElse: 'L', 42 | }, 43 | relativeTime: { 44 | future: 'në %s', 45 | past: '%s më parë', 46 | s: 'disa sekonda', 47 | ss: '%d sekonda', 48 | m: 'një minutë', 49 | mm: '%d minuta', 50 | h: 'një orë', 51 | hh: '%d orë', 52 | d: 'një ditë', 53 | dd: '%d ditë', 54 | M: 'një muaj', 55 | MM: '%d muaj', 56 | y: 'një vit', 57 | yy: '%d vite', 58 | }, 59 | dayOfMonthOrdinalParse: /\d{1,2}\./, 60 | ordinal: '%d.', 61 | week: { 62 | dow: 1, // Monday is the first day of the week. 63 | doy: 4, // The week that contains Jan 4th is the first week of the year. 64 | }, 65 | }); 66 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/sw.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Swahili [sw] 3 | //! author : Fahad Kassim : https://github.com/fadsel 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('sw', { 8 | months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), 12 | weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), 16 | weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), 17 | weekdaysParseExact: true, 18 | longDateFormat: { 19 | LT: 'hh:mm A', 20 | LTS: 'HH:mm:ss', 21 | L: 'DD.MM.YYYY', 22 | LL: 'D MMMM YYYY', 23 | LLL: 'D MMMM YYYY HH:mm', 24 | LLLL: 'dddd, D MMMM YYYY HH:mm', 25 | }, 26 | calendar: { 27 | sameDay: '[leo saa] LT', 28 | nextDay: '[kesho saa] LT', 29 | nextWeek: '[wiki ijayo] dddd [saat] LT', 30 | lastDay: '[jana] LT', 31 | lastWeek: '[wiki iliyopita] dddd [saat] LT', 32 | sameElse: 'L', 33 | }, 34 | relativeTime: { 35 | future: '%s baadaye', 36 | past: 'tokea %s', 37 | s: 'hivi punde', 38 | ss: 'sekunde %d', 39 | m: 'dakika moja', 40 | mm: 'dakika %d', 41 | h: 'saa limoja', 42 | hh: 'masaa %d', 43 | d: 'siku moja', 44 | dd: 'siku %d', 45 | M: 'mwezi mmoja', 46 | MM: 'miezi %d', 47 | y: 'mwaka mmoja', 48 | yy: 'miaka %d', 49 | }, 50 | week: { 51 | dow: 1, // Monday is the first day of the week. 52 | doy: 7, // The week that contains Jan 7th is the first week of the year. 53 | }, 54 | }); 55 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/th.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Thai [th] 3 | //! author : Kridsada Thanabulpong : https://github.com/sirn 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('th', { 8 | months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( 9 | '_' 10 | ), 11 | monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( 12 | '_' 13 | ), 14 | monthsParseExact: true, 15 | weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), 16 | weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference 17 | weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), 18 | weekdaysParseExact: true, 19 | longDateFormat: { 20 | LT: 'H:mm', 21 | LTS: 'H:mm:ss', 22 | L: 'DD/MM/YYYY', 23 | LL: 'D MMMM YYYY', 24 | LLL: 'D MMMM YYYY เวลา H:mm', 25 | LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm', 26 | }, 27 | meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, 28 | isPM: function (input) { 29 | return input === 'หลังเที่ยง'; 30 | }, 31 | meridiem: function (hour, minute, isLower) { 32 | if (hour < 12) { 33 | return 'ก่อนเที่ยง'; 34 | } else { 35 | return 'หลังเที่ยง'; 36 | } 37 | }, 38 | calendar: { 39 | sameDay: '[วันนี้ เวลา] LT', 40 | nextDay: '[พรุ่งนี้ เวลา] LT', 41 | nextWeek: 'dddd[หน้า เวลา] LT', 42 | lastDay: '[เมื่อวานนี้ เวลา] LT', 43 | lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', 44 | sameElse: 'L', 45 | }, 46 | relativeTime: { 47 | future: 'อีก %s', 48 | past: '%sที่แล้ว', 49 | s: 'ไม่กี่วินาที', 50 | ss: '%d วินาที', 51 | m: '1 นาที', 52 | mm: '%d นาที', 53 | h: '1 ชั่วโมง', 54 | hh: '%d ชั่วโมง', 55 | d: '1 วัน', 56 | dd: '%d วัน', 57 | w: '1 สัปดาห์', 58 | ww: '%d สัปดาห์', 59 | M: '1 เดือน', 60 | MM: '%d เดือน', 61 | y: '1 ปี', 62 | yy: '%d ปี', 63 | }, 64 | }); 65 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/tl-ph.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Tagalog (Philippines) [tl-ph] 3 | //! author : Dan Hagman : https://github.com/hagmandan 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('tl-ph', { 8 | months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 12 | weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 16 | weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'MM/D/YYYY', 21 | LL: 'MMMM D, YYYY', 22 | LLL: 'MMMM D, YYYY HH:mm', 23 | LLLL: 'dddd, MMMM DD, YYYY HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: 'LT [ngayong araw]', 27 | nextDay: '[Bukas ng] LT', 28 | nextWeek: 'LT [sa susunod na] dddd', 29 | lastDay: 'LT [kahapon]', 30 | lastWeek: 'LT [noong nakaraang] dddd', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'sa loob ng %s', 35 | past: '%s ang nakalipas', 36 | s: 'ilang segundo', 37 | ss: '%d segundo', 38 | m: 'isang minuto', 39 | mm: '%d minuto', 40 | h: 'isang oras', 41 | hh: '%d oras', 42 | d: 'isang araw', 43 | dd: '%d araw', 44 | M: 'isang buwan', 45 | MM: '%d buwan', 46 | y: 'isang taon', 47 | yy: '%d taon', 48 | }, 49 | dayOfMonthOrdinalParse: /\d{1,2}/, 50 | ordinal: function (number) { 51 | return number; 52 | }, 53 | week: { 54 | dow: 1, // Monday is the first day of the week. 55 | doy: 4, // The week that contains Jan 4th is the first week of the year. 56 | }, 57 | }); 58 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/tzm-latn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Central Atlas Tamazight Latin [tzm-latn] 3 | //! author : Abdel Said : https://github.com/abdelsaid 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('tzm-latn', { 8 | months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( 9 | '_' 10 | ), 11 | monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( 12 | '_' 13 | ), 14 | weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 15 | weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 16 | weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD/MM/YYYY', 21 | LL: 'D MMMM YYYY', 22 | LLL: 'D MMMM YYYY HH:mm', 23 | LLLL: 'dddd D MMMM YYYY HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[asdkh g] LT', 27 | nextDay: '[aska g] LT', 28 | nextWeek: 'dddd [g] LT', 29 | lastDay: '[assant g] LT', 30 | lastWeek: 'dddd [g] LT', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'dadkh s yan %s', 35 | past: 'yan %s', 36 | s: 'imik', 37 | ss: '%d imik', 38 | m: 'minuḍ', 39 | mm: '%d minuḍ', 40 | h: 'saɛa', 41 | hh: '%d tassaɛin', 42 | d: 'ass', 43 | dd: '%d ossan', 44 | M: 'ayowr', 45 | MM: '%d iyyirn', 46 | y: 'asgas', 47 | yy: '%d isgasn', 48 | }, 49 | week: { 50 | dow: 6, // Saturday is the first day of the week. 51 | doy: 12, // The week that contains Jan 12th is the first week of the year. 52 | }, 53 | }); 54 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/tzm.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Central Atlas Tamazight [tzm] 3 | //! author : Abdel Said : https://github.com/abdelsaid 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('tzm', { 8 | months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( 9 | '_' 10 | ), 11 | monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( 12 | '_' 13 | ), 14 | weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 15 | weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 16 | weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD/MM/YYYY', 21 | LL: 'D MMMM YYYY', 22 | LLL: 'D MMMM YYYY HH:mm', 23 | LLLL: 'dddd D MMMM YYYY HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', 27 | nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', 28 | nextWeek: 'dddd [ⴴ] LT', 29 | lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', 30 | lastWeek: 'dddd [ⴴ] LT', 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', 35 | past: 'ⵢⴰⵏ %s', 36 | s: 'ⵉⵎⵉⴽ', 37 | ss: '%d ⵉⵎⵉⴽ', 38 | m: 'ⵎⵉⵏⵓⴺ', 39 | mm: '%d ⵎⵉⵏⵓⴺ', 40 | h: 'ⵙⴰⵄⴰ', 41 | hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', 42 | d: 'ⴰⵙⵙ', 43 | dd: '%d oⵙⵙⴰⵏ', 44 | M: 'ⴰⵢoⵓⵔ', 45 | MM: '%d ⵉⵢⵢⵉⵔⵏ', 46 | y: 'ⴰⵙⴳⴰⵙ', 47 | yy: '%d ⵉⵙⴳⴰⵙⵏ', 48 | }, 49 | week: { 50 | dow: 6, // Saturday is the first day of the week. 51 | doy: 12, // The week that contains Jan 12th is the first week of the year. 52 | }, 53 | }); 54 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/uz-latn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Uzbek Latin [uz-latn] 3 | //! author : Rasulbek Mirzayev : github.com/Rasulbeeek 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('uz-latn', { 8 | months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), 12 | weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split( 13 | '_' 14 | ), 15 | weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), 16 | weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), 17 | longDateFormat: { 18 | LT: 'HH:mm', 19 | LTS: 'HH:mm:ss', 20 | L: 'DD/MM/YYYY', 21 | LL: 'D MMMM YYYY', 22 | LLL: 'D MMMM YYYY HH:mm', 23 | LLLL: 'D MMMM YYYY, dddd HH:mm', 24 | }, 25 | calendar: { 26 | sameDay: '[Bugun soat] LT [da]', 27 | nextDay: '[Ertaga] LT [da]', 28 | nextWeek: 'dddd [kuni soat] LT [da]', 29 | lastDay: '[Kecha soat] LT [da]', 30 | lastWeek: "[O'tgan] dddd [kuni soat] LT [da]", 31 | sameElse: 'L', 32 | }, 33 | relativeTime: { 34 | future: 'Yaqin %s ichida', 35 | past: 'Bir necha %s oldin', 36 | s: 'soniya', 37 | ss: '%d soniya', 38 | m: 'bir daqiqa', 39 | mm: '%d daqiqa', 40 | h: 'bir soat', 41 | hh: '%d soat', 42 | d: 'bir kun', 43 | dd: '%d kun', 44 | M: 'bir oy', 45 | MM: '%d oy', 46 | y: 'bir yil', 47 | yy: '%d yil', 48 | }, 49 | week: { 50 | dow: 1, // Monday is the first day of the week. 51 | doy: 7, // The week that contains Jan 7th is the first week of the year. 52 | }, 53 | }); 54 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/uz.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Uzbek [uz] 3 | //! author : Sardor Muminov : https://github.com/muminoff 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('uz', { 8 | months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( 9 | '_' 10 | ), 11 | monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), 12 | weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), 13 | weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), 14 | weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), 15 | longDateFormat: { 16 | LT: 'HH:mm', 17 | LTS: 'HH:mm:ss', 18 | L: 'DD/MM/YYYY', 19 | LL: 'D MMMM YYYY', 20 | LLL: 'D MMMM YYYY HH:mm', 21 | LLLL: 'D MMMM YYYY, dddd HH:mm', 22 | }, 23 | calendar: { 24 | sameDay: '[Бугун соат] LT [да]', 25 | nextDay: '[Эртага] LT [да]', 26 | nextWeek: 'dddd [куни соат] LT [да]', 27 | lastDay: '[Кеча соат] LT [да]', 28 | lastWeek: '[Утган] dddd [куни соат] LT [да]', 29 | sameElse: 'L', 30 | }, 31 | relativeTime: { 32 | future: 'Якин %s ичида', 33 | past: 'Бир неча %s олдин', 34 | s: 'фурсат', 35 | ss: '%d фурсат', 36 | m: 'бир дакика', 37 | mm: '%d дакика', 38 | h: 'бир соат', 39 | hh: '%d соат', 40 | d: 'бир кун', 41 | dd: '%d кун', 42 | M: 'бир ой', 43 | MM: '%d ой', 44 | y: 'бир йил', 45 | yy: '%d йил', 46 | }, 47 | week: { 48 | dow: 1, // Monday is the first day of the week. 49 | doy: 7, // The week that contains Jan 4th is the first week of the year. 50 | }, 51 | }); 52 | -------------------------------------------------------------------------------- /src/node_modules/moment/dist/locale/yo.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Yoruba Nigeria [yo] 3 | //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('yo', { 8 | months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( 9 | '_' 10 | ), 11 | monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), 12 | weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), 13 | weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), 14 | weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), 15 | longDateFormat: { 16 | LT: 'h:mm A', 17 | LTS: 'h:mm:ss A', 18 | L: 'DD/MM/YYYY', 19 | LL: 'D MMMM YYYY', 20 | LLL: 'D MMMM YYYY h:mm A', 21 | LLLL: 'dddd, D MMMM YYYY h:mm A', 22 | }, 23 | calendar: { 24 | sameDay: '[Ònì ni] LT', 25 | nextDay: '[Ọ̀la ni] LT', 26 | nextWeek: "dddd [Ọsẹ̀ tón'bọ] [ni] LT", 27 | lastDay: '[Àna ni] LT', 28 | lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', 29 | sameElse: 'L', 30 | }, 31 | relativeTime: { 32 | future: 'ní %s', 33 | past: '%s kọjá', 34 | s: 'ìsẹjú aayá die', 35 | ss: 'aayá %d', 36 | m: 'ìsẹjú kan', 37 | mm: 'ìsẹjú %d', 38 | h: 'wákati kan', 39 | hh: 'wákati %d', 40 | d: 'ọjọ́ kan', 41 | dd: 'ọjọ́ %d', 42 | M: 'osù kan', 43 | MM: 'osù %d', 44 | y: 'ọdún kan', 45 | yy: 'ọdún %d', 46 | }, 47 | dayOfMonthOrdinalParse: /ọjọ́\s\d{1,2}/, 48 | ordinal: 'ọjọ́ %d', 49 | week: { 50 | dow: 1, // Monday is the first day of the week. 51 | doy: 4, // The week that contains Jan 4th is the first week of the year. 52 | }, 53 | }); 54 | -------------------------------------------------------------------------------- /src/node_modules/mp-html/static/app-plus/mp-html/local.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /src/node_modules/qs-canvas/LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2022, 取舍 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /src/node_modules/qs-canvas/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qs-canvas", 3 | "version": "1.0.11", 4 | "main": "index.js", 5 | "author": "qushe", 6 | "license": "BSD 3-Clause", 7 | "keywords": ["canvas"] 8 | } 9 | -------------------------------------------------------------------------------- /src/node_modules/qs-canvas/view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/node_modules/qs-canvas/view.png -------------------------------------------------------------------------------- /src/pages/public/url.vue: -------------------------------------------------------------------------------- 1 | 6 | 31 | -------------------------------------------------------------------------------- /src/pages/set/about/detail.vue: -------------------------------------------------------------------------------- 1 | 12 | 48 | 67 | -------------------------------------------------------------------------------- /src/pages/set/helper/detail.vue: -------------------------------------------------------------------------------- 1 | 13 | 46 | 59 | -------------------------------------------------------------------------------- /src/request.ts: -------------------------------------------------------------------------------- 1 | type N = Record -------------------------------------------------------------------------------- /src/response/address.ts: -------------------------------------------------------------------------------- 1 | export interface AddressItem { 2 | id: string; 3 | merchant_id: string; 4 | shop_id: string; 5 | member_id: string; 6 | realname: string; 7 | mobile: string; 8 | province_id: string; 9 | city_id: string; 10 | area_id: string; 11 | name: string; 12 | details: string; 13 | street_number: string; 14 | longitude: string; 15 | latitude: string; 16 | floor_level: string; 17 | zip_code: string; 18 | tel_no: string; 19 | is_default: string; 20 | status: string; 21 | created_at: string; 22 | updated_at: string; 23 | } 24 | -------------------------------------------------------------------------------- /src/response/cart.ts: -------------------------------------------------------------------------------- 1 | export interface Cart { 2 | carts: Carts[]; 3 | lose_efficacy: AnyObject[]; 4 | } 5 | 6 | export interface Carts { 7 | merchant: Merchant; 8 | items: Items[]; 9 | plusBuyList: AnyObject[]; 10 | selected: boolean; 11 | } 12 | 13 | export interface Items { 14 | marketing: Marketing; 15 | products: Products[]; 16 | } 17 | 18 | export interface Marketing { 19 | id: string; 20 | merchant_id: string; 21 | product_id: string; 22 | sku_id: string; 23 | marketing_product_id: string; 24 | marketing_id: string; 25 | marketing_type: string; 26 | marketing_data: MarketingData; 27 | discount: string; 28 | discount_type: string; 29 | marketing_sales: string; 30 | marketing_stock: string; 31 | start_time: string; 32 | end_time: string; 33 | number: string; 34 | min_buy: string; 35 | max_buy: string; 36 | decimal_reservation_number: string; 37 | marketing_price: string; 38 | is_min_price: string; 39 | status: string; 40 | } 41 | 42 | export interface MarketingData { 43 | tmp_money: number; 44 | tmp_price: string; 45 | tmp_discount: string; 46 | tmp_deduction: string; 47 | tmp_discount_type_explain: string; 48 | } 49 | 50 | export interface Merchant { 51 | id: string; 52 | title: string; 53 | cover: string; 54 | address_name: string; 55 | address_details: string; 56 | longitude: string; 57 | latitude: string; 58 | collect_num: string; 59 | } 60 | 61 | export interface Products { 62 | id: string; 63 | selected: boolean; 64 | merchant_id: string; 65 | marketing_id: string; 66 | marketing_type: string; 67 | price: string; 68 | number: string; 69 | product_id: string; 70 | product_picture: string; 71 | product_name: string; 72 | sku_id: string; 73 | sku_name: string; 74 | status: string; 75 | remark: string; 76 | original_price: string; 77 | min_buy: number; 78 | max_buy: number; 79 | marketing_price: string; 80 | stock: string; 81 | } 82 | 83 | -------------------------------------------------------------------------------- /src/response/category.ts: -------------------------------------------------------------------------------- 1 | export interface Config { 2 | type: string; 3 | } 4 | 5 | export interface CustomCategory { 6 | list: CategoryItem[]; 7 | config: Config; 8 | } 9 | 10 | export interface CategoryItem { 11 | id: string; 12 | title: string; 13 | pid: string; 14 | cover: string; 15 | level: string; 16 | isActive: boolean; 17 | child: CategoryItem[]; 18 | } 19 | 20 | export interface CateItem { 21 | jump_type: string; 22 | jump_link: string; 23 | id: string; 24 | cover: string; 25 | } 26 | -------------------------------------------------------------------------------- /src/response/evaluation.ts: -------------------------------------------------------------------------------- 1 | // 评价商品 2 | export interface evaluationProductItem { 3 | id: string; 4 | merchant_id: string; 5 | buyer_id: string; 6 | order_id: string; 7 | order_sn: string; 8 | store_id: string; 9 | product_id: string; 10 | product_name: string; 11 | product_money: string; 12 | product_original_money: string; 13 | product_picture: string; 14 | sku_id: string; 15 | sku_name: string; 16 | sku_no: string; 17 | barcode: string; 18 | price: string; 19 | cost_price: string; 20 | profit_price: string; 21 | num: string; 22 | adjust_money: string; 23 | point_exchange_type: string; 24 | product_type: string; 25 | marketing_id: string; 26 | marketing_type: string; 27 | order_type: string; 28 | order_status: string; 29 | give_point: string; 30 | give_growth: string; 31 | give_coin: string; 32 | shipping_status: string; 33 | is_oversold: string; 34 | is_evaluate: string; 35 | supplier_id: string; 36 | supplier_name: string; 37 | gift_flag: string; 38 | refund_money: string; 39 | refund_num: string; 40 | refund_status: string; 41 | after_sale_id: string; 42 | is_commission: string; 43 | status: string; 44 | created_at: string; 45 | updated_at: string; 46 | imageList: string[]; 47 | content: string; 48 | scores: number; 49 | is_anonymous: number; 50 | } 51 | -------------------------------------------------------------------------------- /src/response/excellent.ts: -------------------------------------------------------------------------------- 1 | export interface EvaluateStat { 2 | id: string; 3 | merchant_id: string; 4 | product_id: string; 5 | cover_num: string; 6 | video_num: string; 7 | again_num: string; 8 | good_num: string; 9 | ordinary_num: string; 10 | negative_num: string; 11 | total_num: string; 12 | tags?: any; 13 | status: string; 14 | } 15 | 16 | export interface FirstEvaluate { 17 | id: string; 18 | product_id: string; 19 | sku_name: string; 20 | content: string; 21 | member_id: string; 22 | member_nickname: string; 23 | member_head_portrait: string; 24 | is_anonymous: string; 25 | scores: string; 26 | explain_type: string; 27 | created_at: string; 28 | } 29 | 30 | export interface BaseMerchant { 31 | id: string; 32 | title: string; 33 | cover: string; 34 | address_name: string; 35 | address_details: string; 36 | longitude: string; 37 | latitude: string; 38 | collect_num: string; 39 | } 40 | 41 | export interface ExcellentItem { 42 | id: string; 43 | name: string; 44 | sketch: string; 45 | keywords: string; 46 | picture: string; 47 | tags: string[]; 48 | view: string; 49 | type: string; 50 | match_point: string; 51 | price: number; 52 | market_price: number; 53 | stock: string; 54 | total_sales: string; 55 | merchant_id: string; 56 | shipping_type: string; 57 | is_member_discount: string; 58 | is_commission: string; 59 | member_discount_type: string; 60 | max_use_point: string; 61 | give_point: string; 62 | match_ratio: string; 63 | unit: string; 64 | marketing?: any; 65 | evaluateStat: EvaluateStat; 66 | firstEvaluate: FirstEvaluate; 67 | baseMerchant: BaseMerchant; 68 | marketing_id: string; 69 | marketing_type: string; 70 | predict_brokerage: number; 71 | member_discount_price: number; 72 | memberHeadPortrait: string[]; 73 | } 74 | -------------------------------------------------------------------------------- /src/response/feedback.ts: -------------------------------------------------------------------------------- 1 | export interface Feedback { 2 | id: string; 3 | merchant_id: string; 4 | member_id: string; 5 | content: string; 6 | covers: string; 7 | contact_way: string; 8 | reply: string; 9 | type: string; 10 | from: string; 11 | sort: string; 12 | status: string; 13 | created_at: string; 14 | updated_at: string; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/response/helper.ts: -------------------------------------------------------------------------------- 1 | export interface Helper { 2 | id: string; 3 | title: string; 4 | pid: string; 5 | level: string; 6 | content: string; 7 | child: Helper[]; 8 | } 9 | -------------------------------------------------------------------------------- /src/response/live.ts: -------------------------------------------------------------------------------- 1 | export interface LiveItem { 2 | id: string; 3 | merchant_id: string; 4 | shop_id: string; 5 | name: string; 6 | roomid: string; 7 | cover_img: string; 8 | share_img: string; 9 | live_status: string; 10 | start_time: string; 11 | end_time: string; 12 | anchor_name: string; 13 | anchor_wechat: string; 14 | sub_anchor_wechat: string; 15 | live_type: string; 16 | creater_openid: string; 17 | creater_wechat: string; 18 | close_like: string; 19 | close_goods: string; 20 | close_comment: string; 21 | close_share: string; 22 | close_kf: string; 23 | close_replay: string; 24 | is_feeds_public: string; 25 | feeds_img: string; 26 | total: string; 27 | playback?: any; 28 | push_addr: string; 29 | assistant?: any; 30 | cover_media: string; 31 | share_media: string; 32 | feeds_media: string; 33 | share_path: string; 34 | qrcode_url: string; 35 | is_recommend: string; 36 | is_stick: string; 37 | status: string; 38 | created_at: string; 39 | updated_at: string; 40 | } 41 | -------------------------------------------------------------------------------- /src/response/payment.ts: -------------------------------------------------------------------------------- 1 | import { OrderGroupEnum, PayTypeEnum } from "@/enum/paymentEnum"; 2 | import { Route } from "@/response/route"; 3 | 4 | export interface paymentConfig { 5 | order_group: OrderGroupEnum; // 订单组别 6 | code: string; // 平台授权码 7 | pay_type: PayTypeEnum; // 支付类型 8 | trade_type: string; // 交易类别 9 | data: string; // 提交的数据 例如: {“order_id”:199}; 10 | openid: string; // 授权用户ID 11 | route: Route; 12 | query: object; 13 | } 14 | 15 | export interface RechargeConfigItem { 16 | id: string; 17 | merchant_id: string; 18 | price: string; 19 | give_price: string; 20 | give_point: string; 21 | give_growth: string; 22 | sort: string; 23 | status: string; 24 | created_at: string; 25 | updated_at: string; 26 | } 27 | -------------------------------------------------------------------------------- /src/response/productCode.ts: -------------------------------------------------------------------------------- 1 | // 核销码订单 2 | export interface OrderProductCodeItem { 3 | id: string; 4 | remark: string; 5 | merchant_id: string; 6 | shop_id: string; 7 | member_id: string; 8 | sku_id: string; 9 | product_id: string; 10 | product_type: string; 11 | code: string; 12 | order_id: string; 13 | order_sn: string; 14 | order_product_id: string; 15 | fixed_term: string; 16 | start_time: string; 17 | end_time?: string; 18 | use_number: string; 19 | confine_use_number: string; 20 | use_rules: string; 21 | state: string; 22 | use_time: string; 23 | past_due_auto_refund: string; 24 | unite_no: string; 25 | status: string; 26 | created_at: string; 27 | updated_at: string; 28 | product: Product; 29 | } 30 | export interface Product { 31 | id: string; 32 | merchant_id: string; 33 | buyer_id: string; 34 | order_id: string; 35 | order_sn: string; 36 | store_id: string; 37 | product_id: string; 38 | product_name: string; 39 | product_money: string; 40 | product_original_money: string; 41 | product_picture: string; 42 | sku_id: string; 43 | sku_name: string; 44 | sku_no: string; 45 | barcode: string; 46 | price: string; 47 | cost_price: string; 48 | profit_price: string; 49 | num: string; 50 | adjust_money: string; 51 | point_exchange_type: string; 52 | product_type: string; 53 | marketing_id: string; 54 | marketing_type: string; 55 | order_type: string; 56 | order_status: string; 57 | give_point: string; 58 | give_growth: string; 59 | give_coin: string; 60 | shipping_status: string; 61 | is_oversold: string; 62 | is_evaluate: string; 63 | supplier_id: string; 64 | supplier_name: string; 65 | gift_flag: string; 66 | refund_money: string; 67 | refund_num: string; 68 | refund_type: string; 69 | refund_status: string; 70 | after_sale_id: string; 71 | is_commission: string; 72 | status: string; 73 | created_at: string; 74 | updated_at: string; 75 | } 76 | -------------------------------------------------------------------------------- /src/response/route.ts: -------------------------------------------------------------------------------- 1 | export interface Route { 2 | path: string, 3 | name: string 4 | } 5 | -------------------------------------------------------------------------------- /src/response/service.ts: -------------------------------------------------------------------------------- 1 | interface Config { 2 | service_mobile: string; 3 | service_working_hours: string; 4 | service_on_line_working_hours: string; 5 | } 6 | 7 | export interface ServiceQuestions { 8 | config: Config; 9 | questions: Questions[]; 10 | } 11 | 12 | interface Questions { 13 | id: string; 14 | title: string; 15 | } 16 | 17 | export interface Question { 18 | id: number; 19 | merchant_id: number; 20 | shop_id: number; 21 | title: string; 22 | content: string; 23 | view: number; 24 | sort: number; 25 | status: number; 26 | created_at: number; 27 | updated_at: number; 28 | } 29 | -------------------------------------------------------------------------------- /src/response/upload.ts: -------------------------------------------------------------------------------- 1 | export interface UploadImage { 2 | upload_type: string; 3 | drive: string; 4 | name: string; 5 | extension: string; 6 | size: number; 7 | width: number; 8 | height: number; 9 | path: string; 10 | specific_type: string; 11 | url: string; 12 | year: string; 13 | month: string; 14 | day: string; 15 | member_id: number; 16 | ip: string; 17 | req_id: string; 18 | format_size: string; 19 | created_at: number; 20 | updated_at: number; 21 | merchant_id: number; 22 | id: number; 23 | merge: boolean; 24 | guid: string; 25 | chunk: number; 26 | chunks: string; 27 | } 28 | -------------------------------------------------------------------------------- /src/response/version.ts: -------------------------------------------------------------------------------- 1 | export interface AppVersion { 2 | id: string; 3 | merchant_id: string; 4 | title: string; 5 | app_name: string; 6 | version_id: string; 7 | version: string; 8 | package_size: string; 9 | type: string; 10 | content: string; 11 | download_url: string; 12 | is_enforce: string; 13 | download_num: string; 14 | status: string; 15 | created_at: string; 16 | updated_at: string; 17 | } 18 | -------------------------------------------------------------------------------- /src/static/image/common/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/alipay.png -------------------------------------------------------------------------------- /src/static/image/common/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/apple.png -------------------------------------------------------------------------------- /src/static/image/common/byte-dance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/byte-dance.png -------------------------------------------------------------------------------- /src/static/image/common/default-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/default-img.png -------------------------------------------------------------------------------- /src/static/image/common/errorImage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/errorImage.jpg -------------------------------------------------------------------------------- /src/static/image/common/kj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/kj.png -------------------------------------------------------------------------------- /src/static/image/common/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/logo.png -------------------------------------------------------------------------------- /src/static/image/common/missing-face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/missing-face.png -------------------------------------------------------------------------------- /src/static/image/common/money-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/money-bg.png -------------------------------------------------------------------------------- /src/static/image/common/no-net-work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/no-net-work.png -------------------------------------------------------------------------------- /src/static/image/common/not-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/not-data.png -------------------------------------------------------------------------------- /src/static/image/common/not-found.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/not-found.png -------------------------------------------------------------------------------- /src/static/image/common/open-site-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/open-site-bg.png -------------------------------------------------------------------------------- /src/static/image/common/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/qq.png -------------------------------------------------------------------------------- /src/static/image/common/recommend-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/recommend-tag.png -------------------------------------------------------------------------------- /src/static/image/common/share-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/share-bg.png -------------------------------------------------------------------------------- /src/static/image/common/taobao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/taobao.png -------------------------------------------------------------------------------- /src/static/image/common/tg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/tg.png -------------------------------------------------------------------------------- /src/static/image/common/upgrade-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/upgrade-top.png -------------------------------------------------------------------------------- /src/static/image/common/vip-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/vip-bg.png -------------------------------------------------------------------------------- /src/static/image/common/vip-price.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/vip-price.png -------------------------------------------------------------------------------- /src/static/image/common/vip_member_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/vip_member_bg.png -------------------------------------------------------------------------------- /src/static/image/common/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/wechat.png -------------------------------------------------------------------------------- /src/static/image/common/weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/weibo.png -------------------------------------------------------------------------------- /src/static/image/common/zk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/common/zk.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-0.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-1.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-2.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-3.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-4.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-5.png -------------------------------------------------------------------------------- /src/static/image/decorate/text-tag-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/decorate/text-tag-6.png -------------------------------------------------------------------------------- /src/static/image/distribute/distribute-apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/distribute-apply.png -------------------------------------------------------------------------------- /src/static/image/distribute/distribute-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/distribute-bg.png -------------------------------------------------------------------------------- /src/static/image/distribute/distribute-index-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/distribute-index-bg.png -------------------------------------------------------------------------------- /src/static/image/distribute/distribute-rank-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/distribute-rank-bg.png -------------------------------------------------------------------------------- /src/static/image/distribute/distribute-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/distribute-tag.png -------------------------------------------------------------------------------- /src/static/image/distribute/first.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/first.png -------------------------------------------------------------------------------- /src/static/image/distribute/second.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/second.png -------------------------------------------------------------------------------- /src/static/image/distribute/third.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/distribute/third.png -------------------------------------------------------------------------------- /src/static/image/marketing/bargain-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/bargain-banner.png -------------------------------------------------------------------------------- /src/static/image/marketing/bargain-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/bargain-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/bargain-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/bargain-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/default-prize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/default-prize.png -------------------------------------------------------------------------------- /src/static/image/marketing/discount-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/discount-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/group-buy-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/group-buy-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/point-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/point-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/presell-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/presell-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/product-code-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/product-code-input.png -------------------------------------------------------------------------------- /src/static/image/marketing/product-code-scan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/product-code-scan.png -------------------------------------------------------------------------------- /src/static/image/marketing/sec-kill-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/sec-kill-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/vip-btn-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/vip-btn-bg.png -------------------------------------------------------------------------------- /src/static/image/marketing/vip-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/vip-icon.png -------------------------------------------------------------------------------- /src/static/image/marketing/wholesale-tag-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/marketing/wholesale-tag-bg.png -------------------------------------------------------------------------------- /src/static/image/profile/distribute-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/profile/distribute-banner.png -------------------------------------------------------------------------------- /src/static/image/profile/invalid-coupon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/profile/invalid-coupon.png -------------------------------------------------------------------------------- /src/static/image/profile/to-vip-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/profile/to-vip-bg.png -------------------------------------------------------------------------------- /src/static/image/profile/used-coupon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/profile/used-coupon.png -------------------------------------------------------------------------------- /src/static/image/profile/user-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/profile/user-bg.png -------------------------------------------------------------------------------- /src/static/image/profile/vip-card-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/profile/vip-card-bg.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-bg.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-checked.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-coupon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-coupon.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-growth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-growth.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-more.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-point.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-rank-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-rank-bg.png -------------------------------------------------------------------------------- /src/static/image/sign/sign-in-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/sign/sign-in-success.png -------------------------------------------------------------------------------- /src/static/image/tabbar/fenlei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/fenlei.png -------------------------------------------------------------------------------- /src/static/image/tabbar/fenlei_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/fenlei_select.png -------------------------------------------------------------------------------- /src/static/image/tabbar/gouwuche.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/gouwuche.png -------------------------------------------------------------------------------- /src/static/image/tabbar/gouwuche_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/gouwuche_select.png -------------------------------------------------------------------------------- /src/static/image/tabbar/shouye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/shouye.png -------------------------------------------------------------------------------- /src/static/image/tabbar/shouye_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/shouye_select.png -------------------------------------------------------------------------------- /src/static/image/tabbar/wode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/wode.png -------------------------------------------------------------------------------- /src/static/image/tabbar/wode_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/wode_select.png -------------------------------------------------------------------------------- /src/static/image/tabbar/xiaoxi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/xiaoxi.png -------------------------------------------------------------------------------- /src/static/image/tabbar/xiaoxi_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/static/image/tabbar/xiaoxi_select.png -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- 1 | import { InjectionKey } from "vue" 2 | import { loadModules, context, modules } from "./modules" 3 | import { createStore, useStore as baseUseStore, Store, createLogger } from "vuex" 4 | 5 | export interface State { 6 | [key: string]: any 7 | } 8 | 9 | export const key: InjectionKey> = Symbol(); 10 | 11 | const store = createStore({ 12 | modules 13 | }); 14 | 15 | export function useStore() { 16 | return baseUseStore(); 17 | } 18 | 19 | // 热重载 20 | if (import.meta.hot) { 21 | import.meta.hot?.accept(Object.keys(context), () => { 22 | const { modules } = loadModules() 23 | store.hotUpdate({ 24 | modules 25 | }) 26 | }) 27 | } 28 | 29 | export default store; 30 | -------------------------------------------------------------------------------- /src/store/modules/cart.ts: -------------------------------------------------------------------------------- 1 | import { Module } from "vuex"; 2 | const CARTLIST: string = uni.getStorageSync("cartList") || {}; 3 | 4 | interface StoreCart { 5 | cartList: string 6 | } 7 | 8 | const store: Module = { 9 | namespaced: true, 10 | state() { 11 | return { 12 | // 购物车数字角标 13 | cartList: CARTLIST 14 | }; 15 | }, 16 | mutations: { 17 | setCartList(state: StoreCart, payload: AnyObject) { 18 | state.cartList = payload.cartList; 19 | uni.setStorageSync("cartList", payload.cartList); 20 | } 21 | }, 22 | getters: { 23 | getCartList(state: StoreCart) { 24 | return state.cartList; 25 | } 26 | } 27 | }; 28 | 29 | export default store; 30 | -------------------------------------------------------------------------------- /src/store/modules/index.ts: -------------------------------------------------------------------------------- 1 | export function loadModules() { 2 | const context = import.meta.globEager("./*.ts") as AnyObject; 3 | 4 | const modules: AnyObject = {}; 5 | 6 | Object.keys(context).forEach((key: string) => { 7 | if (key === "./index.ts") return; 8 | modules[key.replace(/(\.\/|\.ts)/g, "")] = context[key].default; 9 | }); 10 | 11 | return { context, modules }; 12 | } 13 | 14 | export const { context, modules } = loadModules(); 15 | -------------------------------------------------------------------------------- /src/store/modules/locale.ts: -------------------------------------------------------------------------------- 1 | import { Module } from "vuex"; 2 | import siteConfig from "@/config/site"; 3 | import {setLanguage} from "@/locales"; 4 | 5 | const LOCALE: string = uni.getStorageSync("locale") || siteConfig.locale; 6 | 7 | interface localeObj { 8 | locale: string 9 | } 10 | 11 | 12 | const store: Module = { 13 | namespaced: true, 14 | state() { 15 | return { 16 | locale: LOCALE 17 | }; 18 | }, 19 | mutations: { 20 | setLocale(state: localeObj, payload: AnyObject) { 21 | state.locale = payload.locale; 22 | uni.setStorageSync("locale", state.locale); 23 | setLanguage(state.locale); 24 | } 25 | }, 26 | actions: { 27 | setLocale(context, payload: AnyObject) { 28 | context.commit("setLocale", payload); 29 | } 30 | }, 31 | getters: { 32 | getLocale(state: localeObj) { 33 | return state.locale; 34 | } 35 | } 36 | }; 37 | 38 | export default store; 39 | -------------------------------------------------------------------------------- /src/store/modules/notify.ts: -------------------------------------------------------------------------------- 1 | import { Module } from "vuex"; 2 | const CARTNUM: string = uni.getStorageSync("cartNum") || 0; 3 | const NOTIFYNUM: string = uni.getStorageSync("notifyNum") || 0; 4 | 5 | interface StoreNotify { 6 | cartNum: string, 7 | notifyNum: string 8 | } 9 | 10 | const store: Module = { 11 | namespaced: true, 12 | state() { 13 | return { 14 | // 购物车数字角标 15 | cartNum: CARTNUM, 16 | // 消息中心数字角标 17 | notifyNum: NOTIFYNUM 18 | }; 19 | }, 20 | mutations: { 21 | setCartNum(state: StoreNotify, payload: AnyObject) { 22 | state.cartNum = payload.cartNum; 23 | uni.setStorageSync("cartNum", payload.cartNum); 24 | }, 25 | setNotifyNum(state: StoreNotify, payload: AnyObject) { 26 | state.notifyNum = payload.notifyNum; 27 | uni.setStorageSync("notifyNum", payload.notifyNum); 28 | } 29 | }, 30 | getters: { 31 | getCartNum(state: StoreNotify) { 32 | return state.cartNum; 33 | }, 34 | getNotifyNum(state: StoreNotify) { 35 | return state.notifyNum; 36 | } 37 | } 38 | }; 39 | 40 | export default store; 41 | -------------------------------------------------------------------------------- /src/store/modules/theme.ts: -------------------------------------------------------------------------------- 1 | import { Module } from "vuex"; 2 | import siteConfig from "@/config/site"; 3 | import constDataConfig from "@/config/constData"; 4 | 5 | const THEMECOLOR: string = 6 | uni.getStorageSync("themeColor") || siteConfig.themeColor; 7 | 8 | interface themeColorObj { 9 | themeColor: string; 10 | } 11 | 12 | const store: Module = { 13 | namespaced: true, 14 | state() { 15 | return { 16 | themeColor: THEMECOLOR, 17 | }; 18 | }, 19 | mutations: { 20 | setThemeColor(state: themeColorObj, payload: AnyObject) { 21 | state.themeColor = payload.name; 22 | uni.setStorageSync("themeColor", state.themeColor); 23 | }, 24 | }, 25 | actions: { 26 | setThemeColor(context, payload: AnyObject) { 27 | context.commit("setThemeColor", payload); 28 | }, 29 | }, 30 | getters: { 31 | getThemeColor(state: themeColorObj) { 32 | const theme: any = constDataConfig.themeList.filter( 33 | (item) => item.name === state.themeColor 34 | )[0]; 35 | return theme; 36 | }, 37 | }, 38 | }; 39 | 40 | export default store; 41 | -------------------------------------------------------------------------------- /src/uni.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是uni-app内置的常用样式变量 3 | * 4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App 6 | * 7 | */ 8 | 9 | /** 10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 11 | * 12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 13 | */ 14 | 15 | 16 | /* 图片尺寸 */ 17 | $img-size-sm:40rpx; 18 | $img-size-base:52rpx; 19 | $img-size-lg:80rpx; 20 | 21 | /* 页面左右间距 */ 22 | $page-base-spacing: 24rpx; 23 | $spacing-lg: 30rpx; 24 | $spacing-base: 20rpx; 25 | $spacing-sm: 10rpx; 26 | 27 | $color-white: #fff; 28 | $color-black: #000; 29 | 30 | $page-row-spacing: 30rpx; 31 | $page-color-base: #f8f8f8; 32 | $page-color-light: #fefefe; 33 | $page-color-dark: #f1f1f1; 34 | $base-color: #fa436a; 35 | 36 | /* 文字尺寸 */ 37 | $font-xs: 22rpx; 38 | $font-sm: 24rpx; 39 | $font-base: 28rpx; 40 | $font-lg: 32rpx; 41 | 42 | /*文字颜色*/ 43 | $font-color-dark: #333; 44 | $font-color-base: #666; 45 | $font-color-light: #999999; 46 | $font-color-disabled: #ccc; 47 | $font-color-spec: #4399fc; 48 | 49 | /* 边框颜色 */ 50 | $border-color-dark: #DCDFE6; 51 | $border-color-base: #ededed; 52 | $border-color-light: #f5f5f5; 53 | $border-radius-sm: 6rpx; 54 | $border-radius-base: 12rpx; 55 | $border-radius-lg: 18rpx; 56 | 57 | /* 图片加载中颜色 */ 58 | $image-bg-color: #eee; 59 | 60 | /* 行为相关颜色 */ 61 | $uni-color-primary:#fa436a; 62 | $uni-color-success: #4cd964; 63 | $uni-color-warning: #f0ad4e; 64 | $uni-color-error: #dd524d; 65 | -------------------------------------------------------------------------------- /src/uni_modules/uni-icons/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.5(2022-01-24) 2 | - 优化 size 属性可以传入不带单位的字符串数值 3 | ## 1.3.4(2022-01-24) 4 | - 优化 size 支持其他单位 5 | ## 1.3.3(2022-01-17) 6 | - 修复 nvue 有些图标不显示的bug,兼容老版本图标 7 | ## 1.3.2(2021-12-01) 8 | - 优化 示例可复制图标名称 9 | ## 1.3.1(2021-11-23) 10 | - 优化 兼容旧组件 type 值 11 | ## 1.3.0(2021-11-19) 12 | - 新增 更多图标 13 | - 优化 自定义图标使用方式 14 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 15 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) 16 | ## 1.1.7(2021-11-08) 17 | ## 1.2.0(2021-07-30) 18 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 19 | ## 1.1.5(2021-05-12) 20 | - 新增 组件示例地址 21 | ## 1.1.4(2021-02-05) 22 | - 调整为uni_modules目录规范 23 | -------------------------------------------------------------------------------- /src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jianyan74/TinyShop-UniApp/3a17db373e66bc95cde8bbf1534392ee3bc2da77/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf -------------------------------------------------------------------------------- /src/uni_modules/uni-icons/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-icons", 3 | "displayName": "uni-icons 图标", 4 | "version": "1.3.5", 5 | "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "icon", 10 | "图标" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "^3.2.14" 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 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-icons/readme.md: -------------------------------------------------------------------------------- 1 | ## Icons 图标 2 | > **组件名:uni-icons** 3 | > 代码块: `uIcons` 4 | 5 | 用于展示 icons 图标 。 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | -------------------------------------------------------------------------------- /src/uni_modules/uni-nav-bar/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.11(2023-03-29) 2 | - 修复 自定义状态栏高度闪动BUG 3 | ## 1.3.10(2023-03-29) 4 | - 修复 暗黑模式下边线颜色错误的bug 5 | ## 1.3.9(2022-10-13) 6 | - 修复 条件编译错误的bug 7 | ## 1.3.8(2022-10-12) 8 | - 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug 9 | ## 1.3.7(2022-08-11) 10 | - 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug 11 | ## 1.3.6(2022-06-30) 12 | - 修复 组件示例中插槽用法无法显示内容的bug 13 | ## 1.3.5(2022-05-24) 14 | - 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效 15 | ## 1.3.4(2022-01-24) 16 | - 更新 组件示例 17 | ## 1.3.3(2022-01-24) 18 | - 新增 left-width/right-width属性 ,可修改左右两侧的宽度 19 | ## 1.3.2(2022-01-18) 20 | - 修复 在vue下,标题不垂直居中的bug 21 | ## 1.3.1(2022-01-18) 22 | - 修复 height 属性类型错误 23 | ## 1.3.0(2022-01-18) 24 | - 新增 height 属性,可修改组件高度 25 | - 新增 dark 属性可可开启暗黑模式 26 | - 优化 标题字数过多显示省略号 27 | - 优化 插槽,插入内容可完全覆盖 28 | ## 1.2.1(2022-01-10) 29 | - 修复 color 属性不生效的bug 30 | ## 1.2.0(2021-11-19) 31 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 32 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) 33 | ## 1.1.0(2021-07-30) 34 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 35 | ## 1.0.11(2021-05-12) 36 | - 新增 组件示例地址 37 | ## 1.0.10(2021-04-30) 38 | - 修复 在nvue下fixed为true,宽度不能撑满的Bug 39 | ## 1.0.9(2021-04-21) 40 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 41 | ## 1.0.8(2021-04-14) 42 | - uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug 43 | 44 | ## 1.0.7(2021-02-25) 45 | - 修复 easycom 下,找不到 uni-status-bar 的bug 46 | 47 | ## 1.0.6(2021-02-05) 48 | - 优化 组件引用关系,通过uni_modules引用组件 49 | 50 | ## 1.0.5(2021-02-05) 51 | - 调整为uni_modules目录规范 52 | -------------------------------------------------------------------------------- /src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 | 25 | -------------------------------------------------------------------------------- /src/uni_modules/uni-nav-bar/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-nav-bar", 3 | "displayName": "uni-nav-bar 自定义导航栏", 4 | "version": "1.3.11", 5 | "description": "自定义导航栏组件,主要用于头部导航。", 6 | "keywords": [ 7 | "uni-ui", 8 | "导航", 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 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": [ 41 | "uni-scss", 42 | "uni-icons" 43 | ], 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 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-nav-bar/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## NavBar 导航栏 4 | > **组件名:uni-nav-bar** 5 | > 代码块: `uNavBar` 6 | 7 | 导航栏组件,主要用于头部导航。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.8.3(2023-04-17) 2 | - 修复 uni-popup 重复打开时的 bug 3 | ## 1.8.2(2023-02-02) 4 | - uni-popup-dialog 组件新增 inputType 属性 5 | ## 1.8.1(2022-12-01) 6 | - 修复 nvue 下 v-show 报错 7 | ## 1.8.0(2022-11-29) 8 | - 优化 主题样式 9 | ## 1.7.9(2022-04-02) 10 | - 修复 弹出层内部无法滚动的bug 11 | ## 1.7.8(2022-03-28) 12 | - 修复 小程序中高度错误的bug 13 | ## 1.7.7(2022-03-17) 14 | - 修复 快速调用open出现问题的Bug 15 | ## 1.7.6(2022-02-14) 16 | - 修复 safeArea 属性不能设置为false的bug 17 | ## 1.7.5(2022-01-19) 18 | - 修复 isMaskClick 失效的bug 19 | ## 1.7.4(2022-01-19) 20 | - 新增 cancelText \ confirmText 属性 ,可自定义文本 21 | - 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色 22 | - 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题 23 | ## 1.7.3(2022-01-13) 24 | - 修复 设置 safeArea 属性不生效的bug 25 | ## 1.7.2(2021-11-26) 26 | - 优化 组件示例 27 | ## 1.7.1(2021-11-26) 28 | - 修复 vuedoc 文字错误 29 | ## 1.7.0(2021-11-19) 30 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 31 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-popup](https://uniapp.dcloud.io/component/uniui/uni-popup) 32 | ## 1.6.2(2021-08-24) 33 | - 新增 支持国际化 34 | ## 1.6.1(2021-07-30) 35 | - 优化 vue3下事件警告的问题 36 | ## 1.6.0(2021-07-13) 37 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 38 | ## 1.5.0(2021-06-23) 39 | - 新增 mask-click 遮罩层点击事件 40 | ## 1.4.5(2021-06-22) 41 | - 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug 42 | ## 1.4.4(2021-06-18) 43 | - 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug 44 | ## 1.4.3(2021-06-08) 45 | - 修复 错误的 watch 字段 46 | - 修复 safeArea 属性不生效的问题 47 | - 修复 点击内容,再点击遮罩无法关闭的Bug 48 | ## 1.4.2(2021-05-12) 49 | - 新增 组件示例地址 50 | ## 1.4.1(2021-04-29) 51 | - 修复 组件内放置 input 、textarea 组件,无法聚焦的问题 52 | ## 1.4.0 (2021-04-29) 53 | - 新增 type 属性的 left\right 值,支持左右弹出 54 | - 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗 55 | - 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色 56 | - 新增 safeArea 属性,是否适配底部安全区 57 | - 修复 App\h5\微信小程序底部安全区占位不对的Bug 58 | - 修复 App 端弹出等待的Bug 59 | - 优化 提升低配设备性能,优化动画卡顿问题 60 | - 优化 更简单的组件自定义方式 61 | ## 1.2.9(2021-02-05) 62 | - 优化 组件引用关系,通过uni_modules引用组件 63 | ## 1.2.8(2021-02-05) 64 | - 调整为uni_modules目录规范 65 | ## 1.2.7(2021-02-05) 66 | - 调整为uni_modules目录规范 67 | - 新增 支持 PC 端 68 | - 新增 uni-popup-message 、uni-popup-dialog扩展组件支持 PC 端 69 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup-dialog/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 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-popup.cancel": "cancel", 3 | "uni-popup.ok": "ok", 4 | "uni-popup.placeholder": "pleace enter", 5 | "uni-popup.title": "Hint", 6 | "uni-popup.shareTitle": "Share to" 7 | } 8 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup/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 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-popup.cancel": "取消", 3 | "uni-popup.ok": "确定", 4 | "uni-popup.placeholder": "请输入", 5 | "uni-popup.title": "提示", 6 | "uni-popup.shareTitle": "分享到" 7 | } 8 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-popup.cancel": "取消", 3 | "uni-popup.ok": "確定", 4 | "uni-popup.placeholder": "請輸入", 5 | "uni-popup.title": "提示", 6 | "uni-popup.shareTitle": "分享到" 7 | } 8 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup/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 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/components/uni-popup/popup.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | data() { 4 | return { 5 | 6 | } 7 | }, 8 | created(){ 9 | this.popup = this.getParent() 10 | }, 11 | methods:{ 12 | /** 13 | * 获取父元素实例 14 | */ 15 | getParent(name = 'uniPopup') { 16 | let parent = this.$parent; 17 | let parentName = parent.$options.name; 18 | while (parentName !== name) { 19 | parent = parent.$parent; 20 | if (!parent) return false 21 | parentName = parent.$options.name; 22 | } 23 | return parent; 24 | }, 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-popup", 3 | "displayName": "uni-popup 弹出层", 4 | "version": "1.8.3", 5 | "description": " Popup 组件,提供常用的弹层", 6 | "keywords": [ 7 | "uni-ui", 8 | "弹出层", 9 | "弹窗", 10 | "popup", 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 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 38 | "type": "component-vue" 39 | }, 40 | "uni_modules": { 41 | "dependencies": [ 42 | "uni-scss", 43 | "uni-transition" 44 | ], 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 | -------------------------------------------------------------------------------- /src/uni_modules/uni-popup/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Popup 弹出层 4 | > **组件名:uni-popup** 5 | > 代码块: `uPopup` 6 | > 关联组件:`uni-transition` 7 | 8 | 9 | 弹出层组件,在应用中弹出一个消息提示窗口、提示框等 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-popup) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.3(2022-01-21) 2 | - 优化 组件示例 3 | ## 1.0.2(2021-11-22) 4 | - 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 5 | ## 1.0.1(2021-11-22) 6 | - 修复 vue3中scss语法兼容问题 7 | ## 1.0.0(2021-11-18) 8 | - init 9 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/index.scss: -------------------------------------------------------------------------------- 1 | @import './styles/index.scss'; 2 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-scss", 3 | "displayName": "uni-scss 辅助样式", 4 | "version": "1.0.3", 5 | "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", 6 | "keywords": [ 7 | "uni-scss", 8 | "uni-ui", 9 | "辅助样式" 10 | ], 11 | "repository": "https://github.com/dcloudio/uni-ui", 12 | "engines": { 13 | "HBuilderX": "^3.1.0" 14 | }, 15 | "dcloudext": { 16 | "category": [ 17 | "JS SDK", 18 | "通用 SDK" 19 | ], 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 37 | }, 38 | "uni_modules": { 39 | "dependencies": [], 40 | "encrypt": [], 41 | "platforms": { 42 | "cloud": { 43 | "tcb": "y", 44 | "aliyun": "y" 45 | }, 46 | "client": { 47 | "App": { 48 | "app-vue": "y", 49 | "app-nvue": "u" 50 | }, 51 | "H5-mobile": { 52 | "Safari": "y", 53 | "Android Browser": "y", 54 | "微信浏览器(Android)": "y", 55 | "QQ浏览器(Android)": "y" 56 | }, 57 | "H5-pc": { 58 | "Chrome": "y", 59 | "IE": "y", 60 | "Edge": "y", 61 | "Firefox": "y", 62 | "Safari": "y" 63 | }, 64 | "小程序": { 65 | "微信": "y", 66 | "阿里": "y", 67 | "百度": "y", 68 | "字节跳动": "y", 69 | "QQ": "y" 70 | }, 71 | "快应用": { 72 | "华为": "n", 73 | "联盟": "n" 74 | }, 75 | "Vue": { 76 | "vue2": "y", 77 | "vue3": "y" 78 | } 79 | } 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/readme.md: -------------------------------------------------------------------------------- 1 | `uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 2 | 3 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) 4 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting/_variables.scss'; 2 | @import './setting/_border.scss'; 3 | @import './setting/_color.scss'; 4 | @import './setting/_space.scss'; 5 | @import './setting/_radius.scss'; 6 | @import './setting/_text.scss'; 7 | @import './setting/_styles.scss'; 8 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/setting/_border.scss: -------------------------------------------------------------------------------- 1 | .uni-border { 2 | border: 1px $uni-border-1 solid; 3 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/setting/_color.scss: -------------------------------------------------------------------------------- 1 | 2 | // TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 3 | // @mixin get-styles($k,$c) { 4 | // @if $k == size or $k == weight{ 5 | // font-#{$k}:#{$c} 6 | // }@else{ 7 | // #{$k}:#{$c} 8 | // } 9 | // } 10 | $uni-ui-color:( 11 | // 主色 12 | primary: $uni-primary, 13 | primary-disable: $uni-primary-disable, 14 | primary-light: $uni-primary-light, 15 | // 辅助色 16 | success: $uni-success, 17 | success-disable: $uni-success-disable, 18 | success-light: $uni-success-light, 19 | warning: $uni-warning, 20 | warning-disable: $uni-warning-disable, 21 | warning-light: $uni-warning-light, 22 | error: $uni-error, 23 | error-disable: $uni-error-disable, 24 | error-light: $uni-error-light, 25 | info: $uni-info, 26 | info-disable: $uni-info-disable, 27 | info-light: $uni-info-light, 28 | // 中性色 29 | main-color: $uni-main-color, 30 | base-color: $uni-base-color, 31 | secondary-color: $uni-secondary-color, 32 | extra-color: $uni-extra-color, 33 | // 背景色 34 | bg-color: $uni-bg-color, 35 | // 边框颜色 36 | border-1: $uni-border-1, 37 | border-2: $uni-border-2, 38 | border-3: $uni-border-3, 39 | border-4: $uni-border-4, 40 | // 黑色 41 | black:$uni-black, 42 | // 白色 43 | white:$uni-white, 44 | // 透明 45 | transparent:$uni-transparent 46 | ) !default; 47 | @each $key, $child in $uni-ui-color { 48 | .uni-#{"" + $key} { 49 | color: $child; 50 | } 51 | .uni-#{"" + $key}-bg { 52 | background-color: $child; 53 | } 54 | } 55 | .uni-shadow-sm { 56 | box-shadow: $uni-shadow-sm; 57 | } 58 | .uni-shadow-base { 59 | box-shadow: $uni-shadow-base; 60 | } 61 | .uni-shadow-lg { 62 | box-shadow: $uni-shadow-lg; 63 | } 64 | .uni-mask { 65 | background-color:$uni-mask; 66 | } 67 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/setting/_radius.scss: -------------------------------------------------------------------------------- 1 | @mixin radius($r,$d:null ,$important: false){ 2 | $radius-value:map-get($uni-radius, $r) if($important, !important, null); 3 | // Key exists within the $uni-radius variable 4 | @if (map-has-key($uni-radius, $r) and $d){ 5 | @if $d == t { 6 | border-top-left-radius:$radius-value; 7 | border-top-right-radius:$radius-value; 8 | }@else if $d == r { 9 | border-top-right-radius:$radius-value; 10 | border-bottom-right-radius:$radius-value; 11 | }@else if $d == b { 12 | border-bottom-left-radius:$radius-value; 13 | border-bottom-right-radius:$radius-value; 14 | }@else if $d == l { 15 | border-top-left-radius:$radius-value; 16 | border-bottom-left-radius:$radius-value; 17 | }@else if $d == tl { 18 | border-top-left-radius:$radius-value; 19 | }@else if $d == tr { 20 | border-top-right-radius:$radius-value; 21 | }@else if $d == br { 22 | border-bottom-right-radius:$radius-value; 23 | }@else if $d == bl { 24 | border-bottom-left-radius:$radius-value; 25 | } 26 | }@else{ 27 | border-radius:$radius-value; 28 | } 29 | } 30 | 31 | @each $key, $child in $uni-radius { 32 | @if($key){ 33 | .uni-radius-#{"" + $key} { 34 | @include radius($key) 35 | } 36 | }@else{ 37 | .uni-radius { 38 | @include radius($key) 39 | } 40 | } 41 | } 42 | 43 | @each $direction in t, r, b, l,tl, tr, br, bl { 44 | @each $key, $child in $uni-radius { 45 | @if($key){ 46 | .uni-radius-#{"" + $direction}-#{"" + $key} { 47 | @include radius($key,$direction,false) 48 | } 49 | }@else{ 50 | .uni-radius-#{$direction} { 51 | @include radius($key,$direction,false) 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/setting/_space.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin fn($space,$direction,$size,$n) { 3 | @if $n { 4 | #{$space}-#{$direction}: #{$size*$uni-space-root}px 5 | } @else { 6 | #{$space}-#{$direction}: #{-$size*$uni-space-root}px 7 | } 8 | } 9 | @mixin get-styles($direction,$i,$space,$n){ 10 | @if $direction == t { 11 | @include fn($space, top,$i,$n); 12 | } 13 | @if $direction == r { 14 | @include fn($space, right,$i,$n); 15 | } 16 | @if $direction == b { 17 | @include fn($space, bottom,$i,$n); 18 | } 19 | @if $direction == l { 20 | @include fn($space, left,$i,$n); 21 | } 22 | @if $direction == x { 23 | @include fn($space, left,$i,$n); 24 | @include fn($space, right,$i,$n); 25 | } 26 | @if $direction == y { 27 | @include fn($space, top,$i,$n); 28 | @include fn($space, bottom,$i,$n); 29 | } 30 | @if $direction == a { 31 | @if $n { 32 | #{$space}:#{$i*$uni-space-root}px; 33 | } @else { 34 | #{$space}:#{-$i*$uni-space-root}px; 35 | } 36 | } 37 | } 38 | 39 | @each $orientation in m,p { 40 | $space: margin; 41 | @if $orientation == m { 42 | $space: margin; 43 | } @else { 44 | $space: padding; 45 | } 46 | @for $i from 0 through 16 { 47 | @each $direction in t, r, b, l, x, y, a { 48 | .uni-#{$orientation}#{$direction}-#{$i} { 49 | @include get-styles($direction,$i,$space,true); 50 | } 51 | .uni-#{$orientation}#{$direction}-n#{$i} { 52 | @include get-styles($direction,$i,$space,false); 53 | } 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/setting/_text.scss: -------------------------------------------------------------------------------- 1 | @mixin get-styles($k,$c) { 2 | @if $k == size or $k == weight{ 3 | font-#{$k}:#{$c} 4 | }@else{ 5 | #{$k}:#{$c} 6 | } 7 | } 8 | 9 | @each $key, $child in $uni-headings { 10 | /* #ifndef APP-NVUE */ 11 | .uni-#{$key} { 12 | @each $k, $c in $child { 13 | @include get-styles($k,$c) 14 | } 15 | } 16 | /* #endif */ 17 | /* #ifdef APP-NVUE */ 18 | .container .uni-#{$key} { 19 | @each $k, $c in $child { 20 | @include get-styles($k,$c) 21 | } 22 | } 23 | /* #endif */ 24 | } 25 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/styles/tools/functions.scss: -------------------------------------------------------------------------------- 1 | // 合并 map 2 | @function map-deep-merge($parent-map, $child-map){ 3 | $result: $parent-map; 4 | @each $key, $child in $child-map { 5 | $parent-has-key: map-has-key($result, $key); 6 | $parent-value: map-get($result, $key); 7 | $parent-type: type-of($parent-value); 8 | $child-type: type-of($child); 9 | $parent-is-map: $parent-type == map; 10 | $child-is-map: $child-type == map; 11 | 12 | @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ 13 | $result: map-merge($result, ( $key: $child )); 14 | }@else { 15 | $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); 16 | } 17 | } 18 | @return $result; 19 | }; 20 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/theme.scss: -------------------------------------------------------------------------------- 1 | // 间距基础倍数 2 | $uni-space-root: 2; 3 | // 边框半径默认值 4 | $uni-radius-root:5px; 5 | // 主色 6 | $uni-primary: #2979ff; 7 | // 辅助色 8 | $uni-success: #4cd964; 9 | // 警告色 10 | $uni-warning: #f0ad4e; 11 | // 错误色 12 | $uni-error: #dd524d; 13 | // 描述色 14 | $uni-info: #909399; 15 | // 中性色 16 | $uni-main-color: #303133; 17 | $uni-base-color: #606266; 18 | $uni-secondary-color: #909399; 19 | $uni-extra-color: #C0C4CC; 20 | // 背景色 21 | $uni-bg-color: #f5f5f5; 22 | // 边框颜色 23 | $uni-border-1: #DCDFE6; 24 | $uni-border-2: #E4E7ED; 25 | $uni-border-3: #EBEEF5; 26 | $uni-border-4: #F2F6FC; 27 | 28 | // 常规色 29 | $uni-black: #000000; 30 | $uni-white: #ffffff; 31 | $uni-transparent: rgba($color: #000000, $alpha: 0); 32 | -------------------------------------------------------------------------------- /src/uni_modules/uni-scss/variables.scss: -------------------------------------------------------------------------------- 1 | @import './styles/setting/_variables.scss'; 2 | // 间距基础倍数 3 | $uni-space-root: 2; 4 | // 边框半径默认值 5 | $uni-radius-root:5px; 6 | 7 | // 主色 8 | $uni-primary: #2979ff; 9 | $uni-primary-disable:mix(#fff,$uni-primary,50%); 10 | $uni-primary-light: mix(#fff,$uni-primary,80%); 11 | 12 | // 辅助色 13 | // 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 14 | $uni-success: #18bc37; 15 | $uni-success-disable:mix(#fff,$uni-success,50%); 16 | $uni-success-light: mix(#fff,$uni-success,80%); 17 | 18 | $uni-warning: #f3a73f; 19 | $uni-warning-disable:mix(#fff,$uni-warning,50%); 20 | $uni-warning-light: mix(#fff,$uni-warning,80%); 21 | 22 | $uni-error: #e43d33; 23 | $uni-error-disable:mix(#fff,$uni-error,50%); 24 | $uni-error-light: mix(#fff,$uni-error,80%); 25 | 26 | $uni-info: #8f939c; 27 | $uni-info-disable:mix(#fff,$uni-info,50%); 28 | $uni-info-light: mix(#fff,$uni-info,80%); 29 | 30 | // 中性色 31 | // 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 32 | $uni-main-color: #3a3a3a; // 主要文字 33 | $uni-base-color: #6a6a6a; // 常规文字 34 | $uni-secondary-color: #909399; // 次要文字 35 | $uni-extra-color: #c7c7c7; // 辅助说明 36 | 37 | // 边框颜色 38 | $uni-border-1: #F0F0F0; 39 | $uni-border-2: #EDEDED; 40 | $uni-border-3: #DCDCDC; 41 | $uni-border-4: #B9B9B9; 42 | 43 | // 常规色 44 | $uni-black: #000000; 45 | $uni-white: #ffffff; 46 | $uni-transparent: rgba($color: #000000, $alpha: 0); 47 | 48 | // 背景色 49 | $uni-bg-color: #f7f7f7; 50 | 51 | /* 水平间距 */ 52 | $uni-spacing-sm: 8px; 53 | $uni-spacing-base: 15px; 54 | $uni-spacing-lg: 30px; 55 | 56 | // 阴影 57 | $uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); 58 | $uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); 59 | $uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); 60 | 61 | // 蒙版 62 | $uni-mask: rgba($color: #000000, $alpha: 0.4); 63 | -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.4(2023-05-09) 2 | - 修复 i18n 国际化不正确的 Bug 3 | ## 1.2.3(2022-05-24) 4 | - 新增 readonly 属性,组件只读 5 | ## 1.2.2(2022-05-06) 6 | - 修复 vue3 input 事件不生效的bug 7 | ## 1.2.1(2022-05-06) 8 | - 修复 多余代码导致的bug 9 | ## 1.2.0(2021-11-19) 10 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 11 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-search-bar](https://uniapp.dcloud.io/component/uniui/uni-search-bar) 12 | ## 1.1.2(2021-08-30) 13 | - 修复 value 属性与 modelValue 属性不兼容的Bug 14 | ## 1.1.1(2021-08-24) 15 | - 新增 支持国际化 16 | ## 1.1.0(2021-07-30) 17 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 18 | ## 1.0.9(2021-05-12) 19 | - 新增 项目示例地址 20 | ## 1.0.8(2021-04-21) 21 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 22 | ## 1.0.7(2021-04-15) 23 | - uni-ui 新增 uni-search-bar 的 focus 事件 24 | 25 | ## 1.0.6(2021-02-05) 26 | - 优化 组件引用关系,通过uni_modules引用组件 27 | 28 | ## 1.0.5(2021-02-05) 29 | - 调整为uni_modules目录规范 30 | - 新增 支持双向绑定 31 | - 更改 input 事件的返回值,e={value:Number} --> e=value 32 | - 新增 支持图标插槽 33 | - 新增 支持 clear、blur 事件 34 | - 新增 支持 focus 属性 35 | - 去掉组件背景色 36 | -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-search-bar.cancel": "cancel", 3 | "uni-search-bar.placeholder": "Search enter content" 4 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/components/uni-search-bar/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 | -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-search-bar.cancel": "取消", 3 | "uni-search-bar.placeholder": "请输入搜索内容" 4 | } 5 | -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-search-bar.cancel": "取消", 3 | "uni-search-bar.placeholder": "請輸入搜索內容" 4 | } 5 | -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-search-bar", 3 | "displayName": "uni-search-bar 搜索栏", 4 | "version": "1.2.4", 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 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": [ 41 | "uni-scss", 42 | "uni-icons" 43 | ], 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 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-search-bar/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## SearchBar 搜索栏 4 | 5 | > **组件名:uni-search-bar** 6 | > 代码块: `uSearchBar` 7 | 8 | 9 | 搜索栏组件 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-search-bar) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/uni_modules/uni-transition/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.2(2023-05-04) 2 | - 修复 NVUE 平台报错的问题 3 | ## 1.3.1(2021-11-23) 4 | - 修复 init 方法初始化问题 5 | ## 1.3.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-transition](https://uniapp.dcloud.io/component/uniui/uni-transition) 8 | ## 1.2.1(2021-09-27) 9 | - 修复 init 方法不生效的 Bug 10 | ## 1.2.0(2021-07-30) 11 | - 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 12 | ## 1.1.1(2021-05-12) 13 | - 新增 示例地址 14 | - 修复 示例项目缺少组件的 Bug 15 | ## 1.1.0(2021-04-22) 16 | - 新增 通过方法自定义动画 17 | - 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 18 | - 优化 动画触发逻辑,使动画更流畅 19 | - 优化 支持单独的动画类型 20 | - 优化 文档示例 21 | ## 1.0.2(2021-02-05) 22 | - 调整为 uni_modules 目录规范 23 | -------------------------------------------------------------------------------- /src/uni_modules/uni-transition/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-transition", 3 | "displayName": "uni-transition 过渡动画", 4 | "version": "1.3.2", 5 | "description": "元素的简单过渡动画", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "动画", 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 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 38 | "type": "component-vue" 39 | }, 40 | "uni_modules": { 41 | "dependencies": ["uni-scss"], 42 | "encrypt": [], 43 | "platforms": { 44 | "cloud": { 45 | "tcb": "y", 46 | "aliyun": "y" 47 | }, 48 | "client": { 49 | "App": { 50 | "app-vue": "y", 51 | "app-nvue": "y" 52 | }, 53 | "H5-mobile": { 54 | "Safari": "y", 55 | "Android Browser": "y", 56 | "微信浏览器(Android)": "y", 57 | "QQ浏览器(Android)": "y" 58 | }, 59 | "H5-pc": { 60 | "Chrome": "y", 61 | "IE": "y", 62 | "Edge": "y", 63 | "Firefox": "y", 64 | "Safari": "y" 65 | }, 66 | "小程序": { 67 | "微信": "y", 68 | "阿里": "y", 69 | "百度": "y", 70 | "字节跳动": "y", 71 | "QQ": "y" 72 | }, 73 | "快应用": { 74 | "华为": "u", 75 | "联盟": "u" 76 | }, 77 | "Vue": { 78 | "vue2": "y", 79 | "vue3": "y" 80 | } 81 | } 82 | } 83 | } 84 | } -------------------------------------------------------------------------------- /src/uni_modules/uni-transition/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Transition 过渡动画 4 | > **组件名:uni-transition** 5 | > 代码块: `uTransition` 6 | 7 | 8 | 元素过渡动画 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-transition) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /src/utils/dateUtil.ts: -------------------------------------------------------------------------------- 1 | import moment from "moment"; 2 | 3 | const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss"; 4 | 5 | export function formatToDateTime( 6 | date: moment.MomentInput = undefined, 7 | format = DATE_TIME_FORMAT 8 | ): string { 9 | return moment(date).format(format); 10 | } 11 | 12 | export function currentTimestamp( 13 | date: moment.MomentInput = new Date(), 14 | format = DATE_TIME_FORMAT 15 | ): number { 16 | return moment(date, format).valueOf() / 1000; 17 | } 18 | export function formatDay() { 19 | return moment().startOf("day").format("X"); 20 | } 21 | 22 | export function diffDay(next, pre: moment.MomentInput = undefined) { 23 | return moment(next).diff(moment(pre), "days"); 24 | } 25 | 26 | export function diffSeconds(next, pre: moment.MomentInput = undefined) { 27 | const startTime = Math.floor(moment(pre).valueOf() / 1000); 28 | const endTime = Math.floor(moment(next).valueOf() / 1000); 29 | if (endTime > startTime) { 30 | return endTime - startTime; 31 | } 32 | 33 | return 0; 34 | } 35 | 36 | export const dateUtil = moment; 37 | -------------------------------------------------------------------------------- /src/utils/luch-request/core/InterceptorManager.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | 4 | function InterceptorManager() { 5 | this.handlers = []; 6 | } 7 | 8 | /** 9 | * Add a new interceptor to the stack 10 | * 11 | * @param {Function} fulfilled The function to handle `then` for a `Promise` 12 | * @param {Function} rejected The function to handle `reject` for a `Promise` 13 | * 14 | * @return {Number} An ID used to remove interceptor later 15 | */ 16 | InterceptorManager.prototype.use = function use(fulfilled, rejected) { 17 | this.handlers.push({ 18 | fulfilled: fulfilled, 19 | rejected: rejected 20 | }); 21 | return this.handlers.length - 1; 22 | }; 23 | 24 | /** 25 | * Remove an interceptor from the stack 26 | * 27 | * @param {Number} id The ID that was returned by `use` 28 | */ 29 | InterceptorManager.prototype.eject = function eject(id) { 30 | if (this.handlers[id]) { 31 | this.handlers[id] = null; 32 | } 33 | }; 34 | 35 | /** 36 | * Iterate over all the registered interceptors 37 | * 38 | * This method is particularly useful for skipping over any 39 | * interceptors that may have become `null` calling `eject`. 40 | * 41 | * @param {Function} fn The function to call for each interceptor 42 | */ 43 | InterceptorManager.prototype.forEach = function forEach(fn) { 44 | this.handlers.forEach(h => { 45 | if (h !== null) { 46 | fn(h); 47 | } 48 | }); 49 | }; 50 | 51 | export default InterceptorManager; 52 | -------------------------------------------------------------------------------- /src/utils/luch-request/core/buildFullPath.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import isAbsoluteURL from '../helpers/isAbsoluteURL'; 4 | import combineURLs from '../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 | export default function buildFullPath(baseURL, requestedURL) { 16 | if (baseURL && !isAbsoluteURL(requestedURL)) { 17 | return combineURLs(baseURL, requestedURL); 18 | } 19 | return requestedURL; 20 | } 21 | -------------------------------------------------------------------------------- /src/utils/luch-request/core/defaults.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 默认的全局配置 3 | */ 4 | 5 | export default { 6 | baseURL: '', 7 | header: {}, 8 | method: 'GET', 9 | dataType: 'json', 10 | // #ifndef MP-ALIPAY 11 | responseType: 'text', 12 | // #endif 13 | custom: {}, 14 | // #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN 15 | timeout: 60000, 16 | // #endif 17 | // #ifdef APP-PLUS 18 | sslVerify: true, 19 | // #endif 20 | // #ifdef H5 21 | withCredentials: false, 22 | // #endif 23 | // #ifdef APP-PLUS 24 | firstIpv4: false, 25 | // #endif 26 | validateStatus: function validateStatus(status) { 27 | return status >= 200 && status < 300; 28 | } 29 | }; 30 | -------------------------------------------------------------------------------- /src/utils/luch-request/core/dispatchRequest.js: -------------------------------------------------------------------------------- 1 | import adapter from '../adapters/index'; 2 | 3 | 4 | export default (config) => { 5 | return adapter(config); 6 | }; 7 | 8 | -------------------------------------------------------------------------------- /src/utils/luch-request/core/settle.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Resolve or reject a Promise based on response status. 3 | * 4 | * @param {Function} resolve A function that resolves the promise. 5 | * @param {Function} reject A function that rejects the promise. 6 | * @param {object} response The response. 7 | */ 8 | export default function settle(resolve, reject, response) { 9 | const validateStatus = response.config.validateStatus; 10 | const status = response.statusCode; 11 | if (status && (!validateStatus || validateStatus(status))) { 12 | resolve(response); 13 | } else { 14 | reject(response); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/utils/luch-request/helpers/buildURL.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | import * as utils from './../utils'; 4 | 5 | function encode(val) { 6 | return encodeURIComponent(val). 7 | replace(/%40/gi, '@'). 8 | replace(/%3A/gi, ':'). 9 | replace(/%24/g, '$'). 10 | replace(/%2C/gi, ','). 11 | replace(/%20/g, '+'). 12 | replace(/%5B/gi, '['). 13 | replace(/%5D/gi, ']'); 14 | } 15 | 16 | /** 17 | * Build a URL by appending params to the end 18 | * 19 | * @param {string} url The base of the url (e.g., http://www.google.com) 20 | * @param {object} [params] The params to be appended 21 | * @returns {string} The formatted url 22 | */ 23 | export default function buildURL(url, params) { 24 | /*eslint no-param-reassign:0*/ 25 | if (!params) { 26 | return url; 27 | } 28 | 29 | let serializedParams; 30 | if (utils.isURLSearchParams(params)) { 31 | serializedParams = params.toString(); 32 | } else { 33 | let parts = []; 34 | 35 | utils.forEach(params, function serialize(val, key) { 36 | if (val === null || typeof val === 'undefined') { 37 | return; 38 | } 39 | 40 | if (utils.isArray(val)) { 41 | key = key + '[]'; 42 | } else { 43 | val = [val]; 44 | } 45 | 46 | utils.forEach(val, function parseValue(v) { 47 | if (utils.isDate(v)) { 48 | v = v.toISOString(); 49 | } else if (utils.isObject(v)) { 50 | v = JSON.stringify(v); 51 | } 52 | parts.push(encode(key) + '=' + encode(v)); 53 | }); 54 | }); 55 | 56 | serializedParams = parts.join('&'); 57 | } 58 | 59 | if (serializedParams) { 60 | let hashmarkIndex = url.indexOf('#'); 61 | if (hashmarkIndex !== -1) { 62 | url = url.slice(0, hashmarkIndex); 63 | } 64 | 65 | url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; 66 | } 67 | 68 | return url; 69 | } 70 | -------------------------------------------------------------------------------- /src/utils/luch-request/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 | export default function combineURLs(baseURL, relativeURL) { 11 | return relativeURL 12 | ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') 13 | : baseURL; 14 | } 15 | -------------------------------------------------------------------------------- /src/utils/luch-request/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 | export default 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 | -------------------------------------------------------------------------------- /src/utils/luch-request/index.js: -------------------------------------------------------------------------------- 1 | import Request from "./core/Request"; 2 | export default Request; 3 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "moduleResolution": "node", 8 | "esModuleInterop": true, 9 | "sourceMap": true, 10 | "skipLibCheck": true, 11 | "importHelpers": true, 12 | "allowSyntheticDefaultImports": true, 13 | "useDefineForClassFields": true, 14 | "noImplicitAny": false, 15 | "resolveJsonModule": true, 16 | "lib": [ 17 | "esnext", 18 | "dom" 19 | ], 20 | "types": [ 21 | "@types/node", 22 | "webpack-env", 23 | "@dcloudio/types", 24 | "miniprogram-api-typings", 25 | "mini-types" 26 | ], 27 | "baseUrl": "./", 28 | "paths": { 29 | "@/*": ["src/*"], 30 | } 31 | }, 32 | "include": [ 33 | "src/**/*.ts", 34 | "src/**/*.d.ts", 35 | "src/**/*.tsx", 36 | "src/**/*.vue" 37 | ], 38 | "exclude": [ 39 | "node_modules", 40 | "unpackage", 41 | "src/**/*.nvue" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import { resolve } from 'path'; 3 | import uni from '@dcloudio/vite-plugin-uni'; 4 | function pathResolve(dir: string) { 5 | return resolve(process.cwd(), '.', dir); 6 | } 7 | // https://vitejs.dev/config/ 8 | export default defineConfig({ 9 | plugins: [uni()], 10 | // build: { 11 | // minify: 'terser', 12 | // terserOptions: { 13 | // compress: { 14 | // drop_console: false 15 | // } 16 | // } 17 | // }, 18 | resolve: { 19 | alias: [ 20 | { 21 | find: /\/@\//, 22 | replacement: pathResolve('src') + '/' 23 | } 24 | ] 25 | } 26 | }); 27 | --------------------------------------------------------------------------------