Browse Source

优化me页面和添加login页面

pull/19/head
zyronon 4 years ago
parent
commit
e83f773b80
  1. 1
      src/App.vue
  2. 42
      src/assets/scss/custom.scss
  3. 11
      src/assets/scss/index.scss
  4. 6
      src/config/index.js
  5. 115
      src/pages/login/Login.vue
  6. 269
      src/pages/me/Me2.vue
  7. 860
      src/pages/me/Me3.vue
  8. 2
      src/pages/me/userinfo/EditUserInfoItem.vue
  9. 2
      src/router/index.js
  10. 10
      src/store/index.js

1
src/App.vue

@ -69,6 +69,7 @@ export default { @@ -69,6 +69,7 @@ export default {
'/me/right-menu/minor-protection/detail-setting',
'/me/right-menu/minor-protection/trigger-time',
'/me/right-menu/setting',
'/login',
'/service-protocol',

42
src/assets/scss/custom.scss

@ -29,11 +29,12 @@ @@ -29,11 +29,12 @@
background: $main-bg;
}
}
&.no-padding {
padding:0;
padding: 0;
}
&.border{
&.border {
border-bottom: 1px solid $line-color;
}
@ -83,6 +84,22 @@ @@ -83,6 +84,22 @@
}
}
&.no-active {
&:active {
&.primary {
background: $primary-btn-color;
}
&.dark {
background: $second-btn-color;
}
&.white {
background: white;
}
}
}
&.dark {
background: $second-btn-color;
@ -90,4 +107,25 @@ @@ -90,4 +107,25 @@
background: $second-btn-color-tran;
}
}
&.white {
background: white;
color: black;
border: 1px solid gainsboro;
}
}
p {
padding: 0;
margin: 0;
}
.line {
height: 1px;
background: $line-color;
width: 100%;
}
.link {
color: rgb(18, 100, 149);
}

11
src/assets/scss/index.scss

@ -18,14 +18,3 @@ html, body { @@ -18,14 +18,3 @@ html, body {
margin: 0;
padding: 0;
}
p {
padding: 0;
margin: 0;
}
.line {
height: 1px;
background: $line-color;
width: 100%;
}

6
src/config/index.js

@ -1,4 +1,6 @@ @@ -1,4 +1,6 @@
export default {
baseUrl: 'http://192.168.0.105//index.php/v1',
filePreview:'http://192.168.0.105//static/uploads/'
// baseUrl: 'http://192.168.0.105//index.php/v1',
// filePreview:'http://192.168.0.105/static/uploads/',
baseUrl: 'http://192.168.10.164//index.php/v1',
filePreview:'http://192.168.10.164/static/uploads/'
}

115
src/pages/login/Login.vue

@ -0,0 +1,115 @@ @@ -0,0 +1,115 @@
<template>
<div class="login">
<BaseHeader>
<template v-slot:right>
<span class="f16">帮助</span>
</template>
</BaseHeader>
<div class="content">
<div class="notice">
<div class="title">登录看朋友内容</div>
<div class="phone-number">138****8000</div>
<div class="sub-title">认证服务由中国移动提供</div>
</div>
<div class="button primary no-active">一键登录</div>
<div class="button white">其他手机号码登录</div>
<div class="protocol">
<!-- TODO -->
<div class="left"></div>
<div class="right">
我已阅读并同意
<span class="link" @click="$nav('/service-protocol',{type:'“抖音”用户服务协议'})">用户协议</span>
<span class="link" @click="$nav('/service-protocol',{type:'“抖音”用户服务协议'})">隐私政策</span>
<div>
以及
<span class="link" @click="$nav('/service-protocol',{type:'“抖音”用户服务协议'})">中国移动认证服务条款</span>
同时登录并使用抖音火山版火山小视频和抖音
</div>
</div>
</div>
<!-- TODO -->
<div class="other-login">
<span class="link">其他方式登录</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: "login",
data() {
return {}
},
computed: {},
created() {
},
methods: {}
}
</script>
<style scoped lang="scss">
@import "../../assets/scss/index";
.login {
position: fixed;
left: 0;
right: 0;
bottom: 0;
top: 0;
overflow: auto;
color: black;
font-size: 1.4rem;
background: white;
.content {
padding: 6rem 3rem;
//padding-top: 6rem;
.notice {
margin-bottom: 8rem;
margin-top: 12rem;
display: flex;
align-items: center;
flex-direction: column;
.title {
margin-bottom: 2rem;
}
.phone-number {
font-size: 3rem;
margin-bottom: 1rem;
}
.sub-title {
font-size: 1.2rem;
color: $second-text-color;
}
}
.button {
margin-bottom: .5rem;
}
.protocol{
margin-top: 2rem;
font-size: 1.2rem;
}
.other-login{
position: absolute;
bottom: 4rem;
font-size: 1.2rem;
left: 50%;
transform: translateX(-50%);
}
}
}
</style>

