edu/app/src/pages/user_set/user_set.vue

109 lines
3.7 KiB
Vue
Raw Normal View History

<template>
2022-09-09 09:58:18 +00:00
<view class="user-set">
<navigator :url="`/pages/user_data/user_data`">
<view class="item flex bg-white mt-[20rpx]">
<u-avatar :src="userInfo.avatar" shape="square"></u-avatar>
<view class="ml-[20rpx] flex flex-1 justify-between">
<view>
<view class="mb-[15rpx] text-xl font-medium">{{ userInfo.nickname }}</view>
<view class="text-content text-xs">账号{{ userInfo.username }}</view>
</view>
<u-icon name="arrow-right" color="#666"></u-icon>
</view>
</view>
</navigator>
<view
class="item bg-white mt-[20rpx] btn-border flex flex-1 justify-between"
@click="show = true"
>
<view class="text-xl">登录密码</view>
<u-icon name="arrow-right" color="#666"></u-icon>
</view>
<view class="item bg-white btn-border flex flex-1 justify-between">
<view class="text-xl">绑定微信</view>
<view class="flex justify-between">
<view class="text-muted mr-[20rpx]">
{{ userInfo.isBindMnp ? '已绑定' : '未绑定' }}
</view>
<u-icon name="arrow-right" color="#666"></u-icon>
</view>
</view>
2022-09-09 09:58:18 +00:00
<navigator :url="`/pages/agreement/agreement?type=${AgreementEnum.PRIVACY}`">
<view class="item bg-white mt-[20rpx] btn-border flex flex-1 justify-between">
<view class="text-xl">隐私政策</view>
<u-icon name="arrow-right" color="#666"></u-icon>
</view>
</navigator>
<navigator :url="`/pages/agreement/agreement?type=${AgreementEnum.SERVICE}`">
<view class="item bg-white btn-border flex flex-1 justify-between">
<view class="text-xl">服务协议</view>
<u-icon name="arrow-right" color="#666"></u-icon>
</view>
</navigator>
<view class="item bg-white btn-border flex flex-1 justify-between">
<view class="text-xl">关于我们</view>
<view class="flex justify-between">
<view class="text-muted mr-[20rpx]">
{{ appStore.config.version }}
</view>
<u-icon name="arrow-right" color="#666"></u-icon>
</view>
</view>
<u-action-sheet :list="list" v-model="show" @click="handleClick"></u-action-sheet>
</view>
</template>
<script setup lang="ts">
2022-09-09 09:58:18 +00:00
import { getUserInfo } from '@/api/user'
import { onShow } from '@dcloudio/uni-app'
import { reactive, ref } from 'vue'
import { useAppStore } from '@/stores/app'
import { AgreementEnum } from '@/enums/agreementEnums'
2022-09-09 09:58:18 +00:00
const appStore = useAppStore()
const userInfo = ref({})
const list = ref([
{
text: '修改密码'
},
{
text: '忘记密码'
}
])
const show = ref(false)
const getUser = async () => {
const res = await getUserInfo()
console.log(res, 'res')
2022-09-09 09:58:18 +00:00
userInfo.value = res
}
2022-09-09 09:58:18 +00:00
const handleClick = (index: number) => {
switch (index) {
case 0:
uni.navigateTo({ url: '/pages/change_password/change_password' })
break
case 1:
uni.navigateTo({ url: '/pages/forget_pwd/forget_pwd' })
break
}
}
2022-09-09 09:58:18 +00:00
onShow(() => {
getUser()
})
</script>
<style lang="scss" scoped>
2022-09-09 09:58:18 +00:00
.user-set {
.item {
padding: 30rpx;
}
2022-09-09 09:58:18 +00:00
.btn-border {
border-bottom: 1rpx solid $u-form-item-border-color;
}
}
</style>