Browse Source

完善

master
“linchaomei” 4 years ago
parent
commit
cdadc4d047
  1. 4
      common/common.scss
  2. 11
      manifest.json
  3. 452
      package-lock.json
  4. 7
      pages/account/addAddress.vue
  5. 14
      pages/account/deleteCount.vue
  6. 14
      pages/account/deleteOk.vue
  7. 28
      pages/account/index.vue
  8. 51
      pages/account/myOrders.vue
  9. 39
      pages/account/wishlist.vue
  10. 3
      pages/category/index.vue
  11. 19
      pages/category/productList.vue
  12. 16
      pages/index/flashSale.vue
  13. 200
      pages/index/index.vue
  14. 2
      pages/index/pickUpCentre.vue
  15. 5
      pages/login/index.vue
  16. 52
      pages/order/confirmation.vue
  17. 19
      pages/order/details.vue
  18. 53
      pages/productDetails/index.vue
  19. 43
      pages/shippingCart/index.vue
  20. BIN
      static/icon/start.png

4
common/common.scss

@ -74,10 +74,12 @@
display: flex;
align-items: center;
color: #3D3D3D;
text{
display: inline-block;
margin-right: 26rpx;
margin-right: 2rpx;
}
}
.reviews_title_time{
font-size: 24rpx;

11
manifest.json

@ -19,23 +19,29 @@
/* */
"modules" : {
"Payment" : {},
"VideoPlayer" : {}
"VideoPlayer" : {},
"Push" : {}
},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"autoSdkPermissions" : true
@ -56,7 +62,8 @@
"returnURL_ios" : "uni.unicoe0831://paypalpay",
"returnURL_android" : "uni.unicoe0831://paypalpay"
}
}
},
"push" : {}
},
"splashscreen" : {
"androidStyle" : "default",

452
package-lock.json

@ -1,12 +1,387 @@
{
"name": "cnic_buyer",
"lockfileVersion": 2,
"requires": true,
"lockfileVersion": 1,
"packages": {
"": {
"dependencies": {
"base-64": "^1.0.0",
"crypto-js": "^4.1.1",
"vuex": "^4.0.2"
}
},
"node_modules/@babel/parser": {
"version": "7.19.0",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
"integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
"peer": true,
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.38.tgz",
"integrity": "sha512-/FsvnSu7Z+lkd/8KXMa4yYNUiqQrI22135gfsQYVGuh5tqEgOB0XqrUdb/KnCLa5+TmQLPwvyUnKMyCpu+SX3Q==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.38.tgz",
"integrity": "sha512-zqX4FgUbw56kzHlgYuEEJR8mefFiiyR3u96498+zWPsLeh1WKvgIReoNE+U7gG8bCUdvsrJ0JRmev0Ky6n2O0g==",
"peer": true,
"dependencies": {
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.38.tgz",
"integrity": "sha512-KZjrW32KloMYtTcHAFuw3CqsyWc5X6seb8KbkANSWt3Cz9p2qA8c1GJpSkksFP9ABb6an0FLCFl46ZFXx3kKpg==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-ssr": "3.2.38",
"@vue/reactivity-transform": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.38.tgz",
"integrity": "sha512-bm9jOeyv1H3UskNm4S6IfueKjUNFmi2kRweFIGnqaGkkRePjwEcfCVqyS3roe7HvF4ugsEkhf4+kIvDhip6XzQ==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
"integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
},
"node_modules/@vue/reactivity": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.38.tgz",
"integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==",
"peer": true,
"dependencies": {
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.38.tgz",
"integrity": "sha512-3SD3Jmi1yXrDwiNJqQ6fs1x61WsDLqVk4NyKVz78mkaIRh6d3IqtRnptgRfXn+Fzf+m6B1KxBYWq1APj6h4qeA==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.38.tgz",
"integrity": "sha512-kk0qiSiXUU/IKxZw31824rxmFzrLr3TL6ZcbrxWTKivadoKupdlzbQM4SlGo4MU6Zzrqv4fzyUasTU1jDoEnzg==",
"peer": true,
"dependencies": {
"@vue/reactivity": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.38.tgz",
"integrity": "sha512-4PKAb/ck2TjxdMSzMsnHViOrrwpudk4/A56uZjhzvusoEU9xqa5dygksbzYepdZeB5NqtRw5fRhWIiQlRVK45A==",
"peer": true,
"dependencies": {
"@vue/runtime-core": "3.2.38",
"@vue/shared": "3.2.38",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.38.tgz",
"integrity": "sha512-pg+JanpbOZ5kEfOZzO2bt02YHd+ELhYP8zPeLU1H0e7lg079NtuuSB8fjLdn58c4Ou8UQ6C1/P+528nXnLPAhA==",
"peer": true,
"dependencies": {
"@vue/compiler-ssr": "3.2.38",
"@vue/shared": "3.2.38"
},
"peerDependencies": {
"vue": "3.2.38"
}
},
"node_modules/@vue/shared": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.38.tgz",
"integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==",
"peer": true
},
"node_modules/base-64": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
"integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="
},
"node_modules/crypto-js": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
"integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
},
"node_modules/csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"peer": true
},
"node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"peer": true,
"dependencies": {
"sourcemap-codec": "^1.4.8"
}
},
"node_modules/nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"node_modules/postcss": {
"version": "8.4.16",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
"integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"peer": true,
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"peer": true
},
"node_modules/vue": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.2.38.tgz",
"integrity": "sha512-hHrScEFSmDAWL0cwO4B6WO7D3sALZPbfuThDsGBebthrNlDxdJZpGR3WB87VbjpPh96mep1+KzukYEhpHDFa8Q==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-sfc": "3.2.38",
"@vue/runtime-dom": "3.2.38",
"@vue/server-renderer": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"node_modules/vuex": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
"integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==",
"dependencies": {
"@vue/devtools-api": "^6.0.0-beta.11"
},
"peerDependencies": {
"vue": "^3.0.2"
}
}
},
"dependencies": {
"@babel/parser": {
"version": "7.19.0",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz",
"integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==",
"peer": true
},
"@vue/compiler-core": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.38.tgz",
"integrity": "sha512-/FsvnSu7Z+lkd/8KXMa4yYNUiqQrI22135gfsQYVGuh5tqEgOB0XqrUdb/KnCLa5+TmQLPwvyUnKMyCpu+SX3Q==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.38.tgz",
"integrity": "sha512-zqX4FgUbw56kzHlgYuEEJR8mefFiiyR3u96498+zWPsLeh1WKvgIReoNE+U7gG8bCUdvsrJ0JRmev0Ky6n2O0g==",
"peer": true,
"requires": {
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/compiler-sfc": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.38.tgz",
"integrity": "sha512-KZjrW32KloMYtTcHAFuw3CqsyWc5X6seb8KbkANSWt3Cz9p2qA8c1GJpSkksFP9ABb6an0FLCFl46ZFXx3kKpg==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-ssr": "3.2.38",
"@vue/reactivity-transform": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"@vue/compiler-ssr": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.38.tgz",
"integrity": "sha512-bm9jOeyv1H3UskNm4S6IfueKjUNFmi2kRweFIGnqaGkkRePjwEcfCVqyS3roe7HvF4ugsEkhf4+kIvDhip6XzQ==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/devtools-api": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
"integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
},
"@vue/reactivity": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.38.tgz",
"integrity": "sha512-6L4myYcH9HG2M25co7/BSo0skKFHpAN8PhkNPM4xRVkyGl1K5M3Jx4rp5bsYhvYze2K4+l+pioN4e6ZwFLUVtw==",
"peer": true,
"requires": {
"@vue/shared": "3.2.38"
}
},
"@vue/reactivity-transform": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.38.tgz",
"integrity": "sha512-3SD3Jmi1yXrDwiNJqQ6fs1x61WsDLqVk4NyKVz78mkaIRh6d3IqtRnptgRfXn+Fzf+m6B1KxBYWq1APj6h4qeA==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.38",
"@vue/shared": "3.2.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.38.tgz",
"integrity": "sha512-kk0qiSiXUU/IKxZw31824rxmFzrLr3TL6ZcbrxWTKivadoKupdlzbQM4SlGo4MU6Zzrqv4fzyUasTU1jDoEnzg==",
"peer": true,
"requires": {
"@vue/reactivity": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/runtime-dom": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.38.tgz",
"integrity": "sha512-4PKAb/ck2TjxdMSzMsnHViOrrwpudk4/A56uZjhzvusoEU9xqa5dygksbzYepdZeB5NqtRw5fRhWIiQlRVK45A==",
"peer": true,
"requires": {
"@vue/runtime-core": "3.2.38",
"@vue/shared": "3.2.38",
"csstype": "^2.6.8"
}
},
"@vue/server-renderer": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.38.tgz",
"integrity": "sha512-pg+JanpbOZ5kEfOZzO2bt02YHd+ELhYP8zPeLU1H0e7lg079NtuuSB8fjLdn58c4Ou8UQ6C1/P+528nXnLPAhA==",
"peer": true,
"requires": {
"@vue/compiler-ssr": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"@vue/shared": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.38.tgz",
"integrity": "sha512-dTyhTIRmGXBjxJE+skC8tTWCGLCVc4wQgRRLt8+O9p5ewBAjoBwtCAkLPrtToSr1xltoe3st21Pv953aOZ7alg==",
"peer": true
},
"base-64": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
@ -17,6 +392,81 @@
"resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz",
"integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
},
"csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"peer": true
},
"magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"peer": true,
"requires": {
"sourcemap-codec": "^1.4.8"
}
},
"nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"postcss": {
"version": "8.4.16",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
"integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
"peer": true,
"requires": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"peer": true
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true
},
"sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"peer": true
},
"vue": {
"version": "3.2.38",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.2.38.tgz",
"integrity": "sha512-hHrScEFSmDAWL0cwO4B6WO7D3sALZPbfuThDsGBebthrNlDxdJZpGR3WB87VbjpPh96mep1+KzukYEhpHDFa8Q==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.38",
"@vue/compiler-sfc": "3.2.38",
"@vue/runtime-dom": "3.2.38",
"@vue/server-renderer": "3.2.38",
"@vue/shared": "3.2.38"
}
},
"vuex": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",

