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

miaoxing / user / 12496919602 / 5

Source File

0.0
/src/Controller/UsersController.php
1
<?php
2

3
namespace Miaoxing\User\Controller;
4

5
use Miaoxing\Plugin\Service\User;
6
use Miaoxing\Services\Middleware\CheckRedirectUrl;
7
use Miaoxing\Services\Middleware\LoadAppConfig;
8
use Miaoxing\User\Middleware\CheckIfEnableRegister;
9
use Miaoxing\User\Middleware\CheckNotLogin;
10
use Wei\Req;
11

12
class UsersController extends \Miaoxing\Plugin\BaseController
13
{
14
    protected $actionAuths = [
15
        'login' => false,
16
        'register' => false,
17
        'create' => false,
18
        'sendVerifyCode' => false,
19
    ];
20

21
    public function init()
22
    {
23
        parent::init();
×
24

25
        $this->middleware(CheckRedirectUrl::class, [
×
26
            'only' => ['login', 'logout'],
×
27
        ]);
×
28

29
        $this->middleware(CheckNotLogin::class, [
×
30
            'only' => ['register', 'create'],
×
31
        ]);
×
32

33
        // @phpstan-ignore-next-line
34
        $this->middleware(LoadAppConfig::class, [
×
35
            'only' => ['sendVerifyCode'],
×
36
        ]);
×
37

38
        $this->middleware(CheckIfEnableRegister::class, [
×
39
            'only' => [
×
40
                'register',
×
41
                'create',
×
42
                'sendVerifyCode',
×
43
            ],
×
44
        ]);
×
45
    }
46

47
    public function indexAction($req)
48
    {
49
        $nav = wei()->nav()->curApp()->enabled()->findOrInit(['type' => 'user']);
×
50

51
        if ($bgImage = wei()->user->bgImage) {
×
52
            $this->event->trigger('postImageLoad', [&$bgImage]);
×
53
        }
54

55
        $this->page->setTitle('个人中心');
×
56

57
        return get_defined_vars();
×
58
    }
59

60
    /**
61
     * 用户注册,相当于users/new
62
     * @param mixed $req
63
     */
64
    public function registerAction($req)
65
    {
66
        return get_defined_vars();
×
67
    }
68

69
    /**
70
     * 获取验证码
71
     * @param mixed $req
72
     */
73
    public function sendVerifyCodeAction($req)
74
    {
75
        if (!$req['mobile']) {
×
76
            return $this->err('请输入手机号码');
×
77
        }
78

79
        $cur = User::cur();
×
80
        if ($cur->mobile === $req['mobile'] && $cur->isMobileVerified) {
×
81
            return $this->err('您已绑定了该手机号码');
×
82
        }
83

84
        $user = wei()->userModel()->mobileVerified()->find('mobile', $req['mobile']);
×
85
        if ($user) {
×
86
            return $this->err('该手机号码已经注册,请重新输入');
×
87
        }
88
        $ret = wei()->verifyCode->send($req['mobile']);
×
89

90
        return $this->ret($ret);
×
91
    }
92

93
    /**
94
     * 用户注册
95
     *
96
     * @param $req
97
     * @return \Wei\Res
98
     */
99
    public function createAction($req)
100
    {
101
        // 1. 调用注册接口
102
        $user = wei()->user();
×
103
        $ret = $user->register($req);
×
104
        if (1 !== $ret['code']) {
×
105
            return $ret;
×
106
        }
107

108
        // 2. 登录用户
109
        $loginRet = User::loginById($user['id']);
×
110
        if (1 !== $loginRet['code']) {
×
111
            return $loginRet;
×
112
        }
113

114
        return $ret;
×
115
    }
116

117
    /**
118
     * 个人信息页面
119
     *
120
     * @return array
121
     * @param mixed $req
122
     */
123
    public function editAction($req)
124
    {
125
        $user = User::cur();
×
126

127
        $enableMobileVerify = wei()->user->enableMobileVerify;
×
128
        $isMobileVerified = $user->mobileVerifiedAt;
×
129

130
        // 如果认证了手机号码,又没启用认证功能,就不显示手机号
131
        $hideMobile = $isMobileVerified && !$enableMobileVerify;
×
132

133
        $this->page->setTitle('个人信息');
×
134

135
        return get_defined_vars();
×
136
    }
137

138
    /**
139
     * 个人信息录入
140
     *
141
     * @param $req
142
     * @return $this|string
143
     */
144
    public function regAction($req)
145
    {
146
        $ret = User::updateData($req);
×
147

148
        return $ret;
×
149
    }
150

151
    /**
152
     * 用户登录
153
     *
154
     * @param Req $req
155
     * @return array|\Wei\Res
156
     */
157
    public function loginAction(Req $req)
158
    {
159
        if ($req->isPost()) {
×
160
            if (wei()->user->enableLoginCaptcha) {
×
161
                $ret = wei()->captcha->check($req['captcha']);
×
162
                if (1 !== $ret['code']) {
×
163
                    $ret['captchaErr'] = true;
×
164

165
                    return $this->ret($ret);
×
166
                }
167
            }
168

169
            $ret = User::login($req);
×
170

171
            return $this->ret($ret);
×
172
        } else {
173
            if (!wei()->user->enableLogin) {
×
174
                return $this->err(wei()->user->disableLoginTips);
×
175
            }
176
            $this->page->setTitle('登录');
×
177

178
            return get_defined_vars();
×
179
        }
180
    }
181

182
    /**
183
     * 用户退出登录
184
     *
185
     * @param $req
186
     * @return \Wei\Res
187
     */
188
    public function logoutAction($req)
189
    {
190
        User::logout();
×
191

192
        $next = $req('next', $this->req->getReferer());
×
193

194
        return $this->res->redirect($next);
×
195
    }
196

197
    /**
198
     * 账号设置
199
     *
200
     * @return array
201
     */
202
    public function settingAction()
203
    {
204
        $this->page->setTitle('账号设置');
×
205

206
        return get_defined_vars();
×
207
    }
208
}
  • Back to Build 12496919602
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