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