CodeMaster/node_modules/.cache/vue-loader/09b9ac55311be37fd73ba61bc8ac1d83.json
2025-04-02 21:57:33 +08:00

1 line
11 KiB
JSON

{"remainingRequest":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/account/center/index.vue?vue&type=style&index=0&id=706b9d54&lang=less&scoped=true","dependencies":[{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/src/views/account/center/index.vue","mtime":1742646402775},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/css-loader/dist/cjs.js","mtime":1743264596127},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/loaders/stylePostLoader.js","mtime":1743264597030},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/postcss-loader/src/index.js","mtime":1743264596321},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/less-loader/dist/cjs.js","mtime":1743264596730},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/cache-loader/dist/cjs.js","mtime":1743264595665},{"path":"/Users/shuguang/Desktop/毕设/CodeMaster/CodeMaster/node_modules/vue-loader/lib/index.js","mtime":1743264596512}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ci5wYWdlLWhlYWRlci13cmFwcGVyLWdyaWQtY29udGVudC1tYWluIHsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgbWluLWhlaWdodDogMTAwJTsKICB0cmFuc2l0aW9uOiAwLjNzOwoKICAuYWNjb3VudC1jZW50ZXItYXZhdGFySG9sZGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CgogICAgJiA+IC5hdmF0YXIgewogICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgd2lkdGg6IDEwNHB4OwogICAgICBoZWlnaHQ6IDEwNHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGltZyB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICB9CgogICAgLnVzZXJuYW1lIHsKICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7CiAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIH0KICB9CgogIC5hY2NvdW50LWNlbnRlci1kZXRhaWwgewogICAgcCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgaSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB3aWR0aDogMTRweDsKICAgICAgbGVmdDogMDsKICAgICAgdG9wOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6IHVybChodHRwczovL2d3LmFsaXBheW9iamVjdHMuY29tL3pvcy9ybXNwb3J0YWwvcEJqV3pWQUhuT090QVV2Wm1aZnkuc3ZnKTsKICAgIH0KCiAgICAudGl0bGUgewogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7CiAgICB9CiAgICAuZ3JvdXAgewogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMnB4OwogICAgfQogICAgLmFkZHJlc3MgewogICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00NHB4OwogICAgfQogIH0KCiAgLmFjY291bnQtY2VudGVyLXRhZ3MgewogICAgLmFudC10YWcgewogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICB9CiAgfQoKICAuYWNjb3VudC1jZW50ZXItdGVhbSB7CiAgICAubWVtYmVycyB7CiAgICAgIGEgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICAubWVtYmVyIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjUpOwogICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4OwogICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgfQogICAgICAgICY6aG92ZXIgewogICAgICAgICAgc3BhbiB7CiAgICAgICAgICAgIGNvbG9yOiAjMTg5MGZmOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0KCiAgLnRhZ3NUaXRsZSwKICAudGVhbVRpdGxlIHsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgfQp9Cg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAoLA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/account/center","sourcesContent":["<template>\n <div class=\"page-header-index-wide page-header-wrapper-grid-content-main\">\n <a-row :gutter=\"24\">\n <a-col :md=\"24\" :lg=\"7\">\n <a-card :bordered=\"false\">\n <div class=\"account-center-avatarHolder\">\n <div class=\"avatar\">\n <img :src=userimg>\n </div>\n <div class=\"username\">{{ $store.state.user.userName }}</div>\n <div class=\"bio\">身份:{{ shenfen }}</div>\n </div>\n <a-divider/>\n <div class=\"account-center-tags\">\n <div class=\"tagsTitle\">标签</div>\n <div>\n <template v-for=\"(tag, index) in tags\">\n <a-tooltip v-if=\"tag.length > 20\" :key=\"tag\" :title=\"tag\">\n <a-tag\n :key=\"tag\"\n :closable=\"index !== 0\"\n :close=\"() => handleTagClose(tag)\"\n >{{ `${tag.slice(0, 20)}...` }}</a-tag>\n </a-tooltip>\n <a-tag\n v-else\n :key=\"tag\"\n :closable=\"index !== 0\"\n :close=\"() => handleTagClose(tag)\"\n >{{ tag }}</a-tag>\n </template>\n <a-input\n v-if=\"tagInputVisible\"\n ref=\"tagInput\"\n type=\"text\"\n size=\"small\"\n :style=\"{ width: '78px' }\"\n :value=\"tagInputValue\"\n @change=\"handleInputChange\"\n @blur=\"handleTagInputConfirm\"\n @keyup.enter=\"handleTagInputConfirm\"\n />\n <a-tag v-else @click=\"showTagInput\" style=\"background: #fff; borderStyle: dashed;\">\n <a-icon type=\"plus\"/>New Tag\n </a-tag>\n </div>\n </div>\n <a-divider :dashed=\"true\"/>\n\n <div class=\"account-center-team\">\n <div class=\"teamTitle\">我的比赛</div>\n <a-spin :spinning=\"teamSpinning\" v-for=\"(item, index) in matchs\" :key=\"index\">\n <div class=\"members\">\n <a-row>\n <a-col>\n <a-tag :color=\"colors[index]\" style=\"margin: 5px;\">\n 竞赛名称:{{ item.competitionName }} {{ item.competitionType }}\n </a-tag>\n\t\t\t\t\t\t\t\t\t\t<a-tag :color=\"colors[index]\" style=\"margin: 5px;\">\n 类型: {{ item.competitionType }}\n </a-tag> \n </a-col>\n </a-row>\n </div>\n </a-spin>\n </div>\n </a-card>\n </a-col>\n <a-col :md=\"24\" :lg=\"17\">\n <a-card\n style=\"width:100%\"\n :bordered=\"false\"\n :tabList=\"tabListNoTitle\"\n :activeTabKey=\"noTitleKey\"\n @tabChange=\"key => handleTabChange(key, 'noTitleKey')\"\n >\n <article-page v-if=\"noTitleKey === 'article'\"></article-page>\n </a-card>\n </a-col>\n </a-row>\n </div>\n</template>\n\n<script>\nimport PageView from '../../../layouts/PageView.vue'\nimport RouteView from '../../../layouts/RouteView.vue'\nimport { AppPage, ArticlePage, ProjectPage } from './page'\nimport { mapGetters } from 'vuex'\n\nexport default {\n components: {\n RouteView,\n PageView,\n AppPage,\n ArticlePage,\n ProjectPage\n },\n data () {\n return {\n\t\t\tuserimg:this.$store.state.avatar,\n tags: ['很有想法的', '专注设计', '程序猿'],\n tagInputVisible: false,\n tagInputValue: '',\n teams: [],\n teamSpinning: true,\n\t\t\tshenfen:'',\n tabListNoTitle: [\n {\n key: 'article',\n tab: '我的文章'\n },\n ],\n noTitleKey: 'app',\n\t\t\t// 比赛\n\t\t\tmatchs:[],\n\t\t\tcolors:['red','green','orange','pink','cyan']\n }\n },\n computed: {\n ...mapGetters(['nickname', 'avatar'])\n },\n\tmounted () {\n if (this.$store.state.user.userPrivileges == 0) {\n this.shenfen = \"管理员\"\n } else if (this.$store.state.user.userPrivileges == 1) {\n this.shenfen = \"教师\"\n } else {\n this.shenfen = \"学生\"\n }\n this.My()\n this.noTitleKey = 'article'; // 在页面加载完成后直接切换到 \"我的文章\" 选项卡\n},\n methods: {\n\t\tMy(){\n\t\t\tthis.$api.RegistrationAll().then(res=>{\n\t\t\t\tthis.matchs=res.data.filter(match=>{\n\t\t\t\t\treturn match.studentId==this.$store.state.user.userId;\n\t\t\t\t})\n\t\t\t\tthis.teamSpinning=false;\n\t\t\t})\n\t\t},\n\n handleTabChange (key, type) {\n this[type] = key\n },\n\n handleTagClose (removeTag) {\n const tags = this.tags.filter(tag => tag !== removeTag)\n this.tags = tags\n },\n\n showTagInput () {\n this.tagInputVisible = true\n this.$nextTick(() => {\n this.$refs.tagInput.focus()\n })\n },\n\n handleInputChange (e) {\n this.tagInputValue = e.target.value\n },\n\n handleTagInputConfirm () {\n const inputValue = this.tagInputValue\n let tags = this.tags\n if (inputValue && !tags.includes(inputValue)) {\n tags = [...tags, inputValue]\n }\n\n Object.assign(this, {\n tags,\n tagInputVisible: false,\n tagInputValue: ''\n })\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.page-header-wrapper-grid-content-main {\n width: 100%;\n height: 100%;\n min-height: 100%;\n transition: 0.3s;\n\n .account-center-avatarHolder {\n text-align: center;\n margin-bottom: 24px;\n\n & > .avatar {\n margin: 0 auto;\n width: 104px;\n height: 104px;\n margin-bottom: 20px;\n border-radius: 50%;\n overflow: hidden;\n img {\n height: 100%;\n width: 100%;\n }\n }\n\n .username {\n color: rgba(0, 0, 0, 0.85);\n font-size: 20px;\n line-height: 28px;\n font-weight: 500;\n margin-bottom: 4px;\n }\n }\n\n .account-center-detail {\n p {\n margin-bottom: 8px;\n padding-left: 26px;\n position: relative;\n }\n\n i {\n position: absolute;\n height: 14px;\n width: 14px;\n left: 0;\n top: 4px;\n background: url(https://gw.alipayobjects.com/zos/rmsportal/pBjWzVAHnOOtAUvZmZfy.svg);\n }\n\n .title {\n background-position: 0 0;\n }\n .group {\n background-position: 0 -22px;\n }\n .address {\n background-position: 0 -44px;\n }\n }\n\n .account-center-tags {\n .ant-tag {\n margin-bottom: 8px;\n }\n }\n\n .account-center-team {\n .members {\n a {\n display: block;\n margin: 12px 0;\n line-height: 24px;\n height: 24px;\n .member {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.65);\n line-height: 24px;\n max-width: 100px;\n vertical-align: top;\n margin-left: 12px;\n transition: all 0.3s;\n display: inline-block;\n }\n &:hover {\n span {\n color: #1890ff;\n }\n }\n }\n }\n }\n\n .tagsTitle,\n .teamTitle {\n font-weight: 500;\n color: rgba(0, 0, 0, 0.85);\n margin-bottom: 12px;\n }\n}\n</style>\n"]}]}