7
pages/account/addAddress.vue

@ -214,7 +214,7 @@
})
return
}
this.query.consignee.address=this.city+this.address
this.query.consignee.address=this.cityText+this.address
}else{
if(this.query.consignee.city==0){
uni.showToast({
@ -233,7 +233,7 @@
return
}
this.province = this.provinceIndex
this.query.consignee.address=this.province+this.query.consignee.address
this.query.consignee.address=this.provinceText+this.query.consignee.address
}else{
if(this.query.consignee.province==0){
uni.showToast({
@ -250,6 +250,7 @@
})
return
}
this.query.consignee.address = this.address
console.info(this.query)
defaultRequest3(this.query,'consignee').then(res=>{
console.info(res)
@ -410,7 +411,7 @@
e.data=JSON.parse(e.data)
// console.info(e.data)
this.query.consignee=e.data
this.address=this.query.consignee.address
this.address = this.query.consignee.address
if(e.data.default_address_id==e.data.address_id){
this.query.is_default=1
}

14
pages/account/deleteCount.vue

@ -8,13 +8,13 @@
Once you deactivate account, your account information will no longer be accessible.
</view>
<view class="text_item">
1. Once you deactivate account, your account information will no longer be accessible.
1. Your information on dopeplus.com will be permanentlydeleted.You cannot undo the action.
</view>
<view class="text_item">
2. Once you deactivate account, your account information will no longer be accessible.
2.Your data on dopeplus.com will be permanentlydeleted.You won't be able to issue refunds.
</view>
<view class="text_item">
3. Once you deactivate account, your account information will no longer be accessible.
3.You will lose access to member benefits. Coupons,vouchers, and rewards points will be expired.
</view>
<view class="address_foot">
<button @click="deleteuserinfo()">Delete account</button>
@ -69,9 +69,9 @@
} else {
console.log('cancel')
//
// uni.navigateTo({
// url:'./deleteOk'
// })
uni.navigateTo({
url:'./deleteOk'
})
}
}
})
@ -102,7 +102,7 @@
line-height: 50rpx;
text-align: start;
margin-left: 5vw;
margin-right: 5vw;
margin-right: 3vw;
color:#b5b5b5;
font-size:26rpx;
}

