• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

miaoxing / user / 3699122540

pending completion
3699122540

push

github

semantic-release-bot
chore(release): publish

14 of 22 branches covered (63.64%)

66 of 626 relevant lines covered (10.54%)

1.34 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Service/UserPassword.php
1
<?php
2

3
namespace Miaoxing\User\Service;
4

5
use Miaoxing\Plugin\BaseService;
6
use Miaoxing\User\Mailer\ResetPassword;
7

8
class UserPassword extends BaseService
9
{
10
    public function createResetByEmail($req)
11
    {
12
        // Step1 校验
13
        $validator = wei()->validate([
×
14
            'data' => $req,
×
15
            'rules' => [
16
                'email' => [
17
                    'required' => true,
18
                    'email' => true,
19
                ],
20
            ],
21
            'names' => [
22
                'email' => '邮箱',
23
            ],
24
            'messages' => [
25
                'email' => [
26
                    'required' => '请输入邮箱',
27
                    'email' => '请输入正确的邮箱格式',
28
                ],
29
            ],
30
        ]);
31
        if (!$validator->isValid()) {
×
32
            return ['code' => -1, 'message' => $validator->getFirstMessage()];
×
33
        }
34

35
        // Step2 查找是否存在该用户
36
        $user = wei()->user()->find(['email' => $req['email']]);
×
37
        if (!$user) {
×
38
            return ['code' => -1, 'message' => '不存在该用户'];
×
39
        }
40

41
        // Step3 邮箱发送验证码
42
        $ret = wei()->mail->send(ResetPassword::class, [
×
43
            'user' => $user,
×
44
        ]);
45

46
        return $ret;
×
47
    }
48

49
    public function resetPassword($req)
50
    {
51
        $ret = wei()->userVerify->verify($req, false);
×
52
        if ($ret['code'] < 0) {
×
53
            return ['code' => -1, 'message' => $ret['message']];
×
54
        }
55

56
        // 1. 校验
57
        $validator = wei()->validate([
×
58
            'data' => $req,
×
59
            'rules' => [
60
                'password' => [
61
                    'minLength' => 6,
62
                ],
63
                'passwordConfirm' => [
64
                    'equalTo' => $req['password'],
×
65
                ],
66
            ],
67
            'names' => [
68
                'password' => '新密码',
69
                'passwordConfirm' => '重复密码',
70
            ],
71
            'messages' => [
72
                'passwordConfirm' => [
73
                    'equalTo' => '两次输入的密码不相等',
74
                ],
75
            ],
76
        ]);
77
        if (!$validator->isValid()) {
×
78
            return ['code' => -1, 'message' => $validator->getFirstMessage()];
×
79
        }
80

81
        // Step2 更新新密码
82
        $user = wei()->user()->findById($req['userId']);
×
83
        $user->setPlainPassword($req['password']);
×
84
        $user->save();
×
85

86
        return ['code' => 1, 'message' => '操作成功'];
×
87
    }
88
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc