Forráskód Böngészése

架构、登录页

czj 4 éve
commit
be2cd444fb
44 módosított fájl, 19215 hozzáadás és 0 törlés
  1. 2 0
      .eslintignore
  2. 35 0
      .eslintrc.js
  3. 23 0
      .gitignore
  4. 19 0
      README.md
  5. 71 0
      babel.config.js
  6. 17773 0
      package-lock.json
  7. 104 0
      package.json
  8. 22 0
      postcss.config.js
  9. 28 0
      public/index.html
  10. 38 0
      src/App.vue
  11. 24 0
      src/main.js
  12. 78 0
      src/manifest.json
  13. 32 0
      src/pageSubs/address/add.vue
  14. 32 0
      src/pageSubs/address/list.vue
  15. 32 0
      src/pageSubs/afterSales/credentials.vue
  16. 32 0
      src/pageSubs/afterSales/detail.vue
  17. 32 0
      src/pageSubs/afterSales/history.vue
  18. 32 0
      src/pageSubs/afterSales/result.vue
  19. 32 0
      src/pageSubs/afterSales/submit.vue
  20. 32 0
      src/pageSubs/goods/detail.vue
  21. 32 0
      src/pageSubs/goods/merchantsInfo.vue
  22. 32 0
      src/pageSubs/orders/detail.vue
  23. 32 0
      src/pageSubs/orders/history.vue
  24. 32 0
      src/pageSubs/orders/result.vue
  25. 32 0
      src/pageSubs/orders/submit.vue
  26. 32 0
      src/pageSubs/other/bill.vue
  27. 32 0
      src/pageSubs/other/billDetail.vue
  28. 126 0
      src/pageSubs/other/login.vue
  29. 32 0
      src/pageSubs/other/myInfo.vue
  30. 32 0
      src/pageSubs/refund/detail.vue
  31. 32 0
      src/pageSubs/refund/history.vue
  32. 176 0
      src/pages.json
  33. 32 0
      src/pages/goods/goods.vue
  34. 32 0
      src/pages/my/my.vue
  35. 32 0
      src/pages/shopcat/shopcat.vue
  36. BIN
      src/static/common/icon_logo.png
  37. BIN
      src/static/logo.png
  38. BIN
      src/static/tabbar/tabbar_icon_dd.png
  39. BIN
      src/static/tabbar/tabbar_icon_dd_active.png
  40. BIN
      src/static/tabbar/tabbar_icon_gwci.png
  41. BIN
      src/static/tabbar/tabbar_icon_gwci_active.png
  42. BIN
      src/static/tabbar/tabbar_icon_my.png
  43. BIN
      src/static/tabbar/tabbar_icon_my_active.png
  44. 24 0
      src/uni.scss

+ 2 - 0
.eslintignore

@@ -0,0 +1,2 @@
+/dist/
+*.json

+ 35 - 0
.eslintrc.js

@@ -0,0 +1,35 @@
+/*
+ * @Descripttion: eslint配置
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 09:48:52
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 16:20:10
+ */
+module.exports = {
+  env: {
+    browser: true,
+    es2021: true
+  },
+  extends: [
+    'plugin:vue/essential',
+    'standard'
+  ],
+  parserOptions: {
+    ecmaVersion: 9,
+    sourceType: 'module'
+  },
+  plugins: [
+    'vue'
+  ],
+  rules: {
+    // allow async-await
+    'generator-star-spacing': 'off',
+    // allow debugger during development
+    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
+    'no-tabs': 'off',
+    indent: ['warn', 2],
+    'no-async-promise-executor': 'off',
+    'no-undef': 'off'
+  }
+}

+ 23 - 0
.gitignore

@@ -0,0 +1,23 @@
+.DS_Store
+node_modules/
+unpackage/
+dist/
+
+# 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*

+ 19 - 0
README.md

@@ -0,0 +1,19 @@
+# interest-purchase
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).

+ 71 - 0
babel.config.js

@@ -0,0 +1,71 @@
+/*
+ * @Descripttion: babel配置文件
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-25 15:13:56
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 10:26:48
+ */
+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
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 17773 - 0
package-lock.json