14
pages/account/deleteOk.vue

@ -23,14 +23,22 @@
methods:{
back(){
uni.navigateTo({
url:'/pages/login/index'
uni.reLaunch({
url:'../login/index'
})
}
},
onShow() {
}
},
onBackPress(e) {
console.log(e);
if(e.from == 'backbutton'){
uni.reLaunch({
url:'../login/index'
})
}
},
}
</script>

28
pages/account/index.vue

@ -3,8 +3,8 @@
<!-- <view class="status_bar"></view> -->
<view class="account_info " :style="{background:`url(${userbg})`}">
<image src="../../static/icon/nologin2.png" mode="" class="header_img" v-show="!user_info.isLogin"></image>
<image :src="user_info.user_head" mode="" class="header_img" v-show="user_info.isLogin"></image>
<image src="../../static/icon/nologin2.png" mode="" class="header_img" v-show="!user_info.isLogin||!user_info.user_head"></image>
<image :src="user_info.user_head" mode="" class="header_img" v-show="user_info.isLogin&&user_info.user_head"></image>
<!-- <image :src="user_info.user_head?user_info.user_head:user_info.headicons[5]" mode="" class="header_img" v-if="user_info.isLogin"></image> -->
<view class="info_name" v-if="!user_info.isLogin">
<navigator url="/pages/login/index" >
@ -19,11 +19,11 @@
<view class="info_like">
<navigator :url="noLogin==0?'/pages/account/myCoupons':'../login/index'" class="info_like_item">
<text class="info_like_item_img">{{ hb_num }}</text>
<text class="info_like_item_text">{{ hb_num }}</text>
<text class="info_like_item_span">Coupons</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/pointsDetails':'../login/index'" class="info_like_item">
<text class="info_like_item_img">{{ count }}</text>
<text class="info_like_item_text">{{ count }}</text>
<text class="info_like_item_span">Points</text>
</navigator>
<navigator :url="noLogin==0?'/pages/account/wishlist':'../login/index'" class="info_like_item">
@ -382,8 +382,9 @@
font-size: 40rpx;
font-weight: 400;
display: flex;
flex-direction: column;
align-items: center;
align-items: center;
justify-content: center;
.info_like_item_img{
@ -391,11 +392,26 @@
height: 40rpx;
margin-bottom: 14.67rpx;
display: block;
line-height:40rpx;
text-align: center;
}
.info_like_item_text{
margin-bottom: 14.67rpx;
font-size: 30.33rpx;
display: block;
}
.info_like_item_span{
font-size: 21.33rpx;
font-size: 25.33rpx;
}
.info_like_item_text{
margin-bottom: 14.67rpx;
display: block;
line-height:40rpx;
text-align: center;
}
}
}
}

51
pages/account/myOrders.vue

