From f2bac76294774674198afe38f693c1a87f66eb53 Mon Sep 17 00:00:00 2001 From: h30830569 <30830569@qq.com> Date: Fri, 6 May 2022 16:08:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 14 + .env | 5 + .env.development | 4 + .env.production | 3 + .eslintignore | 4 + .eslintrc.js | 198 + .gitignore | 23 + .prettierrc.json | 5 + README.md | 19 + babel.config.js | 63 + package.json | 109 + postcss.config.js | 29 + public/index.html | 28 + src/App.vue | 24 + src/components/QS-SharePoster/QRCodeAlg.js | 1009 ++ .../QS-SharePoster/QS-SharePoster.js | 1620 +++ src/components/QS-SharePoster/app.js | 565 + src/components/QS-SharePoster/image-tools.js | 147 + src/components/cu-modal/cu-modal.vue | 288 + src/components/loading-view/loading-view.vue | 52 + .../password-popup/password-popup.vue | 255 + src/components/sms-input/sms-input.vue | 78 + src/main.js | 37 + src/manifest.json | 187 + src/mixin/app.mixin.js | 13 + src/mixin/router.mixin.js | 29 + src/pages.json | 68 + src/pages/code/index.vue | 35 + src/pages/index/index.vue | 29 + src/pages/login/index.vue | 66 + src/pages/order_details/index.vue | 113 + .../components/share-popup.vue | 291 + src/pages/product_details/index.vue | 606 + .../select_product/components/goods-item.vue | 30 + src/pages/select_product/index.vue | 70 + src/pages/select_store/index.vue | 23 + .../user_order/conponents/order-item.vue | 35 + src/pages/user_order/index.vue | 35 + src/pages/user_select_pro/index.vue | 60 + src/static/images/empty.png | Bin 0 -> 13716 bytes src/static/images/svip.svg | 1 + src/static/tabbar/cart.png | Bin 0 -> 1086 bytes src/static/tabbar/cart_sel.png | Bin 0 -> 1109 bytes src/static/tabbar/class.png | Bin 0 -> 1648 bytes src/static/tabbar/class_sel.png | Bin 0 -> 1710 bytes src/static/tabbar/healthy.png | Bin 0 -> 1179 bytes src/static/tabbar/healthy_sel.png | Bin 0 -> 1218 bytes src/static/tabbar/index.png | Bin 0 -> 1108 bytes src/static/tabbar/index_sel.png | Bin 0 -> 1156 bytes src/static/tabbar/my.png | Bin 0 -> 989 bytes src/static/tabbar/my_sel.png | Bin 0 -> 774 bytes src/store/getters.js | 17 + src/store/index.js | 17 + src/store/modules/user.js | 109 + src/style/index.scss | 57 + src/uni.scss | 81 + src/uni_modules/mescroll-uni/changelog.md | 6 + .../mescroll-body/mescroll-body.css | 19 + .../mescroll-body/mescroll-body.vue | 400 + .../beibei/components/mescroll-down.css | 47 + .../beibei/components/mescroll-down.vue | 39 + .../mescroll-diy/beibei/mescroll-body.vue | 360 + .../beibei/mescroll-uni-option.js | 49 + .../mescroll-diy/beibei/mescroll-uni.vue | 437 + .../xinlang/components/mescroll-down.css | 44 + .../xinlang/components/mescroll-down.vue | 53 + .../xinlang/components/mescroll-up.css | 32 + .../xinlang/components/mescroll-up.vue | 40 + .../mescroll-diy/xinlang/mescroll-body.vue | 380 + .../xinlang/mescroll-uni-option.js | 64 + .../mescroll-diy/xinlang/mescroll-uni.vue | 462 + .../mescroll-empty/mescroll-empty.vue | 116 + .../mescroll-uni/components/mescroll-down.css | 55 + .../mescroll-uni/components/mescroll-down.vue | 47 + .../mescroll-uni/components/mescroll-top.vue | 83 + .../mescroll-uni/components/mescroll-up.css | 47 + .../mescroll-uni/components/mescroll-up.vue | 39 + .../components/mescroll-uni/mescroll-i18n.js | 15 + .../mescroll-uni/mescroll-mixins.js | 57 + .../mescroll-uni/mescroll-uni-option.js | 64 + .../components/mescroll-uni/mescroll-uni.css | 36 + .../components/mescroll-uni/mescroll-uni.js | 799 ++ .../components/mescroll-uni/mescroll-uni.vue | 477 + .../mescroll-uni/mixins/mescroll-comp.js | 47 + .../mescroll-uni/mixins/mescroll-more-item.js | 66 + .../mescroll-uni/mixins/mescroll-more.js | 74 + .../components/mescroll-uni/wxs/mixins.js | 109 + .../components/mescroll-uni/wxs/renderjs.js | 92 + .../components/mescroll-uni/wxs/wxs.wxs | 268 + src/uni_modules/mescroll-uni/package.json | 80 + src/uni_modules/mescroll-uni/readme.md | 45 + src/utils/address_parse.js | 500 + src/utils/async-validator.js | 1343 ++ src/utils/check-update.js | 121 + src/utils/filters.js | 217 + src/utils/index.js | 96 + src/utils/login.js | 37 + src/utils/ossutil/base64.js | 143 + src/utils/ossutil/crypto.js | 178 + src/utils/ossutil/hmac.js | 34 + src/utils/ossutil/sha1.js | 79 + src/utils/ossutil/uploadFile.js | 89 + src/utils/pay.js | 89 + src/utils/pcasCode.js | 7 + src/utils/request.js | 122 + src/utils/tools.js | 80 + src/utils/uni-copy.js | 45 + src/utils/wechath5.js | 31 + tsconfig.json | 9 + unpackage/res/icons/1024x1024.png | Bin 0 -> 41256 bytes unpackage/res/icons/120x120.png | Bin 0 -> 4158 bytes unpackage/res/icons/144x144.png | Bin 0 -> 4799 bytes unpackage/res/icons/152x152.png | Bin 0 -> 5115 bytes unpackage/res/icons/167x167.png | Bin 0 -> 5536 bytes unpackage/res/icons/180x180.png | Bin 0 -> 5915 bytes unpackage/res/icons/192x192.png | Bin 0 -> 6263 bytes unpackage/res/icons/20x20.png | Bin 0 -> 640 bytes unpackage/res/icons/29x29.png | Bin 0 -> 987 bytes unpackage/res/icons/40x40.png | Bin 0 -> 1439 bytes unpackage/res/icons/58x58.png | Bin 0 -> 2021 bytes unpackage/res/icons/60x60.png | Bin 0 -> 2121 bytes unpackage/res/icons/72x72.png | Bin 0 -> 2542 bytes unpackage/res/icons/76x76.png | Bin 0 -> 2702 bytes unpackage/res/icons/80x80.png | Bin 0 -> 2843 bytes unpackage/res/icons/87x87.png | Bin 0 -> 3123 bytes unpackage/res/icons/96x96.png | Bin 0 -> 3383 bytes vue.config.js | 14 + windi.config.js | 58 + yarn.lock | 11094 ++++++++++++++++ 129 files changed, 25985 insertions(+) create mode 100644 .editorconfig create mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .prettierrc.json create mode 100644 README.md create mode 100644 babel.config.js create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/index.html create mode 100644 src/App.vue create mode 100644 src/components/QS-SharePoster/QRCodeAlg.js create mode 100644 src/components/QS-SharePoster/QS-SharePoster.js create mode 100644 src/components/QS-SharePoster/app.js create mode 100644 src/components/QS-SharePoster/image-tools.js create mode 100644 src/components/cu-modal/cu-modal.vue create mode 100644 src/components/loading-view/loading-view.vue create mode 100644 src/components/password-popup/password-popup.vue create mode 100644 src/components/sms-input/sms-input.vue create mode 100644 src/main.js create mode 100644 src/manifest.json create mode 100644 src/mixin/app.mixin.js create mode 100644 src/mixin/router.mixin.js create mode 100644 src/pages.json create mode 100644 src/pages/code/index.vue create mode 100644 src/pages/index/index.vue create mode 100644 src/pages/login/index.vue create mode 100644 src/pages/order_details/index.vue create mode 100644 src/pages/product_details/components/share-popup.vue create mode 100644 src/pages/product_details/index.vue create mode 100644 src/pages/select_product/components/goods-item.vue create mode 100644 src/pages/select_product/index.vue create mode 100644 src/pages/select_store/index.vue create mode 100644 src/pages/user_order/conponents/order-item.vue create mode 100644 src/pages/user_order/index.vue create mode 100644 src/pages/user_select_pro/index.vue create mode 100644 src/static/images/empty.png create mode 100644 src/static/images/svip.svg create mode 100644 src/static/tabbar/cart.png create mode 100644 src/static/tabbar/cart_sel.png create mode 100644 src/static/tabbar/class.png create mode 100644 src/static/tabbar/class_sel.png create mode 100644 src/static/tabbar/healthy.png create mode 100644 src/static/tabbar/healthy_sel.png create mode 100644 src/static/tabbar/index.png create mode 100644 src/static/tabbar/index_sel.png create mode 100644 src/static/tabbar/my.png create mode 100644 src/static/tabbar/my_sel.png create mode 100644 src/store/getters.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/user.js create mode 100644 src/style/index.scss create mode 100644 src/uni.scss create mode 100644 src/uni_modules/mescroll-uni/changelog.md create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/beibei/components/mescroll-down.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/beibei/components/mescroll-down.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/beibei/mescroll-body.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/beibei/mescroll-uni-option.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/beibei/mescroll-uni.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/components/mescroll-down.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/components/mescroll-down.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/components/mescroll-up.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/components/mescroll-up.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/mescroll-body.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/mescroll-uni-option.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-diy/xinlang/mescroll-uni.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-i18n.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni-option.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.css create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.vue create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-comp.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/wxs/mixins.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/wxs/renderjs.js create mode 100644 src/uni_modules/mescroll-uni/components/mescroll-uni/wxs/wxs.wxs create mode 100644 src/uni_modules/mescroll-uni/package.json create mode 100644 src/uni_modules/mescroll-uni/readme.md create mode 100644 src/utils/address_parse.js create mode 100644 src/utils/async-validator.js create mode 100644 src/utils/check-update.js create mode 100644 src/utils/filters.js create mode 100644 src/utils/index.js create mode 100644 src/utils/login.js create mode 100644 src/utils/ossutil/base64.js create mode 100644 src/utils/ossutil/crypto.js create mode 100644 src/utils/ossutil/hmac.js create mode 100644 src/utils/ossutil/sha1.js create mode 100644 src/utils/ossutil/uploadFile.js create mode 100644 src/utils/pay.js create mode 100644 src/utils/pcasCode.js create mode 100644 src/utils/request.js create mode 100644 src/utils/tools.js create mode 100644 src/utils/uni-copy.js create mode 100644 src/utils/wechath5.js create mode 100644 tsconfig.json create mode 100644 unpackage/res/icons/1024x1024.png create mode 100644 unpackage/res/icons/120x120.png create mode 100644 unpackage/res/icons/144x144.png create mode 100644 unpackage/res/icons/152x152.png create mode 100644 unpackage/res/icons/167x167.png create mode 100644 unpackage/res/icons/180x180.png create mode 100644 unpackage/res/icons/192x192.png create mode 100644 unpackage/res/icons/20x20.png create mode 100644 unpackage/res/icons/29x29.png create mode 100644 unpackage/res/icons/40x40.png create mode 100644 unpackage/res/icons/58x58.png create mode 100644 unpackage/res/icons/60x60.png create mode 100644 unpackage/res/icons/72x72.png create mode 100644 unpackage/res/icons/76x76.png create mode 100644 unpackage/res/icons/80x80.png create mode 100644 unpackage/res/icons/87x87.png create mode 100644 unpackage/res/icons/96x96.png create mode 100644 vue.config.js create mode 100644 windi.config.js create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ea6e20f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.env b/.env new file mode 100644 index 0000000..80caed8 --- /dev/null +++ b/.env @@ -0,0 +1,5 @@ +VUE_APP_LANGUAGE = 'uniapp' +VUE_APP_VERSION = '1.4.1' +VUE_APP_VERSION_CODE = 141 +VUE_APP_SERVICE='https://cdn.zichunsheng.cn/index.html' +# VUE_APP_SERVICE='https://tb.53kf.com/code/app/bba10e62b32391cdefb75e35d59943237/1' diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..d36f036 --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ + +ENV = 'development' + +VUE_APP_BASE_API = 'https://test.zichunsheng.cn/api' diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..f772b2a --- /dev/null +++ b/.env.production @@ -0,0 +1,3 @@ + +ENV = 'production' +VUE_APP_BASE_API = 'https://api.zichunsheng.cn' diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..e6529fc --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +build/*.js +src/assets +public +dist diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..a5c7072 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,198 @@ +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true, + }, + extends: ['plugin:vue/recommended', 'eslint:recommended'], + + // add your custom rules here + //it is base on https://github.com/vuejs/eslint-config-vue + rules: { + "vue/max-attributes-per-line": [2, { + "singleline": 10, + "multiline": { + "max": 1, + "allowFirstLine": false + } + }], + "vue/singleline-html-element-content-newline": "off", + "vue/multiline-html-element-content-newline": "off", + "vue/name-property-casing": ["error", "PascalCase"], + "vue/no-v-html": "off", + 'accessor-pairs': 2, + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'camelcase': [0, { + 'properties': 'always' + }], + 'comma-dangle': [2, 'never'], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-style': [2, 'last'], + 'constructor-super': 2, + 'curly': [2, 'multi-line'], + 'dot-location': [2, 'property'], + 'eol-last': 2, + 'eqeqeq': ["error", "always", { "null": "ignore" }], + 'generator-star-spacing': [2, { + 'before': true, + 'after': true + }], + 'handle-callback-err': [2, '^(err|error)$'], + 'indent': [2, 2, { + 'SwitchCase': 1 + }], + 'jsx-quotes': [2, 'prefer-single'], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'new-cap': [2, { + 'newIsCap': true, + 'capIsNew': false + }], + 'new-parens': 2, + 'no-array-constructor': 2, + 'no-caller': 2, + 'no-console': 'off', + 'no-class-assign': 2, + 'no-cond-assign': 2, + 'no-const-assign': 2, + 'no-control-regex': 0, + 'no-delete-var': 2, + 'no-dupe-args': 2, + 'no-dupe-class-members': 2, + 'no-dupe-keys': 2, + 'no-duplicate-case': 2, + 'no-empty-character-class': 2, + 'no-empty-pattern': 2, + 'no-eval': 2, + 'no-ex-assign': 2, + 'no-extend-native': 2, + 'no-extra-bind': 2, + 'no-extra-boolean-cast': 2, + 'no-extra-parens': [2, 'functions'], + 'no-fallthrough': 2, + 'no-floating-decimal': 2, + 'no-func-assign': 2, + 'no-implied-eval': 2, + 'no-inner-declarations': [2, 'functions'], + 'no-invalid-regexp': 2, + 'no-irregular-whitespace': 2, + 'no-iterator': 2, + 'no-label-var': 2, + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + 'no-lone-blocks': 2, + 'no-mixed-spaces-and-tabs': 2, + 'no-multi-spaces': 2, + 'no-multi-str': 2, + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-new-object': 2, + 'no-new-require': 2, + 'no-new-symbol': 2, + 'no-new-wrappers': 2, + 'no-obj-calls': 2, + 'no-octal': 2, + 'no-octal-escape': 2, + 'no-path-concat': 2, + 'no-proto': 2, + 'no-redeclare': 2, + 'no-regex-spaces': 2, + 'no-return-assign': [2, 'except-parens'], + 'no-self-assign': 2, + 'no-self-compare': 2, + 'no-sequences': 2, + 'no-shadow-restricted-names': 2, + 'no-spaced-func': 2, + 'no-sparse-arrays': 2, + 'no-this-before-super': 2, + 'no-throw-literal': 2, + 'no-trailing-spaces': 2, + 'no-undef': 2, + 'no-undef-init': 2, + 'no-unexpected-multiline': 2, + 'no-unmodified-loop-condition': 2, + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'no-unreachable': 2, + 'no-unsafe-finally': 2, + 'no-unused-vars': [2, { + 'vars': 'all', + 'args': 'none' + }], + 'no-useless-call': 2, + 'no-useless-computed-key': 2, + 'no-useless-constructor': 2, + 'no-useless-escape': 0, + 'no-whitespace-before-property': 2, + 'no-with': 2, + 'one-var': [2, { + 'initialized': 'never' + }], + 'operator-linebreak': [2, 'after', { + 'overrides': { + '?': 'before', + ':': 'before' + } + }], + 'padded-blocks': [2, 'never'], + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + 'semi-spacing': [2, { + 'before': false, + 'after': true + }], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'template-curly-spacing': [2, 'never'], + 'use-isnan': 2, + 'valid-typeof': 2, + 'wrap-iife': [2, 'any'], + 'yield-star-spacing': [2, 'both'], + 'yoda': [2, 'never'], + 'prefer-const': 2, + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + 'object-curly-spacing': [2, 'always', { + objectsInObjects: false + }], + 'array-bracket-spacing': [2, 'never'] + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f7cd6c --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +dist/ +.hbuilderx/ + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.project +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..edcba88 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,5 @@ +{ + "singleQuote": true, + "trailingComma": "all", + "printWidth": 150 +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..51e2a78 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# mall-app + +## Project setup +``` +yarn install +``` + +### Compiles and hot-reloads for development +``` +yarn serve +``` + +### Compiles and minifies for production +``` +yarn build +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..dc4690a --- /dev/null +++ b/babel.config.js @@ -0,0 +1,63 @@ +const plugins = [] + +if (process.env.UNI_OPT_TREESHAKINGNG) { + plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js')) +} + +if ( + ( + process.env.UNI_PLATFORM === 'app-plus' && + process.env.UNI_USING_V8 + ) || + ( + process.env.UNI_PLATFORM === 'h5' && + process.env.UNI_H5_BROWSER === 'builtin' + ) +) { + const path = require('path') + + const isWin = /^win/.test(process.platform) + + const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path) + + const input = normalizePath(process.env.UNI_INPUT_DIR) + try { + plugins.push([ + require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'), + { + file (file) { + file = normalizePath(file) + if (file.indexOf(input) === 0) { + return path.relative(input, file) + } + return false + } + } + ]) + } catch (e) {} +} + +process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui'] +process.UNI_LIBRARIES.forEach(libraryName => { + plugins.push([ + 'import', + { + 'libraryName': libraryName, + 'customName': (name) => { + return `${libraryName}/lib/${name}/${name}` + } + } + ]) +}) +module.exports = { + presets: [ + [ + '@vue/app', + { + modules: 'commonjs', + useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry' + } + ] + ], + plugins +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fd17ff0 --- /dev/null +++ b/package.json @@ -0,0 +1,109 @@ +{ + "name": "mall-app", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "npm run dev:h5", + "build": "npm run build:h5", + "build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build", + "build:custom": "cross-env NODE_ENV=production uniapp-cli custom", + "build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build", + "build:mp-360": "cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build", + "build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build", + "build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build", + "build:mp-kuaishou": "cross-env NODE_ENV=production UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build", + "build:mp-lark": "cross-env NODE_ENV=production UNI_PLATFORM=mp-lark vue-cli-service uni-build", + "build:mp-qq": "cross-env NODE_ENV=production UNI_PLATFORM=mp-qq vue-cli-service uni-build", + "build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build", + "build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build", + "build:quickapp-native": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-native vue-cli-service uni-build", + "build:quickapp-webview": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview vue-cli-service uni-build", + "build:quickapp-webview-huawei": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build", + "build:quickapp-webview-union": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build", + "dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch", + "dev:custom": "cross-env NODE_ENV=development uniapp-cli custom", + "dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve", + "dev:mp-360": "cross-env NODE_ENV=development UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch", + "dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch", + "dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch", + "dev:mp-kuaishou": "cross-env NODE_ENV=development UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build --watch", + "dev:mp-lark": "cross-env NODE_ENV=development UNI_PLATFORM=mp-lark vue-cli-service uni-build --watch", + "dev:mp-qq": "cross-env NODE_ENV=development UNI_PLATFORM=mp-qq vue-cli-service uni-build --watch", + "dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch", + "dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch", + "dev:quickapp-native": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-native vue-cli-service uni-build --watch", + "dev:quickapp-webview": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview vue-cli-service uni-build --watch", + "dev:quickapp-webview-huawei": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build --watch", + "dev:quickapp-webview-union": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build --watch", + "info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js", + "serve:quickapp-native": "node node_modules/@dcloudio/uni-quickapp-native/bin/serve.js", + "test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i", + "test:h5": "cross-env UNI_PLATFORM=h5 jest -i", + "test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i", + "test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i", + "test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i" + }, + "dependencies": { + "@dcloudio/uni-app-plus": "^2.0.0-32920211122002", + "@dcloudio/uni-h5": "^2.0.0-32920211122002", + "@dcloudio/uni-helper-json": "*", + "@dcloudio/uni-i18n": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-360": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-alipay": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-baidu": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-kuaishou": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-lark": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-qq": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-toutiao": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-vue": "^2.0.0-32920211122002", + "@dcloudio/uni-mp-weixin": "^2.0.0-32920211122002", + "@dcloudio/uni-quickapp-native": "^2.0.0-32920211122002", + "@dcloudio/uni-quickapp-webview": "^2.0.0-32920211122002", + "@dcloudio/uni-stat": "^2.0.0-32920211122002", + "@vue/shared": "^3.0.0", + "core-js": "^3.6.5", + "flyio": "^0.6.2", + "jweixin-module": "^1.6.0", + "luch-request": "^3.0.7", + "regenerator-runtime": "^0.12.1", + "uuid": "^8.3.2", + "uview-ui": "^1.8.4", + "vconsole": "^3.10.0", + "vue": "^2.6.11", + "vuex": "^3.6.2" + }, + "devDependencies": { + "@babel/runtime": "~7.12.0", + "@dcloudio/types": "*", + "@dcloudio/uni-automator": "^2.0.0-32920211122002", + "@dcloudio/uni-cli-i18n": "^2.0.0-32920211122002", + "@dcloudio/uni-cli-shared": "^2.0.0-32920211122002", + "@dcloudio/uni-migration": "^2.0.0-32920211122002", + "@dcloudio/uni-template-compiler": "^2.0.0-32920211122002", + "@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.0-32920211122002", + "@dcloudio/vue-cli-plugin-uni": "^2.0.0-32920211122002", + "@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.0-32920211122002", + "@dcloudio/webpack-uni-mp-loader": "^2.0.0-32920211122002", + "@dcloudio/webpack-uni-pages-loader": "^2.0.0-32920211122002", + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "babel-plugin-import": "^1.11.0", + "cross-env": "^7.0.2", + "jest": "^25.4.0", + "mini-types": "*", + "miniprogram-api-typings": "*", + "postcss-class-rename": "^1.0.1", + "postcss-comment": "^2.0.0", + "postcss-windicss-postcss7": "^1.1.1", + "sass": "^1.43.4", + "sass-loader": "^8.0.2", + "vue-template-compiler": "^2.6.11" + }, + "browserslist": [ + "Android >= 4.4", + "ios >= 9" + ], + "uni-app": { + "scripts": {} + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..d76bd59 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,29 @@ +const path = require('path') +module.exports = { + parser: require('postcss-comment'), + plugins: [ + require('postcss-windicss-postcss7')({}), + require('postcss-import')({ + resolve (id, basedir, importOptions) { + if (id.startsWith('/')) { + return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3)) + } else if (id.startsWith('@/')) { + return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2)) + } else if (id.startsWith('/') && !id.startsWith('//')) { + return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1)) + } + return id + } + }), + require('autoprefixer')({ + remove: process.env.UNI_PLATFORM !== 'h5' + }), + require('@dcloudio/vue-cli-plugin-uni/packages/postcss'), + // require('postcss-class-rename')({ + // [process.env.UNI_PLATFORM === 'mp-weixin' ? ':not\\\(\\\[hidden\\\]\\\)\\\s~\\\s:not\\\(\\\[hidden\\\]\\\)' : '不可能匹配的字符']: 'view + view', // 支持 space-x-4 语法 + // '\\\\:': '_', // 变体写法 focus_bg-primary + // '\\\\/': '_', // 数值百分号 w-1_2 + // '\\\\.': '__', // 小数点写法 w-1__5 + // }) + ] +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..ba6f516 --- /dev/null +++ b/public/index.html @@ -0,0 +1,28 @@ + + + +
+ + +N2t}_@h=w&Bq6|^LjAN ~CzxSI4It2)Lc^+3%89zV(XurIFrn{R{l%j!uhNTh^hC
zzPQEFh6kW2cPXp7zqr~w40jES{Z;d`qazGjg_SO%u6&1D3lIEzkb1~G^Jsi>^tW|0
zvHj0zKCPYM=Vmon37w(dipKA~pIQUOblvW3`vV;zJU%Qe?>|&oegS$fkpVxv9EGhf
zN+(D`GsPV%Vk2pw+py5FO4uvnTOAM|**Ms}5LB|_Dz^rDQXKlARlddu5t@^vffrMc
zj2?V?Qr<^pq&K56%NAPW{3&mW!FkZK5mG|Z5Z)NakjP@=0p0Kuzw9bF&G|Os;}wn$
z^ogL0OH Q)up_ZWey@Nj1?2uLsy6 aSg79md
zShh5VnQ*>rU6uBDnyEqm1t)8&x4BFHE*?b-QQNmJ1KVVoDPNgl2?HNphAYlNS>rH;
zJS^|$S?$seDPpvt4$JDT)Kkf?5UKBf*WrZ|oe6YF^840!>_1X2A#)s7vN#x=SoQy?
z>GzPCOM!Z?NYF0qBI1&*v7mB=zG1|Q^TLfQbxcYWmhaQqtDaj@h6`yK^6HU;`YU&7
zocpy^4Zb7Y18nGSzvrPb+zDW8lgw0i;Qc%mZcGMHUg@%`oOvd(a=Q0=w5A@f8or1}
zw$25Ba&L&J0=bmW{;mxWkMHfJv{AoB8bRK18tRV`CvL$M|9b>4ogucE{g{w+UE4uY
z18#Bmbp5-_J#5S`KWPg%9p?l;{#^G}hxSE@^26BW^Ldx*b0Y~Hmih9NMS<1>eP*yK
zIi1-X`9YOO$r%;+>J+)40NH%=i{D(T?n1b=WUI-&zKLAwQbZX#_|4XF6Qzx;#MC9H
zJ`h_?Gg-MHf3Z>giN(7~Ye;UPypE0S7#EO$e`D=lYvd9oRF1ZBnH;U@S-pp!B5SkE
z4Pn5uaRcVyhGXrOGeHF29C}}tNy4LgB=MpBaN>iVncXD+;4Igf=VTpVK)83=}vyK
z!@{nwQjNWhQQ*3R&v(%&516
Zc&dB?PaUsQftcz=JW-O|
zp`XReD+5$ORbRtXSdC{Wi7`fr@DLT4pfHA~P|b`0FMwNAz!+9iBK!l-;1vq=;~CgY
z1>(eOm|YF`NL9Ar8Fd4A25-=&$AD3$D6CD|R6FmJCfmLfw3(vu0ekW)o*_b&AL5Dd
z+$OtwJNH?$Z4VLCLy78PA_5{V*!1zH?vAgZ5(3pm^lWo?s?Rxo6QeM!EXot1xH=Y~
zxVmQBNjZm07$e(MwH*j}hh(c*evF8KGU8(2RB>m4HB3>ZU4(W=3~<~t;k@D~CxEIF
zF=90TM8?`Y5r#5Zdt#(Y-&!xiaqi6+C88tT0}=YFG*~xaPhO==z$`NM)FiNPlkGTZ
zkPyR0Q4$K(%x+9n4^ZOdAR
+
+
+## 最新文档(1.3.7版本): https://www.mescroll.com/uni.html
+2021-04-13 by 小瑾同学 (文档可能会有缓存,建议打开时刷新一下)
+
+
+## 1.3.5版本已调整为[uni_modules](https://uniapp.dcloud.io/uni_modules)
+uni_modules版本的mescroll-body 和 mescroll-empty 支持 [easycom规范](https://uniapp.dcloud.io/collocation/pages?id=easycom)
+所以 main.js 无需再为mescroll-body注册全局组件
+所以个别页面要单独使用 mescroll-empty , 也无需手动注册
+#### 1.3.5以前的用户升级为uni_modules版本:
+```
+1. 删除原来的 @/components/mescroll-uni 组件
+2. 删除 main.js 注册的 mescroll 组件
+3. 从插件市场导入最新mescroll组件 (1.3.5+uni_modules版本)
+4. 全局搜索 '@/components/mescroll-uni/' 替换为 '@/uni_modules/mescroll-uni/components/mescroll-uni/'
+5. mescroll-empty遵循easycom规范, 若某些页面单独使用 'mescroll-empty.vue', 可删除手动导入的代码
+```
+
+## 近期已更新优化的内容:
+1. 微信小程序, app, h5使用高性能wxs和renderjs, 下拉刷新更流畅丝滑, 尤其能明显解决Android小程序下拉卡顿的问题
+2. 新增`入门极简`示例, 国际化`mescroll-i18n.vue`示例, 轮播吸顶菜单`mescroll-swiper-sticky.vue`示例
+3. 新增 "局部区域滚动" 的案例: mescroll-body-part.vue 和 mescroll-uni-part.vue
+4. 新增 me-video 视频组件, 解决APP端视频下拉悬浮错位的问题, 参考 mescroll-options.vue 示例
+5. 新增 me-tabs 组件,tabs支持水平滑动; 优化mescroll-more和mescroll-swiper的案例, 顶部tab支持水平滑动
+6. 吸顶悬浮提供了原生sticky和监听滚动条实现的示例: sticky.vue 和 sticky-scroll.vue (推荐使用sticky样式实现)
+7. mescroll.scrollTo(y)的y支持css选择器, 包括跨自定义组件的后代选择器, 支持滚动到子组件的view (参考 mescroll-options.vue)
+8. topbar 顶部是否预留状态栏的高度, 默认false; 还可支持设置状态栏背景: 如 '#ffff00', 'url(xxx) 0 0/100% 100%', 'linear-gradient(xx)'
+9. down.bgColor 和 up.bgColor 加载区域的背景,不仅支持色值, 而且还是支持背景图和渐变: 如 'url(xxx) 0 0/100% 100%', 'linear-gradient(xx)'
+10. topbar,bgColor支持一行代码定义background: [https://www.runoob.com/cssref/css3-pr-background.html](https://www.runoob.com/cssref/css3-pr-background.html)
+
+
+查看更多 ...
+
+
+
+#### mescroll不支持nvue,也暂无支持的计划哈,so sorry~
\ No newline at end of file
diff --git a/src/utils/address_parse.js b/src/utils/address_parse.js
new file mode 100644
index 0000000..789e6ec
--- /dev/null
+++ b/src/utils/address_parse.js
@@ -0,0 +1,500 @@
+import { getTreeData } from '@/utils'
+// import sss from './sss'
+const zipCode = []
+
+
+
+
+var addressList = []; //地址列表
+var zipCodeList = []; //邮编列表
+
+
+
+/**
+ * 地址数据处理
+ * @param addressList-各级数据对象
+ * @param index-对应的省/市/县区/街道
+ * @param province-只有直辖市会处理为 北京市北京市
+ * @returns NJ6oqk!7(%UwlbTGO2VX2f?6|b#Lqs3g+sBFsv%Mz@NAy<0F1)e;MSU%I?
z=?;slQ>Zws$1Lr^H6W1gY43xjk{=?0`lRwS6F<$L=Q(N5l;1;yL%eH9!>2=)zXZ&$
z3df^|r$U8YnH&xp<1={afa*lh@a_9|eNahZ?Y&!WEE_whf!C1^C?`HP;eiH$v0wq{
zyNR_N>#;|zB}<>A`@+rN6F>a*
zvhwXr50nX-0`5S|3G%nQGJa%O>t21zY!vftEN{c|)vt2OPd$!!p6
TA6QDlC@Ca7tmJ+b%P
z=j>wb7t+1^y2oP#i9k)#yV_!QKi62z
7ZnH1OpE~^sNvCt9VEg@;+!Ufl-WFFa
z(pSYZJc4o$u@e{LmWxh{owfk}89osD76UmCT}YiPN^0@-u6@|Hi00kDkf&;rxGmf{=Hq|?7L2_u(hcxt`VmEJ~Xd_
z)W46$wFpHHm2#O$Z>In$&;IonlIdG4EVBV8zuB^z>R<|zsZc0Nr>*qaJ2SZ-{}s0v
z-5RnC7^|5xoxxTK2xk^fiHTQW+q7++%!aYi^pk>^YoU3KE5Ev;6w>EBH45!%!45TG
z#8sJc$#;t%L3;C96?_O7!f$8ZmiNiqD(eUt2WL)?<%3pS!2zmfG&xueQG^YSy+06B
zv^cgQG-rMc^ZgEy#Ba{;%&l;P38!OQtNgWX$6;W{+oE;B`qpD>%1?c0$-C1{$Ftsf
z&%aALjO57x3IgHJ-r)Yz@^y1LI2zNON#qDUZiB;@khriZ_dmJDI+2(&{)d*m`7^r^
z#_Ikuwt%rg%nz3uca;%wHJ