+ 104 - 0
package.json

@@ -0,0 +1,104 @@
+{
+  "name": "interest-purchase",
+  "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-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-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",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "@dcloudio/uni-app-plus": "^2.0.0-31420210305001",
+    "@dcloudio/uni-h5": "^2.0.0-31420210305001",
+    "@dcloudio/uni-helper-json": "*",
+    "@dcloudio/uni-mp-360": "^2.0.0-31420210305001",
+    "@dcloudio/uni-mp-alipay": "^2.0.0-31420210305001",
+    "@dcloudio/uni-mp-baidu": "^2.0.0-31420210305001",
+    "@dcloudio/uni-mp-qq": "^2.0.0-31420210305001",
+    "@dcloudio/uni-mp-toutiao": "^2.0.0-31420210305001",
+    "@dcloudio/uni-mp-vue": "^2.0.0-31420210305001",
+    "@dcloudio/uni-mp-weixin": "^2.0.0-31420210305001",
+    "@dcloudio/uni-quickapp-native": "^2.0.0-31420210305001",
+    "@dcloudio/uni-quickapp-webview": "^2.0.0-31420210305001",
+    "@dcloudio/uni-stat": "^2.0.0-31420210305001",
+    "@vue/shared": "^3.0.0",
+    "core-js": "^3.6.5",
+    "flyio": "^0.6.2",
+    "regenerator-runtime": "^0.12.1",
+    "uview-ui": "^1.8.4",
+    "vue": "^2.6.11",
+    "vuex": "^3.2.0"
+  },
+  "devDependencies": {
+    "@babel/runtime": "~7.12.0",
+    "@dcloudio/types": "*",
+    "@dcloudio/uni-automator": "^2.0.0-31420210305001",
+    "@dcloudio/uni-cli-shared": "^2.0.0-31420210305001",
+    "@dcloudio/uni-migration": "^2.0.0-31420210305001",
+    "@dcloudio/uni-template-compiler": "^2.0.0-31420210305001",
+    "@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.0-31420210305001",
+    "@dcloudio/vue-cli-plugin-uni": "^2.0.0-31420210305001",
+    "@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.0-31420210305001",
+    "@dcloudio/webpack-uni-mp-loader": "^2.0.0-31420210305001",
+    "@dcloudio/webpack-uni-pages-loader": "^2.0.0-31420210305001",
+    "@vue/cli-plugin-babel": "~4.5.0",
+    "@vue/cli-service": "~4.5.0",
+    "babel-plugin-import": "^1.11.0",
+    "cross-env": "^7.0.2",
+    "eslint": "^7.22.0",
+    "eslint-config-standard": "^16.0.2",
+    "eslint-plugin-import": "^2.22.1",
+    "eslint-plugin-node": "^11.1.0",
+    "eslint-plugin-promise": "^4.3.1",
+    "eslint-plugin-vue": "^7.8.0",
+    "jest": "^25.4.0",
+    "mini-types": "*",
+    "miniprogram-api-typings": "*",
+    "node-sass": "^5.0.0",
+    "postcss-comment": "^2.0.0",
+    "sass-loader": "^10.0.1",
+    "vue-template-compiler": "^2.6.11"
+  },
+  "browserslist": [
+    "Android >= 4",
+    "ios >= 8"
+  ],
+  "uni-app": {
+    "scripts": {}
+  }
+}

+ 22 - 0
postcss.config.js

@@ -0,0 +1,22 @@
+const path = require('path')
+module.exports = {
+  parser: require('postcss-comment'),
+  plugins: [
+    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')
+  ]
+}

+ 28 - 0
public/index.html

@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+    <head>
+        <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <title>
+            <%= htmlWebpackPlugin.options.title %>
+        </title>
+        <script>
+            document.addEventListener('DOMContentLoaded', function() {
+                document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'
+            })
+            var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+        </script>
+        <link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />
+    </head>
+
+    <body>
+        <noscript>
+            <strong>Please enable JavaScript to continue.</strong>
+        </noscript>
+        <div id="app"></div>
+        <!-- built files will be auto injected -->
+    </body>
+
+</html>

