Blame view

美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/IUsAppAuthAppService.cs 4.22 KB
49755ef0   李曜臣   6-12代码优化
1
  using FoodLabeling.Application.Contracts.Dtos.AuthScope;
e5c6f343   李曜臣   登陆接口实现
2
3
  using FoodLabeling.Application.Contracts.Dtos.UsAppAuth;
  using Volo.Abp.Application.Services;
10fd1324   李曜臣   5-17接口优化
4
  using Yi.Framework.Rbac.Application.Contracts.Dtos.Account;
e5c6f343   李曜臣   登陆接口实现
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  
  namespace FoodLabeling.Application.Contracts.IServices;
  
  /// <summary>
  /// 美国版移动端认证(登录返回绑定门店)
  /// </summary>
  public interface IUsAppAuthAppService : IApplicationService
  {
      /// <summary>
      /// App 登录:使用邮箱 + 密码校验并签发 Token,同时返回 userlocation 绑定的门店
      /// </summary>
      Task<UsAppLoginOutputDto> LoginAsync(UsAppLoginInputVo input);
  
      /// <summary>
      /// 获取当前登录账号已绑定的门店(用于切换门店等场景)
      /// </summary>
      Task<List<UsAppBoundLocationDto>> GetMyLocationsAsync();
4d328ec2   李曜臣   平台端报表reports,仪表盘D...
22
23
  
      /// <summary>
49755ef0   李曜臣   6-12代码优化
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
      /// App 管理员:可选公司列表(Company<c>fl_partner.Id</c>
      /// </summary>
      Task<List<AuthScopeCompanyOptionDto>> GetAdminScopeCompaniesAsync();
  
      /// <summary>
      /// App 管理员:指定公司下的 Region 列表(<c>fl_group.Id</c>
      /// </summary>
      Task<List<AuthScopeRegionOptionDto>> GetAdminScopeRegionsAsync(string partnerId);
  
      /// <summary>
      /// App 管理员:按 <c>partnerId</c> + <c>groupId</c> 筛选门店列表
      /// </summary>
      Task<List<AuthScopeLocationOptionDto>> GetAdminScopeLocationsAsync(string partnerId, string groupId);
  
      /// <summary>
      /// App 管理员:确认当前工作门店(写入缓存,<c>my-locations</c> 可合并返回)
      /// </summary>
      Task<AuthScopeSelectLocationOutputDto> SelectAdminScopeLocationAsync(AuthScopeSelectLocationInputVo input);
  
      /// <summary>
4d328ec2   李曜臣   平台端报表reports,仪表盘D...
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
      /// 获取当前登录用户资料(My Profile:姓名、邮箱、电话、员工号、角色)
      /// </summary>
      /// <returns>资料 DTO</returns>
      /// <response code="200">成功</response>
      /// <response code="400">未登录或用户不存在</response>
      /// <response code="500">服务器错误</response>
      Task<UsAppMyProfileOutputDto> GetMyProfileAsync();
  
      /// <summary>
      /// 当前登录用户修改密码(校验原密码与复杂度规则)
      /// </summary>
      /// <param name="input">当前密码、新密码、确认密码</param>
      /// <remarks>
      /// 新密码需满足:至少 8 位;含大写与小写字母;至少 1 位数字;至少 1 个非字母数字特殊字符。
      /// </remarks>
      /// <response code="200">成功</response>
      /// <response code="400">参数或校验失败</response>
      /// <response code="500">服务器错误</response>
      Task ChangePasswordAsync(UsAppChangePasswordInputVo input);
  
      /// <summary>
      /// 按门店 Id 查询 Location 详情(须为当前账号 userlocation 绑定门店)
      /// </summary>
      /// <param name="locationId">门店 Guid 字符串</param>
07d5dea2   李曜臣   5-18代码优化
68
      /// <returns>店名、地址、电话、经营时间(operatingHours)、店长信息</returns>
4d328ec2   李曜臣   平台端报表reports,仪表盘D...
69
70
71
72
      /// <response code="200">成功</response>
      /// <response code="400">参数非法、未绑定或无权限</response>
      /// <response code="500">服务器错误</response>
      Task<UsAppLocationDetailOutputDto> GetLocationDetailAsync(string locationId);
10fd1324   李曜臣   5-17接口优化
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
  
      /// <summary>
      /// App forgot password: send email verification code (same user store and rules as platform).
      /// </summary>
      /// <remarks>
      /// When <c>RbacOptions.EnableCaptcha</c> is true, pass <c>Uuid</c> and <c>Code</c> from platform captcha API.
      /// </remarks>
      /// <param name="input">Email and optional image captcha.</param>
      /// <response code="200">Accepted.</response>
      /// <response code="400">Validation or rate limit.</response>
      /// <response code="500">Server error</response>
      Task PostSendForgotPasswordCodeByEmailAsync(EmailCaptchaImageDto input);
  
      /// <summary>
      /// App forgot password: reset password with email OTP.
      /// </summary>
      /// <param name="input">Email, OTP, new password.</param>
      /// <returns>Account user name.</returns>
      /// <response code="200">Password updated.</response>
      /// <response code="400">Invalid code or password policy.</response>
      /// <response code="500">Server error</response>
      Task<string> PostResetPasswordByEmailAsync(RetrievePasswordByEmailDto input);
e5c6f343   李曜臣   登陆接口实现
95
  }