You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.7 KiB

  1. using EasyBL;
  2. using EasyBL.WebApi.Filters;
  3. using EasyBL.WEBAPP.ShowEasy;
  4. using EasyBL.WEBAPP.SYS;
  5. using Entity.ShowEasyDtos;
  6. using Entity.Sugar;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Net;
  11. using System.Net.Http;
  12. using System.Net.Http.Headers;
  13. using System.Web.Http;
  14. namespace WebApp.Controllers
  15. {
  16. public class SignupController : ApiController
  17. {
  18. //使用者以信箱註冊
  19. [HttpPost]
  20. public HttpResponseMessage SignupWithEmail([FromBody] SETB_CMS_Member dto)
  21. {
  22. return new SignupService().SignupWithEmail(dto);
  23. }
  24. //重新寄送認證信
  25. [HttpPost]
  26. public HttpResponseMessage ReSendVerifyMail(string Email)
  27. {
  28. return new SignupService().ReSendVerifyMail(Email);
  29. }
  30. //會員認證
  31. [HttpGet]
  32. public HttpResponseMessage VerifyAccount(string OrgID, string MemberID)
  33. {
  34. var result = new SignupService().VerifyAccount(OrgID, MemberID);
  35. var Server = Common.ConfigGetValue("", "ida:WebsiteUri");
  36. if (result.ReasonPhrase == "OK")
  37. {
  38. result = Request.CreateResponse(HttpStatusCode.Moved);
  39. result.Headers.Location = new Uri(Server);
  40. //result.Headers.Location = this.Request.RequestUri; //在API Header加入要導向的Location Url
  41. }
  42. return result;
  43. //return new SignupService().VerifyAccount(OrgID, MemberID);
  44. }
  45. //寄送忘記密碼信
  46. [HttpPost]
  47. public HttpResponseMessage SendForgotMail(string Email)
  48. {
  49. return new SignupService().SendForgotMail(Email);
  50. }
  51. //確認要修改密碼(導向修改密碼的頁面)
  52. [HttpGet]
  53. public HttpResponseMessage ResetPage(string Email)
  54. {
  55. var result = new SignupService().ResetPage(Email);
  56. var Server = Common.ConfigGetValue("", "ida:WebsiteUri");
  57. //var Server = "http://localhost:3000";
  58. if (result.ReasonPhrase == "OK")
  59. {
  60. result = Request.CreateResponse(HttpStatusCode.Moved);
  61. result.Headers.Location = new Uri(Server + "/user/forgot?Email=" + Email); //在API Header加入要導向的Location Url
  62. }
  63. return result;
  64. //return new SignupService().ResetPage(Email);
  65. }
  66. //輸入新密碼
  67. [HttpPost]
  68. public HttpResponseMessage ResetPassword(string Email, string Password)
  69. {
  70. return new SignupService().ResetPassword(Email, Password);
  71. }
  72. }
  73. }