+ 38 - 0
src/App.vue

@@ -0,0 +1,38 @@
+<!--
+ * @Descripttion: 应用入口
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-25 15:13:56
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 17:27:49
+-->
+<script>
+export default {
+  onLaunch: function () {
+    console.log('App Launch')
+  },
+  onShow: function () {
+    console.log('App Show')
+  },
+  onHide: function () {
+    console.log('App Hide')
+  }
+}
+</script>
+
+<style lang="scss">
+	/*每个页面公共css */
+	@import "uview-ui/index.scss";
+  page {
+    box-sizing: border-box;
+    height: 100vh;
+    font-size: 26px;
+    line-height: 36px;
+    color: $iph-base-text;
+    background-color: $iph-base-bg;
+    font-family: PingFangSC-Regular, PingFang SC;
+    /deep/ .input-placeholder {
+      color: $iph-placeholder-color;
+    }
+  }
+</style>

+ 24 - 0
src/main.js

@@ -0,0 +1,24 @@
+/*
+ * @Descripttion: 入口文件
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-25 15:13:56
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-25 15:29:26
+ */
+import Vue from 'vue'
+import App from './App'
+import uView from 'uview-ui'
+
+Vue.config.productionTip = false
+
+Vue.use(uView)
+
+App.mpType = 'app'
+
+Vue.use(uView)
+
+const app = new Vue({
+  ...App
+})
+app.$mount()

+ 78 - 0
src/manifest.json

@@ -0,0 +1,78 @@
+{
+	"name": "",
+	"appid": "",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": true,
+	"app-plus": { /* 5+App特有相关 */
+		"usingComponents": true,
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		"modules": { /* 模块配置 */
+
+		},
+		"distribute": { /* 应用发布信息 */
+			"android": { /* android打包配置 */
+				"permissions": ["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+				]
+			},
+			"ios": { /* ios打包配置 */
+
+			},
+			"sdkConfigs": { /* SDK配置 */
+
+			}
+		}
+	},
+	"quickapp": { /* 快应用特有相关 */
+
+	},
+	"mp-weixin": { /* 微信小程序特有相关 */
+		"appid": "",
+		"setting": {
+			"urlCheck": false
+		},
+		"optimization": {
+			"subPackages":true
+		},
+		"usingComponents": true
+	},
+	"mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "mp-qq" : {
+        "usingComponents" : true
+    }
+}

