From 74ddfe5a1464e1598fa60fc6464cfa849051b59d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8B=BE=E5=A3=B9?= <10942926+linzh1@user.noreply.gitee.com> Date: Wed, 20 Sep 2023 15:58:29 +0800 Subject: [PATCH] lzh --- package-lock.json | 106 +++++++++++++- package.json | 5 +- src/App.vue | 9 +- src/components/Crumb.vue | 34 ++++- src/components/Login.vue | 51 ++++++- src/components/Topbar.vue | 83 ++++++++++- src/components/user/Cart.vue | 238 +++++++++++++++++++++++++++++++ src/main.js | 2 + src/request/api.js | 23 +++ src/request/request.js | 5 +- src/store/index.js | 10 ++ src/store/modules/loginModel.js | 23 +++ src/store/modules/loginStatus.js | 19 +++ src/store/modules/userInfos.js | 41 ++++++ src/utils/index.js | 7 + src/views/Detail.vue | 42 ++++-- src/views/Goods.vue | 90 ++++++++++-- 17 files changed, 746 insertions(+), 42 deletions(-) create mode 100644 src/components/user/Cart.vue create mode 100644 src/store/index.js create mode 100644 src/store/modules/loginModel.js create mode 100644 src/store/modules/loginStatus.js create mode 100644 src/store/modules/userInfos.js create mode 100644 src/utils/index.js diff --git a/package-lock.json b/package-lock.json index ae2d8f6..da756ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,11 @@ "version": "0.0.0", "dependencies": { "axios": "^1.5.0", + "pinia": "^2.1.6", + "pinia-plugin-persist": "^1.0.0", "vue": "^3.3.4", - "vue-router": "^4.2.4" + "vue-router": "^4.2.4", + "vue3-slide-verify": "^1.1.4" }, "devDependencies": { "@vitejs/plugin-vue": "^4.2.3", @@ -856,6 +859,99 @@ "node": ">=6" } }, + "node_modules/pinia": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz", + "integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz", + "integrity": "sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw==", + "dependencies": { + "vue-demi": "^0.12.1" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0", + "pinia": "^2.0.0", + "vue": "^2.0.0 || >=3.0.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pinia-plugin-persist/node_modules/vue-demi": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.5.tgz", + "integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/postcss": { "version": "8.4.29", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", @@ -1039,6 +1135,14 @@ "peerDependencies": { "vue": "^3.2.0" } + }, + "node_modules/vue3-slide-verify": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vue3-slide-verify/-/vue3-slide-verify-1.1.4.tgz", + "integrity": "sha512-er2d9TSPsF5CcmoxBfP6eSkc4IHROwXu6Ytghkwf52apXpXy2ZtW3tOgHnmFWb3GHESKxZ9bsFXqSX+fJ6hjrg==", + "dependencies": { + "vue": "^3.2.25" + } } } } diff --git a/package.json b/package.json index 9530a47..5991d64 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,11 @@ }, "dependencies": { "axios": "^1.5.0", + "pinia": "^2.1.6", + "pinia-plugin-persist": "^1.0.0", "vue": "^3.3.4", - "vue-router": "^4.2.4" + "vue-router": "^4.2.4", + "vue3-slide-verify": "^1.1.4" }, "devDependencies": { "@vitejs/plugin-vue": "^4.2.3", diff --git a/src/App.vue b/src/App.vue index 6339ce8..6429d39 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,8 +3,13 @@ import Topbar from './components/Topbar.vue' import Header from './components/Header.vue' import Footer from './components/Footer.vue' -import { reactive } from "vue"; +import Login from './components/Login.vue' +import { reactive } from "vue"; +import {storeToRefs} from "pinia" +import {loginModel} from './store/modules/loginModel' +let store = loginModel() +let {isShowLoginModel} = storeToRefs(store) @@ -18,7 +23,7 @@ import { reactive } from "vue"; - + diff --git a/src/components/Crumb.vue b/src/components/Crumb.vue index c94a1a5..5d31a32 100644 --- a/src/components/Crumb.vue +++ b/src/components/Crumb.vue @@ -1,11 +1,33 @@ +
+ + + {{item.name}} + + + / + +
+ - - - \ No newline at end of file + \ No newline at end of file diff --git a/src/components/Login.vue b/src/components/Login.vue index de8ff6a..cf24921 100644 --- a/src/components/Login.vue +++ b/src/components/Login.vue @@ -1,8 +1,8 @@