@ -5,7 +5,9 @@
<view :class="scroll_active==index?'scroll_active':''" v-for="(item,index) in scrollList" @click="scrollChange(index)" :key="index">{{item.text}}</view>
</scroll-view>
</view>
<view class="body">
<!-- 全部订单 -->
<template v-if="isList==true && scroll_active==0">
<view class="" v-for="(item,idnex) in orderList" :key="item.order_id">
@ -39,7 +41,7 @@
<view class="left_info_bottom">
<view class="info_lable" v-if="item1.goods_attr">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -116,7 +118,7 @@
<view class="left_info_bottom">
<view class="info_lable" v-if="item1.goods_attr ">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -177,7 +179,7 @@
<view class="left_info_bottom">
<view class="info_lable" v-if="item1.goods_attr">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -228,7 +230,7 @@
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -283,7 +285,7 @@
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -337,9 +339,9 @@
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<view class="info_lable" v-if="item1.goods_attr">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -391,9 +393,9 @@
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<view class="info_lable" v-if="item1.goods_attr">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>×{{item1.goods_number}}</text>
</view>
@ -443,7 +445,7 @@
<text>
Payment Method
</text>
<image src="../../static/img/close1.png" mode="" @click="isPay=false"></image>
<image src="../../static/img/close1.png" mode="" @click="isShow=false"></image>
</view>
<view class="order_popup_pay" >
<view class="pay_item" @click="selectPay(0)">
@ -499,7 +501,7 @@
<view class="left_info_bottom">
<view class="info_lable" v-if="item.goods_attr">
<text>{{item.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
<!-- <image src="/static/img/bottom.png" mode=""></image> -->
</view>
<text>x{{item.goods_number}}</text>
</view>
@ -612,7 +614,12 @@
defaultRequest2(data).then(res=>{
console.info(res,'支付')
if(res.error == 0){
plus.runtime.openURL(res.data.prepay_data.checkoutnow_url)
let url = res.data.prepay_data.checkoutnow_url
console.log(url)
// plus.runtime.openURL(res.data.prepay_data.checkoutnow_url)
uni.navigateTo({
url:'../order/paypalWebview?src='+url
})
}
})
}else{
@ -723,6 +730,7 @@
.body{
padding-top: 100rpx;
}
.order_nav{
padding:0 38.67rpx ;
border-bottom: 13.33rpx #F7F7F7 solid;
@ -832,7 +840,7 @@
padding: 5.33rpx 20rpx;
font-size: 22.67rpx;
// border-radius: 33.33rpx;
border: 1px solid #D3D3D3;
// border: 1px solid #D3D3D3;
image{
width: 17.33rpx;
height: 17.33rpx;
@ -875,26 +883,35 @@
display: flex;
justify-content: flex-end;
background-color: #FFF;
button{
height: 57.33rpx;
line-height: 57.33rpx;
font-weight: bold;
font-size: 22.67rpx;
border: none;
margin: 0;
// border-radius: 0;
background-color: #fff;
margin: 0;
border-radius: 0rpx;
// border:green solid 4rpx;
&:last-child{
margin-right: 0 !important;
}
}
button:after{
border:none;}
.cancel{
color: #666666;
border: black solid 1rpx;
// border: white !important;
margin-right: 20rpx;
background-color: white;
border-radius: 0;
background-color: #fff;
}
.pay{
color: white;
border-radius: 0;
background: black;
}

39
pages/account/wishlist.vue

@ -43,7 +43,8 @@
goods_id:'',
isAll:false,
Src:'../../static/img/select.png',
deletelist:[]
deletelist:[],
Select_one:0
}
},
methods:{
@ -100,10 +101,20 @@
}
})
console.log(list2)
if(list2.length == this.goodsList.length){
if(list2.length>0&&list2.length !== this.goodsList.length){
this.Select_one = 1
this.goods_id = 1
this.isAll = false
}
else if(list2.length == this.goodsList.length){
this.isAll = true
}else{
}else if(list2.length == 0){
this.isAll = false
this.Select_one = 0
this.goods_id = ''
this.deletelist[index].id = ''
list2 =[]
}
// this.$store.commit('addSave', list)
// if(this.$store.state.goodslist.includes(list)){
@ -113,21 +124,6 @@
// }
},
Sortid()
{
var arr = this.deletelist
var len = this.deletelist.length;
for (var a = 0; a < len - 1; a++) {
for (var b = 0; b < len - 1 - a; b++) {
if (arr[b].index > arr[b+1].index) { //
var temp = arr[b+1]; //
arr[b+1] = arr[b];
arr[b] = temp;
}
}
}
return arr;
},
deleteTap(u){
this.goods_id = item.goods_id
@ -143,7 +139,12 @@
}else{
this.goods_id = 1
this.isAll = true
for(let i =0;i<this.goodsList.length;i++){
this.deletelist[i].index = i
this.deletelist[i].id = this.goodsList[i].goods_id
}
console.log(this.deletelist)
}
},
removeL(e){

3
pages/category/index.vue

@ -287,8 +287,9 @@
display: flex;
align-items: center;
color: #8F9094;
border-radius: 33rpx;
font-size: 26.67rpx;
padding-left: 22rpx;
padding-left: 25rpx;
box-sizing: border-box;
image{

19
pages/category/productList.vue

@ -80,12 +80,13 @@
</scroll-view>
<scroll-view class="addCard_body" scroll-y="true">
<view >{{ goodsDate.goods_name}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0? goodsDate.shop_price :goodsDate.promote_price}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0? shop_price :goodsDate.promote_price}}</view>
<view v-for="(item,index) in goods_attr_list" :key="item.attr_id">
<view >{{item.name}}</view>
<view class="color_select variations_select_size">
<view class="color_select_item" v-for="(item1,index1) in item.list" :key="item1.attr_value"
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''" @click="selectAttr(item.attr_id,item1.goods_attr_id,index1)">
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''"
@click="selectAttr(item.attr_id,item1.goods_attr_id,index1,item1.attr_price)">
<view class="color_select_item_zoom" v-if="item1.attr_img!=''">
<image src="/static/icon/big2.png" mode=""></image>
</view>
@ -157,6 +158,7 @@
Pet:'',
isLogin:-1,
current:0,
shop_price:0,
}
},
methods:{
@ -292,7 +294,8 @@
if(res.error==0){
this.goodsDate = res.data
this.gallery_list = res.data.gallery_list
// console.log(this.goodsDate.attr_list[0].goods_attrs.length,'000')
console.log(this.goodsDate,'000')
this.shop_price = this.goodsDate.shop_price
if(this.goodsDate.attr_list){
this.Is_attr = this.goodsDate.attr_list[0].goods_attrs.length
this.goodsDate.attr_list.map(item=>{
@ -313,7 +316,14 @@
},
//
selectAttr(attr_id,goods_attr_id,index){
selectAttr(attr_id,goods_attr_id,index,attr_price){
let sum = this.goodsDate.shop_price
if(attr_price){
sum = parseInt(sum) + parseInt(attr_price)
console.log(sum)
}
this.shop_price = sum
this.current = index
let data={attr_id:attr_id,goods_attr_id:goods_attr_id}
if(this.goods_attr_list.length==0){
@ -339,6 +349,7 @@
}
if(isNew){
this.goods_attr_list.splice(index,0,data)
}
}
},

16
pages/index/flashSale.vue

@ -40,7 +40,7 @@
</scroll-view>
<scroll-view class="addCard_body" scroll-y="true">
<view >{{ goodsDate.goods_name}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0? goodsDate.shop_price :goodsDate.promote_price}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0?shop_price :goodsDate.promote_price}}</view>
<view v-for="(item,index) in goods_attr_list" :key="item.attr_id">
<view >{{item.name}}</view>
<view class="color_select variations_select_size">
@ -52,7 +52,8 @@
{{item1.attr_value}}
</view> -->
<view class="color_select_item" v-for="(item1,index1) in item.list" :key="item1.attr_value"
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''" @click="selectAttr(item.attr_id,item1.goods_attr_id,index1)">
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''"
@click="selectAttr(item.attr_id,item1.goods_attr_id,index1,item1.attr_price)">
<view class="color_select_item_zoom" v-if="item1.attr_img!=''">
<image src="/static/icon/big2.png" mode=""></image>
</view>
@ -117,6 +118,7 @@
},
isLogin:-1,
current:0,
shop_price:0,
}
},
@ -185,6 +187,7 @@
if(res.error==0){
console.log(res)
this.goodsDate=res.data
this.shop_price = this.goodsDate.shop_price
this.gallery_list = res.data.gallery_list
if(this.goodsDate.attr_list){
this.Is_attr = this.goodsDate.attr_list[0].goods_attrs.length
@ -204,8 +207,15 @@
})
},
//
selectAttr(attr_id,goods_attr_id,index){
selectAttr(attr_id,goods_attr_id,index,attr_price){
this.current = index
let sum = this.goodsDate.shop_price
if(attr_price){
sum = parseInt(sum) + parseInt(attr_price)
console.log(sum)
}
this.shop_price = sum
let data={attr_id:attr_id,goods_attr_id:goods_attr_id}
if(this.goods_attr_list.length==0){
this.goods_attr_list.push(data)

200
pages/index/index.vue

@ -1,7 +1,8 @@
<template>
<view class="body" >
<!-- 进入页面部分 -->
<view :style="{display:countdownTime2!=0?'none':''}">
<!-- 头部导航栏 -->
<view class="navigation " >
<view class="status_bar"></view>
@ -280,7 +281,7 @@
</view>
</view>
<!-- //广 -->
<!-- //广 -->
<view style="bottom:0">
<!-- <button @click="open">打开弹窗</button> -->
<uni-popup ref="popup" :mask-click="false">
@ -290,13 +291,27 @@
<image mode=" " @click="close" src="../../static/img/close2.png"></image>
</view>
<view class="popup_img" >
<text v-if="countdownTime">{{countdownTime }}</text>
<view class="popup_text"><text>{{countdownTime }}s跳过</text></view>
<image :src="popImg" mode=" " @click="popImgto"></image>
</view>
</view>
<!-- <button @click="close">关闭</button> -->
</uni-popup>
</view>
</view>
<!-- 启动页广告 -->
<view class="open_bg" :style="{display:countdownTime2==0?'none':''}">
<view class="open_text"><text @click="countdownTime2 =0,countdownTime=5">{{ countdownTime2 }}s跳过</text></view>
<swiper class ="open_bgimg" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval"
:duration="duration">
<swiper-item v-for="(item,index) in open_img" :key="item.block_pic">
<!-- <view class="open_text"><text>{{ countdownTime2 }}s跳过</text></view> -->
<image :src="item.block_pic" mode=""></image>
</swiper-item>
</swiper>
<!-- <image src="https://i.udongman.cn/image/2020/0207/20200207093527428.jpg" mode=""></image> -->
</view>
</view>
</template>
@ -340,7 +355,8 @@
rightH: 0,
isbest:0,
popImg:'',
countdownTime: 6,
countdownTime: 10,
countdownTime2:5,
popUrl:'',
myMes:{
_action:'getmessagelist',
@ -350,13 +366,15 @@
page_index:1,
page_size:10
},
open_img:'',
indicatorDots: true,
autoplay: true,
interval: 2000,
duration: 500
}
},
onPullDownRefresh() {
setTimeout(()=>{
onPullDownRefresh() {
setTimeout(()=>{
this.getList()
uni.stopPullDownRefresh()
@ -364,7 +382,7 @@
},
onLoad() {
uni.hideTabBar()
this.getIndex()
// //console.info(this.curEndTime)
this.getList()
@ -416,17 +434,18 @@
},
onBackPress(options) {
this.backButtonPress++;
if (this.backButtonPress > 1) {
plus.runtime.quit();
} else {
plus.nativeUI.toast('Click again to exit');
}
setTimeout(function() {
this.backButtonPress = 0;
}, 1000);
return true;
},
this.backButtonPress++;
if (this.backButtonPress > 1) {
plus.runtime.quit();
} else {
plus.nativeUI.toast('Click again to exit');
}
setTimeout(function() {
this.backButtonPress = 0;
}, 1000);
return true;
},
methods: {
@ -435,8 +454,10 @@
this.$refs.popup.open('center')
},
close() {
console.log(1111)
if(this.countdownTime == 0){
this.$refs.popup.close()
console.log(1111)
}
uni.setTabBarStyle({
backgroundColor: "#fff",
@ -450,21 +471,40 @@
getPullMes(){
let data={_action:'getpagedata',pagecode:'001-STARTPAGE'}
defaultRequest(data).then( res =>{
console.log(res.data.zones)
console.log(res)
let img
let url
if(res.error == 0){
res.data.zones.map( item =>{
if(item.zone_code == "KAIPIN"){
img = item.blocks[0].block_pic
img = item.blocks
url = item.blocks[0].block_link
}
})
console.log(img)
this.popImg = img
this.popUrl = url
this.open_img = img
this.popUrl = url
}
})
let data2={_action:'getpagedata',pagecode:'HOMEPOPUPADS'}
defaultRequest(data2).then( res =>{
console.log(res)
if(res.error == 0){
res.data.zones.map( item =>{
if(item.zone_code == 'HOMEPOPUP'){
this.popImg = item.zone_icon
}
})
}
})
let data3 ={
_action:'get_splash_ad',appcode:'DOPE+',VERS:'1.0.0'
}
defaultRequest(data3).then(res =>{
console.log(res)
})
},
//5
getCountdownTime() {
@ -475,18 +515,29 @@
// selectedColor: "#999",
// color: "#999",
});
this.countdownTime = 6
this.countdownTime = 10
let timer = setInterval(() => {
this.countdownTime--;
if (this.countdownTime < 1) {
clearInterval(timer)
this.countdownTime = 0
// uni.redirectTo({
// url:'inde'
// })
}
}, 1000)
let timer2 = setInterval(() => {
uni.hideTabBar();
this.countdownTime2--;
if (this.countdownTime2 < 1) {
clearInterval(timer2)
this.countdownTime2 = 0
}
if(this.countdownTime2 ==0){
uni.showTabBar()
}
}, 1000)
},
//gaogaoye
popImgto(){
@ -581,7 +632,7 @@
console.log(this.app_Mes.length)
}
let sum = parseInt(a) + parseInt(b)
console.log(sum)
// console.log(sum)
this.mesNum= sum
})
@ -756,20 +807,28 @@
},
// //
imgTo(item){
//console.log(item,'item')
console.log(item.block_link,'item')
console.log(item.block_link.includes('dope.youhui'))
let goodid
const i = item.block_link.indexOf('?')
if(item.block_link){
goodid = item.block_link.substring(12);
goodid = item.block_link.substring(i);
//console.log(item.block_link)
if(goodid.includes('goodslist')){
if(item.block_link.includes('goodslist')){
uni.navigateTo({
url:'../category/productList'+ goodid
})
}else{
}else if(item.block_link.includes('goodid')){
uni.navigateTo({
url:'../productDetails/index'+goodid+'&img=1'
})
}
else if(item.block_link.includes('dope.youhui')){
uni.navigateTo({
url:'./pickUpCentre'
})
}
}
if(item.goodid){
uni.navigateTo({
@ -808,7 +867,7 @@
<style lang="scss" scoped>
page{
background-color: white;
// position: relative;
position: relative;
}
.ONEPIC{
width: 100%;
@ -1385,20 +1444,83 @@
width: 400rpx;
margin-top: 10rpx;
margin-left: 20rpx;
color:red;
color:white;
background-size: 100%;
background-repeat: no-repeat;
background-color: white;
border-radius:25rpx;
position: relative;
image{
width: 100%;
height: 100%;
border-radius: 25rpx;
position: relative;
}
text{
.popup_text{
right:0;
height: 30rpx;
width: 60rpx;
font-size: 20rpx;
margin-right: 10rpx;
margin-top: 10rpx;
background-color:#ccc;
background-color:rgba(0,0,0,0.4);
line-height: 30rpx;
opacity: 0.5;
text-align: center;
position: absolute;
z-index:99;
border-radius: 5rpx;
}
}
}
.open_bg{
height: 100%;
width: 100%;
top:0;
color: white;
z-index: 999;
position: fixed;
// padding-top: 50rpx;
overflow: hidden;
background-size: cover;
background-repeat: no-repeat;
background-attachment:fixed;
.open_text{
right:0;
top:50rpx;
height: 50rpx;
width: 200rpx;
font-size: 28rpx;
margin-right: 10rpx;
margin-top: 10rpx;
background-color:#ececec;
background-color:rgba(0,0,0,0.5);
line-height: 50rpx;
opacity: 0.5;
text-align: center;
position: absolute;
z-index:99;
border-radius: 5rpx;
}
.open_bgimg{
top:0;
height: 100vh;
width: 100%;
position: relative;
color:white;
image{
width: 100%;
height: 100%;
}
}
}
</style>

2
pages/index/pickUpCentre.vue

@ -1,6 +1,6 @@
<template>
<view>
<uni-nav-bar left-icon="left" :statusBar="true" title="Pick up centre" color="#000000" @clickLeft="back" :border="false">
<uni-nav-bar left-icon="left" :statusBar="true" title="CouPons" color="#000000" @clickLeft="back" :border="false">
<!-- <block slot="right">
<view class="head_coupons">
<image src="../../static/img/coupons.png" mode=""></image>

5
pages/login/index.vue

@ -228,14 +228,15 @@
gotonewpage(e){
if(e==1){
var urlStr = encodeURI("https://en.meixx.com/help/privacy.html")
var urlStr = encodeURI("https://dopeplus.com/help/Terms.html")
// plus.runtime.openURL(urlStr);
uni.navigateTo({
url:'../order/paypalWebview?src='+urlStr
})
}
else{
var urlStr = encodeURI("https://dopeplus.com/help/Terms.html")
var urlStr = encodeURI("https://en.meixx.com/help/privacy.html")
// plus.runtime.openURL(urlStr);
uni.navigateTo({
url:'../order/paypalWebview?src='+urlStr

52
pages/order/confirmation.vue

@ -239,7 +239,7 @@
if(res.error==0){
this.total=res.data.total
// this.order=res.data.order
this.order=res.data.order
this.orderId=res.data.order.shiping_id
}
})
@ -250,10 +250,8 @@
if(this.pay_index ==0){
data={_action:'payorder',order_id:id,order_type:'GOODSBUY',payment_method:'paypal'}
defaultRequest2(data).then(res=>{
console.info(res,'支付')
if(res.error == 1){
}
console.info(data,'支付')
console.log(res)
if(res.error == 0){
if(res.data.need_pay_amount==0) return
// plus.runtime.openURL(res.data.prepay_data.checkoutnow_url)
@ -261,39 +259,6 @@
uni.navigateTo({
url:'./paypalWebview?src='+res.data.prepay_data.checkoutnow_url
})
//
// var paypalorderInfo = {
// "clientId": 'AWYz9HwM2yVVK5PUGHIbd7xZvFDJopgMLp-5QlyeP7CjA8v1MRgYmWAqtl1mqRdtzCgvhL7iH5btuBix', //id
// "orderId": id, //id
// "userAction": "continue", // paynow/continue
// "currency":"USD", //
// "environment":"sandbox", // sandbox/live
// };
// uni.getProvider({
// service: 'payment',
// success: function (res) {
// console.log(res.provider)
// if (~res.provider.indexOf('paypal')) {
// uni.requestPayment({
// "provider": "paypal",
// "orderInfo": paypalorderInfo,
// success: function (res) {
// var rawdata = JSON.parse(res.rawdata);
// console.log("orderId" + rawdata.orderId);
// },
// fail: function (err) {
// console.log('fail:' + JSON.stringify(err));
// }
// });
// }
// }
// });
}
})
@ -344,12 +309,12 @@
postscript:'',
bonus:this.order.bonus,
surplus:this.order.surplus,
// shipping_id:this.orderId,
// shipping_id:this.orderId,
shipping_id:this.order.shipping_id,
directshopping:0,
}
defaultRequest3(data,'consignee').then(res=>{
console.info(res)
console.info(data)
if(res.error==0){
this.getPayDate(res.data.order.order_id,res.data.will_get_integral)
}
@ -413,13 +378,13 @@
return
}
}else{
if(!this.address&&this.tag==1){
if(!this.address){
uni.showToast({
icon:'none',
title:'please add address'
})
}
else if(this.tag ==0){
else if(!this.orderId||this.tag ==0){
uni.showToast({
icon:'none',
title:'please select shipping method'
@ -436,6 +401,9 @@
this.query=JSON.parse(e.query)
this.orderId = e.orderId
if(this.orderId){
this.tag =1
}
console.log(this.orderId,'///')
this.getList()
},

19
pages/order/details.vue

@ -328,6 +328,24 @@
},
//
getPayDate(){
console.log(this.pay_index)
if(this.pay_index == 0){
let data ={_action:'payorder',order_id:this.payQuery.order_id,order_type:'GOODSBUY',payment_method:'paypal'}
defaultRequest2(data).then(res=>{
console.info(data)
console.log(res)
if(res.error == 0){
if(res.data.need_pay_amount==0) return
// plus.runtime.openURL(res.data.prepay_data.checkoutnow_url)
// this.src = res.data.prepay_data.checkoutnow_url
uni.navigateTo({
url:'./paypalWebview?src='+res.data.prepay_data.checkoutnow_url
})
}
})
}
else{
console.info(this.payQuery,'支付宝')
defaultRequest2(this.payQuery).then(res=>{
console.info(res,'支付宝')
@ -353,6 +371,7 @@
});
}
})
}
},
payNow(id){
this.payQuery.order_id=id

53
pages/productDetails/index.vue

@ -93,7 +93,7 @@
</view>
<view>{{goodsDate.goods_name}} </view>
<view class="evaluate">
<uni-rate size="18" :disabled="true" disabledColor="red" :value="goodsDate.comment_summary[0].commentcount==0?'0':'4'" active-color="red" :is-fill="false" />
<uni-rate size="18" :disabled="true" disabledColor="#B22234" :value="goodsDate.comment_summary[0].commentcount==0?'0':'4'" active-color="red" :is-fill="false" />
<view class="evaluate_text">{{goodsDate.comment_summary[0].commentcount==0?'0.0':'4.0'}}</view>
<text>({{goodsDate.comment_summary[0].commentcount}}reviews)</text>
</view>
@ -225,19 +225,19 @@
<view class="allReviews">
<text>{{goodsDate.comment_summary[0].commentcount==0?'0.0':'4.0'}}</text>
<uni-rate size="40" :disabled="true" disabledColor="red" :value="goodsDate.comment_summary[0].commentcount==0?'0':'4'" active-color="red" :is-fill="false"/>
<uni-rate size="25" :disabled="true" disabledColor="#B22234" :value="goodsDate.comment_summary[0].commentcount==0?'0':'4'" active-color="red" :is-fill="false"/>
</view>
<template v-if="goodsDate.comment_summary[0].commentcount==0">
<view class="reviews_no">No comment yet</view>
</template>
<template v-else>
<view class="reviews_item" v-for="(item,index) in goodsDate.comment_list" :key="index">
<view class="reviews_item" v-for="(item,index) in commonlist" :key="index">
<view class="reviews_item_title">
<view class="reviews_title_user">
<text>{{item.user_name}}</text>
<uni-rate size="18" :disabled="true" disabledColor="red" :value="item.comment_rank" active-color="red" :is-fill="false"/>
<uni-rate style="margin-left: 16rpx;"size="18" :disabled="true" disabledColor="#B22234" :value="item.comment_rank" active-color="#B22234" :is-fill="false"/>
</view>
<view class="reviews_title_time">{{item.add_time}}</view>
<view class="reviews_title_time">{{item.add_time | date}}</view>
</view>
<view class="reviews_item_color">{{item.commentlabels}}</view>
<view class="reviews_item_content">{{item.content}}</view>
@ -314,7 +314,7 @@
</scroll-view>
<scroll-view class="addCard_body"scroll-y="true">
<view >{{goodsDate.goods_name}} </view>
<view class="addCard_price">US${{goodsDate.is_promote==0? goodsDate.shop_price :goodsDate.promote_price}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0? shop_price :goodsDate.promote_price}}</view>
<view v-for="(item,index) in goods_attr_list" :key="item.attr_id">
<view >{{item.name}}</view>
<view class="color_select variations_select_size">
@ -327,7 +327,7 @@
{{item1.attr_value}}
</view> -->
<view class="color_select_item" v-for="(item1,index1) in item.list" :key="item1.attr_value"
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''" @click="selectAttr(item.attr_id,item1.goods_attr_id,index1)">
:class="goods_attr_list[index].goods_attr_id==item1.goods_attr_id?'active_color':''" @click="selectAttr(item.attr_id,item1.goods_attr_id,index1,item1.attr_price)">
<view class="color_select_item_zoom">
<image src="/static/icon/big2.png" mode=""v-if="item1.attr_img!=''"></image>
</view>
@ -399,6 +399,7 @@
],
},
commonlist:[],
user_info:{},
addressDate:{},
colorNum:0,
@ -447,13 +448,15 @@
city:0
},
shipping_list:[],
Size_list:''
Size_list:'',
shop_price:0,
}
},
computed:{
//
curEndTime(){
@ -480,6 +483,16 @@
var leave3=((timestamp%(24*3600*1000))%(3600*1000))%(60*1000) //
var seconds=Math.round(leave3/1000)
return seconds
},
date(e){
let str = e
str=str.substring(0,10);
const year = str.substring(0,4)
let date = str.substring(5,10)
date = date.replace('-','/')
let time = date + '/'+year
return time
}
},
@ -639,8 +652,15 @@
})
},
//
selectAttr(attr_id,goods_attr_id,index1){
selectAttr(attr_id,goods_attr_id,index1,attr_price){
this.current = index1
let sum = this.goodsDate.shop_price
if(attr_price){
sum = parseInt(sum) + parseInt(attr_price)
console.log(sum)
}
this.shop_price = sum
let data={attr_id:attr_id,goods_attr_id:goods_attr_id}
if(this.goods_attr_list.length==0){
this.goods_attr_list.push(data)
@ -755,6 +775,21 @@
if(res.error==0){
console.log(res.data,'222')
this.goodsDate=res.data
if(this.goodsDate.comment_list.length<2){
this.commonlist.push(this.goodsDate.comment_list[0])
}else if(this.goodsDate.comment_list.length == 0){
this.commonlist = []
}
else{
for(let i =0;i<2;i++){
this.commonlist.push(this.goodsDate.comment_list[i])
}
}
console.log(this.commonlist)
this.shop_price = this.goodsDate.shop_price
this.goodsDate.gallery_list.map(item=>{
item.content=''
this.info.push(item.img_url)

43
pages/shippingCart/index.vue

@ -18,7 +18,7 @@
<template v-else>
<view class="cart_info">
<image src="/static/img/Shipped.png" mode=""></image>
<view class="cart_title_content">Buy US$<text v-if="money==0||money>0">{{ money }}</text>more to enjoy FREE STANDARD SHIPPING!</view>
<view class="cart_title_content">Buy <text v-if="money==0||money>0" style="color:darkred">US${{ money }}</text>more to enjoy FREE STANDARD SHIPPING!</view>
<view class="cart_title_right" @click="gotAdd()">Add</view>
</view>
<view class="cart">
@ -144,7 +144,7 @@
</view>
</view>
<view class="footer">
<view class="footer" v-if="inlist.length>0">
<view class="footer_left">
<image src="../../static/img/select1.png" mode="" v-if="all_allno==1 && inlist.length>0"
@click="cartCheck(0,0)"></image>
@ -171,12 +171,13 @@
</scroll-view>
<scroll-view class="addCard_body" scroll-y="true">
<view >{{ goodsDate.goods_name}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0? goodsDate.shop_price :goodsDate.promote_price}}</view>
<view class="addCard_price">US${{goodsDate.is_promote==0? shop_price :goodsDate.promote_price}}</view>
<view v-for="(item,index) in goods_attr_list" :key="item.attr_id">
<view >{{item.name}}</view>
<view class="color_select variations_select_size">
<view class="color_select_item" v-for="(item1,index1) in item.list" :key="item1.attr_value"
:class="str_select[index].goods_attr_id==item1.goods_attr_id?'active_color':''" @click="selectAttr(item.attr_id,item1.goods_attr_id,index1)">
:class="str_select[index].goods_attr_id==item1.goods_attr_id?'active_color':''"
@click="selectAttr(item.attr_id,item1.goods_attr_id,index1,item1.attr_price)">
<view class="color_select_item_zoom" v-if="item1.attr_img!=''">
<image src="/static/icon/big2.png" mode=""></image>
</view>
@ -267,6 +268,7 @@
consignee:''
},
orderId:0,
shop_price:0,
}
},
onBackPress(options) {
@ -342,7 +344,11 @@
},
//
cartCheckOut() {
if (this.inlist.length == 0) return
// if (this.inlist.length == 0) return
this.inlist =[]
this.goods_list = []
this.getList()
this.getorder()
if (this.all_allno == 2) {
uni.showToast({
icon: 'none',
@ -356,6 +362,8 @@
direct_shopping: 0,
consignee:''
}
uni.navigateTo({
url: '../order/confirmation?query=' + JSON.stringify(data) + '&orderId='+this.orderId
})
@ -482,6 +490,7 @@
res.map(item => {
goods.push(item.data)
})
this.inlist = []
goods.map(item => {
for (let i of list) {
if (i.goods_id == item.goods_id && item.is_on_sale == 0) {
@ -493,8 +502,6 @@
if (!inlist.includes(i)) {
inlist.push(i)
this.inlist = inlist
}
}
}
@ -507,14 +514,16 @@
let data = {
_action: 'getcartgoods'
}
this.goods_list = []
defaultRequest(data).then(res => {
console.info(res)
if (res.error == 0) {
this.total = res.data.total
this.all_allno = res.data.all_allno
console.log(this.inlist)
if (res.data.goods_list) {
res.data.goods_list.map(item => {
item.goods_attr = item.goods_attr.replace(/\s\n/g, ';');
@ -626,9 +635,11 @@
console.log(res)
if(res.error ==0){
console.log(res.data.shipping_list[0].free_money)
console.log(this.total.goods_price)
this.orderId = res.data.shipping_list[0].shipping_id
if(res.data.shipping_list[0].free_money >this.total.goods_price){
this.money = parseInt(res.data.shipping_list[0].free_money) - parseInt(this.total.goods_price)
if(parseInt(res.data.shipping_list[0].free_money)> parseFloat(this.total.goods_price)){
this.money = parseInt(res.data.shipping_list[0].free_money) - parseFloat(this.total.goods_price)
this.money = parseFloat(this.money).toFixed(2)
console.log(this.money)
}else{
this.money = 0
@ -672,6 +683,7 @@
defaultRequest(data).then( res =>{
if(res.error==0){
this.goodsDate = res.data
this.shop_price = this.goodsDate.shop_price
this.gallery_list = res.data.gallery_list
if(this.goodsDate.attr_list){
this.goodsDate.attr_list.map(item=>{
@ -691,8 +703,15 @@
})
},
//
selectAttr(attr_id,goods_attr_id,index){
selectAttr(attr_id,goods_attr_id,index,attr_price){
this.current = index
let sum = this.goodsDate.shop_price
if(attr_price){
sum = parseInt(sum) + parseInt(attr_price)
console.log(sum)
}
this.shop_price = sum
let data={attr_id:attr_id,goods_attr_id:goods_attr_id}
if(this.goods_attr_list.length==0){
this.goods_attr_list.push(data)

BIN
static/icon/start.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Loading…
Cancel
Save