+ 32 - 0
src/pageSubs/address/add.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 添加地址
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 14:16:05
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 14:16:58
+-->
+<template>
+	<view>Add Address</view>
+</template>
+
+<script>
+export default {
+  name: 'addAddress',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/address/list.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 地址列表
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 14:15:06
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 14:15:55
+-->
+<template>
+	<view>Address List</view>
+</template>
+
+<script>
+export default {
+  name: 'addressList',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/afterSales/credentials.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 售货凭证
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 15:06:57
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:11:39
+-->
+<template>
+	<view>After Sales credentials</view>
+</template>
+
+<script>
+export default {
+  name: 'afterSalesCredentials',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/afterSales/detail.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 退款详情
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 15:20:47
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:27:22
+-->
+<template>
+	<view>After Sables Result</view>
+</template>
+
+<script>
+export default {
+  name: 'afterSablesResult',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/afterSales/history.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 售后
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 15:19:28
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:19:39
+-->
+<template>
+	<view>After Sables Result</view>
+</template>
+
+<script>
+export default {
+  name: 'afterSablesResult',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/afterSales/result.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 提交售后结果
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 15:13:39
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:17:34
+-->
+<template>
+	<view>After Sables Result</view>
+</template>
+
+<script>
+export default {
+  name: 'afterSablesResult',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/afterSales/submit.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 申请售后
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 14:34:38
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:10:33
+-->
+<template>
+	<view>Submit After Sales</view>
+</template>
+
+<script>
+export default {
+  name: 'submitAfterSales',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/goods/detail.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 货品详情
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 13:48:37
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 14:00:26
+-->
+<template>
+	<view>Goods Detail</view>
+</template>
+
+<script>
+export default {
+  name: 'goodsDetail',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/goods/merchantsInfo.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 商家信息
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 13:55:49
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 13:56:18
+-->
+<template>
+	<view>merchantsInfo</view>
+</template>
+
+<script>
+export default {
+  name: 'merchantsInfo',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/orders/detail.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 订单详情
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 14:32:52
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 14:33:17
+-->
+<template>
+	<view>Orders Detail</view>
+</template>
+
+<script>
+export default {
+  name: 'orderDetail',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/orders/history.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 我的订单
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 15:16:21
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:18:42
+-->
+<template>
+	<view>Orders History</view>
+</template>
+
+<script>
+export default {
+  name: 'orderHistory',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/orders/result.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 提交订单结果
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 14:00:59
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 15:14:15
+-->
+<template>
+	<view>Orders Submit Result</view>
+</template>
+
+<script>
+export default {
+  name: 'orderResult',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/orders/submit.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 确认订单
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 13:59:15
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 14:26:29
+-->
+<template>
+	<view>Submit Order</view>
+</template>
+
+<script>
+export default {
+  name: 'orderSubmit',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/other/bill.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 账单
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 16:23:55
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 16:24:21
+-->
+<template>
+	<view>bill</view>
+</template>
+
+<script>
+export default {
+  name: 'bill',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/other/billDetail.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 账单详情
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 16:25:14
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 16:25:38
+-->
+<template>
+	<view>bill Detail</view>
+</template>
+
+<script>
+export default {
+  name: 'billDetail',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 126 - 0
src/pageSubs/other/login.vue

@@ -0,0 +1,126 @@
+<!--
+ * @Descripttion: 登录
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 13:47:30
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 18:42:59
+-->
+<template>
+	<view class="login-main">
+    <image class="logo-img" src="~@/static/common/icon_logo.png" mode="aspectFit" />
+    <view class="form">
+      <view class="u-flex u-p-t-32 u-p-b-32 u-border-bottom">
+        <view class="u-m-r-32 u-font-28 u-line-40 bold">手机号</view>
+        <input class="form-input u-line-40" placeholder="请输入手机号" />
+      </view>
+      <view class="u-flex u-p-t-32 u-p-b-32 u-border-bottom">
+        <view class="u-m-r-32 u-font-28 u-line-40 bold">验证码</view>
+        <input class="form-input u-line-40" placeholder="请输入手机验证码" />
+        <u-verification-code
+          ref="loginCode"
+          :seconds="60"
+          unique-key="login-code"
+          @change="changeCode"
+        ></u-verification-code>
+        <u-button class="send-code-btn u-flex-1" @click="sendCode">{{tips}}</u-button>
+      </view>
+    </view>
+    <button class="u-m-t-56 btn login-btn">登录</button>
+    <button class="u-m-t-24 btn wx-login-btn">微信一键登录</button>
+    <view class="u-m-t-12">
+      <u-checkbox v-model="checked" size="28" shape="circle">
+        <text class="u-font-24">阅读并同意以下协议</text>
+        <text class="u-font-24 primary-color">《用户协议》</text>
+        <text class="u-font-24 primary-color">《数据信息授权书》</text>
+      </u-checkbox>
+    </view>
+  </view>
+</template>
+
+<script>
+export default {
+  name: 'login',
+  data () {
+    return {
+      tips: '',
+      checked: false
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+    changeCode (text) {
+      this.tips = text
+    },
+    sendCode () {
+      this.$refs.loginCode.start()
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.login-main {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  padding-top: 20%;
+  height: 100%;
+  background-color: $iph-standby-bg;
+  .logo-img {
+    width: 132px;
+    height: 132px;
+  }
+  .form {
+    box-sizing: border-box;
+    margin-top: 112px;
+    padding: 0 32px;
+    width: 100%;
+    .form-input {
+      width: 390px;
+      height: 44px !important;
+      min-height: 44px !important;
+    }
+    .send-code-btn {
+      /deep/ .u-btn {
+        padding: 0;
+        height: 40px;
+        line-height: 40px !important;
+        color: $u-type-primary;
+        font-size: 28px;
+        font-weight: 500;
+        &::after {
+          border-left: 2px solid $iph-border-base;
+          border-top: 0;
+          border-right: 0;
+          border-bottom: 0;
+          border-radius: 0;
+        }
+      }
+    }
+  }
+  .btn {
+    width: 686px;
+    height: 88px;
+    line-height: 88px;
+    font-size: 32px;
+    font-weight: 500;
+  }
+  .login-btn {
+    color: $iph-standby-text;
+    background-color: $u-type-primary;
+    border-radius: 8px;
+  }
+  .wx-login-btn {
+    color: $u-type-primary;
+    background-color: $iph-standby-bg;
+    border-radius: 8px;
+    &::after {
+      border-radius: 16px;
+      border-color: $u-type-primary;
+    }
+  }
+}
+</style>

+ 32 - 0
src/pageSubs/other/myInfo.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 个人信息
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 14:23:05
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 16:17:07
+-->
+<template>
+	<view>myInfo</view>
+</template>
+
+<script>
+export default {
+  name: 'myInfo',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/refund/detail.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 退费单详情
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 16:21:43
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 16:22:13
+-->
+<template>
+	<view>Refund Detail</view>
+</template>
+
+<script>
+export default {
+  name: 'refundDetail',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pageSubs/refund/history.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 退费单
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-26 16:16:12
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 16:22:29
+-->
+<template>
+	<view>Refund History</view>
+</template>
+
+<script>
+export default {
+  name: 'refundHistory',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 176 - 0
src/pages.json

@@ -0,0 +1,176 @@
+{
+	"easycom": {
+		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
+	},
+	"pages": [{
+		"path": "pages/goods/goods",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
+		"path": "pages/shopcat/shopcat",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}, {
+		"path": "pages/my/my",
+		"style": {
+			"navigationStyle": "custom"
+		}
+	}],
+	"subPackages": [{
+    "root": "pageSubs/goods",
+    "pages": [{
+      "path": "detail",
+			"style": {
+				"navigationBarTitleText": "商品详情"
+			}
+    }, {
+			"path": "merchantsInfo",
+			"style": {
+				"navigationBarTitleText": "商家名片"
+			}
+		}]
+	}, {
+    "root": "pageSubs/orders",
+    "pages": [{
+      "path": "submit",
+      "style": {
+        "navigationBarTitleText": "确认订单"
+			}
+    }, {
+			"path": "history",
+			"style": {
+				"navigationBarTitleText": "我的订单"
+			}
+		}, {
+      "path": "detail",
+      "style": {
+        "navigationBarTitleText": "订单详情"
+			}
+		}, {
+      "path": "result",
+			"style": {
+				"navigationBarTitleText": "支付成功"
+			}
+    }]
+	}, {
+    "root": "pageSubs/afterSales",
+    "pages": [{
+      "path": "submit",
+			"style": {
+				"navigationBarTitleText": "申请售后"
+			}
+    }, {
+      "path": "credentials",
+			"style": {
+				"navigationBarTitleText": "售后凭证"
+			}
+    }, {
+      "path": "result",
+			"style": {
+				"navigationBarTitleText": "提交成功"
+			}
+    }]
+	}, {
+    "root": "pageSubs/address",
+    "pages": [{
+      "path": "list",
+			"style": {
+				"navigationBarTitleText": "收货地址"
+			}
+    }, {
+      "path": "add",
+			"style": {
+				"navigationBarTitleText": "添加收货地址"
+			}
+    }]
+	}, {
+    "root": "pageSubs/refund",
+    "pages": [{
+      "path": "detail",
+			"style": {
+				"navigationBarTitleText": "退费单详情"
+			}
+    }, {
+      "path": "history",
+			"style": {
+				"navigationBarTitleText": "退费单"
+			}
+    }]
+	}, {
+    "root": "pageSubs/other",
+    "pages": [{
+      "path": "login",
+			"style": {
+				"navigationStyle": "custom"
+			}
+    }, {
+			"path": "myInfo",
+			"style": {
+				"navigationBarTitleText": "个人信息"
+			}
+		}, {
+			"path": "bill",
+			"style": {
+				"navigationBarTitleText": "账单"
+			}
+		}, {
+			"path": "billDetail",
+			"style": {
+				"navigationBarTitleText": "账单详情"
+			}
+		}]
+	}],
+  "preloadRule": {
+    "pages/goods/goods": {
+      "network": "all",
+      "packages": ["pageSubs/goods"]
+    },
+    "pages/shopcat/shopcat": {
+      "network": "all",
+      "packages": ["pageSubs/orders"]
+    },
+    "pageSubs/orders/submit": {
+      "network": "all",
+      "packages": ["pageSubs/address"]
+    },
+    "pages/my/my": {
+      "network": "wifi",
+      "packages": [
+        "pageSubs/orders",
+        "pageSubs/refund",
+        "pageSubs/afterSales",
+        "pageSubs/other"
+      ]
+    }
+  },
+  "tabBar": {
+    "color": "#999999",
+    "selectedColor": "#1677FF",
+    "borderStyle": "black",
+    "backgroundColor": "#ffffff",
+    "list": [{
+      "pagePath": "pages/goods/goods",
+      "iconPath": "static/tabbar/tabbar_icon_dd.png",
+      "selectedIconPath": "static/tabbar/tabbar_icon_dd_active.png",
+      "text": "订货"
+    }, {
+      "pagePath": "pages/shopcat/shopcat",
+      "iconPath": "static/tabbar/tabbar_icon_gwci.png",
+      "selectedIconPath": "static/tabbar/tabbar_icon_gwci_active.png",
+      "text": "购物车"
+    }, {
+      "pagePath": "pages/my/my",
+      "iconPath": "static/tabbar/tabbar_icon_my.png",
+      "selectedIconPath": "static/tabbar/tabbar_icon_my_active.png",
+      "text": "我的"
+  }]
+  },
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "趣订",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	}
+}

+ 32 - 0
src/pages/goods/goods.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 订货tabber
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-25 15:55:15
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 10:24:30
+-->
+<template>
+	<view>goods</view>
+</template>
+
+<script>
+export default {
+  name: 'goods',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pages/my/my.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 我的tabber
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-25 15:56:03
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 10:25:20
+-->
+<template>
+	<view>my</view>
+</template>
+
+<script>
+export default {
+  name: 'my',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 32 - 0
src/pages/shopcat/shopcat.vue

@@ -0,0 +1,32 @@
+<!--
+ * @Descripttion: 购物车Tabber
+ * @version: 1.0.0
+ * @Author: dream
+ * @Date: 2021-03-25 15:55:43
+ * @LastEditors: dream
+ * @LastEditTime: 2021-03-26 10:25:44
+-->
+<template>
+	<view>shopcat</view>
+</template>
+
+<script>
+export default {
+  name: 'shopcat',
+  data () {
+    return {
+
+    }
+  },
+  onLoad () {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

BIN
src/static/common/icon_logo.png


BIN
src/static/logo.png


BIN
src/static/tabbar/tabbar_icon_dd.png


BIN
src/static/tabbar/tabbar_icon_dd_active.png


BIN
src/static/tabbar/tabbar_icon_gwci.png


BIN
src/static/tabbar/tabbar_icon_gwci_active.png


BIN
src/static/tabbar/tabbar_icon_my.png


BIN
src/static/tabbar/tabbar_icon_my_active.png


+ 24 - 0
src/uni.scss

@@ -0,0 +1,24 @@
+@import 'uview-ui/theme.scss';
+
+$u-type-primary: #1677FF;
+
+$iph-base-text: #212121;
+$iph-standby-text: #ffffff;
+$iph-placeholder-color: #cccccc;
+
+$iph-border-base: #eeeeee;
+
+$iph-base-bg: #f5f5f5;
+$iph-standby-bg: #ffffff;
+
+.bold {
+  font-weight: bold;
+}
+
+.u-line-40 {
+  line-height: 40px;
+}
+
+.primary-color {
+  color: $u-type-primary;
+}