diff --git a/src/components/Avatar.vue b/src/components/Avatar.vue
index 62e7274..0978caf 100644
--- a/src/components/Avatar.vue
+++ b/src/components/Avatar.vue
@@ -16,6 +16,10 @@ defineProps({
type: Number,
default: 0,
},
+ size: {
+ type: Number,
+ default: 45,
+ },
});
@@ -46,7 +50,11 @@ defineProps({
class="avatar-rank"
/>
{{ rank }}
-
+
@@ -79,8 +87,6 @@ defineProps({
border-bottom-right-radius: 50%;
}
.avatar > image:last-child {
- width: 45px;
- height: 45px;
border-radius: 50%;
border: 1px solid #fff;
}
diff --git a/src/components/UserHeader.vue b/src/components/UserHeader.vue
index bc0e3bd..e231138 100644
--- a/src/components/UserHeader.vue
+++ b/src/components/UserHeader.vue
@@ -10,6 +10,7 @@ const props = defineProps({
type: Object,
default: () => ({
nickName: "",
+ avatarUrl: "",
lvl: 0,
points: 0,
rankLvl: 0,
@@ -34,7 +35,7 @@ const toUserPage = () => {
-
+
{{ user.nickName }}
diff --git a/src/components/UserItem.vue b/src/components/UserItem.vue
index c3b00d9..66c8a24 100644
--- a/src/components/UserItem.vue
+++ b/src/components/UserItem.vue
@@ -12,6 +12,10 @@ defineProps({
type: Object,
default: () => ({}),
},
+ onClick: {
+ type: Function,
+ default: null,
+ },
});
@@ -19,8 +23,8 @@ defineProps({
{{ title }}
- {{ value }}
-
diff --git a/src/pages.json b/src/pages.json
index 3990189..867cd30 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -6,6 +6,12 @@
"navigationBarTitleText": "首页"
}
},
+ {
+ "path": "pages/user",
+ "style": {
+ "navigationBarTitleText": "用户信息"
+ }
+ },
{
"path": "pages/login",
"style": {
@@ -13,9 +19,21 @@
}
},
{
- "path": "pages/user",
+ "path": "pages/orders",
"style": {
- "navigationBarTitleText": "用户信息"
+ "navigationBarTitleText": "订单"
+ }
+ },
+ {
+ "path": "pages/order-detail",
+ "style": {
+ "navigationBarTitleText": "订单详情"
+ }
+ },
+ {
+ "path": "pages/my-growth",
+ "style": {
+ "navigationBarTitleText": "我的成长"
}
},
{
diff --git a/src/pages/login.vue b/src/pages/login.vue
index 55be75e..0bd0409 100644
--- a/src/pages/login.vue
+++ b/src/pages/login.vue
@@ -30,7 +30,7 @@ const handleLogin = () => {
success: async (loginRes) => {
const { code } = loginRes;
const result = await loginAPI(nickName, avatarUrl, code);
- updateUser(result.user);
+ updateUser({ ...result.user, nickName, avatarUrl });
uni.navigateBack();
},
fail: (err) => {
diff --git a/src/pages/order-detail.vue b/src/pages/order-detail.vue
new file mode 100644
index 0000000..3aa86d7
--- /dev/null
+++ b/src/pages/order-detail.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+ 商品名:会员一个月
+ 订单号:20250131HY1M0000
+ 下单时间:2025-01-31 09:27:34
+ 支付时间:2025-01-31 09:27:34
+ 金额:10 元
+ 支付方式:支付宝
+
+
+
+
+
+
diff --git a/src/pages/orders.vue b/src/pages/orders.vue
new file mode 100644
index 0000000..8b63cba
--- /dev/null
+++ b/src/pages/orders.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+ toDetailPage(item)"
+ >
+ {{
+ item
+ }}
+ 会员一个月
+ 支付时间:2025-01-31 09:27:34
+ 金额:10 元
+ 支付方式:支付宝
+
+
+
+
+
+
diff --git a/src/pages/user.vue b/src/pages/user.vue
index 29d6445..1494f85 100644
--- a/src/pages/user.vue
+++ b/src/pages/user.vue
@@ -3,21 +3,35 @@ import AppBackground from "@/components/AppBackground.vue";
import Header from "@/components/Header.vue";
import UserHeader from "@/components/UserHeader.vue";
import UserItem from "@/components/UserItem.vue";
+import Avatar from "@/components/Avatar.vue";
+import useStore from "@/store";
+import { storeToRefs } from "pinia";
+const store = useStore();
+const { user } = storeToRefs(store);
+
+const toOrderPage = () => {
+ uni.navigateTo({
+ url: "/pages/orders",
+ });
+};
-
+
-
-
+ {{ user.nickName }}
+
+
+
diff --git a/src/store.js b/src/store.js
index 4f3e286..bcd7b44 100644
--- a/src/store.js
+++ b/src/store.js
@@ -7,10 +7,8 @@ export default defineStore("store", {
user: {
id: "",
nickName: "游客",
- },
- request: {
- token: "",
- tokenExpire: 0,
+ avatarUrl: "../static/avatar.png",
+ trio: false, // 是否完成新手试炼
},
}),
@@ -26,10 +24,6 @@ export default defineStore("store", {
updateUser(user) {
this.user = user;
},
- updateToken(token, expire) {
- this.request.token = token;
- this.request.tokenExpire = Date.now() + expire;
- },
},
// 开启数据持久化
@@ -38,7 +32,7 @@ export default defineStore("store", {
strategies: [
{
storage: uni.getStorageSync,
- paths: ["user", "request"], // 只持久化用户信息
+ paths: ["user"], // 只持久化用户信息
},
],
},