From 92230c9a97dc9ce9df3313d11d26999c04bb6b26 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 15 七月 2025 13:12:48 +0800 Subject: [PATCH] 项目初始化 --- src/pages/mine.vue | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 235 insertions(+), 0 deletions(-) diff --git a/src/pages/mine.vue b/src/pages/mine.vue new file mode 100644 index 0000000..8eb44db --- /dev/null +++ b/src/pages/mine.vue @@ -0,0 +1,235 @@ +<template> + <view class="mine-container" :style="{ height: `${windowHeight}px` }"> + <!--椤堕儴涓汉淇℃伅鏍�--> + <view class="header-section"> + <view class="flex padding justify-between"> + <view class="flex align-center"> + <view v-if="!avatar" class="cu-avatar xl round bg-white"> + <view class="iconfont icon-people text-gray icon"></view> + </view> + <image v-if="avatar" @click="handleToAvatar" :src="avatar" class="cu-avatar xl round" mode="widthFix"> + </image> + <view v-if="!name" @click="handleToLogin" class="login-tip"> + 鐐瑰嚮鐧诲綍 + </view> + <view v-if="name" @click="handleToInfo" class="user-info"> + <view class="u_title"> + 鐢ㄦ埛鍚嶏細{{ name }} + </view> + </view> + </view> + <view @click="handleToInfo" class="flex align-center"> + <text>涓汉淇℃伅</text> + <view class="iconfont icon-right"></view> + </view> + </view> + </view> + + <view class="content-section"> + <view class="mine-actions grid col-4 text-center"> + <view class="action-item" @click="handleJiaoLiuQun"> + <view class="iconfont icon-friendfill text-pink icon"></view> + <text class="text">浜ゆ祦缇�</text> + </view> + <view class="action-item" @click="handleBuilding"> + <view class="iconfont icon-service text-blue icon"></view> + <text class="text">鍦ㄧ嚎瀹㈡湇</text> + </view> + <view class="action-item" @click="handleBuilding"> + <view class="iconfont icon-community text-mauve icon"></view> + <text class="text">鍙嶉绀惧尯</text> + </view> + <view class="action-item" @click="handleBuilding"> + <view class="iconfont icon-dianzan text-green icon"></view> + <text class="text">鐐硅禐鎴戜滑</text> + </view> + </view> + + <view class="menu-list"> + <view class="list-cell list-cell-arrow" @click="handleToEditInfo"> + <view class="menu-item-box"> + <view class="iconfont icon-user menu-icon"></view> + <view>缂栬緫璧勬枡</view> + </view> + </view> + <view class="list-cell list-cell-arrow" @click="handleHelp"> + <view class="menu-item-box"> + <view class="iconfont icon-help menu-icon"></view> + <view>甯歌闂</view> + </view> + </view> + <view class="list-cell list-cell-arrow" @click="handleAbout"> + <view class="menu-item-box"> + <view class="iconfont icon-aixin menu-icon"></view> + <view>鍏充簬鎴戜滑</view> + </view> + </view> + <view class="list-cell list-cell-arrow" @click="handleToSetting"> + <view class="menu-item-box"> + <view class="iconfont icon-setting menu-icon"></view> + <view>搴旂敤璁剧疆</view> + </view> + </view> + </view> + + </view> + </view> + <!-- <view> + <uni-popup ref="popup" type="dialog"> + <uni-popup-dialog type="info" cancelText="鍏抽棴" confirmText="閫�鍑�" + title="閫氱煡" content="纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧" + @confirm="dialogConfirm" + @close="dialogClose"> + </uni-popup-dialog> + </uni-popup> + </view> --> +</template> + +<script setup> +import { ref } from "vue"; +import config from '@/config.js' +import useUserStore from '@/store/modules/user' +const userStore = useUserStore() +const name = userStore.name; +const version = config.appInfo.version; + +const avatar = ref(userStore.avatar); +const windowHeight = ref(uni.getSystemInfoSync().windowHeight - 50); +const popup = ref(null); + +uni.$on('refresh', () => { + avatar.value = userStore.avatar; +}) + +function handleToInfo() { + uni.navigateTo({ + url: '/pages_mine/pages/info/index' + }); +}; +function handleToEditInfo() { + uni.navigateTo({ + url: '/pages_mine/pages/info/edit' + }); +}; +function handleToSetting() { + uni.navigateTo({ + url: '/pages_mine/pages/setting/index' + }); +}; +function handleToLogin() { + uni.reLaunch({ + url: '/pages/login' + }); +}; +function handleToAvatar() { + uni.navigateTo({ + url: '/pages_mine/pages/avatar/index' + }); +}; +function handleLogout() { + popup.value.open(); +}; +function dialogConfirm() { + //console.log('----------------鐐瑰嚮纭------------') + + userStore.logOut().then(() => { + uni.reLaunch({ + url: '/pages/login' + }); + }) +}; +function dialogClose() { + //console.log('鐐瑰嚮鍏抽棴') +}; +function handleHelp() { + uni.navigateTo({ + url: '/pages_mine/pages/help/index' + }); +}; +function handleAbout() { + uni.navigateTo({ + url: '/pages_mine/pages/about/index' + }); +}; +function handleJiaoLiuQun() { + uni.showToast({ + title: 'QQ缇わ細133713780', + mask: false, + icon: "none", + duration: 1000 + }); +}; +function handleBuilding() { + uni.showToast({ + title: '妯″潡寤鸿涓瓇', + mask: false, + icon: "none", + duration: 1000 + }); +} + +</script> + +<style lang="scss"> +page { + background-color: #f5f6f7; +} + +.mine-container { + width: 100%; + height: 100%; + + + .header-section { + padding: 15px 15px 45px 15px; + background-color: #3c96f3; + color: white; + + .login-tip { + font-size: 18px; + margin-left: 10px; + } + + .cu-avatar { + border: 2px solid #eaeaea; + + .icon { + font-size: 40px; + } + } + + .user-info { + margin-left: 15px; + + .u_title { + font-size: 18px; + line-height: 30px; + } + } + } + + .content-section { + position: relative; + top: -50px; + + .mine-actions { + margin: 15px 15px; + padding: 20px 0px; + border-radius: 8px; + background-color: white; + + .action-item { + .icon { + font-size: 28px; + } + + .text { + display: block; + font-size: 13px; + margin: 8px 0px; + } + } + } + } +} +</style> -- Gitblit v1.9.3