269
src/pages/me/Me2.vue

@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
<div class="my-buttons ">
<div class="collect" @click="$nav('/edit-userinfo')">
<span class="mr1r">编辑资料</span>
<span class="f10p" style="color: darkgray">85%</span>
<!-- <span class="f10p" style="color: darkgray">85%</span>-->
</div>
<div class="add-friend" @click="$nav('/find-acquaintance')">
<img src="../../assets/img/icon/add-white.png" alt="">
@ -53,8 +53,29 @@ @@ -53,8 +53,29 @@
<span>抖音号605128307</span>
<img src="../../assets/img/icon/me/qrcode-gray.png" alt="" @click.stop="$nav('/my-card')">
</div>
<div class="signature f12 mb1r">
<span>填写个性签名更容易获得别人关注哦</span>
<div class="signature" @click="$nav('/edit-userinfo-item',{type:3})">
<template v-if="!userinfo.desc">
<template v-if="false">
<!-- 有个版本是这样子的应该是灰度测试-->
<span>点击添加介绍让大家认识你...</span>
<img src="../../assets/img/icon/me/write-gray.png" alt="">
</template>
<span>你还没有填写个人简介点击添加...</span>
</template>
<span v-else class="text">{{ userinfo.desc }}</span>
</div>
<div class="more">
<div class="age item" v-if="userinfo.birthday">
<img v-if="userinfo.sex === '女'" src="../../assets/img/icon/me/woman.png" alt="">
<img v-if="userinfo.sex === '男'" src="../../assets/img/icon/me/man.png" alt="">
<span>{{ filterAge(userinfo.birthday) }}</span>
</div>
<div class="item" v-if="userinfo.location">
{{ userinfo.location }}
</div>
<div class="item" v-if="userinfo.school.name">
{{ userinfo.school.name }}
</div>
</div>
<div class="heat">
<div class="text"><span class="num">8</span>获赞</div>
@ -62,6 +83,22 @@ @@ -62,6 +83,22 @@
<div class="text"><span class="num">8</span>粉丝</div>
</div>
</div>
<div class="other">
<div class="item">
<img src="../../assets/img/icon/me/shopping-cart-white.png" alt="">
<div class="right">
<div class="top">抖音商城</div>
<div class="bottom">发现超值好物</div>
</div>
</div>
<div class="item">
<img src="../../assets/img/icon/me/music-white.png" alt="">
<div class="right">
<div class="top">我的音乐</div>
<div class="bottom">已收藏20首</div>
</div>
</div>
</div>
</div>
</div>
<Indicator
@ -165,6 +202,9 @@ @@ -165,6 +202,9 @@
</SlideRowList>
</div>
<Footer v-bind:init-tab="5"/>
<transition name="fade">
<div class="mask" v-if="baseActiveIndex === 1" @click="baseActiveIndex = 0"></div>
</transition>
</SlideItem>
<SlideItem style="min-width: 70vw; overflow:auto;">
<transition name="fade1">
@ -274,6 +314,7 @@ import Posters from '../../components/Posters' @@ -274,6 +314,7 @@ import Posters from '../../components/Posters'
import Footer from "../../components/Footer";
import Indicator from '../../components/Indicator'
import {nextTick} from 'vue'
import {mapState} from "vuex";
export default {
name: "Me",
@ -282,7 +323,6 @@ export default { @@ -282,7 +323,6 @@ export default {
return {
contentIndex: 0,
baseActiveIndex: 0,
desc: null,
tabContents: [],
indicatorFixed: false,
floatFixed: false,
@ -293,8 +333,8 @@ export default { @@ -293,8 +333,8 @@ export default {
header: null,
headerHeight: 0,
descHeight: 0,
videoSlideRowListHeight: 0,
defaultVideoSlideRowListHeight: 0
videoSlideHeight: 0,
maxSlideHeight: 0
},
videoItemHeight: 0,
startLocationY: 0,
@ -328,7 +368,7 @@ export default { @@ -328,7 +368,7 @@ export default {
},
},
pageSize: 15,
slideRowListHeight: 0,
initSlideHeight: 0,
loadings: {
loading0: false,
loading1: false,
@ -345,8 +385,11 @@ export default { @@ -345,8 +385,11 @@ export default {
return this.$store.state.bodyWidth
},
videoSlideRowListStyle() {
return {height: this.refs.videoSlideRowListHeight !== 0 ? this.refs.videoSlideRowListHeight + 'px' : 'calc(100vh - 14.6rem)'}
}
return {height: this.refs.videoSlideHeight !== 0 ? this.refs.videoSlideHeight + 'px' : 'calc(100vh - 14.6rem)'}
},
...mapState({
userinfo: 'userinfo',
})
},
watch: {
contentIndex(newVal, oldVal) {
@ -354,18 +397,24 @@ export default { @@ -354,18 +397,24 @@ export default {
},
},
mounted() {
this.slideRowListHeight = this.bodyHeight - 50 - 352 - 50
setTimeout(() => {
this.refs.header = this.$refs.header
this.refs.headerHeight = this.$refs.header.offsetHeight
this.refs.descHeight = this.$refs.desc.offsetHeight
this.refs.defaultVideoSlideRowListHeight = this.$refs.videoSlideRowList.wrapperHeight
this.refs.maxSlideHeight = this.$refs.videoSlideRowList.wrapperHeight
this.initSlideHeight = this.bodyHeight - 50 - this.refs.descHeight - 50
this.changeIndex(0, null)
})
this.videoItemHeight = this.bodyWidth / 3 * 1.2 + 2
// console.log('videoItemHeight',this.videoItemHeight)
},
methods: {
click(e) {
if (this.baseActiveIndex === 0) return
if (this.baseActiveIndex === 1) {
this.baseActiveIndex = 0
this.$stopPropagation(e)
}
},
async getScrollAreaHeight(index = this.contentIndex) {
let scrollAreaHeight = 0
if (index === 3) {
@ -386,6 +435,7 @@ export default { @@ -386,6 +435,7 @@ export default {
break
}
}
// console.log('scrollAreaHeight',scrollAreaHeight)
return scrollAreaHeight
},
async changeIndex(newVal, oldVal) {
@ -394,7 +444,7 @@ export default { @@ -394,7 +444,7 @@ export default {
if (newVal === 3) {
if (videoOb.video.total === -1) {
this.loadings['loading' + newVal] = true
let res = await this.$api.videos.collect({pageNo: this.videos.my.pageNo, pageSize: this.pageSize,})
let res = await this.$api.videos.collect({pageNo: this.videos.collect.pageNo, pageSize: this.pageSize,})
this.loadings['loading' + newVal] = false
if (res.code === this.SUCCESS_CODE) this.videos.collect = res.data
}
@ -408,11 +458,11 @@ export default { @@ -408,11 +458,11 @@ export default {
if (res.code === this.SUCCESS_CODE) this.videos.my = res.data
break
case 1:
res = await this.$api.videos.private({pageNo: this.videos.my.pageNo, pageSize: this.pageSize,})
res = await this.$api.videos.private({pageNo: this.videos.private.pageNo, pageSize: this.pageSize,})
if (res.code === this.SUCCESS_CODE) this.videos.private = res.data
break
case 2:
res = await this.$api.videos.like({pageNo: this.videos.my.pageNo, pageSize: this.pageSize,})
res = await this.$api.videos.like({pageNo: this.videos.like.pageNo, pageSize: this.pageSize,})
if (res.code === this.SUCCESS_CODE) this.videos.like = res.data
break
}
@ -421,28 +471,30 @@ export default { @@ -421,28 +471,30 @@ export default {
}
let scrollAreaHeight = await this.getScrollAreaHeight(newVal)
// debugger
if (oldVal !== null) {
let transformY = this.getTransform(this.$refs.scroll)
// console.log('transformY', transformY)
let screenSlideRowListHeight = this.slideRowListHeight + Math.abs(transformY)
// console.log('slideRowListHeight', slideRowListHeight)
let screenSlideHeight = this.initSlideHeight + Math.abs(transformY)
// console.log('screenSlideHeight', screenSlideHeight)
// console.log('scrollAreaHeight', scrollAreaHeight)
// debugger
if (scrollAreaHeight < screenSlideRowListHeight) {
this.refs.videoSlideRowListHeight = screenSlideRowListHeight
}
if (scrollAreaHeight > screenSlideRowListHeight) {
this.refs.videoSlideRowListHeight = scrollAreaHeight
}
if (scrollAreaHeight > this.refs.defaultVideoSlideRowListHeight) {
this.refs.videoSlideRowListHeight = this.refs.defaultVideoSlideRowListHeight
if (this.indicatorFixed) {
this.refs.videoSlideHeight = scrollAreaHeight > screenSlideHeight ? scrollAreaHeight : screenSlideHeight
if (scrollAreaHeight > this.refs.maxSlideHeight) {
this.refs.videoSlideHeight = this.refs.maxSlideHeight
}
} else {
this.refs.videoSlideHeight = scrollAreaHeight
if (scrollAreaHeight > this.refs.maxSlideHeight) {
this.refs.videoSlideHeight = this.refs.maxSlideHeight
}
}
} else {
if (scrollAreaHeight < this.refs.defaultVideoSlideRowListHeight) {
this.refs.videoSlideRowListHeight = scrollAreaHeight
if (scrollAreaHeight < this.refs.maxSlideHeight) {
this.refs.videoSlideHeight = scrollAreaHeight
} else {
this.refs.videoSlideRowListHeight = this.refs.defaultVideoSlideRowListHeight
this.refs.videoSlideHeight = this.refs.maxSlideHeight
}
}
},
@ -486,7 +538,7 @@ export default { @@ -486,7 +538,7 @@ export default {
let scrollAreaHeight = await this.getScrollAreaHeight()
let SlideItems = document.querySelectorAll('.SlideItem')
let SlideItem = SlideItems[this.contentIndex]
if (scrollAreaHeight - this.refs.videoSlideRowListHeight < SlideItem.scrollTop + 60) {
if (scrollAreaHeight - this.refs.videoSlideHeight < SlideItem.scrollTop + 60) {
this.loadMoreData()
}
}
@ -513,7 +565,7 @@ export default { @@ -513,7 +565,7 @@ export default {
//
if (touchMoveDistance > 0) {
//posterHeight30
if (this.refs.videoSlideRowListHeight > scrollAreaHeight && Math.abs(touchMoveDistance) > 20) {
if (this.refs.videoSlideHeight > scrollAreaHeight && Math.abs(touchMoveDistance) > 20) {
this.$refs.scroll.style.transition = 'all .2s'
this.$refs.scroll.style.transform = `translate3d(0,0,0)`
this.indicatorFixed = this.floatShowName = this.floatFixed = this.isScroll = false
@ -539,7 +591,7 @@ export default { @@ -539,7 +591,7 @@ export default {
SlideItem.scrollTop = Math.abs(pageMoveDistance) - this.refs.descHeight + this.floatHeight
}
if (scrollAreaHeight - this.refs.videoSlideRowListHeight < SlideItem.scrollTop + 60) {
if (scrollAreaHeight - this.refs.videoSlideHeight < SlideItem.scrollTop + 60) {
this.loadMoreData()
}
@ -550,10 +602,11 @@ export default { @@ -550,10 +602,11 @@ export default {
this.moveYDistance = -this.refs.descHeight + this.floatHeight
}
} else {
if (this.slideRowListHeight > this.refs.videoSlideRowListHeight) return
if (this.refs.defaultVideoSlideRowListHeight > this.refs.videoSlideRowListHeight) {
let endTransformY = Math.abs(canTransformY) - (this.refs.defaultVideoSlideRowListHeight - this.refs.videoSlideRowListHeight)
console.log('endTransformY',endTransformY)
if (this.initSlideHeight > this.refs.videoSlideHeight) return
if (this.refs.maxSlideHeight > this.refs.videoSlideHeight) {
let endTransformY = Math.abs(canTransformY) - (this.refs.maxSlideHeight - this.refs.videoSlideHeight)
// console.log('canTransformY', canTransformY)
// console.log('endTransformY', endTransformY)
let moveTransformY = Math.abs(pageMoveDistance) < Math.abs(endTransformY) ? pageMoveDistance : -endTransformY
this.$refs.scroll.style.transform = `translate3d(0,${moveTransformY}px,0)`
this.floatFixed = Math.abs(moveTransformY) > 100
@ -577,7 +630,7 @@ export default { @@ -577,7 +630,7 @@ export default {
let pageMoveDistance = this.moveYDistance + touchMoveDistance * 1.2
// console.log('end-pageMoveDistance', pageMoveDistance)
let endTransformY = Math.abs(canTransformY) - (this.refs.defaultVideoSlideRowListHeight - this.refs.videoSlideRowListHeight)
let endTransformY = Math.abs(canTransformY) - (this.refs.maxSlideHeight - this.refs.videoSlideHeight)
if (this.indicatorFixed) {
this.moveYDistance = -canTransformY
this.isScroll = true
@ -590,7 +643,7 @@ export default { @@ -590,7 +643,7 @@ export default {
this.floatShowName = this.floatFixed = this.isScroll = false
} else {
if (this.slideRowListHeight > this.refs.videoSlideRowListHeight) {
if (this.initSlideHeight > this.refs.videoSlideHeight) {
return this.moveYDistance = 0
}
let endTime = Date.now()
@ -659,7 +712,7 @@ export default { @@ -659,7 +712,7 @@ export default {
} else {
//
this.$refs.scroll.style.transition = 'all .3s'
if (this.refs.defaultVideoSlideRowListHeight > this.refs.videoSlideRowListHeight) {
if (this.refs.maxSlideHeight > this.refs.videoSlideHeight) {
this.$refs.scroll.style.transform = `translate3d(0,${-endTransformY}px,0)`
// this.floatShowName = this.floatFixed = true
this.floatFixed = Math.abs(endTransformY) > 100
@ -673,8 +726,8 @@ export default { @@ -673,8 +726,8 @@ export default {
}
}
} else {
if (this.refs.defaultVideoSlideRowListHeight > this.refs.videoSlideRowListHeight) {
let endTransformY = Math.abs(canTransformY) - (this.refs.defaultVideoSlideRowListHeight - this.refs.videoSlideRowListHeight)
if (this.refs.maxSlideHeight > this.refs.videoSlideHeight) {
let endTransformY = Math.abs(canTransformY) - (this.refs.maxSlideHeight - this.refs.videoSlideHeight)
this.moveYDistance = -endTransformY
} else {
this.moveYDistance = pageMoveDistance
@ -693,6 +746,10 @@ export default { @@ -693,6 +746,10 @@ export default {
//transformY
transformY = parseInt(transformY)
return transformY
},
filterAge(age) {
let date = new Date(age)
return new Date().getFullYear() - date.getFullYear()
}
}
}
@ -716,6 +773,17 @@ export default { @@ -716,6 +773,17 @@ export default {
background: $main-bg;
height: 100%;
width: 100%;
font-size: 1.4rem;
.mask{
background: #0000004f;
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 3;
}
.scroll {
@ -734,11 +802,13 @@ export default { @@ -734,11 +802,13 @@ export default {
}
.collect {
padding: .7rem;
.video {
background: $active-main-bg;
border-radius: .5rem;
margin: .7rem;
padding: 1rem;
margin-bottom: .7rem;
.top {
display: flex;
@ -803,7 +873,6 @@ export default { @@ -803,7 +873,6 @@ export default {
.audio {
background: $active-main-bg;
border-radius: .5rem;
margin: .7rem;
padding: 1rem;
.top {
@ -857,7 +926,6 @@ export default { @@ -857,7 +926,6 @@ export default {
}
.float {
position: fixed;
top: 0;
@ -916,17 +984,15 @@ export default { @@ -916,17 +984,15 @@ export default {
color: white;
height: 12rem;
background-image: url('../../assets/img/header-bg.png');
//background-image: url('data:image/jpeg;base64,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');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
box-sizing: border-box;
}
.detail {
background: $main-bg;
padding: 0 20px;
padding: 0 2rem;
.head {
width: 100%;
@ -934,32 +1000,41 @@ export default { @@ -934,32 +1000,41 @@ export default {
justify-content: space-between;
align-items: center;
box-sizing: border-box;
transform: translateY(-20px);
transform: translateY(-2rem);
.head-image {
background: black;
padding: 2px;
padding: .3rem;
border-radius: 50%;
width: 80px;
height: 80px;
}
.my-buttons {
margin-left: 1rem;
flex: 1;
display: flex;
div {
font-size: 1.2rem;
display: flex;
align-items: center;
justify-content: center;
float: left;
border-radius: 2px;
border-radius: .2rem;
background: $second-btn-color;
margin-left: 5px;
padding: 0 10px;
height: 30px;
margin-left: .5rem;
padding: 0 1rem;
height: 3rem;
color: white;
&:nth-child(0) {
flex: 2;
}
&:nth-child(1) {
padding: 0 25px;
flex: 1;
padding: 0 2.5rem;
}
img {
@ -974,7 +1049,41 @@ export default { @@ -974,7 +1049,41 @@ export default {
.description {
font-size: 1.2rem;
color: white;
transform: translateY(-20px);
transform: translateY(-2rem);
.signature {
//color: $second-text-color;
color: white;
font-size: 1.3rem;
display: flex;
align-items: center;
margin-bottom: .5rem;
img {
height: 1.2rem;
margin-left: .6rem;
}
}
.more {
color: $second-text-color;
display: flex;
.item {
padding: .2rem .5rem;
border-radius: .2rem;
background: $second-btn-color-tran;
font-size: 1rem;
display: flex;
align-items: center;
margin-right: .5rem;
img {
height: 1rem;
margin-right: .2rem;
}
}
}
.number {
color: $second-text-color;
@ -984,27 +1093,61 @@ export default { @@ -984,27 +1093,61 @@ export default {
align-items: center;
img {
width: 18px;
margin-left: 5px;
width: 1.6rem;
margin-left: .5rem;
}
}
.heat {
margin-top: 1rem;
color: darkgray;
display: flex;
align-items: center;
.num {
color: white;
font-size: 1.8rem;
font-size: 1.4rem;
font-weight: bold;
margin-right: 3px;
margin-right: .3rem;
}
.text {
font-size: 1.4rem;
margin-right: 10px;
font-size: 1.2rem;
margin-right: 1rem;
}
}
}
.other {
display: flex;
margin-bottom: 1rem;
.item {
margin-right: 2.5rem;
display: flex;
img {
margin-right: .8rem;
border-radius: .4rem;
background: $second-btn-color-tran;
padding: .8rem;
height: 2.2rem;
}
.right {
display: flex;
justify-content: space-between;
flex-direction: column;
.top {
color: white;
font-size: 1.4rem;
}
.bottom {
color: $second-text-color;
font-size: 1.2rem;
}
}
}
}

860
src/pages/me/Me3.vue

File diff suppressed because it is too large Load Diff

2
src/pages/me/userinfo/EditUserInfoItem.vue

@ -41,7 +41,7 @@ @@ -41,7 +41,7 @@
<div class="textarea-ctn">
<textarea name="" id="" cols="30" rows="10"
v-model="localUserinfo.desc"
placeholder="填写个人简介更容易获得别人关注哦"></textarea>
placeholder="你可以填写兴趣爱好、心情愿望,有趣的介绍能让被关注的概率变高噢!"></textarea>
</div>
</div>
</div>

2
src/router/index.js

@ -36,6 +36,7 @@ import MinorProtectionDetailSetting from "../pages/me/rightMenu/MinorProtection/ @@ -36,6 +36,7 @@ import MinorProtectionDetailSetting from "../pages/me/rightMenu/MinorProtection/
import TriggerTime from "../pages/me/rightMenu/MinorProtection/TriggerTime";
import Setting from "../pages/me/rightMenu/Setting";
import Me2 from "../pages/me/Me2";
import Login from "../pages/login/Login";
const routes = [
// {path: '', component: Music},
@ -76,6 +77,7 @@ const routes = [ @@ -76,6 +77,7 @@ const routes = [
{path: '/me/right-menu/minor-protection/detail-setting', component: MinorProtectionDetailSetting},
{path: '/me/right-menu/minor-protection/trigger-time', component: TriggerTime},
{path: '/me/right-menu/setting', component: Setting},
{path: '/login', component: Login},
]
export default VueRouter.createRouter({

10
src/store/index.js

@ -12,12 +12,12 @@ const store = Vuex.createStore({ @@ -12,12 +12,12 @@ const store = Vuex.createStore({
id: 1,
name: '',
account: '',
desc: '123',
sex: '',
birthday: '',
location: '',
desc: '',
sex: '',
birthday: '1992-03-09',
location: "中国-四川-成都",
school: {
name: 'asdasd',
name: '西南交通大学',
department: null,
joinTime: null,
education: null,

Loading…
Cancel
Save