diff --git a/backend/src/VendingMachine.Domain/Entities/User.cs b/backend/src/VendingMachine.Domain/Entities/User.cs
index b4343f79..f6948c52 100644
--- a/backend/src/VendingMachine.Domain/Entities/User.cs
+++ b/backend/src/VendingMachine.Domain/Entities/User.cs
@@ -2,7 +2,17 @@ namespace VendingMachine.Domain.Entities;
public class User
{
- public string Uid { get; set; } = Guid.NewGuid().ToString("N")[..12];
+ private static readonly Random _random = new();
+
+ public string Uid { get; set; } = GenerateUid();
+
+ ///
+ /// 生成6位随机数字UID,不以0开头(100000-999999)
+ ///
+ public static string GenerateUid()
+ {
+ return _random.Next(100000, 999999).ToString();
+ }
public string Phone { get; set; } = string.Empty;
public string AreaCode { get; set; } = string.Empty;
public string Nickname { get; set; } = string.Empty;
diff --git a/backend/src/VendingMachine.Infrastructure/Services/UserService.cs b/backend/src/VendingMachine.Infrastructure/Services/UserService.cs
index f68db9c3..69debdb2 100644
--- a/backend/src/VendingMachine.Infrastructure/Services/UserService.cs
+++ b/backend/src/VendingMachine.Infrastructure/Services/UserService.cs
@@ -92,8 +92,16 @@ public class UserService : IUserService
if (user == null)
{
+ // 生成唯一的6位UID
+ string uid;
+ do
+ {
+ uid = User.GenerateUid();
+ } while (await _db.Users.IgnoreQueryFilters().AnyAsync(u => u.Uid == uid));
+
user = new User
{
+ Uid = uid,
Phone = request.Phone,
AreaCode = request.AreaCode,
Nickname = IUserService.GenerateDefaultNickname()
diff --git a/mobile/pages/login/login.vue b/mobile/pages/login/login.vue
index 902e6e02..bfcb2cfc 100644
--- a/mobile/pages/login/login.vue
+++ b/mobile/pages/login/login.vue
@@ -1,7 +1,7 @@
-
+
diff --git a/mobile/static/logo_bg.png b/mobile/static/logo_bg.png
new file mode 100644
index 00000000..e71fe5e6
Binary files /dev/null and b/mobile/static/logo_bg.png differ