Index.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. declare (strict_types=1);
  3. namespace app\api\controller;
  4. use think\facade\Db;
  5. class Index extends Base
  6. {
  7. public function index()
  8. {
  9. return '您好!这是一个[api]示例应用';
  10. }
  11. /**
  12. * 注册
  13. */
  14. public function reg()
  15. {
  16. $param = request()->param();
  17. $rules = [
  18. "login_name" => "require|length:2,25",
  19. 'password' => 'require|length:6,25',
  20. 'repassword' => 'require|confirm:password',
  21. ];
  22. $this->autoValid($rules, $param);
  23. // 启动事务,用事务实现注册
  24. $res = $this->regTrans($param);
  25. if ($res["code"] != 0) {
  26. $this->error($res['msg'], $res["code"]);
  27. }
  28. $this->success($res['data']);
  29. }
  30. /**
  31. * 注册事务
  32. */
  33. private function regTrans($param)
  34. {
  35. Db::startTrans();
  36. try {
  37. $res = \app\common\model\User::regUser($param["login_name"], $param["password"]);
  38. if ($res["code"] != 0) {
  39. // 回滚事务
  40. Db::rollback();
  41. return $res;
  42. }
  43. $res = \app\common\model\User::login($param["login_name"], $param["password"]);
  44. if ($res["code"] != 0) {
  45. // 回滚事务c
  46. Db::rollback();
  47. return $res;
  48. }
  49. Db::commit();
  50. } catch (\Exception $e) {
  51. // 回滚事务
  52. Db::rollback();
  53. return returnFormat(9999, (string)$e);
  54. }
  55. return $res;
  56. }
  57. /**
  58. * 登录
  59. */
  60. public function login()
  61. {
  62. $param = request()->param();
  63. $rules = [
  64. "login_name" => "require|length:2,25",
  65. 'password' => 'require|length:6,25',
  66. ];
  67. $this->autoValid($rules, $param);
  68. $res = \app\common\model\User::login($param["login_name"], $param["password"]);
  69. if ($res["code"] != 0) {
  70. $this->error($res['msg'], $res["code"]);
  71. }
  72. $this->success($res['data']);
  73. }
  74. }