diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/img/bg1.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/img/bg1.png" new file mode 100644 index 0000000000000000000000000000000000000000..92074c9184b0ce35f134c5bd52c6fabf95c53d43 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/img/bg1.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/img/bg2.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/img/bg2.png" new file mode 100644 index 0000000000000000000000000000000000000000..140bf91c7f0d91e1839b32d94cb76228a758b256 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/img/bg2.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/index.html" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/index.html" index 6409508625a38fffb4f1335ccf703e37db9a1bd6..920c38a48e08e515d3c0f0d42b1fa4a115f6b19f 100644 --- "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/index.html" +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.14\345\265\214\345\245\227\345\225\206\345\223\201\345\210\227\350\241\250/index.html" @@ -8,6 +8,8 @@
- +
+ + \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/001.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/001.png" new file mode 100644 index 0000000000000000000000000000000000000000..b76d85c25470e59c7d3968d60d3ed6a878d2c675 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/001.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/002.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/002.png" new file mode 100644 index 0000000000000000000000000000000000000000..520040cdf83e3d29b89188b931857adc420dd7cb Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/002.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/003.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/003.png" new file mode 100644 index 0000000000000000000000000000000000000000..7beff14259156a823b8f286785f0321faee71fdd Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/003.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/004.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/004.png" new file mode 100644 index 0000000000000000000000000000000000000000..fea05a63a24812c15e434612891c3cab9a1d3bad Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/004.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/005.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/005.png" new file mode 100644 index 0000000000000000000000000000000000000000..d62fd94d886fb7cef76896d2d0a92a0fe41138b6 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/005.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/006.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/006.png" new file mode 100644 index 0000000000000000000000000000000000000000..9e175129ef910a7baef00cdb036d8f0fee2b6e2b Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/006.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/007.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/007.png" new file mode 100644 index 0000000000000000000000000000000000000000..4992db13a44dd8ae7f6576c751dcee2a3a14cfb5 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/007.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/008.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/008.png" new file mode 100644 index 0000000000000000000000000000000000000000..f6cfabbaa9d80f7cf951792e8660d0c29cf91cbd Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/008.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/009.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/009.png" new file mode 100644 index 0000000000000000000000000000000000000000..546c669e554bb1cccc6a8250749829801fad9f33 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/009.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/logo.png" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/logo.png" new file mode 100644 index 0000000000000000000000000000000000000000..ea6c5c8617385a9b7ea376fe27db5403e7b9fb18 Binary files /dev/null and "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/assets/logo.png" differ diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/Header.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/Header.vue" new file mode 100644 index 0000000000000000000000000000000000000000..bbada588183ac5fe9f23eac8560a7749bac15c1e --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/Header.vue" @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/home/list.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/home/list.vue" new file mode 100644 index 0000000000000000000000000000000000000000..d6f98236bfce39f057e2929d92df1b44e388f1fb --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/home/list.vue" @@ -0,0 +1,16 @@ + + + diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/home/top.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/home/top.vue" new file mode 100644 index 0000000000000000000000000000000000000000..7da55c8f7e4e413cd36e823b11756acb2cbec226 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/components/home/top.vue" @@ -0,0 +1,85 @@ + + + + + diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/main.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/main.js" new file mode 100644 index 0000000000000000000000000000000000000000..d398597956c2e8dd49f8f229ce2a93f02fb32009 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/main.js" @@ -0,0 +1,26 @@ +import Vue from "vue"; +import Vant from "vant"; // 引入组件 +import "vant/lib/index.css"; // 引入样式 +import App from "./App.vue"; +import router from "./router"; + + +Vue.use(Vant); // 使用组件,以后就可以在代码中直接使用vant的组件 +Vue.config.productionTip = false; + +//设置全局图片过滤器 +Vue.filter("dalImg", (v) => { + if (v) { + if (v.startsWith("http")) { + return v; + } else { + return `http://localhost:3009${v}`; + } + } else { + return "https://img1.baidu.com/it/u=2301293588,1197442478&fm=11&fmt=auto&gp=0.jpg" + } +}); +new Vue({ + router, + render: (h) => h(App), +}).$mount("#app"); diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/Detail.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/Detail.vue" new file mode 100644 index 0000000000000000000000000000000000000000..ec8c5c0ed6b2165f55d6ccb13062ed56723f1ae7 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/Detail.vue" @@ -0,0 +1,67 @@ + + + + + \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/List1.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/List1.vue" new file mode 100644 index 0000000000000000000000000000000000000000..5166e9f618eb561baeae03fbf98160d28b0b1ca9 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/List1.vue" @@ -0,0 +1,60 @@ + + + + + + diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/list2.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/list2.vue" new file mode 100644 index 0000000000000000000000000000000000000000..1bd5fa1e2a15d6c34d50cc7c476f171ec3f216ae --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/list2.vue" @@ -0,0 +1,60 @@ + + + + + + diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/list3.vue" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/list3.vue" new file mode 100644 index 0000000000000000000000000000000000000000..dcd87b269fe0041993e98ff32a2e6ed89a0241a3 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/pages/list3.vue" @@ -0,0 +1,60 @@ + + + + + + diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/router/index.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/router/index.js" new file mode 100644 index 0000000000000000000000000000000000000000..0afe1bde2d8746d460f1ab024c801126d4a79497 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/router/index.js" @@ -0,0 +1,49 @@ +import Vue from "vue"; +import VueRouter from "vue-router"; +import Home from "../components/home/top.vue"; +import List1 from "../pages/List1.vue" +import list2 from "../pages/list2.vue"; +import list3 from "../pages/list3.vue"; +import Detail from "../pages/Detail.vue"; + + +Vue.use(VueRouter); + +const routes = [ + { + path:'/List1', + name:'List1', + component:List1 + }, + { + path: "/home", + name: "Home", + component: Home, + }, + { + path: "/list3", + component: list3, + // children: [ + // { + // path: 'detail',// 前面的 / 符号可以不用写 + // component: Detail, + // }, + // ] + + }, + { + path: "/list2", + component: list2 + }, + { + path: "/detail", + component: Detail + }, + +]; + +const router = new VueRouter({ + routes, +}); + +export default router; \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/address.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/address.js" new file mode 100644 index 0000000000000000000000000000000000000000..53e56f0b87e3b8a1c9a8668cb281b28bbedbab5b --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/address.js" @@ -0,0 +1,17 @@ +import { get, put, post, del } from "../utils/request"; + +// 获取收货地址列表 +export const addresseList = () => get("/api/v1/addresses"); + +// 获取单条收货地址 +export const singleAddresse = (id) => get("/api/v1/addresses/" + id); + +// 收货地址新增 +export const addToaddresses = (data) => post("/api/v1/addresses", data); + +// 收货地址修改 +export const changeAddresses = ({ id, data }) => put("/api/v1/addresses/" + id, data); + +// 删除收货地址 +export const delAddress = (id) => del("/api/v1/addresses/" + id); + diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/auth.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/auth.js" new file mode 100644 index 0000000000000000000000000000000000000000..a4df0bff2bf8772926e2219c550e28ac2fe6bd48 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/auth.js" @@ -0,0 +1,49 @@ +import { post } from "../utils/request"; +import { get } from "../utils/request"; + +/** + * 用户登录 + * @param {*} data + * @returns + */ +export const login = (data) => post("/api/v1/auth/login", data); + +/** + * 用户注册 + * @param {*} data + * @returns + */ +export const reg = (data) => post("/api/v1/auth/reg", data); + +// 获取用户信息 +export const yonghu = () => get("/api/v1/users/info"); + +// 修改用户信息 +/* +url + /api/v1/users/change_info +method + post +params + nickName + avatar +headers + authorization Bearer token // 需要提供jwt信息 +*/ +export const changeInfo = (data) => post("/api/v1/users/change_info", data); + + +/* + 上传文件 +url + /api/v1/common/file_upload +method + post +params + file +*/ +export const fileUpLoad = (file) => post("/api/v1/common/file_upload", file); + + +// 修改登录密码 +export const ChangePwd = (data) => post("/api/v1/users/change_pwd", data); \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/carts.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/carts.js" new file mode 100644 index 0000000000000000000000000000000000000000..82843cdda9e273274a5529f4f65611601bbc3e22 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/carts.js" @@ -0,0 +1,25 @@ +import { post, get, del } from "../utils/request"; + +/** + * 加入购物车 + * @param {*} product 商品id + * @param {*} quantity 商品数量 + * @returns + */ +export const addToCart = (product, quantity) => + post("/api/v1/shop_carts", { + product, + quantity, + }); + +/** + * 获取购物车数据 + * @returns + */ +export const loadCarts = () => get("/api/v1/shop_carts"); + +/** + * 删除购物车数据 + * @returns + */ + export const delToCart = (id) => del("/api/v1/shop_carts/" + id); diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/categories.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/categories.js" new file mode 100644 index 0000000000000000000000000000000000000000..21c400473db7eebba0c912ef2a9b585434c74a06 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/categories.js" @@ -0,0 +1,7 @@ +import { get } from "../utils/request"; + +/** + * 获取商品分类 + * @returns + */ +export const loadCategories = () => get("/api/v1/product_categories"); diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/order.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/order.js" new file mode 100644 index 0000000000000000000000000000000000000000..add153e1fcbcef5c536e5f2f048b3d0b80e4e185 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/order.js" @@ -0,0 +1,27 @@ +import { post, get } from "../utils/request"; + +/* +订单提交 +url + /api/v1/orders +method + post +headers + authorization Bearer token // 需要提供jwt信息 +data + { + receiver 收货人 + regions 收货的省市区县 + address 收货地址 + orderDetails + [{ + quantity 数量 + product 商品id + price 商品单价 + }] + } +*/ +// 提交订单 +export const addOrder = (data) => post("/api/v1/orders", data); +//获取订单 +export const Orderlist = () => get("/api/v1/orders"); \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/products.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/products.js" new file mode 100644 index 0000000000000000000000000000000000000000..c49fe1f7a88ec30973ca1a72404aa7d2bd60b3d3 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/services/products.js" @@ -0,0 +1,19 @@ +import { get } from "../utils/request"; + +/** + * 分页获取商品信息 + * @param {*} page + * @returns + */ +export const loadProducts = (page = 1, c = "") => + get("/api/v1/products", { + page, + product_category: c, + }); + +/** + * 根据id获取详情 + * @param {*} id + * @returns + */ +export const loadProduct = (id) => get(`/api/v1/products/${id}`); diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/utils/request.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/utils/request.js" new file mode 100644 index 0000000000000000000000000000000000000000..ed04f296c621316c500a4cc0bceeb863d6faa0a0 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/utils/request.js" @@ -0,0 +1,81 @@ +import axios from "axios"; +import { getToken } from "./tools"; +import { Toast } from "vant"; + +// 创建一个axios实例 +const instance = axios.create({ + baseURL: "http://localhost:3009", + timeout: 5000, // 请求超时时间 +}); + +// https://github.com/axios/axios +// 请求的全局拦截 +// 全局请求拦截,请求发起之前会执行的一个函数 +// Add a request interceptor +instance.interceptors.request.use( + function(config) { + // 此处设置全局请求拦截的配置信息,可以在这个位置添加请求头 + // Do something before request is sent + config.headers.authorization = "Bearer " + getToken(); // 设置token + return config; + }, + function(error) { + // Do something with request error + return Promise.reject(error); + } +); + +// 全局响应拦截,请求完成之后会执行的一个函数 +// Add a response interceptor +instance.interceptors.response.use( + function(response) { + // Any status code that lie within the range of 2xx cause this function to trigger + // Do something with response data + return response.data; + }, + function(error) { + // Any status codes that falls outside the range of 2xx cause this function to trigger + // Do something with response error + // console.dir(error); // + // 如果接口返回的状态码是401,跳转到登录页 + if (error.response.status && error.response.status === 401) { + Toast.fail("亲,先登录哦~"); + window.location.href = "/#/login"; + } else { + return Promise.reject(error); + } + } +); + +// config中的params表示url中传递的参数 +// export const get = (url, params) => instance.get(url, { params }); +export function get(url, params) { + return instance.get(url, { params }); +} + +// export function post(url, data) { +// return instance.post(url, data); +// } + +/** + * 发起一个post请求 + * @param {*} url 请求地址 + * @param {*} data 传递的数据 + * @returns + */ +export const post = (url, data) => instance.post(url, data); + +/** + * 发起一个put请求 + * @param {*} url 请求地址 + * @param {*} data 传递参数 + * @returns + */ +export const put = (url, data) => instance.put(url, data); + +/** + * 发起一个删除请求 + * @param {*} url 请求地址 + * @returns + */ +export const del = (url) => instance.delete(url); diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/utils/tools.js" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/utils/tools.js" new file mode 100644 index 0000000000000000000000000000000000000000..b6a1255b5943fe6540c616cbf09154e908620e38 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/src/utils/tools.js" @@ -0,0 +1,32 @@ +//设置token +export const setToken = (token) => { + return localStorage.setItem("token", token); +}; +export const setCookie = (cookie) => { + return localStorage.setItem("cookie", cookie); +}; +export const getCookie = (cookie) => { + return localStorage.setItem("cookie", cookie); +}; +export const cunShzu = (shuzu) => { + return localStorage.setItem("cunshuzu", shuzu); +}; + +//获取token +export const getToken = (token) => { + return localStorage.getItem("token", token); +}; +// +//删除token +export const removeToken = () => { + return localStorage.removeItem("token"); +}; + +//判断是否登录 +export const isLogined = () => { + if (getToken()) { + return true; + } else { + return false; + } +}; \ No newline at end of file diff --git "a/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/\350\267\257\347\224\261.md" "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/\350\267\257\347\224\261.md" new file mode 100644 index 0000000000000000000000000000000000000000..ec70dac26326202f3fd97460298f4d1a0773ea88 --- /dev/null +++ "b/\345\274\240\344\272\246\345\270\214/vue\344\275\234\344\270\232/4.20\345\224\257\345\223\201\344\274\232/store/\350\267\257\347\224\261.md" @@ -0,0 +1,17 @@ +### 路由组件的显示与隐藏式通过组件实例的创建于销毁来完成的,每个组件实例中都有一个自己的 $route 对象,有个 query 可以获取参数。 +### router 每个实例公用一个,路由组件推荐建一个pages目录放置,普通组件就放于components下 + + + + +# 作业:在上一节课的基础上,把商品详情页面完善下,简介,商品名,图片...... + + + + + + + + + +