You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
13 KiB

{"remainingRequest":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/src/views/profile/Profile.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/src/views/profile/Profile.vue","mtime":1618392256808},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/coderlhk/big bar/bigbar-start/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBOYXZCYXIgZnJvbSAiQC9jb21wb25lbnRzL2NvbW1vbi9uYXZiYXIvTmF2QmFyIjsKaW1wb3J0IFNjcm9sbCBmcm9tICJAL2NvbXBvbmVudHMvY29tbW9uL1Njcm9sbC9TY3JvbGwiOwppbXBvcnQgVXNlckluZm8gZnJvbSAiQC92aWV3cy9wcm9maWxlL2NoaWxkQ29tcHMvVXNlckluZm8iOwppbXBvcnQgeyBnZXRTaWduLGdldG5hbWUgfSBmcm9tICJAL25ldHdvcmsvcHJvZmlsZS5qcyI7CgpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIlByb2ZpbGUiLAogIGNvbXBvbmVudHM6IHsKICAgIE5hdkJhciwKICAgIFNjcm9sbCwKICAgIFVzZXJJbmZvCiAgfSwKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbmFtZTogIiIsCiAgICAgIGlzTG9naW46ICIiLAogICAgICBpZDogIiIsCiAgICAgIHVybDogIiIsCiAgICAgIGF2YXRhcjogIiIsCiAgICAgIGF2YXRhcmV4aXQ6IGZhbHNlLAogICAgICBpc3Nob3c6IHRydWUsCiAgICAgIHNpZ246ICIiLAogICAgICB0b2tlbjogIiIsCiAgICAgIGlzcmVmcmVzaDogdHJ1ZSwKICAgICAgaXNhbGxyZWZyZXNoOiB0cnVlCiAgICB9OwogIH0sCiAgYXN5bmMgbW91bnRlZCgpIHsKICAgIHRoaXMudG9rZW4gPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oInRva2VuIik7CiAgICBpZiAodGhpcy50b2tlbikgewogICAgICB0aGlzLmdldEF2YXRhcigpOwoKICAgICAgY29uc3QgcmVzID0gYXdhaXQgZ2V0U2lnbigpOwogICAgICB0aGlzLnNpZ24gPSByZXMuZGF0YTsKCiAgICAgIGNvbnN0IG9yZXM9YXdhaXQgZ2V0bmFtZSgpCiAgICAgIHRoaXMubmFtZT1vcmVzLmRhdGEKICAgIH0KICAgIHRoaXMuJGJ1cy4kb24oImlzcmVmcmVzaGluZm8iLCB0aGlzLmlzcmVmcmVzaGluZm8pOwogICAgdGhpcy4kYnVzLiRvbigiaXNhbGxyZWZyZXNoSW5mbyIsIHRoaXMuaXNhbGxyZWZyZXNoSW5mbyk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBpc2FsbHJlZnJlc2hJbmZvKCkgewogICAgICB0aGlzLmlzYWxscmVmcmVzaCA9IGZhbHNlOwogICAgICB2YXIgb2FsbHNlbGYgPSB0aGlzOwogICAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgewogICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGdldFNpZ24oKTsKICAgICAgICBvYWxsc2VsZi5zaWduID0gcmVzLmRhdGE7CiAgICAgICAgY29uc3Qgb3Jlcz1hd2FpdCBnZXRuYW1lKCkKICAgICAgICBvYWxsc2VsZi5uYW1lPW9yZXMuZGF0YQogICAgICAgIG9hbGxzZWxmLmdldEF2YXRhcigpOwogICAgICAgIG9hbGxzZWxmLmlzYWxscmVmcmVzaCA9IHRydWU7CiAgICAgIH0sIDMwMCk7CiAgICB9LAogICAgaXNyZWZyZXNoaW5mbygpIHsKICAgICAgdGhpcy5pc3JlZnJlc2ggPSBmYWxzZTsKICAgICAgdmFyIG9zZWxmID0gdGhpczsKICAgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKICAgICAgICBjb25zdCBvcmVzPWF3YWl0IGdldG5hbWUoKQogICAgICAgIG9zZWxmLm5hbWU9b3Jlcy5kYXRhCgogICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGdldFNpZ24oKTsKICAgICAgICBvc2VsZi5zaWduID0gcmVzLmRhdGE7CiAgICAgICAgb3NlbGYuaXNyZWZyZXNoID0gdHJ1ZTsKICAgICAgfSwgMzAwKTsKICAgIH0sCiAgICBvdmVyT3JkZXIoKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvb3Zlcm9yZGVyIik7CiAgICB9LAogICAgc3VjY2Vzc09yZGVyKCkgewogICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL3N1Y2Nlc3NvcmRlciIpOwogICAgfSwKICAgIG1pbmVPcmRlcigpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9taW5lb3JkZXIiKTsKICAgIH0sCiAgICBBYm91dEluZm8oKSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvYWJvdXQiKTsKICAgIH0sCiAgICBtZXNzYWdlaW5mbygpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9tZXNzYWdlIik7CiAgICB9LAogICAgbG9nb3V0KCkgewogICAgICBpZiAodGhpcy50b2tlbikgewogICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UuY2xlYXIoKTsKICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL2xvZ2luIik7CiAgICAgICAgdGhpcy4kbWVzc2FnZSgi6YCA5Ye65oiQ5YqfIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9sb2dpbiIpOwogICAgICB9CiAgICB9LAogICAgRGVmYXVsdCgpIHsKICAgICAgcmV0dXJuICJ+YXNzZXRzL2ltZy9wcm9maWxlL2F2YXRhci5zdmciOwogICAgfSwKICAgIGluZm9Mb2dpbigpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9sb2dpbiIpOwogICAgfSwKICAgIGluZm9SZWdpc3RlcigpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9yZWdpc3RlciIpOwogICAgfSwKICAgIGFzeW5jIGFmdGVyUmVhZChmaWxlKSB7CiAgICAgIHRoaXMudXJsID0gIi91cGxvYWQvIiArIHRoaXMuaWQgKyAiL2F2YXRhciI7CiAgICAgIC8vIOatpOaXtuWPr+S7peiHquihjOWwhuaWh+S7tuS4iuS8oOiHs+acjeWKoeWZqAogICAgICBjb25zdCBmb3JtZGF0YSA9IG5ldyBGb3JtRGF0YSgpOwogICAgICBmb3JtZGF0YS5hcHBlbmQoImF2YXRhciIsIGZpbGUuZmlsZSk7CiAgICAgIGF3YWl0IHRoaXMuJGh0dHAucG9zdCh0aGlzLnVybCwgZm9ybWRhdGEpOwogICAgICB0aGlzLmdldEF2YXRhcigpOwogICAgICB0aGlzLmF2YXRhcmV4aXQgPSBmYWxzZTsKICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgIHRoaXMuYXZhdGFyZXhpdCA9IHRydWU7CiAgICAgIH0sIDMwMDApOwogICAgfSwKICAgIGFzeW5jIGdldEF2YXRhcigpIHsKICAgICAgdHJ5IHsKICAgICAgICB0aGlzLmlkID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ1c2VySWQiKTsKICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLiRodHRwLmdldCgiL3VzZXJzLyIgKyB0aGlzLmlkICsgIi9hdmF0YXIiKTsKICAgICAgICB0aGlzLmF2YXRhciA9IHJlcy5jb25maWcudXJsOwogICAgICAgIHRoaXMuYXZhdGFyZXhpdCA9IHRydWU7CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIHRoaXMuYXZhdGFyZXhpdCA9IGZhbHNlOwogICAgICB9CiAgICB9LAogICAgcHVsbGluZ0Rvd24oKSB7CiAgICAgIHRoaXMuJHJlZnMuc2Nyb2xsLmZpbmlzaFB1bGxEb3duKCk7CiAgICB9CiAgfSwKICBjcmVhdGVkKCkge30KfTsK"},{"version":3,"sources":["Profile.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"Profile.vue","sourceRoot":"src/views/profile","sourcesContent":["<template>\n <div class=\"profile\">\n <nav-bar class=\"nav-bar\"><div slot=\"center\">个人中心</div></nav-bar>\n\n <!--1.单独封装一个组件: 利用slot-->\n <user-info class=\"user-info\" v-if=\"this.isallrefresh\">\n <div slot=\"user-icon\" class=\"user-icon\">\n <img alt=\"上传成功\" :src=\"this.avatar\" v-if=\"this.avatarexit\" />\n <img alt=\"未上传\" src=\"~assets/img/profile/avatar.svg\" v-else />\n <van-uploader\n class=\"uploading\"\n :after-read=\"afterRead\"\n preview-size=\"60px\"\n accept=\"image/png,image/jpeg,image/jpg,image/svg,image/gif\"\n />\n </div>\n <div slot=\"user-nickname\" class=\"user-nickname\">\n <div v-if=\"this.name\">{{ name }}</div>\n <div v-else>\n <a @click=\"infoLogin\">登陆</a><a>/</a\n ><a @click=\"infoRegister\">注册</a>\n </div>\n </div>\n <div slot=\"sign\" class=\"info-sign\">\n 个性签名: <span>{{ sign }}</span>\n </div>\n </user-info>\n <!--2.没有单独封装: 不同的地方太多, 需要传过多的参数-->\n <section class=\"account\">\n <div class=\"item imte2\" @click=\"mineOrder\">\n <img src=\"~assets/img/profile/order.svg\" alt=\"\" /><span>我的订单</span>\n </div>\n <div class=\"item imte3\">\n <img\n src=\"~assets/img/profile/cart.svg\"\n alt=\"\"\n @click=\"successOrder\"\n /><span>送货中</span>\n </div>\n <div class=\"item imte4\">\n <img src=\"~assets/img/profile/success.svg\" alt=\"\" @click=\"overOrder\" />\n <span>已完成</span>\n </div>\n </section>\n <section class=\"footer\">\n <div @click=\"messageinfo\">设置</div>\n <div @click=\"AboutInfo\">关于我们</div>\n <div @click=\"logout()\">退出</div>\n </section>\n </div>\n</template>\n\n<script>\nimport NavBar from \"@/components/common/navbar/NavBar\";\nimport Scroll from \"@/components/common/Scroll/Scroll\";\nimport UserInfo from \"@/views/profile/childComps/UserInfo\";\nimport { getSign,getname } from \"@/network/profile.js\";\n\nexport default {\n name: \"Profile\",\n components: {\n NavBar,\n Scroll,\n UserInfo\n },\n data() {\n return {\n name: \"\",\n isLogin: \"\",\n id: \"\",\n url: \"\",\n avatar: \"\",\n avatarexit: false,\n isshow: true,\n sign: \"\",\n token: \"\",\n isrefresh: true,\n isallrefresh: true\n };\n },\n async mounted() {\n this.token = window.localStorage.getItem(\"token\");\n if (this.token) {\n this.getAvatar();\n\n const res = await getSign();\n this.sign = res.data;\n\n const ores=await getname()\n this.name=ores.data\n }\n this.$bus.$on(\"isrefreshinfo\", this.isrefreshinfo);\n this.$bus.$on(\"isallrefreshInfo\", this.isallrefreshInfo);\n },\n methods: {\n isallrefreshInfo() {\n this.isallrefresh = false;\n var oallself = this;\n setTimeout(async function() {\n const res = await getSign();\n oallself.sign = res.data;\n const ores=await getname()\n oallself.name=ores.data\n oallself.getAvatar();\n oallself.isallrefresh = true;\n }, 300);\n },\n isrefreshinfo() {\n this.isrefresh = false;\n var oself = this;\n setTimeout(async function() {\n const ores=await getname()\n oself.name=ores.data\n\n const res = await getSign();\n oself.sign = res.data;\n oself.isrefresh = true;\n }, 300);\n },\n overOrder() {\n this.$router.push(\"/overorder\");\n },\n successOrder() {\n this.$router.push(\"/successorder\");\n },\n mineOrder() {\n this.$router.push(\"/mineorder\");\n },\n AboutInfo() {\n this.$router.push(\"/about\");\n },\n messageinfo() {\n this.$router.push(\"/message\");\n },\n logout() {\n if (this.token) {\n window.localStorage.clear();\n this.$router.push(\"/login\");\n this.$message(\"退出成功\");\n } else {\n this.$router.push(\"/login\");\n }\n },\n Default() {\n return \"~assets/img/profile/avatar.svg\";\n },\n infoLogin() {\n this.$router.push(\"/login\");\n },\n infoRegister() {\n this.$router.push(\"/register\");\n },\n async afterRead(file) {\n this.url = \"/upload/\" + this.id + \"/avatar\";\n // 此时可以自行将文件上传至服务器\n const formdata = new FormData();\n formdata.append(\"avatar\", file.file);\n await this.$http.post(this.url, formdata);\n this.getAvatar();\n this.avatarexit = false;\n this.$nextTick(() => {\n this.avatarexit = true;\n }, 3000);\n },\n async getAvatar() {\n try {\n this.id = window.localStorage.getItem(\"userId\");\n const res = await this.$http.get(\"/users/\" + this.id + \"/avatar\");\n this.avatar = res.config.url;\n this.avatarexit = true;\n } catch (err) {\n this.avatarexit = false;\n }\n },\n pullingDown() {\n this.$refs.scroll.finishPullDown();\n }\n },\n created() {}\n};\n</script>\n\n<style scoped>\n.footer div {\n margin-top: 9px;\n height: 50px;\n width: 100%;\n background-color: #f5f5f5;\n text-align: center;\n line-height: 50px;\n transform: translate(0, -50%);\n}\n\n.footer {\n margin-top: 40px;\n height: 150px;\n width: 100%;\n}\n\n.account {\n margin-top: 20px;\n width: 100%;\n height: 100px;\n display: flex;\n justify-content: space-around;\n}\n\n.account .item {\n width: 32%;\n height: 100px;\n background-color: #f5f5f5;\n border-radius: 10px;\n box-shadow: 2px 2px 2px 2px rgba(241, 235, 235, 0.2);\n}\n\n.account .item img {\n margin-top: 5px;\n position: relative;\n left: 50%;\n transform: translate(-50%, 0);\n}\n\n.account .item span {\n position: relative;\n margin-top: 5px;\n display: block;\n text-align: center;\n}\n\n.user-nickname {\n margin-top: 12px;\n}\n\n.user-info {\n width: 100%;\n height: 100px;\n background-color: #f5f5f5;\n}\n\n.info-sign {\n margin-top: 8px;\n font-size: 12px;\n}\n\n.info-sign span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.user-icon {\n position: relative;\n top: 50%;\n transform: translate(0, -50%);\n border-radius: 50%;\n height: 60px;\n width: 60px;\n background-color: #fff;\n float: left;\n}\n\n.user-icon img {\n position: relative;\n border-radius: 50%;\n height: 60px;\n width: 60px;\n}\n\n.user-icon .uploading {\n left: 0;\n position: absolute;\n border-radius: 50%;\n opacity: 0;\n}\n\n.nav-bar {\n background-color: #df3832;\n color: #fff;\n}\n</style>\n"]}]}