├── uni_modules ├── uni-scss │ ├── index.scss │ ├── styles │ │ ├── setting │ │ │ ├── _border.scss │ │ │ ├── _text.scss │ │ │ ├── _space.scss │ │ │ ├── _radius.scss │ │ │ └── _color.scss │ │ ├── index.scss │ │ └── tools │ │ │ └── functions.scss │ ├── changelog.md │ ├── readme.md │ ├── theme.scss │ ├── variables.scss │ └── package.json ├── z-tabs │ ├── changelog.md │ ├── components │ │ └── z-tabs │ │ │ └── config │ │ │ └── index.js │ └── package.json ├── liu-customize-sel │ ├── static │ │ └── noData.png │ ├── license.md │ ├── changelog.md │ ├── readme.md │ └── package.json ├── uni-icons │ ├── components │ │ └── uni-icons │ │ │ ├── uniicons.ttf │ │ │ └── uni-icons.vue │ ├── readme.md │ ├── changelog.md │ └── package.json ├── uni-load-more │ ├── components │ │ └── uni-load-more │ │ │ └── i18n │ │ │ ├── zh-Hans.json │ │ │ ├── zh-Hant.json │ │ │ ├── en.json │ │ │ └── index.js │ ├── readme.md │ ├── changelog.md │ └── package.json ├── uni-data-select │ ├── readme.md │ ├── changelog.md │ └── package.json ├── uni-swiper-dot │ ├── readme.md │ ├── changelog.md │ └── package.json ├── uni-easyinput │ ├── readme.md │ ├── components │ │ └── uni-easyinput │ │ │ └── common.js │ ├── package.json │ └── changelog.md ├── lime-painter │ ├── components │ │ ├── l-painter-image │ │ │ └── l-painter-image.vue │ │ ├── l-painter-qrcode │ │ │ └── l-painter-qrcode.vue │ │ ├── l-painter-view │ │ │ └── l-painter-view.vue │ │ ├── l-painter-text │ │ │ └── l-painter-text.vue │ │ └── l-painter │ │ │ └── props.js │ └── package.json ├── uni-forms │ ├── readme.md │ └── package.json ├── uni-data-picker │ ├── readme.md │ ├── components │ │ └── uni-data-picker │ │ │ └── keypress.js │ ├── package.json │ └── changelog.md ├── search-box │ ├── package.json │ └── components │ │ └── search-box │ │ └── search-box.vue ├── ms-activity-tag │ ├── package.json │ └── components │ │ └── ms-activity-tag │ │ └── ms-activity-tag.vue └── ms-activity-tag-text │ ├── package.json │ └── components │ └── ms-activity-tag-text │ └── ms-activity-tag-text.vue ├── config └── lang.js ├── static ├── uni.ttf ├── images │ ├── 5.png │ ├── cg.png │ ├── zk.png │ ├── call.png │ ├── cart.png │ ├── fase.png │ ├── nav.png │ ├── play.png │ ├── ptg.png │ ├── shop.png │ ├── sort.png │ ├── true.png │ ├── xing.png │ ├── yes.png │ ├── yqhy.png │ ├── ziti.png │ ├── checked.png │ ├── close.png │ ├── delete.png │ ├── false.png │ ├── fashong.png │ ├── integra.png │ ├── member.png │ ├── person.png │ ├── pinlun.png │ ├── qiandao.png │ ├── right.png │ ├── seach.png │ ├── seckill.png │ ├── select.png │ ├── selectd.png │ ├── tabBar1.png │ ├── tabBar2.png │ ├── tabBar3.png │ ├── tabBar4.png │ ├── true_qd.png │ ├── video.png │ ├── discount.png │ ├── groupbook.png │ ├── login │ │ ├── fb.png │ │ ├── qq.png │ │ ├── sms.png │ │ ├── apple.png │ │ ├── email.png │ │ ├── google.png │ │ ├── phone.png │ │ ├── weibo.png │ │ ├── weixin.png │ │ └── sinaweibo.png │ ├── logo_tech.png │ ├── tabBarSns.png │ ├── cart_select.png │ ├── right_arrow.png │ ├── tabBar_sel1.png │ ├── tabBar_sel2.png │ ├── tabBar_sel3.png │ ├── tabBar_sel4.png │ ├── discount-icon.png │ ├── pay_type │ │ ├── ccav.png │ │ ├── payu.png │ │ ├── alipay.png │ │ ├── credit.png │ │ ├── offline.png │ │ ├── paypal.png │ │ ├── points.png │ │ ├── redsys.png │ │ ├── unionpay.png │ │ ├── pay_online.png │ │ ├── wx_native.png │ │ └── recharge_card.png │ ├── tabBarSns_sel.png │ └── user_no_avatar.png ├── fonts │ └── zc_iconfont.ttf └── css │ └── vue-emoji.css ├── unpackage └── res │ └── icons │ ├── 20x20.png │ ├── 29x29.png │ ├── 40x40.png │ ├── 48x48.png │ ├── 58x58.png │ ├── 60x60.png │ ├── 72x72.png │ ├── 76x76.png │ ├── 80x80.png │ ├── 87x87.png │ ├── 96x96.png │ ├── 120x120.png │ ├── 144x144.png │ ├── 152x152.png │ ├── 167x167.png │ ├── 180x180.png │ ├── 192x192.png │ └── 1024x1024.png ├── components ├── QS-tabs-wxs-list │ ├── js │ │ ├── config.js │ │ └── publicProps.js │ ├── css │ │ ├── QS-refresh-image-isrefreshing.css │ │ ├── QS-tabs-wxs-list-components.css │ │ └── QS-tabs-wxs-list.css │ └── mixins │ │ └── QS-tabs-wxs-list-mixin.js ├── u-parse │ ├── components │ │ ├── wxParseVideo.vue │ │ ├── wxParseAudio.vue │ │ ├── wxParseTemplate11.vue │ │ ├── wxParseTemplate10.vue │ │ ├── wxParseTemplate2.vue │ │ ├── wxParseTemplate3.vue │ │ ├── wxParseTemplate4.vue │ │ ├── wxParseTemplate5.vue │ │ ├── wxParseTemplate6.vue │ │ ├── wxParseTemplate7.vue │ │ ├── wxParseTemplate8.vue │ │ ├── wxParseTemplate9.vue │ │ ├── wxParseImg.vue │ │ └── wxParseTemplate1.vue │ └── u-parse.vue ├── uni-status-bar │ └── uni-status-bar.vue ├── uni-nav-bar │ └── uni-status-bar.vue ├── uni-list │ └── uni-list.vue ├── status-bar.vue ├── WaterfallsFlowItem │ └── WaterfallsFlowItem.vue ├── themes │ ├── shoptheme5.vue │ └── shoptheme3.vue ├── uni-collapse │ └── uni-collapse.vue ├── loading.vue ├── video │ └── j-video.nvue ├── uni-section │ └── uni-section.vue └── uni-badge.vue ├── helpers ├── audio │ ├── index.js │ └── util.js ├── plugins │ └── polyfill.js ├── user.js ├── category.js ├── favorite.js ├── WxStorage.js ├── pPay.js ├── util_date.js ├── HttpResource.js ├── notice.js └── WxService.js ├── styles ├── common.css ├── theme.scss ├── colorui │ └── components │ │ └── cu-custom.vue ├── reg.scss ├── login.scss └── uni-nvue.css ├── uni.promisify.adaptor.js ├── api └── publicKey.js ├── .gitignore ├── pagesub ├── index │ └── store-list.vue ├── video │ └── video.vue ├── search │ └── search.vue ├── scan │ └── scan.vue ├── webpage │ └── webpage.vue └── login │ └── css │ └── main.scss ├── androidPrivacy.json ├── uni.scss ├── pcguide.html ├── main.js └── member └── member ├── carddesc.vue └── sign.vue /uni_modules/uni-scss/index.scss: -------------------------------------------------------------------------------- 1 | @import './styles/index.scss'; 2 | -------------------------------------------------------------------------------- /config/lang.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/config/lang.js -------------------------------------------------------------------------------- /static/uni.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/uni.ttf -------------------------------------------------------------------------------- /uni_modules/z-tabs/changelog.md: -------------------------------------------------------------------------------- 1 | ## 0.2.5(2023-01-09) 2 | 修复可能出现的可能出现的与swiper联动时报错node不存在的bug 3 | -------------------------------------------------------------------------------- /static/images/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/5.png -------------------------------------------------------------------------------- /static/images/cg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/cg.png -------------------------------------------------------------------------------- /static/images/zk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/zk.png -------------------------------------------------------------------------------- /static/images/call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/call.png -------------------------------------------------------------------------------- /static/images/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/cart.png -------------------------------------------------------------------------------- /static/images/fase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/fase.png -------------------------------------------------------------------------------- /static/images/nav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/nav.png -------------------------------------------------------------------------------- /static/images/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/play.png -------------------------------------------------------------------------------- /static/images/ptg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/ptg.png -------------------------------------------------------------------------------- /static/images/shop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/shop.png -------------------------------------------------------------------------------- /static/images/sort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/sort.png -------------------------------------------------------------------------------- /static/images/true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/true.png -------------------------------------------------------------------------------- /static/images/xing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/xing.png -------------------------------------------------------------------------------- /static/images/yes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/yes.png -------------------------------------------------------------------------------- /static/images/yqhy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/yqhy.png -------------------------------------------------------------------------------- /static/images/ziti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/ziti.png -------------------------------------------------------------------------------- /uni_modules/uni-scss/styles/setting/_border.scss: -------------------------------------------------------------------------------- 1 | .uni-border { 2 | border: 1px $uni-border-1 solid; 3 | } -------------------------------------------------------------------------------- /static/images/checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/checked.png -------------------------------------------------------------------------------- /static/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/close.png -------------------------------------------------------------------------------- /static/images/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/delete.png -------------------------------------------------------------------------------- /static/images/false.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/false.png -------------------------------------------------------------------------------- /static/images/fashong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/fashong.png -------------------------------------------------------------------------------- /static/images/integra.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/integra.png -------------------------------------------------------------------------------- /static/images/member.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/member.png -------------------------------------------------------------------------------- /static/images/person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/person.png -------------------------------------------------------------------------------- /static/images/pinlun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pinlun.png -------------------------------------------------------------------------------- /static/images/qiandao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/qiandao.png -------------------------------------------------------------------------------- /static/images/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/right.png -------------------------------------------------------------------------------- /static/images/seach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/seach.png -------------------------------------------------------------------------------- /static/images/seckill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/seckill.png -------------------------------------------------------------------------------- /static/images/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/select.png -------------------------------------------------------------------------------- /static/images/selectd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/selectd.png -------------------------------------------------------------------------------- /static/images/tabBar1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar1.png -------------------------------------------------------------------------------- /static/images/tabBar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar2.png -------------------------------------------------------------------------------- /static/images/tabBar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar3.png -------------------------------------------------------------------------------- /static/images/tabBar4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar4.png -------------------------------------------------------------------------------- /static/images/true_qd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/true_qd.png -------------------------------------------------------------------------------- /static/images/video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/video.png -------------------------------------------------------------------------------- /static/images/discount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/discount.png -------------------------------------------------------------------------------- /static/images/groupbook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/groupbook.png -------------------------------------------------------------------------------- /static/images/login/fb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/fb.png -------------------------------------------------------------------------------- /static/images/login/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/qq.png -------------------------------------------------------------------------------- /static/images/login/sms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/sms.png -------------------------------------------------------------------------------- /static/images/logo_tech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/logo_tech.png -------------------------------------------------------------------------------- /static/images/tabBarSns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBarSns.png -------------------------------------------------------------------------------- /static/fonts/zc_iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/fonts/zc_iconfont.ttf -------------------------------------------------------------------------------- /static/images/cart_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/cart_select.png -------------------------------------------------------------------------------- /static/images/login/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/apple.png -------------------------------------------------------------------------------- /static/images/login/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/email.png -------------------------------------------------------------------------------- /static/images/login/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/google.png -------------------------------------------------------------------------------- /static/images/login/phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/phone.png -------------------------------------------------------------------------------- /static/images/login/weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/weibo.png -------------------------------------------------------------------------------- /static/images/login/weixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/weixin.png -------------------------------------------------------------------------------- /static/images/right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/right_arrow.png -------------------------------------------------------------------------------- /static/images/tabBar_sel1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar_sel1.png -------------------------------------------------------------------------------- /static/images/tabBar_sel2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar_sel2.png -------------------------------------------------------------------------------- /static/images/tabBar_sel3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar_sel3.png -------------------------------------------------------------------------------- /static/images/tabBar_sel4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBar_sel4.png -------------------------------------------------------------------------------- /unpackage/res/icons/20x20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/20x20.png -------------------------------------------------------------------------------- /unpackage/res/icons/29x29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/29x29.png -------------------------------------------------------------------------------- /unpackage/res/icons/40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/40x40.png -------------------------------------------------------------------------------- /unpackage/res/icons/48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/48x48.png -------------------------------------------------------------------------------- /unpackage/res/icons/58x58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/58x58.png -------------------------------------------------------------------------------- /unpackage/res/icons/60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/60x60.png -------------------------------------------------------------------------------- /unpackage/res/icons/72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/72x72.png -------------------------------------------------------------------------------- /unpackage/res/icons/76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/76x76.png -------------------------------------------------------------------------------- /unpackage/res/icons/80x80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/80x80.png -------------------------------------------------------------------------------- /unpackage/res/icons/87x87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/87x87.png -------------------------------------------------------------------------------- /unpackage/res/icons/96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/96x96.png -------------------------------------------------------------------------------- /static/images/discount-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/discount-icon.png -------------------------------------------------------------------------------- /static/images/pay_type/ccav.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/ccav.png -------------------------------------------------------------------------------- /static/images/pay_type/payu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/payu.png -------------------------------------------------------------------------------- /static/images/tabBarSns_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/tabBarSns_sel.png -------------------------------------------------------------------------------- /static/images/user_no_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/user_no_avatar.png -------------------------------------------------------------------------------- /unpackage/res/icons/120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/120x120.png -------------------------------------------------------------------------------- /unpackage/res/icons/144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/144x144.png -------------------------------------------------------------------------------- /unpackage/res/icons/152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/152x152.png -------------------------------------------------------------------------------- /unpackage/res/icons/167x167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/167x167.png -------------------------------------------------------------------------------- /unpackage/res/icons/180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/180x180.png -------------------------------------------------------------------------------- /unpackage/res/icons/192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/192x192.png -------------------------------------------------------------------------------- /components/QS-tabs-wxs-list/js/config.js: -------------------------------------------------------------------------------- 1 | function log(t) { 2 | // console.log(t); 3 | } 4 | 5 | module.exports = { 6 | log 7 | } -------------------------------------------------------------------------------- /static/images/login/sinaweibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/login/sinaweibo.png -------------------------------------------------------------------------------- /static/images/pay_type/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/alipay.png -------------------------------------------------------------------------------- /static/images/pay_type/credit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/credit.png -------------------------------------------------------------------------------- /static/images/pay_type/offline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/offline.png -------------------------------------------------------------------------------- /static/images/pay_type/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/paypal.png -------------------------------------------------------------------------------- /static/images/pay_type/points.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/points.png -------------------------------------------------------------------------------- /static/images/pay_type/redsys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/redsys.png -------------------------------------------------------------------------------- /static/images/pay_type/unionpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/unionpay.png -------------------------------------------------------------------------------- /unpackage/res/icons/1024x1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/unpackage/res/icons/1024x1024.png -------------------------------------------------------------------------------- /static/images/pay_type/pay_online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/pay_online.png -------------------------------------------------------------------------------- /static/images/pay_type/wx_native.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/wx_native.png -------------------------------------------------------------------------------- /static/images/pay_type/recharge_card.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/static/images/pay_type/recharge_card.png -------------------------------------------------------------------------------- /uni_modules/z-tabs/components/z-tabs/config/index.js: -------------------------------------------------------------------------------- 1 | // z-tabs全局配置文件,注意避免更新时此文件被覆盖,若被覆盖,可在此文件中右键->点击本地历史记录,找回覆盖前的配置 2 | export default { 3 | 4 | } -------------------------------------------------------------------------------- /uni_modules/liu-customize-sel/static/noData.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/uni_modules/liu-customize-sel/static/noData.png -------------------------------------------------------------------------------- /uni_modules/uni-icons/components/uni-icons/uniicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shsuishang/shopsuite-mobile/HEAD/uni_modules/uni-icons/components/uni-icons/uniicons.ttf -------------------------------------------------------------------------------- /uni_modules/liu-customize-sel/license.md: -------------------------------------------------------------------------------- 1 | ### 1、本插件可免费下载使用; 2 | ### 2、未经许可,严禁复制本插件派生同类插件上传插件市场; 3 | ### 3、未经许可,严禁在插件市场恶意复制抄袭本插件进行违规获利; 4 | ### 4、对本软件的任何使用都必须遵守这些条款,违反这些条款的个人或组织将面临法律追究。 5 | 6 | 7 | -------------------------------------------------------------------------------- /uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-load-more.contentdown": "上拉显示更多", 3 | "uni-load-more.contentrefresh": "正在加载...", 4 | "uni-load-more.contentnomore": "没有更多数据了" 5 | } 6 | -------------------------------------------------------------------------------- /uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-load-more.contentdown": "上拉顯示更多", 3 | "uni-load-more.contentrefresh": "正在加載...", 4 | "uni-load-more.contentnomore": "沒有更多數據了" 5 | } 6 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /uni_modules/liu-customize-sel/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.4(2023-06-09) 2 | 增加预览信息 3 | ## 1.0.3(2023-06-09) 4 | 增加预览 5 | ## 1.0.2(2023-04-14) 6 | 增加示例 7 | ## 1.0.1(2023-03-16) 8 | 1.0.1 9 | ## 1.0.0(2023-03-14) 10 | 初始发布 11 | -------------------------------------------------------------------------------- /uni_modules/uni-load-more/components/uni-load-more/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-load-more.contentdown": "Pull up to show more", 3 | "uni-load-more.contentrefresh": "loading...", 4 | "uni-load-more.contentnomore": "No more data" 5 | } 6 | -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /uni_modules/uni-load-more/components/uni-load-more/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 | -------------------------------------------------------------------------------- /helpers/audio/index.js: -------------------------------------------------------------------------------- 1 | import ZAudio from "./zaudio.js" 2 | 3 | let audio = new ZAudio({ 4 | continuePlay: false, //续播 5 | autoPlay: false, //自动播放 部分浏览器不支持 6 | }); 7 | 8 | audio.setAudio(uni.getStorageSync('PLAY_LIST')) 9 | 10 | export default audio 11 | -------------------------------------------------------------------------------- /styles/common.css: -------------------------------------------------------------------------------- 1 | @import "./_variables"; 2 | 3 | .page{ 4 | background-color: #ffffff; 5 | font-family: "Helvetica Neue","Hiragino Sans GB","Microsoft YaHei","\9ED1\4F53",Arial,sans-serif; 6 | font-size: 32rpx; 7 | } 8 | .navigator-hover{ 9 | background: none; 10 | } -------------------------------------------------------------------------------- /uni_modules/uni-data-select/readme.md: -------------------------------------------------------------------------------- 1 | ## DataSelect 下拉框选择器 2 | > **组件名:uni-data-select** 3 | > 代码块: `uDataSelect` 4 | 5 | 当选项过多时,使用下拉菜单展示并选择内容 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | -------------------------------------------------------------------------------- /uni_modules/uni-swiper-dot/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## SwiperDot 轮播图指示点 4 | > **组件名:uni-swiper-dot** 5 | > 代码块: `uSwiperDot` 6 | 7 | 8 | 自定义轮播图指示点 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /components/QS-tabs-wxs-list/css/QS-refresh-image-isrefreshing.css: -------------------------------------------------------------------------------- 1 | .refresh-image.isRefreshing{ 2 | animation: isRefreshing 5s ease-in infinite both alternate; 3 | } 4 | 5 | @keyframes isRefreshing { 6 | 0% { 7 | transform: rotate(0); 8 | } 9 | 100% { 10 | transform: rotate(3600deg); 11 | } 12 | } -------------------------------------------------------------------------------- /uni_modules/uni-load-more/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### LoadMore 加载更多 4 | > **组件名:uni-load-more** 5 | > 代码块: `uLoadMore` 6 | 7 | 8 | 用于列表中,做滚动加载使用,展示 loading 的各种状态。 9 | 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 13 | 14 | 15 | -------------------------------------------------------------------------------- /uni.promisify.adaptor.js: -------------------------------------------------------------------------------- 1 | uni.addInterceptor({ 2 | returnValue (res) { 3 | if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) { 4 | return res; 5 | } 6 | return new Promise((resolve, reject) => { 7 | res.then((res) => res[0] ? reject(res[0]) : resolve(res[1])); 8 | }); 9 | }, 10 | }); -------------------------------------------------------------------------------- /components/u-parse/components/wxParseVideo.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 16 | -------------------------------------------------------------------------------- /uni_modules/uni-easyinput/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### Easyinput 增强输入框 4 | > **组件名:uni-easyinput** 5 | > 代码块: `uEasyinput` 6 | 7 | 8 | easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /api/publicKey.js: -------------------------------------------------------------------------------- 1 | import $ from "../helpers/util"; 2 | import Config from "../config/config" 3 | 4 | export function getPublicKey(data, success, fail) { 5 | return $.request({ 6 | url: Config.URL.listTranslateLang, 7 | method: 'get', 8 | data: data, 9 | loading: false, 10 | ajaxCache: { 11 | timeout: Config.CACHE_EXPIRE 12 | }, 13 | success:success, 14 | fail:fail 15 | }) 16 | } 17 | -------------------------------------------------------------------------------- /helpers/plugins/polyfill.js: -------------------------------------------------------------------------------- 1 | Object.assign = Object.assign && typeof Object.assign === 'function' ? Object.assign : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key] } } } return target } 2 | Array.from = Array.from && typeof Array.from === 'function' ? Array.from : obj => [].slice.call(obj) -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Build and Release Folders 2 | bin-debug/ 3 | bin-release/ 4 | [Oo]bj/ 5 | [Bb]in/ 6 | 7 | # Other files and folders 8 | .settings/ 9 | 10 | # Executables 11 | *.swf 12 | *.air 13 | *.ipa 14 | *.apk 15 | 16 | # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties` 17 | # should NOT be excluded as they contain compiler settings and other important 18 | # information for Eclipse / Flash Builder. 19 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /uni_modules/lime-painter/components/l-painter-image/l-painter-image.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 26 | 27 | 29 | -------------------------------------------------------------------------------- /uni_modules/lime-painter/components/l-painter-qrcode/l-painter-qrcode.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 25 | 26 | 28 | -------------------------------------------------------------------------------- /components/uni-status-bar/uni-status-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 18 | 19 | -------------------------------------------------------------------------------- /helpers/user.js: -------------------------------------------------------------------------------- 1 | // 管理账号信息 2 | const USERS_KEY = 'USERS_KEY'; 3 | const STATE_KEY = 'STATE_KEY'; 4 | 5 | const getUsers = function () { 6 | let ret = ''; 7 | ret = uni.getStorageSync(USERS_KEY); 8 | if (!ret) { 9 | ret = '{}'; 10 | } 11 | 12 | return JSON.parse(ret); 13 | } 14 | 15 | const addUser = function (userInfo) { 16 | let users = getUsers(); 17 | 18 | userInfo = Object.assign(users, userInfo); 19 | 20 | uni.setStorageSync(USERS_KEY, JSON.stringify(userInfo)); 21 | } 22 | 23 | export default { 24 | getUsers, 25 | addUser 26 | } 27 | -------------------------------------------------------------------------------- /uni_modules/uni-swiper-dot/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swiper-dot](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) 4 | ## 1.1.0(2021-07-30) 5 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 6 | ## 1.0.6(2021-05-12) 7 | - 新增 示例地址 8 | - 修复 示例项目缺少组件的Bug 9 | ## 1.0.5(2021-02-05) 10 | - 调整为uni_modules目录规范 11 | - 新增 clickItem 事件,支持指示点控制轮播 12 | - 新增 支持 pc 可用 13 | -------------------------------------------------------------------------------- /uni_modules/lime-painter/components/l-painter-view/l-painter-view.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 28 | 29 | 31 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseAudio.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 28 | -------------------------------------------------------------------------------- /uni_modules/lime-painter/components/l-painter-text/l-painter-text.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 27 | 28 | 30 | -------------------------------------------------------------------------------- /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: #f8f8f8; 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 | -------------------------------------------------------------------------------- /components/uni-nav-bar/uni-status-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 26 | 27 | 34 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /uni_modules/uni-load-more/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.3(2022-01-20) 2 | - 新增 showText属性 ,是否显示文本 3 | ## 1.3.2(2022-01-19) 4 | - 修复 nvue 平台下不显示文本的bug 5 | ## 1.3.1(2022-01-19) 6 | - 修复 微信小程序平台样式选择器报警告的问题 7 | ## 1.3.0(2021-11-19) 8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) 10 | ## 1.2.1(2021-08-24) 11 | - 新增 支持国际化 12 | ## 1.2.0(2021-07-30) 13 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 14 | ## 1.1.8(2021-05-12) 15 | - 新增 组件示例地址 16 | ## 1.1.7(2021-03-30) 17 | - 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug 18 | ## 1.1.6(2021-02-05) 19 | - 调整为uni_modules目录规范 20 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /helpers/category.js: -------------------------------------------------------------------------------- 1 | import api from '@/components/xuan-linkAddress/api.js'; 2 | 3 | export default { 4 | /* 5 | *_this:全局this 6 | * data:数据(参数) 7 | * callback:回掉 8 | */ 9 | get_linkAddress: function(_this,tag,data,callback) { 10 | //请求 11 | api.get_linkAddress_api(data).then((res) => { 12 | let revert=res.data.data; 13 | console.log(revert) 14 | if(res.data.code==1){ 15 | if(tag==="province"){ 16 | console.log("province") 17 | _this.linkAddress_area[0].info=revert; 18 | callback(true);//回掉 19 | } 20 | if(tag==="city"){ 21 | console.log("city") 22 | _this.linkAddress_area[1].info=revert; 23 | callback(true);//回掉 24 | } 25 | if(tag==="district"){ 26 | console.log("district") 27 | _this.linkAddress_area[2].info=revert; 28 | callback(true);//回掉 29 | } 30 | } 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /uni_modules/uni-forms/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Forms 表单 4 | 5 | > **组件名:uni-forms** 6 | > 代码块: `uForms`、`uni-forms-item` 7 | > 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。 8 | 9 | 10 | uni-app的内置组件已经有了 `
`组件,用于提交表单内容。 11 | 12 | 然而几乎每个表单都需要做表单验证,为了方便做表单验证,减少重复开发,`uni ui` 又基于 ``组件封装了 ``组件,内置了表单验证功能。 13 | 14 | `` 提供了 `rules`属性来描述校验规则、``子组件来包裹具体的表单项,以及给原生或三方组件提供了 `binddata()` 来设置表单值。 15 | 16 | 每个要校验的表单项,不管input还是checkbox,都必须放在``组件中,且一个``组件只能放置一个表单项。 17 | 18 | ``组件内部预留了显示error message的区域,默认是在表单项的底部。 19 | 20 | 另外,``组件下面的各个表单项,可以通过``包裹为不同的分组。同一``下的不同表单项目将聚拢在一起,同其他group保持垂直间距。``仅影响视觉效果。 21 | 22 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-forms) 23 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /pagesub/index/store-list.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /components/uni-list/uni-list.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | -------------------------------------------------------------------------------- /uni_modules/uni-data-picker/readme.md: -------------------------------------------------------------------------------- 1 | ## DataPicker 级联选择 2 | > **组件名:uni-data-picker** 3 | > 代码块: `uDataPicker` 4 | > 关联组件:`uni-data-pickerview`、`uni-load-more`。 5 | 6 | 7 | `` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。 8 | 9 | 支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。 10 | 11 | 候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。 12 | 13 | `` 组件尤其适用于地址选择、分类选择等选择类。 14 | 15 | `` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。 16 | 17 | `` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。 18 | 19 | 在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。 20 | 21 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker) 22 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /uni_modules/uni-data-select/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.6(2023-04-12) 2 | - 修复 微信小程序点击时会改变背景颜色的 bug 3 | ## 1.0.5(2023-02-03) 4 | - 修复 禁用时会显示清空按钮 5 | ## 1.0.4(2023-02-02) 6 | - 优化 查询条件短期内多次变更只查询最后一次变更后的结果 7 | - 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue 8 | ## 1.0.3(2023-01-16) 9 | - 修复 不关联服务空间报错的问题 10 | ## 1.0.2(2023-01-14) 11 | - 新增 属性 `format` 可用于格式化显示选项内容 12 | ## 1.0.1(2022-12-06) 13 | - 修复 当where变化时,数据不会自动更新的问题 14 | ## 0.1.9(2022-09-05) 15 | - 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 16 | ## 0.1.8(2022-08-29) 17 | - 修复 点击的位置不准确 18 | ## 0.1.7(2022-08-12) 19 | - 新增 支持 disabled 属性 20 | ## 0.1.6(2022-07-06) 21 | - 修复 pc端宽度异常的bug 22 | ## 0.1.5 23 | - 修复 pc端宽度异常的bug 24 | ## 0.1.4(2022-07-05) 25 | - 优化 显示样式 26 | ## 0.1.3(2022-06-02) 27 | - 修复 localdata 赋值不生效的 bug 28 | - 新增 支持 uni.scss 修改颜色 29 | - 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) 30 | ## 0.1.2(2022-05-08) 31 | - 修复 当 value 为 0 时选择不生效的 bug 32 | ## 0.1.1(2022-05-07) 33 | - 新增 记住上次的选项(仅 collection 存在时有效) 34 | ## 0.1.0(2022-04-22) 35 | - 初始化 36 | -------------------------------------------------------------------------------- /components/status-bar.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 23 | 24 | 25 | 26 | 49 | 50 | -------------------------------------------------------------------------------- /styles/theme.scss: -------------------------------------------------------------------------------- 1 | // 此文件为uView的主题变量,这些变量目前只能通过uni.scss引入才有效,另外由于 2 | // uni.scss中引入的样式会同时混入到全局样式文件和单独每一个页面的样式中,造成微信程序包太大, 3 | // 故uni.scss只建议放scss变量名相关样式,其他的样式可以通过main.js或者App.vue引入 4 | 5 | $u-main-color: #303133; 6 | $u-content-color: #606266; 7 | $u-tips-color: #909193; 8 | $u-light-color: #c0c4cc; 9 | $u-border-color: #dadbde; 10 | $u-bg-color: #f3f4f6; 11 | $u-disabled-color: #c8c9cc; 12 | 13 | $u-primary: #3c9cff; 14 | $u-primary-dark: #398ade; 15 | $u-primary-disabled: #9acafc; 16 | $u-primary-light: #ecf5ff; 17 | 18 | $u-warning: #f9ae3d; 19 | $u-warning-dark: #f1a532; 20 | $u-warning-disabled: #f9d39b; 21 | $u-warning-light: #fdf6ec; 22 | 23 | $u-success: #5ac725; 24 | $u-success-dark: #53c21d; 25 | $u-success-disabled: #a9e08f; 26 | $u-success-light: #f5fff0; 27 | 28 | $u-error: #f56c6c; 29 | $u-error-dark: #e45656; 30 | $u-error-disabled: #f7b2b2; 31 | $u-error-light: #fef0f0; 32 | 33 | $u-info: #909399; 34 | $u-info-dark: #767a82; 35 | $u-info-disabled: #c4c6c9; 36 | $u-info-light: #f4f4f5; 37 | 38 | // scss混入,为了少写几行#ifndef 39 | @mixin flex($direction: row) { 40 | /* #ifndef APP-NVUE */ 41 | display: flex; 42 | /* #endif */ 43 | flex-direction: $direction; 44 | } 45 | -------------------------------------------------------------------------------- /androidPrivacy.json: -------------------------------------------------------------------------------- 1 | { 2 | "version" : "1.2", 3 | "prompt" : "template", 4 | "title" : "服务协议和隐私政策", 5 | "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", 6 | "buttonAccept" : "同意并接受", 7 | "buttonRefuse" : "暂不同意", 8 | "second" : { 9 | "title" : "确认提示", 10 | "message" : "  进入应用前,你需先同意《服务协议》《隐私政策》,否则将退出应用。", 11 | "buttonAccept" : "同意并继续", 12 | "buttonRefuse" : "退出应用" 13 | }, 14 | "styles" : { 15 | "backgroundColor" : "#FFFFFF", 16 | "borderRadius" : "5px", 17 | "title" : { 18 | "color" : "#000000" 19 | }, 20 | "buttonAccept" : { 21 | "color" : "#000000" 22 | }, 23 | "buttonRefuse" : { 24 | "color" : "#000000" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /uni_modules/lime-painter/components/l-painter/props.js: -------------------------------------------------------------------------------- 1 | export default { 2 | props: { 3 | board: Object, 4 | pathType: String, // 'base64'、'url' 5 | fileType: { 6 | type: String, 7 | default: 'png' 8 | }, 9 | hidden: Boolean, 10 | quality: { 11 | type: Number, 12 | default: 1 13 | }, 14 | css: [String, Object], 15 | // styles: [String, Object], 16 | width: [Number, String], 17 | height: [Number, String], 18 | pixelRatio: Number, 19 | customStyle: String, 20 | isCanvasToTempFilePath: Boolean, 21 | // useCanvasToTempFilePath: Boolean, 22 | sleep: { 23 | type: Number, 24 | default: 1000 / 30 25 | }, 26 | beforeDelay: { 27 | type: Number, 28 | default: 100 29 | }, 30 | afterDelay: { 31 | type: Number, 32 | default: 100 33 | }, 34 | performance: Boolean, 35 | // #ifdef MP-WEIXIN || MP-TOUTIAO || MP-ALIPAY 36 | type: { 37 | type: String, 38 | default: '2d' 39 | }, 40 | // #endif 41 | // #ifdef APP-NVUE 42 | hybrid: Boolean, 43 | timeout: { 44 | type: Number, 45 | default: 2000 46 | }, 47 | // #endif 48 | // #ifdef H5 || APP-PLUS 49 | useCORS: Boolean, 50 | hidpi: { 51 | type: Boolean, 52 | default: true 53 | } 54 | // #endif 55 | } 56 | } -------------------------------------------------------------------------------- /helpers/favorite.js: -------------------------------------------------------------------------------- 1 | import Config from '../config/config' 2 | import StateCode from '../config/statecode' 3 | import $ from '../helpers/util' 4 | import Lang from '../config/lang' 5 | 6 | 7 | export default { 8 | 9 | onLikeStore: function(store_id, callback) { 10 | var that = this 11 | var params = { 12 | store_id: store_id, 13 | }; 14 | 15 | $.request({ 16 | url: Config.URL.user.wish_store_add, 17 | data: params, 18 | success: function(data, status, msg, code) { 19 | if (status == 200) { 20 | $.alert(Lang.__("已关注!")) 21 | callback && callback(true) 22 | } 23 | else 24 | { 25 | $.alert(msg) 26 | callback && callback(false) 27 | } 28 | } 29 | }) 30 | 31 | return true; 32 | }, 33 | 34 | onUnlikeStore: function(store_id, callback) { 35 | var that = this 36 | var params = { 37 | store_id: store_id, 38 | }; 39 | 40 | $.request({ 41 | url: Config.URL.user.wish_store_remove, 42 | data: params, 43 | success: function(data, status, msg, code) { 44 | if (status == 200) { 45 | $.alert(Lang.__("已取消关注!")) 46 | callback && callback(true) 47 | } 48 | else 49 | { 50 | $.alert(msg) 51 | callback && callback(false) 52 | } 53 | } 54 | }) 55 | }, 56 | } 57 | -------------------------------------------------------------------------------- /components/WaterfallsFlowItem/WaterfallsFlowItem.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 24 | 25 | 62 | -------------------------------------------------------------------------------- /uni_modules/liu-customize-sel/readme.md: -------------------------------------------------------------------------------- 1 | ### liu-customize-sel适用于uni-app项目的省市区三级选择组件 2 | ### 本组件目前兼容微信小程序、H5 3 | ### 本组件地址选择器,常用于省市县、小区选择,自带动画效果,脱离uni-popup,可在任何地方直接应用,自带省市区 4 | # --- 扫码预览、关注我们 --- 5 | 6 | ## 扫码关注公众号,查看更多插件信息,预览插件效果! 7 | 8 | ![](https://uni.ckapi.pro/uniapp/publicize.png) 9 | 10 | ### 使用方式 11 | ``` html 12 | 13 | 14 | ``` 15 | ``` javascript 16 | export default { 17 | data() { 18 | return { 19 | 20 | }; 21 | }, 22 | methods: { 23 | //打开地址选择器 24 | openAddress() { 25 | this.$refs.scroll.open() 26 | }, 27 | //地址选择成功 28 | chooseSuccess(e) { 29 | console.log('所选择的地址信息:', e) 30 | } 31 | } 32 | } 33 | ``` 34 | 35 | ### 属性说明 36 | | 名称 | 类型 | 默认值 | 描述 | 37 | | ----------------------------|--------------- | ---------------------- | ---------------| 38 | | animation | Boolean | true | 是否开启动画 39 | | safeArea | Boolean | true | 是否开启安全条 40 | | isMask | Boolean | true | 是否点击阴影关闭 41 | | @change | Function | | 选择成功回调事件 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /uni_modules/uni-data-picker/components/uni-data-picker/keypress.js: -------------------------------------------------------------------------------- 1 | // #ifdef H5 2 | export default { 3 | name: 'Keypress', 4 | props: { 5 | disable: { 6 | type: Boolean, 7 | default: false 8 | } 9 | }, 10 | mounted () { 11 | const keyNames = { 12 | esc: ['Esc', 'Escape'], 13 | tab: 'Tab', 14 | enter: 'Enter', 15 | space: [' ', 'Spacebar'], 16 | up: ['Up', 'ArrowUp'], 17 | left: ['Left', 'ArrowLeft'], 18 | right: ['Right', 'ArrowRight'], 19 | down: ['Down', 'ArrowDown'], 20 | delete: ['Backspace', 'Delete', 'Del'] 21 | } 22 | const listener = ($event) => { 23 | if (this.disable) { 24 | return 25 | } 26 | const keyName = Object.keys(keyNames).find(key => { 27 | const keyName = $event.key 28 | const value = keyNames[key] 29 | return value === keyName || (Array.isArray(value) && value.includes(keyName)) 30 | }) 31 | if (keyName) { 32 | // 避免和其他按键事件冲突 33 | setTimeout(() => { 34 | this.$emit(keyName, {}) 35 | }, 0) 36 | } 37 | } 38 | document.addEventListener('keyup', listener) 39 | this.$once('hook:beforeDestroy', () => { 40 | document.removeEventListener('keyup', listener) 41 | }) 42 | }, 43 | render: () => {} 44 | } 45 | // #endif 46 | -------------------------------------------------------------------------------- /uni_modules/uni-easyinput/components/uni-easyinput/common.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @desc 函数防抖 3 | * @param func 目标函数 4 | * @param wait 延迟执行毫秒数 5 | * @param immediate true - 立即执行, false - 延迟执行 6 | */ 7 | export const debounce = function(func, wait = 1000, immediate = true) { 8 | let timer; 9 | console.log(1); 10 | return function() { 11 | console.log(123); 12 | let context = this, 13 | args = arguments; 14 | if (timer) clearTimeout(timer); 15 | if (immediate) { 16 | let callNow = !timer; 17 | timer = setTimeout(() => { 18 | timer = null; 19 | }, wait); 20 | if (callNow) func.apply(context, args); 21 | } else { 22 | timer = setTimeout(() => { 23 | func.apply(context, args); 24 | }, wait) 25 | } 26 | } 27 | } 28 | /** 29 | * @desc 函数节流 30 | * @param func 函数 31 | * @param wait 延迟执行毫秒数 32 | * @param type 1 使用表时间戳,在时间段开始的时候触发 2 使用表定时器,在时间段结束的时候触发 33 | */ 34 | export const throttle = (func, wait = 1000, type = 1) => { 35 | let previous = 0; 36 | let timeout; 37 | return function() { 38 | let context = this; 39 | let args = arguments; 40 | if (type === 1) { 41 | let now = Date.now(); 42 | 43 | if (now - previous > wait) { 44 | func.apply(context, args); 45 | previous = now; 46 | } 47 | } else if (type === 2) { 48 | if (!timeout) { 49 | timeout = setTimeout(() => { 50 | timeout = null; 51 | func.apply(context, args) 52 | }, wait) 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /pagesub/video/video.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 46 | 47 | 48 | 49 | 59 | -------------------------------------------------------------------------------- /components/themes/shoptheme5.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 59 | 60 | 61 | 62 | 69 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /components/uni-collapse/uni-collapse.vue: -------------------------------------------------------------------------------- 1 | 6 | 40 | -------------------------------------------------------------------------------- /components/QS-tabs-wxs-list/css/QS-tabs-wxs-list-components.css: -------------------------------------------------------------------------------- 1 | view, 2 | scroll-view, 3 | swiper, 4 | swiper-item, 5 | cover-view, 6 | cover-image, 7 | icon, 8 | text, 9 | rich-text, 10 | progress, 11 | button, 12 | checkbox, 13 | form, 14 | input, 15 | label, 16 | radio, 17 | slider, 18 | switch, 19 | textarea, 20 | navigator, 21 | audio, 22 | camera, 23 | image, 24 | video, 25 | picker-view, 26 | picker-view-column { 27 | box-sizing: border-box; 28 | } 29 | 30 | .container { 31 | position: relative; 32 | width: 100%; 33 | height: 100%; 34 | } 35 | 36 | .scrollView { 37 | position: relative; 38 | width: 100%; 39 | height: 100%; 40 | } 41 | 42 | .scroll-container { 43 | display: flex; 44 | flex-direction: column; 45 | align-items: center; 46 | padding: 30rpx; 47 | } 48 | 49 | .scroll-container.freeze { 50 | height: 100%; 51 | overflow: hidden; 52 | } 53 | 54 | .scroll-item { 55 | width: 100%; 56 | padding: 28rpx; 57 | background-color: white; 58 | border-radius: 8px; 59 | display: flex; 60 | flex-direction: row; 61 | margin-bottom: 35rpx; 62 | } 63 | 64 | .scroll-item-image { 65 | background-color: #F8F8F8; 66 | border-radius: 8px; 67 | height: 220rpx; 68 | width: 40%; 69 | } 70 | 71 | .scroll-item-text { 72 | width: 55%; 73 | display: flex; 74 | flex-direction: row; 75 | justify-content: center; 76 | align-items: center; 77 | font-size: 16px; 78 | color: #666; 79 | } 80 | 81 | .statusText { 82 | height: 40px; 83 | width: 100%; 84 | display: flex; 85 | flex-direction: row; 86 | justify-content: center; 87 | align-items: center; 88 | font-size: 30rpx; 89 | } 90 | -------------------------------------------------------------------------------- /styles/colorui/components/cu-custom.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 62 | 63 | 66 | -------------------------------------------------------------------------------- /helpers/WxStorage.js: -------------------------------------------------------------------------------- 1 | class WxStorage { 2 | constructor() { 3 | } 4 | 5 | setItem(k, v) { 6 | try { 7 | uni.setStorageSync(k, v) 8 | } catch (e) { 9 | } 10 | } 11 | 12 | getItem(k) { 13 | try { 14 | var value = uni.getStorageSync(k) 15 | if (value) { 16 | // Do something with return value 17 | } 18 | } catch (e) { 19 | // Do something when catch error 20 | } 21 | 22 | return value; 23 | } 24 | 25 | removeItem(k) { 26 | try { 27 | uni.removeStorageSync(k) 28 | } catch (e) { 29 | // Do something when catch error 30 | } 31 | } 32 | 33 | clear() { 34 | try { 35 | uni.clearStorageSync() 36 | } catch (e) { 37 | // Do something when catch error 38 | console.error('error uni.clearStorageSyn') 39 | } 40 | } 41 | 42 | key() { 43 | try { 44 | var res = uni.getStorageInfoSync() 45 | console.log(res.keys) 46 | console.log(res.currentSize) 47 | console.log(res.limitSize) 48 | } catch (e) { 49 | // Do something when catch error 50 | } 51 | 52 | return res.keys; 53 | } 54 | 55 | info() { 56 | try { 57 | var res = uni.getStorageInfoSync() 58 | } catch (e) { 59 | // Do something when catch error 60 | console.error('erro getStorageInfoSync') 61 | } 62 | 63 | return res; 64 | } 65 | } 66 | 67 | export default WxStorage 68 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /components/loading.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | 22 | 85 | -------------------------------------------------------------------------------- /uni_modules/search-box/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "search-box", 3 | "displayName": "search-box 搜索框", 4 | "version": "1.0.6", 5 | "description": "ShopSuite商城搜索框", 6 | "keywords": [ 7 | "shopsuite", 8 | "search-box" 9 | ], 10 | "repository": "https://www.shopsuite.cn/", 11 | "engines": { 12 | "HBuilderX": "^3.1.1" 13 | }, 14 | "dcloudext": { 15 | "sale": { 16 | "regular": { 17 | "price": "0.00" 18 | }, 19 | "sourcecode": { 20 | "price": "0.00" 21 | } 22 | }, 23 | "contact": { 24 | "qq": "" 25 | }, 26 | "declaration": { 27 | "ads": "无", 28 | "data": "无", 29 | "permissions": "无" 30 | }, 31 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 32 | "type": "component-vue" 33 | }, 34 | "uni_modules": { 35 | "dependencies": ["uni-load-more"], 36 | "encrypt": [], 37 | "platforms": { 38 | "cloud": { 39 | "tcb": "y", 40 | "aliyun": "y" 41 | }, 42 | "client": { 43 | "App": { 44 | "app-vue": "u", 45 | "app-nvue": "n" 46 | }, 47 | "H5-mobile": { 48 | "Safari": "y", 49 | "Android Browser": "y", 50 | "微信浏览器(Android)": "y", 51 | "QQ浏览器(Android)": "y" 52 | }, 53 | "H5-pc": { 54 | "Chrome": "y", 55 | "IE": "y", 56 | "Edge": "y", 57 | "Firefox": "y", 58 | "Safari": "y" 59 | }, 60 | "小程序": { 61 | "微信": "y", 62 | "阿里": "u", 63 | "百度": "u", 64 | "字节跳动": "u", 65 | "QQ": "u", 66 | "京东": "u" 67 | }, 68 | "快应用": { 69 | "华为": "u", 70 | "联盟": "u" 71 | }, 72 | "Vue": { 73 | "vue2": "y", 74 | "vue3": "y" 75 | } 76 | } 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /uni_modules/ms-activity-tag/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "ms-activity-tag", 3 | "displayName": "活动类型", 4 | "version": "1.0.6", 5 | "description": "ShopSuite商城活动类型", 6 | "keywords": [ 7 | "shopsuite", 8 | "ms-activity-type-name" 9 | ], 10 | "repository": "https://www.shopsuite.cn/", 11 | "engines": { 12 | "HBuilderX": "^3.1.1" 13 | }, 14 | "dcloudext": { 15 | "sale": { 16 | "regular": { 17 | "price": "0.00" 18 | }, 19 | "sourcecode": { 20 | "price": "0.00" 21 | } 22 | }, 23 | "contact": { 24 | "qq": "" 25 | }, 26 | "declaration": { 27 | "ads": "无", 28 | "data": "无", 29 | "permissions": "无" 30 | }, 31 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 32 | "type": "component-vue" 33 | }, 34 | "uni_modules": { 35 | "dependencies": ["uni-load-more"], 36 | "encrypt": [], 37 | "platforms": { 38 | "cloud": { 39 | "tcb": "y", 40 | "aliyun": "y" 41 | }, 42 | "client": { 43 | "App": { 44 | "app-vue": "u", 45 | "app-nvue": "n" 46 | }, 47 | "H5-mobile": { 48 | "Safari": "y", 49 | "Android Browser": "y", 50 | "微信浏览器(Android)": "y", 51 | "QQ浏览器(Android)": "y" 52 | }, 53 | "H5-pc": { 54 | "Chrome": "y", 55 | "IE": "y", 56 | "Edge": "y", 57 | "Firefox": "y", 58 | "Safari": "y" 59 | }, 60 | "小程序": { 61 | "微信": "y", 62 | "阿里": "u", 63 | "百度": "u", 64 | "字节跳动": "u", 65 | "QQ": "u", 66 | "京东": "u" 67 | }, 68 | "快应用": { 69 | "华为": "u", 70 | "联盟": "u" 71 | }, 72 | "Vue": { 73 | "vue2": "y", 74 | "vue3": "y" 75 | } 76 | } 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /pagesub/search/search.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 58 | 59 | 60 | 68 | -------------------------------------------------------------------------------- /uni_modules/ms-activity-tag-text/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "ms-activity-tag-text", 3 | "displayName": "活动类型", 4 | "version": "1.0.6", 5 | "description": "ShopSuite商城活动类型", 6 | "keywords": [ 7 | "shopsuite", 8 | "ms-activity-type-name" 9 | ], 10 | "repository": "https://www.shopsuite.cn/", 11 | "engines": { 12 | "HBuilderX": "^3.1.1" 13 | }, 14 | "dcloudext": { 15 | "sale": { 16 | "regular": { 17 | "price": "0.00" 18 | }, 19 | "sourcecode": { 20 | "price": "0.00" 21 | } 22 | }, 23 | "contact": { 24 | "qq": "" 25 | }, 26 | "declaration": { 27 | "ads": "无", 28 | "data": "无", 29 | "permissions": "无" 30 | }, 31 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 32 | "type": "component-vue" 33 | }, 34 | "uni_modules": { 35 | "dependencies": ["uni-load-more"], 36 | "encrypt": [], 37 | "platforms": { 38 | "cloud": { 39 | "tcb": "y", 40 | "aliyun": "y" 41 | }, 42 | "client": { 43 | "App": { 44 | "app-vue": "u", 45 | "app-nvue": "n" 46 | }, 47 | "H5-mobile": { 48 | "Safari": "y", 49 | "Android Browser": "y", 50 | "微信浏览器(Android)": "y", 51 | "QQ浏览器(Android)": "y" 52 | }, 53 | "H5-pc": { 54 | "Chrome": "y", 55 | "IE": "y", 56 | "Edge": "y", 57 | "Firefox": "y", 58 | "Safari": "y" 59 | }, 60 | "小程序": { 61 | "微信": "y", 62 | "阿里": "u", 63 | "百度": "u", 64 | "字节跳动": "u", 65 | "QQ": "u", 66 | "京东": "u" 67 | }, 68 | "快应用": { 69 | "华为": "u", 70 | "联盟": "u" 71 | }, 72 | "Vue": { 73 | "vue2": "y", 74 | "vue3": "y" 75 | } 76 | } 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /pagesub/scan/scan.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 73 | 74 | 77 | -------------------------------------------------------------------------------- /uni_modules/liu-customize-sel/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "liu-customize-sel", 3 | "displayName": "省市区地址选择、三级联动地址选择、多级联动地址选择、地址选择器、多级选择器", 4 | "version": "1.0.4", 5 | "description": "地址选择器,常用于省市县,小区选择,自带动画效果,脱离uni-popup,可在任何地方直接应用,自带省市区", 6 | "keywords": [ 7 | "liu-customize-sel" 8 | ], 9 | "repository": "", 10 | "engines": { 11 | "HBuilderX": "^3.1.0" 12 | }, 13 | "dcloudext": { 14 | "type": "component-vue", 15 | "sale": { 16 | "regular": { 17 | "price": "0.00" 18 | }, 19 | "sourcecode": { 20 | "price": "0.00" 21 | } 22 | }, 23 | "contact": { 24 | "qq": "" 25 | }, 26 | "declaration": { 27 | "ads": "无", 28 | "data": "无", 29 | "permissions": "无" 30 | }, 31 | "npmurl": "" 32 | }, 33 | "uni_modules": { 34 | "dependencies": [], 35 | "encrypt": [], 36 | "platforms": { 37 | "cloud": { 38 | "tcb": "y", 39 | "aliyun": "y" 40 | }, 41 | "client": { 42 | "Vue": { 43 | "vue2": "y", 44 | "vue3": "u" 45 | }, 46 | "App": { 47 | "app-vue": "u", 48 | "app-nvue": "u" 49 | }, 50 | "H5-mobile": { 51 | "Safari": "y", 52 | "Android Browser": "y", 53 | "微信浏览器(Android)": "y", 54 | "QQ浏览器(Android)": "y" 55 | }, 56 | "H5-pc": { 57 | "Chrome": "u", 58 | "IE": "u", 59 | "Edge": "u", 60 | "Firefox": "u", 61 | "Safari": "u" 62 | }, 63 | "小程序": { 64 | "微信": "y", 65 | "阿里": "u", 66 | "百度": "u", 67 | "字节跳动": "u", 68 | "QQ": "u", 69 | "钉钉": "u", 70 | "快手": "u", 71 | "飞书": "u", 72 | "京东": "u" 73 | }, 74 | "快应用": { 75 | "华为": "u", 76 | "联盟": "u" 77 | } 78 | } 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /components/video/j-video.nvue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 76 | 77 | 88 | -------------------------------------------------------------------------------- /uni_modules/z-tabs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "z-tabs", 3 | "name": "z-tabs", 4 | "displayName": "【z-tabs】一个简单轻量的tabs组件", 5 | "version": "0.2.5", 6 | "description": "全平台兼容,支持nvue、vue3", 7 | "keywords": [ 8 | "tabs" 9 | ], 10 | "repository": "https://github.com/SmileZXLee/uni-z-tabs", 11 | "engines": { 12 | "HBuilderX": "^3.0.7" 13 | }, 14 | "dcloudext": { 15 | "sale": { 16 | "regular": { 17 | "price": "0.00" 18 | }, 19 | "sourcecode": { 20 | "price": "0.00" 21 | } 22 | }, 23 | "contact": { 24 | "qq": "393727164" 25 | }, 26 | "declaration": { 27 | "ads": "无", 28 | "data": "无", 29 | "permissions": "无" 30 | }, 31 | "npmurl": "https://www.npmjs.com/package/@zxlee/z-tabs", 32 | "type": "component-vue" 33 | }, 34 | "uni_modules": { 35 | "dependencies": [], 36 | "encrypt": [], 37 | "platforms": { 38 | "cloud": { 39 | "tcb": "y", 40 | "aliyun": "y" 41 | }, 42 | "client": { 43 | "App": { 44 | "app-vue": "y", 45 | "app-nvue": "y" 46 | }, 47 | "H5-mobile": { 48 | "Safari": "y", 49 | "Android Browser": "y", 50 | "微信浏览器(Android)": "y", 51 | "QQ浏览器(Android)": "y" 52 | }, 53 | "H5-pc": { 54 | "Chrome": "y", 55 | "IE": "y", 56 | "Edge": "y", 57 | "Firefox": "y", 58 | "Safari": "y" 59 | }, 60 | "小程序": { 61 | "微信": "y", 62 | "阿里": "y", 63 | "百度": "y", 64 | "字节跳动": "y", 65 | "QQ": "y", 66 | "钉钉": "y", 67 | "快手": "y", 68 | "飞书": "y", 69 | "京东": "y" 70 | }, 71 | "快应用": { 72 | "华为": "y", 73 | "联盟": "y" 74 | }, 75 | "Vue": { 76 | "vue2": "y", 77 | "vue3": "y" 78 | } 79 | } 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | @import "@/styles/theme.scss"; 17 | 18 | /* 行为相关颜色 */ 19 | $uni-color-primary: #c01328; 20 | $uni-color-success: #4cd964; 21 | $uni-color-warning: #f0ad4e; 22 | $uni-color-error: #F56605; 23 | 24 | /* 文字基本颜色 */ 25 | $uni-text-color:#333;//基本色 26 | $uni-text-color-inverse:#fff;//反色 27 | $uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 28 | $uni-text-color-placeholder: #808080; 29 | $uni-text-color-disable:#c0c0c0; 30 | 31 | /* 背景颜色 */ 32 | $uni-bg-color:#ffffff; 33 | $uni-bg-color-grey:#f8f8f8; 34 | $uni-bg-color-hover:#f1f1f1;//点击状态颜色 35 | $uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 36 | 37 | /* 边框颜色 */ 38 | $uni-border-color:#c8c7cc; 39 | 40 | /* 尺寸变量 */ 41 | 42 | /* 文字尺寸 */ 43 | $uni-font-size-sm:12px; 44 | $uni-font-size-base:14px; 45 | $uni-font-size-lg:16; 46 | 47 | /* 图片尺寸 */ 48 | $uni-img-size-sm:20px; 49 | $uni-img-size-base:26px; 50 | $uni-img-size-lg:40px; 51 | 52 | /* Border Radius */ 53 | $uni-border-radius-sm: 2px; 54 | $uni-border-radius-base: 3px; 55 | $uni-border-radius-lg: 6px; 56 | $uni-border-radius-circle: 50%; 57 | 58 | /* 水平间距 */ 59 | $uni-spacing-row-sm: 5px; 60 | $uni-spacing-row-base: 10px; 61 | $uni-spacing-row-lg: 15px; 62 | 63 | /* 垂直间距 */ 64 | $uni-spacing-col-sm: 4px; 65 | $uni-spacing-col-base: 8px; 66 | $uni-spacing-col-lg: 12px; 67 | 68 | /* 透明度 */ 69 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度 70 | 71 | /* 文章场景相关 */ 72 | $uni-color-title: #2C405A; // 文章标题颜色 73 | $uni-font-size-title:20px; 74 | $uni-color-subtitle: #555555; // 二级标题颜色 75 | $uni-font-size-subtitle:26px; 76 | $uni-color-paragraph: #3F536E; // 文章段落颜色 77 | $uni-font-size-paragraph:15px; 78 | -------------------------------------------------------------------------------- /components/QS-tabs-wxs-list/mixins/QS-tabs-wxs-list-mixin.js: -------------------------------------------------------------------------------- 1 | function QSTabsWxsListMixin(){ 2 | return { 3 | props: { 4 | tab: { 5 | type: [Object, String], 6 | default () { 7 | return {} 8 | } 9 | }, 10 | index: { // 保证性能勿删 11 | type: [String, Number], 12 | default: '' 13 | }, 14 | current: { // 保证性能勿删 15 | type: [String, Number], 16 | default: '' 17 | }, 18 | type: { 19 | type: String, 20 | default: '' 21 | }, 22 | show: { 23 | type: [Boolean, String], 24 | default: false 25 | }, 26 | readyRefresh: { 27 | type: [Boolean, String], 28 | default: false 29 | } 30 | }, 31 | data() { 32 | return { 33 | scrollTop: 0, // 保证性能勿删 34 | oldScrollTop: 0, // 保证性能勿删 35 | setScrollTopcount: 0, // 保证性能勿删 36 | scrollTimeout: null 37 | } 38 | }, 39 | watch: { 40 | // 保证性能勿删 41 | show(newValue, oldValue) { 42 | if (newValue === true) { 43 | this.toOldScrollTop(); 44 | } 45 | } 46 | }, 47 | computed: { 48 | // 保证性能勿删 49 | getShow() { 50 | return String(this.show)==='true'; 51 | }, 52 | getFixedClass() { 53 | // #ifndef MP 54 | return String(this.readyRefresh)==='true'&&String(this.getShow)==='true'?'freeze':''; 55 | // #endif 56 | // #ifdef MP 57 | return ''; 58 | // #endif 59 | } 60 | }, 61 | methods: { 62 | scrollFn(e) { // 保证性能勿删 63 | if (e.detail.scrollTop !== 0) { 64 | if(this.scrollTimeout){ 65 | clearTimeout(this.scrollTimeout); 66 | } 67 | this.scrollTimeout = setTimeout(()=>{ 68 | this.oldScrollTop = e.detail.scrollTop; 69 | }, 100); 70 | 71 | } 72 | }, 73 | toOldScrollTop() { // 保证性能勿删 74 | this.$nextTick(() => { 75 | setTimeout(() => { 76 | this.scrollTop = (this.setScrollTopcount++ % 2 === 0) ? this.oldScrollTop + 1 : this.oldScrollTop - 1; 77 | }, 0) 78 | }) 79 | } 80 | } 81 | } 82 | } 83 | 84 | module.exports = { 85 | QSTabsWxsListMixin 86 | } -------------------------------------------------------------------------------- /helpers/pPay.js: -------------------------------------------------------------------------------- 1 | /* 2 | 微信支付方法(uni-app h5)适用 3 | 获取微信加签信息 4 | @param{data}:获取的微信加签 5 | @param{res}:成功回调 6 | @param{fail}:失败回调 7 | 8 | @warn:因为package为严格模式下的保留字,不能用作变量. 9 | @use 10 | 11 | wPay({ 12 | appId, 13 | timeStamp, 14 | nonceStr, 15 | signature, 16 | package, 17 | paySign 18 | },res=>{ 19 | console.log('调用成功!'); 20 | },fail=>{ 21 | console.log('调用失败!'); 22 | }) 23 | */ 24 | 25 | import wx from './jweixin' 26 | 27 | const wexinPay = (data, cb, errorCb) => { 28 | 29 | let [appId, timestamp, nonceStr, signature, packages, paySign] = [data.appId, data.timeStamp, data.nonceStr, data.signature, 30 | data.package, data.paySign 31 | ]; 32 | 33 | wx.config({ 34 | debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 35 | appId, // 必填,公众号的唯一标识 36 | timestamp, // 必填,生成签名的时间戳 37 | nonceStr, // 必填,生成签名的随机串 38 | signature, // 必填,签名,见附录1 39 | jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 40 | }); 41 | 42 | wx.ready(function() { 43 | wx.chooseWXPay({ 44 | timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 45 | nonceStr, // 支付签名随机串,不长于 32 位 46 | 'package': packages, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) 47 | signType: 'MD5', // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' 48 | paySign, // 支付签名 49 | success(res) { 50 | // 支付成功后的回调函数 51 | cb(res); 52 | }, 53 | fail(res) { 54 | errorCb(res); 55 | } 56 | }); 57 | }); 58 | 59 | wx.error(function(res) { 60 | // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 61 | /*alert("config信息验证失败");*/ 62 | }); 63 | } 64 | 65 | export default wexinPay; -------------------------------------------------------------------------------- /pagesub/webpage/webpage.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 77 | -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /uni_modules/uni-load-more/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-load-more", 3 | "displayName": "uni-load-more 加载更多", 4 | "version": "1.3.3", 5 | "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "加载更多", 10 | "load-more" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "category": [ 21 | "前端组件", 22 | "通用组件" 23 | ], 24 | "sale": { 25 | "regular": { 26 | "price": "0.00" 27 | }, 28 | "sourcecode": { 29 | "price": "0.00" 30 | } 31 | }, 32 | "contact": { 33 | "qq": "" 34 | }, 35 | "declaration": { 36 | "ads": "无", 37 | "data": "无", 38 | "permissions": "无" 39 | }, 40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 41 | }, 42 | "uni_modules": { 43 | "dependencies": ["uni-scss"], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /uni_modules/uni-swiper-dot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-swiper-dot", 3 | "displayName": "uni-swiper-dot 轮播图指示点", 4 | "version": "1.2.0", 5 | "description": "自定义轮播图指示点组件", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "轮播图指示点", 10 | "dot", 11 | "swiper" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "category": [ 22 | "前端组件", 23 | "通用组件" 24 | ], 25 | "sale": { 26 | "regular": { 27 | "price": "0.00" 28 | }, 29 | "sourcecode": { 30 | "price": "0.00" 31 | } 32 | }, 33 | "contact": { 34 | "qq": "" 35 | }, 36 | "declaration": { 37 | "ads": "无", 38 | "data": "无", 39 | "permissions": "无" 40 | }, 41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 42 | }, 43 | "uni_modules": { 44 | "dependencies": ["uni-scss"], 45 | "encrypt": [], 46 | "platforms": { 47 | "cloud": { 48 | "tcb": "y", 49 | "aliyun": "y" 50 | }, 51 | "client": { 52 | "App": { 53 | "app-vue": "y", 54 | "app-nvue": "y" 55 | }, 56 | "H5-mobile": { 57 | "Safari": "y", 58 | "Android Browser": "y", 59 | "微信浏览器(Android)": "y", 60 | "QQ浏览器(Android)": "y" 61 | }, 62 | "H5-pc": { 63 | "Chrome": "y", 64 | "IE": "y", 65 | "Edge": "y", 66 | "Firefox": "y", 67 | "Safari": "y" 68 | }, 69 | "小程序": { 70 | "微信": "y", 71 | "阿里": "y", 72 | "百度": "y", 73 | "字节跳动": "y", 74 | "QQ": "y" 75 | }, 76 | "快应用": { 77 | "华为": "u", 78 | "联盟": "u" 79 | }, 80 | "Vue": { 81 | "vue2": "y", 82 | "vue3": "y" 83 | } 84 | } 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /uni_modules/uni-data-select/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-data-select", 3 | "displayName": "uni-data-select 下拉框选择器", 4 | "version": "1.0.6", 5 | "description": "通过数据驱动的下拉框选择器", 6 | "keywords": [ 7 | "uni-ui", 8 | "select", 9 | "uni-data-select", 10 | "下拉框", 11 | "下拉选" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "^3.1.1" 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-load-more"], 42 | "encrypt": [], 43 | "platforms": { 44 | "cloud": { 45 | "tcb": "y", 46 | "aliyun": "y" 47 | }, 48 | "client": { 49 | "App": { 50 | "app-vue": "u", 51 | "app-nvue": "n" 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 | "阿里": "u", 69 | "百度": "u", 70 | "字节跳动": "u", 71 | "QQ": "u", 72 | "京东": "u" 73 | }, 74 | "快应用": { 75 | "华为": "u", 76 | "联盟": "u" 77 | }, 78 | "Vue": { 79 | "vue2": "y", 80 | "vue3": "y" 81 | } 82 | } 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /uni_modules/uni-easyinput/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-easyinput", 3 | "displayName": "uni-easyinput 增强输入框", 4 | "version": "1.1.9", 5 | "description": "Easyinput 组件是对原生input组件的增强", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "input", 10 | "uni-easyinput", 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-icons" 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 | } -------------------------------------------------------------------------------- /uni_modules/uni-forms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-forms", 3 | "displayName": "uni-forms 表单", 4 | "version": "1.4.9", 5 | "description": "由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据", 6 | "keywords": [ 7 | "uni-ui", 8 | "表单", 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": [ 42 | "uni-scss", 43 | "uni-icons" 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 | "京东": "u" 76 | }, 77 | "快应用": { 78 | "华为": "u", 79 | "联盟": "u" 80 | }, 81 | "Vue": { 82 | "vue2": "y", 83 | "vue3": "y" 84 | } 85 | } 86 | } 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /static/css/vue-emoji.css: -------------------------------------------------------------------------------- 1 | *{ 2 | padding: 0px; 3 | margin: 0px; 4 | } 5 | 6 | .container{ 7 | position: relative; 8 | overflow: hidden; 9 | width: 100%; 10 | background-color: white; 11 | } 12 | 13 | .emojiList{ 14 | height: 240px; 15 | padding: 5px; 16 | list-style: none; 17 | overflow: hidden; 18 | } 19 | .emojiList::after{ 20 | /* content: ""; */ 21 | /* display: block; */ 22 | /* clear: both; */ 23 | } 24 | 25 | .item{ 26 | width: 750rpx; 27 | height: 184px; 28 | overflow: hidden; 29 | float: left; 30 | } 31 | 32 | .item img{ 33 | width: 48px; 34 | height: 48px; 35 | left: 20px; 36 | /* display: block; */ 37 | } 38 | 39 | .point{ 40 | position: absolute; 41 | list-style: none; 42 | left: 50%; 43 | /* 在x负轴上移动 50% */ 44 | transform: translateX(-50%); 45 | bottom: 60px; 46 | } 47 | 48 | .point-item{ 49 | float: left; 50 | width: 8px; 51 | height: 8px; 52 | margin: 0px 5px; 53 | background-color: black; /* white */ 54 | opacity: .2; 55 | border-radius: 100px; 56 | } 57 | 58 | /* 激活指示器 */ 59 | .point-item.active { 60 | opacity: 1; 61 | } 62 | 63 | /* 小表情样式 */ 64 | .emojiImg.minImg { 65 | width: 32px; 66 | height:32px; 67 | float: left; 68 | margin-left: 16px; 69 | margin-top: 16px; 70 | } 71 | /* 大表情样式 */ 72 | .emojiImg.bigImg { 73 | width: 64px; 74 | height:64px; 75 | float: left; 76 | margin-left: 20px; 77 | margin-top: 14px; 78 | } 79 | 80 | 81 | .toast { 82 | position: fixed; 83 | z-index: 2000; 84 | left: 50%; 85 | top:50%; 86 | transition:all .5s; 87 | -webkit-transform: translateX(-50%) translateY(-50%); 88 | -moz-transform: translateX(-50%) translateY(-50%); 89 | -ms-transform: translateX(-50%) translateY(-50%); 90 | -o-transform: translateX(-50%) translateY(-50%); 91 | transform: translateX(-50%) translateY(-50%); 92 | text-align: center; 93 | border-radius: 5px; 94 | color:#FFF; 95 | background: rgba(17, 17, 17, 0.7); 96 | height: 120px; 97 | line-height: 45px; 98 | padding: 0 15px; 99 | } -------------------------------------------------------------------------------- /styles/reg.scss: -------------------------------------------------------------------------------- 1 | 2 | @import "@/styles/_variables"; 3 | 4 | .content { 5 | display: flex; 6 | flex-direction: column; 7 | justify-content: center; 8 | 9 | /* margin-top: 128rpx; */ 10 | } 11 | 12 | /* 头部 logo */ 13 | 14 | .header { 15 | width: 161rpx; 16 | height: 161rpx; 17 | box-shadow: 0rpx 0rpx 60rpx 0rpx rgba(0, 0, 0, 0.1); 18 | border-radius: 50%; 19 | background-color: $main-skin-color; 20 | /* 21 | margin-top: 80rpx; 22 | margin-bottom: 60rpx; 23 | */ 24 | margin-top: 40rpx; 25 | margin-bottom: 20rpx; 26 | margin-left: auto; 27 | margin-right: auto; 28 | 29 | image { 30 | width: 161rpx; 31 | height: 161rpx; 32 | border-radius: 50%; 33 | } 34 | } 35 | 36 | /* 主体 */ 37 | 38 | .main { 39 | display: flex; 40 | flex-direction: column; 41 | padding-left: 70rpx; 42 | padding-right: 70rpx; 43 | } 44 | 45 | .tips { 46 | color: #999999; 47 | font-size: 28rpx; 48 | margin-top: 64rpx; 49 | margin-left: 48rpx; 50 | } 51 | 52 | /* 登录按钮 */ 53 | 54 | .wbutton { 55 | margin-top: 70rpx; 56 | } 57 | 58 | /* 其他登录方式 */ 59 | 60 | .other_login { 61 | display: flex; 62 | flex-direction: row; 63 | justify-content: center; 64 | align-items: center; 65 | margin-top: 80rpx; 66 | text-align: center; 67 | } 68 | 69 | .login_icon { 70 | border: none; 71 | font-size: 64rpx; 72 | margin: 0 40rpx 0 40rpx; 73 | color: rgba(0, 0, 0, 0.7); 74 | } 75 | 76 | .wechat_color { 77 | color: #83DC42; 78 | } 79 | 80 | .weibo_color { 81 | color: #F9221D; 82 | } 83 | 84 | .github_color { 85 | color: #24292E; 86 | } 87 | 88 | /* 底部 */ 89 | 90 | .footer { 91 | display: flex; 92 | flex-direction: row; 93 | justify-content: center; 94 | align-items: center; 95 | font-size: 28rpx; 96 | margin-top: 64rpx; 97 | color: rgba(0, 0, 0, 0.7); 98 | text-align: center; 99 | height: 40rpx; 100 | line-height: 40rpx; 101 | 102 | text { 103 | font-size: 24rpx; 104 | margin-left: 15rpx; 105 | margin-right: 15rpx; 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /pagesub/login/css/main.scss: -------------------------------------------------------------------------------- 1 | 2 | @import "@/styles/_variables"; 3 | 4 | .content { 5 | display: flex; 6 | flex-direction: column; 7 | justify-content: center; 8 | 9 | /* margin-top: 128rpx; */ 10 | } 11 | 12 | /* 头部 logo */ 13 | 14 | .header { 15 | width: 161rpx; 16 | height: 161rpx; 17 | box-shadow: 0rpx 0rpx 60rpx 0rpx rgba(0, 0, 0, 0.1); 18 | border-radius: 50%; 19 | background-color: $main-skin-color; 20 | /* 21 | margin-top: 80rpx; 22 | margin-bottom: 60rpx; 23 | */ 24 | margin-top: 40rpx; 25 | margin-bottom: 20rpx; 26 | margin-left: auto; 27 | margin-right: auto; 28 | 29 | image { 30 | width: 161rpx; 31 | height: 161rpx; 32 | border-radius: 50%; 33 | } 34 | } 35 | 36 | /* 主体 */ 37 | 38 | .main { 39 | display: flex; 40 | flex-direction: column; 41 | padding-left: 70rpx; 42 | padding-right: 70rpx; 43 | } 44 | 45 | .tips { 46 | color: #999999; 47 | font-size: 28rpx; 48 | margin-top: 64rpx; 49 | margin-left: 48rpx; 50 | } 51 | 52 | /* 登录按钮 */ 53 | 54 | .wbutton { 55 | margin-top: 70rpx; 56 | } 57 | 58 | /* 其他登录方式 */ 59 | 60 | .other_login { 61 | display: flex; 62 | flex-direction: row; 63 | justify-content: center; 64 | align-items: center; 65 | margin-top: 80rpx; 66 | text-align: center; 67 | } 68 | 69 | .login_icon { 70 | border: none; 71 | font-size: 64rpx; 72 | margin: 0 40rpx 0 40rpx; 73 | color: rgba(0, 0, 0, 0.7); 74 | } 75 | 76 | .wechat_color { 77 | color: #83DC42; 78 | } 79 | 80 | .weibo_color { 81 | color: #F9221D; 82 | } 83 | 84 | .github_color { 85 | color: #24292E; 86 | } 87 | 88 | /* 底部 */ 89 | 90 | .footer { 91 | display: flex; 92 | flex-direction: row; 93 | justify-content: center; 94 | align-items: center; 95 | font-size: 28rpx; 96 | margin-top: 64rpx; 97 | color: rgba(0, 0, 0, 0.7); 98 | text-align: center; 99 | height: 40rpx; 100 | line-height: 40rpx; 101 | 102 | text { 103 | font-size: 24rpx; 104 | margin-left: 15rpx; 105 | margin-right: 15rpx; 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /uni_modules/uni-data-picker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-data-picker", 3 | "displayName": "uni-data-picker 数据驱动的picker选择器", 4 | "version": "1.1.2", 5 | "description": "单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类等场景", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "picker", 10 | "级联", 11 | "省市区", 12 | "" 13 | ], 14 | "repository": "https://github.com/dcloudio/uni-ui", 15 | "engines": { 16 | "HBuilderX": "" 17 | }, 18 | "directories": { 19 | "example": "../../temps/example_temps" 20 | }, 21 | "dcloudext": { 22 | "sale": { 23 | "regular": { 24 | "price": "0.00" 25 | }, 26 | "sourcecode": { 27 | "price": "0.00" 28 | } 29 | }, 30 | "contact": { 31 | "qq": "" 32 | }, 33 | "declaration": { 34 | "ads": "无", 35 | "data": "无", 36 | "permissions": "无" 37 | }, 38 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 39 | "type": "component-vue" 40 | }, 41 | "uni_modules": { 42 | "dependencies": [ 43 | "uni-load-more", 44 | "uni-icons", 45 | "uni-scss" 46 | ], 47 | "encrypt": [], 48 | "platforms": { 49 | "cloud": { 50 | "tcb": "y", 51 | "aliyun": "y" 52 | }, 53 | "client": { 54 | "App": { 55 | "app-vue": "y", 56 | "app-nvue": "u" 57 | }, 58 | "H5-mobile": { 59 | "Safari": "y", 60 | "Android Browser": "y", 61 | "微信浏览器(Android)": "y", 62 | "QQ浏览器(Android)": "y" 63 | }, 64 | "H5-pc": { 65 | "Chrome": "y", 66 | "IE": "y", 67 | "Edge": "y", 68 | "Firefox": "y", 69 | "Safari": "y" 70 | }, 71 | "小程序": { 72 | "微信": "y", 73 | "阿里": "y", 74 | "百度": "y", 75 | "字节跳动": "y", 76 | "QQ": "y", 77 | "京东": "u" 78 | }, 79 | "快应用": { 80 | "华为": "u", 81 | "联盟": "u" 82 | }, 83 | "Vue": { 84 | "vue2": "y", 85 | "vue3": "y" 86 | } 87 | } 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /uni_modules/lime-painter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "lime-painter", 3 | "displayName": "海报画板", 4 | "version": "1.9.5.7", 5 | "description": "一款canvas海报组件,更优雅的海报生成方案,有限的支持富文本", 6 | "keywords": [ 7 | "海报", 8 | "富文本", 9 | "生成海报", 10 | "生成二维码", 11 | "JSON" 12 | ], 13 | "repository": "https://gitee.com/liangei/lime-painter", 14 | "engines": { 15 | "HBuilderX": "^3.4.14" 16 | }, 17 | "dcloudext": { 18 | "sale": { 19 | "regular": { 20 | "price": "0.00" 21 | }, 22 | "sourcecode": { 23 | "price": "0.00" 24 | } 25 | }, 26 | "contact": { 27 | "qq": "305716444" 28 | }, 29 | "declaration": { 30 | "ads": "无", 31 | "data": "无", 32 | "permissions": "无" 33 | }, 34 | "npmurl": "", 35 | "type": "component-vue" 36 | }, 37 | "uni_modules": { 38 | "dependencies": [], 39 | "encrypt": [], 40 | "platforms": { 41 | "cloud": { 42 | "tcb": "y", 43 | "aliyun": "y" 44 | }, 45 | "client": { 46 | "App": { 47 | "app-vue": "y", 48 | "app-nvue": "y" 49 | }, 50 | "H5-mobile": { 51 | "Safari": "y", 52 | "Android Browser": "y", 53 | "微信浏览器(Android)": "y", 54 | "QQ浏览器(Android)": "y" 55 | }, 56 | "H5-pc": { 57 | "Chrome": "y", 58 | "IE": "u", 59 | "Edge": "u", 60 | "Firefox": "u", 61 | "Safari": "y" 62 | }, 63 | "小程序": { 64 | "微信": "y", 65 | "阿里": "y", 66 | "百度": "y", 67 | "字节跳动": "y", 68 | "QQ": "y", 69 | "钉钉": "u", 70 | "快手": "u", 71 | "飞书": "u", 72 | "京东": "u" 73 | }, 74 | "快应用": { 75 | "华为": "u", 76 | "联盟": "u" 77 | }, 78 | "Vue": { 79 | "vue2": "y", 80 | "vue3": "y" 81 | } 82 | } 83 | } 84 | }, 85 | "name": "lime-painter", 86 | "main": "index.js", 87 | "scripts": { 88 | "test": "echo \"Error: no test specified\" && exit 1" 89 | }, 90 | "author": "", 91 | "license": "ISC" 92 | } 93 | -------------------------------------------------------------------------------- /helpers/util_date.js: -------------------------------------------------------------------------------- 1 | 2 | import Lang from '../config/lang' 3 | 4 | function formatTime(time) { 5 | if (typeof time !== 'number' || time < 0) { 6 | return time 7 | } 8 | 9 | var hour = parseInt(time / 3600) 10 | time = time % 3600 11 | var minute = parseInt(time / 60) 12 | time = time % 60 13 | var second = time 14 | 15 | return ([hour, minute, second]).map(function (n) { 16 | n = n.toString() 17 | return n[1] ? n : '0' + n 18 | }).join(':') 19 | } 20 | 21 | function formatLocation(longitude, latitude) { 22 | if (typeof longitude === 'string' && typeof latitude === 'string') { 23 | longitude = parseFloat(longitude) 24 | latitude = parseFloat(latitude) 25 | } 26 | 27 | longitude = longitude.toFixed(2) 28 | latitude = latitude.toFixed(2) 29 | 30 | return { 31 | longitude: longitude.toString().split('.'), 32 | latitude: latitude.toString().split('.') 33 | } 34 | } 35 | 36 | let UNITS = {}; 37 | 38 | UNITS[Lang.__('年')] = 31557600000; 39 | UNITS[Lang.__('月')] = 2629800000; 40 | UNITS[Lang.__('天')] = 86400000; 41 | UNITS[Lang.__('小时')] = 3600000; 42 | UNITS[Lang.__('分钟')] = 60000; 43 | UNITS[Lang.__('秒')] = 1000; 44 | 45 | var dateUtils = { 46 | UNITS: UNITS, 47 | 48 | humanize: function (milliseconds) { 49 | var humanize = ''; 50 | for (var key in this.UNITS) { 51 | if (milliseconds >= this.UNITS[key]) { 52 | humanize = Math.floor(milliseconds / this.UNITS[key]) + key + Lang.__('前'); 53 | break; 54 | } 55 | } 56 | return humanize || Lang.__('刚刚'); 57 | }, 58 | format: function (dateStr) { 59 | var date = this.parse(dateStr) 60 | var diff = Date.now() - date.getTime(); 61 | if (diff < 86400000) { 62 | return this.humanize(diff); 63 | } 64 | var _format = function (number) { 65 | return (number < 10 ? ('0' + number) : number); 66 | }; 67 | 68 | return date.format('yyyy-MM-dd hh:mm');; 69 | }, 70 | parse: function (str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象 71 | var a = str.split(/[^0-9]/); 72 | return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]); 73 | } 74 | }; 75 | 76 | export default { 77 | formatTime: formatTime, 78 | formatLocation: formatLocation, 79 | dateUtils: dateUtils 80 | } 81 | -------------------------------------------------------------------------------- /uni_modules/uni-easyinput/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.1.9(2023-04-11) 2 | - 修复 vue3 下 keyboardheightchange 事件报错的bug 3 | ## 1.1.8(2023-03-29) 4 | - 优化 trim 属性默认值 5 | ## 1.1.7(2023-03-29) 6 | - 新增 cursor-spacing 属性 7 | ## 1.1.6(2023-01-28) 8 | - 新增 keyboardheightchange 事件,可监听键盘高度变化 9 | ## 1.1.5(2022-11-29) 10 | - 优化 主题样式 11 | ## 1.1.4(2022-10-27) 12 | - 修复 props 中背景颜色无默认值的bug 13 | ## 1.1.0(2022-06-30) 14 | 15 | - 新增 在 uni-forms 1.4.0 中使用可以在 blur 时校验内容 16 | - 新增 clear 事件,点击右侧叉号图标触发 17 | - 新增 change 事件 ,仅在输入框失去焦点或用户按下回车时触发 18 | - 优化 组件样式,组件获取焦点时高亮显示,图标颜色调整等 19 | 20 | ## 1.0.5(2022-06-07) 21 | 22 | - 优化 clearable 显示策略 23 | 24 | ## 1.0.4(2022-06-07) 25 | 26 | - 优化 clearable 显示策略 27 | 28 | ## 1.0.3(2022-05-20) 29 | 30 | - 修复 关闭图标某些情况下无法取消的 bug 31 | 32 | ## 1.0.2(2022-04-12) 33 | 34 | - 修复 默认值不生效的 bug 35 | 36 | ## 1.0.1(2022-04-02) 37 | 38 | - 修复 value 不能为 0 的 bug 39 | 40 | ## 1.0.0(2021-11-19) 41 | 42 | - 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 43 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-easyinput](https://uniapp.dcloud.io/component/uniui/uni-easyinput) 44 | 45 | ## 0.1.4(2021-08-20) 46 | 47 | - 修复 在 uni-forms 的动态表单中默认值校验不通过的 bug 48 | 49 | ## 0.1.3(2021-08-11) 50 | 51 | - 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 52 | 53 | ## 0.1.2(2021-07-30) 54 | 55 | - 优化 vue3 下事件警告的问题 56 | 57 | ## 0.1.1 58 | 59 | - 优化 errorMessage 属性支持 Boolean 类型 60 | 61 | ## 0.1.0(2021-07-13) 62 | 63 | - 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 64 | 65 | ## 0.0.16(2021-06-29) 66 | 67 | - 修复 confirmType 属性(仅 type="text" 生效)导致多行文本框无法换行的 bug 68 | 69 | ## 0.0.15(2021-06-21) 70 | 71 | - 修复 passwordIcon 属性拼写错误的 bug 72 | 73 | ## 0.0.14(2021-06-18) 74 | 75 | - 新增 passwordIcon 属性,当 type=password 时是否显示小眼睛图标 76 | - 修复 confirmType 属性不生效的问题 77 | 78 | ## 0.0.13(2021-06-04) 79 | 80 | - 修复 disabled 状态可清出内容的 bug 81 | 82 | ## 0.0.12(2021-05-12) 83 | 84 | - 新增 组件示例地址 85 | 86 | ## 0.0.11(2021-05-07) 87 | 88 | - 修复 input-border 属性不生效的问题 89 | 90 | ## 0.0.10(2021-04-30) 91 | 92 | - 修复 ios 遮挡文字、显示一半的问题 93 | 94 | ## 0.0.9(2021-02-05) 95 | 96 | - 调整为 uni_modules 目录规范 97 | - 优化 兼容 nvue 页面 98 | -------------------------------------------------------------------------------- /pcguide.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | pcguide 8 | 27 | 57 | 58 | 59 |
60 |
61 |
62 |

请使用手机浏览器,扫描上方二维码预览。

63 |

PC浏览器,请打开控制台并切换至手机模式后并再次刷新浏览。

64 |
65 |
66 | 67 | 68 | 76 | 77 | -------------------------------------------------------------------------------- /helpers/HttpResource.js: -------------------------------------------------------------------------------- 1 | import __config from '../config/config' 2 | import WxResource from 'WxResource' 3 | 4 | class HttpResource { 5 | constructor(url, paramDefaults, actions, options) { 6 | Object.assign(this, { 7 | url, 8 | paramDefaults, 9 | actions, 10 | options, 11 | }) 12 | } 13 | 14 | /** 15 | * 返回实例对象 16 | */ 17 | init() { 18 | const resource = new WxResource(this.setUrl(this.url), this.paramDefaults, this.actions, this.options) 19 | resource.setDefaults({ 20 | interceptors: this.setInterceptors() 21 | }) 22 | return resource 23 | } 24 | 25 | /** 26 | * 设置请求路径 27 | */ 28 | setUrl(url) { 29 | return `${__config.basePath}${url}` 30 | } 31 | 32 | /** 33 | * 拦截器 34 | */ 35 | setInterceptors() { 36 | return [{ 37 | request: (request) => { 38 | request.header = request.header || {} 39 | request.requestTimestamp = new Date().getTime() 40 | if (request.url.indexOf('/api') !== -1 && uni.getStorageSync('token')) { 41 | request.header.Authorization = 'Bearer ' + uni.getStorageSync('token') 42 | } 43 | uni.showToast({ 44 | title: '加载中', 45 | icon: 'loading', 46 | duration: 10000, 47 | mask: !0, 48 | }) 49 | return request 50 | }, 51 | requestError: (requestError) => { 52 | uni.hideToast() 53 | return requestError 54 | }, 55 | response: (response) => { 56 | response.responseTimestamp = new Date().getTime() 57 | if(response.statusCode === 401) { 58 | uni.removeStorageSync('token') 59 | uni.redirectTo({ 60 | url: '/pages/login/index' 61 | }) 62 | } 63 | uni.hideToast() 64 | return response 65 | }, 66 | responseError: (responseError) => { 67 | uni.hideToast() 68 | return responseError 69 | }, 70 | }] 71 | } 72 | } 73 | 74 | export default HttpResource -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate11.vue: -------------------------------------------------------------------------------- 1 | 57 | 58 | 88 | -------------------------------------------------------------------------------- /styles/login.scss: -------------------------------------------------------------------------------- 1 | 2 | /*每个页面公共css */ 3 | /* uni-app默认全局使用flex布局。因为flex布局有利于跨更多平台,尤其是采用原生渲染的平台。如不了解flex布局,请参考http://www.w3.org/TR/css3-flexbox/。如不使用flex布局,请删除或注释掉本行。*/ 4 | 5 | .page { 6 | min-height: 100%; 7 | display: flex; 8 | } 9 | 10 | .content { 11 | display: flex; 12 | flex: 1; 13 | flex-direction: column; 14 | /*background-color: #efeff4;*/ 15 | padding: 20px; 16 | } 17 | 18 | .input-group { 19 | background-color: #ffffff; 20 | margin-top: 40px; 21 | position: relative; 22 | } 23 | 24 | .input-group::before { 25 | position: absolute; 26 | right: 0; 27 | top: 0; 28 | left: 0; 29 | height: 1px; 30 | content: ''; 31 | -webkit-transform: scaleY(.5); 32 | transform: scaleY(.5); 33 | background-color: #c8c7cc; 34 | } 35 | 36 | .input-group::after { 37 | position: absolute; 38 | right: 0; 39 | bottom: 0; 40 | left: 0; 41 | height: 1px; 42 | content: ''; 43 | -webkit-transform: scaleY(.5); 44 | transform: scaleY(.5); 45 | background-color: #c8c7cc; 46 | } 47 | 48 | .input-row { 49 | display: flex; 50 | flex-direction: row; 51 | position: relative; 52 | } 53 | 54 | .input-row .title { 55 | width: 20%; 56 | 57 | padding:20rpx 0; 58 | padding-left:60rpx; 59 | 60 | height:60rpx; 61 | min-height:60rpx; 62 | line-height:60rpx; 63 | } 64 | 65 | .input-row input { 66 | width: 80%; 67 | padding: 20rpx 0; 68 | padding-right: 30rpx; 69 | 70 | height:60rpx; 71 | min-height:60rpx; 72 | line-height:60rpx; 73 | } 74 | 75 | .input-row.border::after { 76 | position: absolute; 77 | right: 0; 78 | bottom: 0; 79 | left: 15px; 80 | height: 1px; 81 | content: ''; 82 | -webkit-transform: scaleY(.5); 83 | transform: scaleY(.5); 84 | background-color: #c8c7cc; 85 | } 86 | 87 | .btn-row { 88 | margin-top: 50px; 89 | padding: 20px; 90 | } 91 | 92 | button.primary { 93 | background-color: #0faeff; 94 | } -------------------------------------------------------------------------------- /helpers/audio/util.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.EventBus = exports.throttle = exports.formatSeconds = void 0; 4 | function formatSeconds(seconds) { 5 | var result = typeof seconds === "string" ? parseFloat(seconds) : seconds; 6 | if (isNaN(result)) 7 | return ""; 8 | let h = Math.floor(result / 3600) < 10 9 | ? "0" + Math.floor(result / 3600) 10 | : Math.floor(result / 3600); 11 | let m = Math.floor((result / 60) % 60) < 10 12 | ? "0" + Math.floor((result / 60) % 60) 13 | : Math.floor((result / 60) % 60) + h * 60; 14 | let s = Math.floor(result % 60) < 10 15 | ? "0" + Math.floor(result % 60) 16 | : Math.floor(result % 60); 17 | return `${m}:${s}`; 18 | } 19 | exports.formatSeconds = formatSeconds; 20 | function throttle(fn, wait) { 21 | let previous = 0; 22 | return function (...arg) { 23 | let context = this; 24 | let now = Date.now(); 25 | //每隔一段时间执行一次; 26 | if (now - previous > wait) { 27 | fn.apply(context, arg); 28 | previous = now; 29 | } 30 | }; 31 | } 32 | exports.throttle = throttle; 33 | class EventBus { 34 | constructor() { 35 | this._events = new Map(); 36 | } 37 | on(event, action, fn) { 38 | let arr = this._events.get(event); 39 | let hasAction = arr 40 | ? arr.findIndex((i) => i.action == action) 41 | : -1; 42 | if (hasAction > -1) { 43 | return; 44 | } 45 | this._events.set(event, [ 46 | ...(this._events.get(event) || []), 47 | { 48 | action, 49 | fn, 50 | }, 51 | ]); 52 | } 53 | has(event) { 54 | return this._events.has(event); 55 | } 56 | emit(event, data) { 57 | if (!this.has(event)) { 58 | return; 59 | } 60 | let arr = this._events.get(event); 61 | arr.forEach((i) => { 62 | i.fn(data); 63 | }); 64 | } 65 | off(event, action) { 66 | if (!this.has(event)) { 67 | return; 68 | } 69 | let arr = this._events.get(event); 70 | let newdata = arr.filter((i) => i.action !== action); 71 | this._events.set(event, [...newdata]); 72 | } 73 | } 74 | exports.EventBus = EventBus; 75 | -------------------------------------------------------------------------------- /main.js: -------------------------------------------------------------------------------- 1 | // #ifndef VUE3 2 | import Vue from 'vue' 3 | import App from './App' 4 | import './styles/zerocons.css' 5 | import store from './store' 6 | 7 | import Lang from './config/lang' 8 | Vue.prototype.Lang = Lang 9 | 10 | import Config from './config/config' 11 | import Statecode from './config/statecode' 12 | import $ from "./helpers/util"; 13 | 14 | import analytics from './helpers/analytics' 15 | Vue.prototype.$report = analytics.report; 16 | 17 | import statusBar from './components/status-bar.vue' 18 | import loading from '@/components/loading.vue' 19 | 20 | // #ifdef H5 21 | import $cookies from './helpers/vue-cookies'; 22 | // #endif 23 | 24 | import './helpers/ican-H5Api' 25 | 26 | Vue.config.productionTip = false 27 | 28 | Vue.prototype.$store = store 29 | Vue.prototype.$ = $ 30 | Vue.prototype.cf = Config 31 | Vue.prototype.__ = Lang.__ 32 | Vue.prototype.sprintf = $.sprintf 33 | Vue.prototype.number_format = $.number_format 34 | Vue.prototype.mf = $.mf 35 | Vue.prototype.statecode = Statecode 36 | 37 | 38 | Vue.prototype.setData = function(params) { 39 | for (let x in params) { 40 | //this.$set(this, x, params[x]); 41 | this[x] = params[x]; 42 | } 43 | 44 | //this.$forceUpdate(); 45 | } 46 | 47 | Vue.component('status-bar', statusBar) 48 | Vue.component('loading', loading) 49 | 50 | App.mpType = 'app' 51 | 52 | // #ifdef APP-PLUS 53 | //重写toast方法如果内容为 ‘再按一次退出应用’ 就隐藏应用,其他正常toast 54 | if (plus.os.name.toLowerCase() === 'android') { 55 | plus.nativeUI.toast = (function(str) { 56 | if (str == '再按一次退出应用') { 57 | uni.showToast({ 58 | title: Lang.__('再按一次退出应用'), 59 | icon: 'none', 60 | }) 61 | return false; 62 | } else { 63 | uni.showToast({ 64 | title: str, 65 | icon: 'none', 66 | }) 67 | } 68 | }); 69 | } 70 | // #endif 71 | 72 | import audio from './helpers/audio/index.js' 73 | Vue.prototype.$audio = audio 74 | 75 | Vue.prototype.$onLaunched = new Promise(resolve => { 76 | Vue.prototype.$isResolve = resolve 77 | }) 78 | 79 | const app = new Vue({ 80 | store, 81 | ...App 82 | }) 83 | 84 | app.$mount() 85 | 86 | // #endif 87 | 88 | // #ifdef VUE3 89 | import { 90 | createSSRApp 91 | } from 'vue' 92 | import uView from '@/uni_modules/uview-ui'; 93 | Vue.use(uView); 94 | export function createApp() { 95 | const app = createSSRApp(App) 96 | return { 97 | app 98 | } 99 | } 100 | // #endif -------------------------------------------------------------------------------- /uni_modules/uni-icons/components/uni-icons/uni-icons.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 80 | 81 | 97 | -------------------------------------------------------------------------------- /helpers/notice.js: -------------------------------------------------------------------------------- 1 | function addNotification(e, t, n) 2 | { 3 | if (e && t) 4 | { 5 | n || console.log("addNotification Warning: no observer will can't remove notice"); 6 | var r = {name: e, selector: t, observer: n}; 7 | addNotices(r) 8 | } 9 | else 10 | { 11 | console.log("addNotification error: no selector or name") 12 | } 13 | } 14 | function addNotices(e) 15 | { 16 | __notices.push(e) 17 | } 18 | function removeNotification(e, t) 19 | { 20 | for (var n = 0; n < __notices.length; n++) 21 | { 22 | var r = __notices[n]; 23 | if (r.name === e && r.observer === t) 24 | { 25 | __notices.splice(n, 1); 26 | return 27 | } 28 | } 29 | } 30 | function postNotificationName(e, t) 31 | { 32 | if (__notices.length == 0) 33 | { 34 | console.log("postNotificationName error: u hadn't add any notice."); 35 | return 36 | } 37 | for (var n = 0; n < __notices.length; n++) 38 | { 39 | var r = __notices[n]; 40 | r.name === e && r.selector(t) 41 | } 42 | } 43 | function cmp(e, t) 44 | { 45 | if (e === t) 46 | { 47 | return !0; 48 | } 49 | if (e instanceof Object && t instanceof Object) 50 | { 51 | if (e.constructor !== t.constructor) 52 | { 53 | return !1; 54 | } 55 | for (var n in e) 56 | { 57 | if (e.hasOwnProperty(n)) 58 | { 59 | if (!t.hasOwnProperty(n)) 60 | { 61 | return !1; 62 | } 63 | if (e[n] === t[n]) 64 | { 65 | continue; 66 | } 67 | if (typeof e[n] != "object") 68 | { 69 | return !1; 70 | } 71 | if (!Object.equals(e[n], t[n])) 72 | { 73 | return !1 74 | } 75 | } 76 | } 77 | for (n in t) 78 | { 79 | if (t.hasOwnProperty(n) && !e.hasOwnProperty(n)) 80 | { 81 | return !1; 82 | } 83 | } 84 | return !0 85 | } 86 | return !1 87 | } 88 | 89 | var __notices = [], isDebug = !0; 90 | 91 | export default { 92 | addNotification: addNotification, 93 | removeNotification: removeNotification, 94 | postNotificationName: postNotificationName 95 | }; -------------------------------------------------------------------------------- /member/member/carddesc.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 37 | 75 | 76 | 77 | 78 | 82 | -------------------------------------------------------------------------------- /uni_modules/ms-activity-tag-text/components/ms-activity-tag-text/ms-activity-tag-text.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 93 | 94 | 95 | 103 | 104 | -------------------------------------------------------------------------------- /uni_modules/uni-data-picker/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.1.2(2023-04-11) 2 | - 修复 更改 modelValue 报错的 bug 3 | - 修复 v-for 未使用 key 值控制台 warning 4 | ## 1.1.1(2023-02-21) 5 | - 修复代码合并时引发 value 属性为空时不渲染数据的问题 6 | ## 1.1.0(2023-02-15) 7 | - 修复 localdata 不支持动态更新的bug 8 | ## 1.0.9(2023-02-15) 9 | - 修复 localdata 不支持动态更新的bug 10 | ## 1.0.8(2022-09-16) 11 | - 可以使用 uni-scss 控制主题色 12 | ## 1.0.7(2022-07-06) 13 | - 优化 pc端图标位置不正确的问题 14 | ## 1.0.6(2022-07-05) 15 | - 优化 显示样式 16 | ## 1.0.5(2022-07-04) 17 | - 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug 18 | ## 1.0.4(2022-04-19) 19 | - 修复 字节小程序 本地数据无法选择下一级的Bug 20 | ## 1.0.3(2022-02-25) 21 | - 修复 nvue 不支持的 v-show 的 bug 22 | ## 1.0.2(2022-02-25) 23 | - 修复 条件编译 nvue 不支持的 css 样式 24 | ## 1.0.1(2021-11-23) 25 | - 修复 由上个版本引发的map、v-model等属性不生效的bug 26 | ## 1.0.0(2021-11-19) 27 | - 优化 组件 UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 28 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker) 29 | ## 0.4.9(2021-10-28) 30 | - 修复 VUE2 v-model 概率无效的 bug 31 | ## 0.4.8(2021-10-27) 32 | - 修复 v-model 概率无效的 bug 33 | ## 0.4.7(2021-10-25) 34 | - 新增 属性 spaceInfo 服务空间配置 HBuilderX 3.2.11+ 35 | - 修复 树型 uniCloud 数据类型为 int 时报错的 bug 36 | ## 0.4.6(2021-10-19) 37 | - 修复 非 VUE3 v-model 为 0 时无法选中的 bug 38 | ## 0.4.5(2021-09-26) 39 | - 新增 清除已选项的功能(通过 clearIcon 属性配置是否显示按钮),同时提供 clear 方法以供调用,二者等效 40 | - 修复 readonly 为 true 时报错的 bug 41 | ## 0.4.4(2021-09-26) 42 | - 修复 上一版本造成的 map 属性失效的 bug 43 | - 新增 ellipsis 属性,支持配置 tab 选项长度过长时是否自动省略 44 | ## 0.4.3(2021-09-24) 45 | - 修复 某些情况下级联未触发的 bug 46 | ## 0.4.2(2021-09-23) 47 | - 新增 提供 show 和 hide 方法,开发者可以通过 ref 调用 48 | - 新增 选项内容过长自动添加省略号 49 | ## 0.4.1(2021-09-15) 50 | - 新增 map 属性 字段映射,将 text/value 映射到数据中的其他字段 51 | ## 0.4.0(2021-07-13) 52 | - 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 53 | ## 0.3.5(2021-06-04) 54 | - 修复 无法加载云端数据的问题 55 | ## 0.3.4(2021-05-28) 56 | - 修复 v-model 无效问题 57 | - 修复 loaddata 为空数据组时加载时间过长问题 58 | - 修复 上个版本引出的本地数据无法选择带有 children 的 2 级节点 59 | ## 0.3.3(2021-05-12) 60 | - 新增 组件示例地址 61 | ## 0.3.2(2021-04-22) 62 | - 修复 非树形数据有 where 属性查询报错的问题 63 | ## 0.3.1(2021-04-15) 64 | - 修复 本地数据概率无法回显时问题 65 | ## 0.3.0(2021-04-07) 66 | - 新增 支持云端非树形表结构数据 67 | - 修复 根节点 parent_field 字段等于 null 时选择界面错乱问题 68 | ## 0.2.0(2021-03-15) 69 | - 修复 nodeclick、popupopened、popupclosed 事件无法触发的问题 70 | ## 0.1.9(2021-03-09) 71 | - 修复 微信小程序某些情况下无法选择的问题 72 | ## 0.1.8(2021-02-05) 73 | - 优化 部分样式在 nvue 上的兼容表现 74 | ## 0.1.7(2021-02-05) 75 | - 调整为 uni_modules 目录规范 76 | -------------------------------------------------------------------------------- /uni_modules/search-box/components/search-box/search-box.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 34 | 35 | 36 | 119 | 120 | -------------------------------------------------------------------------------- /components/uni-section/uni-section.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 48 | 109 | -------------------------------------------------------------------------------- /uni_modules/ms-activity-tag/components/ms-activity-tag/ms-activity-tag.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 95 | 96 | 97 | 109 | 110 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate10.vue: -------------------------------------------------------------------------------- 1 | 65 | 66 | 98 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate2.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate3.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate4.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate5.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate6.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate7.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate8.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate9.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 99 | -------------------------------------------------------------------------------- /components/uni-badge.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 37 | 38 | 119 | -------------------------------------------------------------------------------- /components/QS-tabs-wxs-list/css/QS-tabs-wxs-list.css: -------------------------------------------------------------------------------- 1 | view, 2 | scroll-view, 3 | swiper, 4 | swiper-item, 5 | cover-view, 6 | cover-image, 7 | icon, 8 | text, 9 | rich-text, 10 | progress, 11 | button, 12 | checkbox, 13 | form, 14 | input, 15 | label, 16 | radio, 17 | slider, 18 | switch, 19 | textarea, 20 | navigator, 21 | audio, 22 | camera, 23 | image, 24 | video, 25 | picker-view, 26 | picker-view-column { 27 | box-sizing: border-box; 28 | } 29 | 30 | .container { 31 | position: relative; 32 | width: 100%; 33 | display: flex; 34 | flex-direction: column; 35 | overflow: hidden; 36 | } 37 | 38 | .disabled { 39 | position: absolute; 40 | top: 0; 41 | left: 0; 42 | height: 100%; 43 | width: 100%; 44 | } 45 | 46 | .tabs-container { 47 | top: 0; 48 | left: 0; 49 | width: 100%; 50 | transition-property: background-color; 51 | transition-duration: .3s; 52 | } 53 | 54 | .tabs-scroll { 55 | width: 100%; 56 | white-space: nowrap; 57 | position: relative; 58 | } 59 | 60 | .tabs-scroll-box { 61 | position: relative; 62 | display: flex; 63 | white-space: nowrap !important; 64 | display: block !important; 65 | } 66 | 67 | .tabs-scroll-item { 68 | position: relative; 69 | display: inline-block; 70 | text-align: center; 71 | transition: color, font-size .3s; 72 | } 73 | 74 | .hide_text { 75 | opacity: 0; 76 | pointer-events: none; 77 | } 78 | 79 | .abs_text { 80 | position: absolute; 81 | top: 50%; 82 | left: 50%; 83 | transform: translate(-50%, -50%); 84 | transition-property: color; 85 | transition-duration: .3s; 86 | } 87 | 88 | .swiper-container { 89 | width: 100%; 90 | transition-property: background-color; 91 | transition-duration: .3s; 92 | } 93 | 94 | .swiper-item { 95 | transition: background-color .3s; 96 | } 97 | 98 | .line { 99 | position: absolute; 100 | bottom: 0; 101 | left: 0; 102 | width: 0; 103 | height: 0; 104 | transition-property: width, height, background-color, border; 105 | transition-duration: .3s; 106 | } 107 | 108 | /* refresh */ 109 | .refresh-container { 110 | width: 100%; 111 | display: flex; 112 | flex-direction: column; 113 | position: relative; 114 | } 115 | 116 | .refresh-image-container { 117 | position: absolute; 118 | left: 0; 119 | top: 0; 120 | transform: translateY(-100%); 121 | display: flex; 122 | flex-direction: column; 123 | justify-content: center; 124 | align-items: center; 125 | width: 100%; 126 | opacity: 0; 127 | transition-property: opacity; 128 | transition-duration: .3s; 129 | } 130 | .refresh-image-container.show{ 131 | opacity: 1; 132 | } 133 | 134 | 135 | .refresh-image { 136 | height: 80rpx; 137 | width: 80rpx; 138 | } 139 | 140 | .refreshText { 141 | margin-top: 15rpx; 142 | } 143 | -------------------------------------------------------------------------------- /member/member/sign.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 96 | 97 | 108 | -------------------------------------------------------------------------------- /components/u-parse/components/wxParseImg.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 95 | -------------------------------------------------------------------------------- /components/QS-tabs-wxs-list/js/publicProps.js: -------------------------------------------------------------------------------- 1 | var publicProps = { 2 | minWidth: { //tab最小宽度 3 | type: String, 4 | default: '250rpx' 5 | }, 6 | space: { //tab间距, 左右padding值 7 | type: String, 8 | default: '10px' 9 | }, 10 | tabHeight: { //tabs高度 11 | type: String, 12 | default: '44px' 13 | }, 14 | height: { //组件总高度, 需外部计算并传入 15 | type: [Number, String], 16 | default: 500 17 | }, 18 | lineWidth: { //线条宽度,若小于1则当做百分比计算 19 | type: [Number, String], 20 | default: .7 21 | }, 22 | lineHieght: { //线条高度 23 | type: String, 24 | default: '2px' 25 | }, 26 | lineColor: { //线条颜色 27 | type: String, 28 | default: '#f1505c' 29 | }, 30 | lineMarginBottom: { //线条距离底部距离 31 | type: [Number, String], 32 | default: 0 33 | }, 34 | defCurrent: { //默认当前项 35 | type: [Number, String], 36 | default: 0 37 | }, 38 | autoCenter: { //scrollview自动居中 39 | type: [Boolean, String], 40 | default: true 41 | }, 42 | tapTabRefresh: { //点击当前项tab触发组件内部init函数 43 | type: [Boolean, String], 44 | default: true 45 | }, 46 | fontSize: { //tab默认字体大小 47 | type: String, 48 | default: '28rpx' 49 | }, 50 | activeFontSize: { //当前项字体大小 51 | type: String, 52 | default: '32rpx' 53 | }, 54 | swiperBackgroundColor: { //swiper背景颜色 55 | type: String, 56 | default: '#f8f8f8' 57 | }, 58 | tabsBackgroundColor: { //tabs背景颜色 59 | type: String, 60 | default: '#fff' 61 | }, 62 | tabsFontColor: { //tabs默认字体颜色 63 | type: String, 64 | default: '#999' 65 | }, 66 | activeFontColor: { //tabs当前项字体颜色 67 | type: String, 68 | default: '#000' 69 | }, 70 | activeBold: { //当前项字体加粗 71 | type: [Boolean, String], 72 | default: true 73 | }, 74 | initFnName: { //初始调用函数名称(组件内部) 75 | type: String, 76 | default: 'init' 77 | }, 78 | type: { //用于区分展示不同列表模板的标识 79 | type: String, 80 | default: 'default' 81 | }, 82 | zIndex: { //z-index属性值 83 | type: [String, Number], 84 | default: 99 85 | }, 86 | tabsSticky: { //tabs是否sticky定位(粘贴组件顶部) 87 | type: [Boolean, String], 88 | default: false 89 | }, 90 | hasRefresh: { 91 | type: [Boolean, String], 92 | default: false 93 | }, 94 | refreshImage: { //刷新动画图片 95 | type: String, 96 | default: '' 97 | }, 98 | refreshDistance: { //刷新距离 99 | type: [Number, String], 100 | default: 90 101 | }, 102 | beforRefreshText: { //刷新前文字 103 | type: String, 104 | default: '下拉刷新' 105 | }, 106 | releaseRefreshText: { //释放刷新文字 107 | type: String, 108 | default: '松开刷新' 109 | }, 110 | isRefreshingText: { //刷新中文字 111 | type: String, 112 | default: '刷新中...' 113 | }, 114 | completeRefreshText: { //刷新完成文字 115 | type: String, 116 | default: '刷新完毕' 117 | }, 118 | refreshTextColor: { //刷新文字的颜色 119 | type: String, 120 | default: '#666' 121 | }, 122 | refreshTextFontSize: { //刷新文字的大小 123 | type: String, 124 | default: '25rpx' 125 | } 126 | } 127 | 128 | module.exports = publicProps; -------------------------------------------------------------------------------- /components/u-parse/components/wxParseTemplate1.vue: -------------------------------------------------------------------------------- 1 | 67 | 68 | 100 | -------------------------------------------------------------------------------- /helpers/WxService.js: -------------------------------------------------------------------------------- 1 | import Tools from 'Tools' 2 | import es6 from '../helpers/plugins/es6-promise' 3 | 4 | class Service { 5 | constructor() { 6 | this.__init() 7 | } 8 | 9 | /** 10 | * __init 11 | */ 12 | __init() { 13 | this.tools = new Tools 14 | this.__initDefaults() 15 | this.__initMethods() 16 | } 17 | 18 | 19 | /** 20 | * __initDefaults 21 | */ 22 | __initDefaults() { 23 | // 缓存非异步方法 24 | this.noPromiseMethods = [ 25 | 'stopRecord', 26 | 'pauseVoice', 27 | 'stopVoice', 28 | 'pauseBackgroundAudio', 29 | 'stopBackgroundAudio', 30 | 'showNavigationBarLoading', 31 | 'hideNavigationBarLoading', 32 | 'createAnimation', 33 | 'createContext', 34 | 'hideKeyboard', 35 | 'stopPullDownRefresh', 36 | ] 37 | 38 | // 缓存wx接口方法名 39 | this.instanceSource = { 40 | method: Object.keys(wx) 41 | } 42 | } 43 | 44 | /** 45 | * 遍历wx方法对象,判断是否为异步方法,是则构造promise 46 | */ 47 | __initMethods() { 48 | for(let key in this.instanceSource) { 49 | this.instanceSource[key].forEach((method, index) => { 50 | this[method] = (...args) => { 51 | // 判断是否为非异步方法或以 uni.on 开头,或以 Sync 结尾的方法 52 | if (this.noPromiseMethods.indexOf(method) !== -1 || method.substr(0, 2) === 'on' || /\w+Sync$/.test(method)) { 53 | return wx[method](...args) 54 | } 55 | return this.__defaultRequest(method, ...args) 56 | } 57 | }) 58 | } 59 | 60 | /** 61 | * 保留当前页面,跳转到应用内的某个页面 62 | * @param {String} url 路径 63 | * @param {Object} params 参数 64 | */ 65 | this.navigateTo = (url, params) => { 66 | const $$url = this.tools.buildUrl(url, params) 67 | return new es6.Promise((resolve, reject) => { 68 | uni.navigateTo({ 69 | url: $$url, 70 | success: res => resolve(res), 71 | fail: res => reject(res), 72 | }) 73 | }) 74 | } 75 | 76 | /** 77 | * 关闭当前页面,跳转到应用内的某个页面 78 | * @param {String} url 路径 79 | * @param {Object} params 参数 80 | */ 81 | this.redirectTo = (url, params) => { 82 | const $$url = this.tools.buildUrl(url, params) 83 | return new es6.Promise((resolve, reject) => { 84 | uni.redirectTo({ 85 | url: $$url, 86 | success: res => resolve(res), 87 | fail: res => reject(res), 88 | }) 89 | }) 90 | } 91 | } 92 | 93 | /** 94 | * 以wx下API作为底层方法 95 | * @param {String} method 方法名 96 | * @param {Object} obj 接收参数 97 | */ 98 | __defaultRequest(method = '', obj = {}) { 99 | return new es6.Promise((resolve, reject) => { 100 | obj.success = (res) => resolve(res) 101 | obj.fail = (res) => reject(res) 102 | wx[method](obj) 103 | }) 104 | } 105 | } 106 | 107 | export default Service -------------------------------------------------------------------------------- /styles/uni-nvue.css: -------------------------------------------------------------------------------- 1 | /* #ifndef APP-PLUS-NVUE */ 2 | page { 3 | min-height: 100%; 4 | height: auto; 5 | } 6 | /* #endif */ 7 | 8 | /* 解决头条小程序字体图标不显示问题,因为头条运行时自动插入了span标签,且有全局字体 */ 9 | /* #ifdef MP-TOUTIAO */ 10 | /* text :not(view) { 11 | font-family: uniicons; 12 | } */ 13 | /* #endif */ 14 | 15 | .uni-icon { 16 | font-family: uniicons; 17 | font-weight: normal; 18 | } 19 | 20 | .uni-container { 21 | padding: 15px; 22 | background-color: #f8f8f8; 23 | } 24 | 25 | .uni-header-logo { 26 | /* #ifdef H5 */ 27 | display: flex; 28 | /* #endif */ 29 | padding: 15px 15px; 30 | flex-direction: column; 31 | justify-content: center; 32 | align-items: center; 33 | margin-top: 10rpx; 34 | } 35 | 36 | .uni-header-image { 37 | width: 80px; 38 | height: 80px; 39 | } 40 | 41 | .uni-hello-text { 42 | margin-bottom: 20px; 43 | } 44 | 45 | .hello-text { 46 | color: #7A7E83; 47 | font-size: 14px; 48 | line-height: 20px; 49 | } 50 | 51 | .hello-link { 52 | color: #7A7E83; 53 | font-size: 14px; 54 | line-height: 20px; 55 | } 56 | 57 | .uni-panel { 58 | margin-bottom: 12px; 59 | } 60 | 61 | .uni-panel-h { 62 | /* #ifdef H5 */ 63 | display: flex; 64 | /* #endif */ 65 | background-color: #ffffff; 66 | flex-direction: row !important; 67 | /* justify-content: space-between !important; */ 68 | align-items: center !important; 69 | padding: 12px; 70 | /* #ifdef H5 */ 71 | cursor: pointer; 72 | /* #endif */ 73 | } 74 | /* 75 | .uni-panel-h:active { 76 | background-color: #f8f8f8; 77 | } 78 | */ 79 | .uni-panel-h-on { 80 | background-color: #f0f0f0; 81 | } 82 | 83 | .uni-panel-text { 84 | flex: 1; 85 | color: #000000; 86 | font-size: 14px; 87 | font-weight: normal; 88 | } 89 | 90 | .uni-panel-icon { 91 | margin-left: 15px; 92 | color: #999999; 93 | font-size: 14px; 94 | font-weight: normal; 95 | transform: rotate(0deg); 96 | transition-duration: 0s; 97 | transition-property: transform; 98 | } 99 | 100 | .uni-panel-icon-on { 101 | transform: rotate(180deg); 102 | } 103 | 104 | .uni-navigate-item { 105 | /* #ifdef H5 */ 106 | display: flex; 107 | /* #endif */ 108 | flex-direction: row; 109 | align-items: center; 110 | background-color: #FFFFFF; 111 | border-top-style: solid; 112 | border-top-color: #f0f0f0; 113 | border-top-width: 1px; 114 | padding: 12px; 115 | /* #ifdef H5 */ 116 | cursor: pointer; 117 | /* #endif */ 118 | } 119 | 120 | .uni-navigate-item:active { 121 | background-color: #f8f8f8; 122 | } 123 | 124 | .uni-navigate-text { 125 | flex: 1; 126 | color: #000000; 127 | font-size: 14px; 128 | font-weight: normal; 129 | } 130 | 131 | .uni-navigate-icon { 132 | margin-left: 15px; 133 | color: #999999; 134 | font-size: 14px; 135 | font-weight: normal; 136 | } 137 | -------------------------------------------------------------------------------- /components/themes/shoptheme3.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 83 | 84 | 85 | 92 | -------------------------------------------------------------------------------- /components/u-parse/u-parse.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 17 | 18 | 118 | --------------------------------------------------------------------------------