PersonalController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace backend\controllers;
  3. use Yii;
  4. use common\enums\AppEnum;
  5. use common\models\member\Member;
  6. use common\helpers\ResultHelper;
  7. use backend\forms\PersonalPasswdForm;
  8. use common\forms\ManagerMemberForm;
  9. use common\forms\MerchantMemberForm;
  10. /**
  11. * Class PersonalController
  12. * @package backend\controllers
  13. * @author jianyan74 <751393839@qq.com>
  14. */
  15. class PersonalController extends BaseController
  16. {
  17. /**
  18. * 个人中心
  19. *
  20. * @return mixed|string
  21. */
  22. public function actionIndex()
  23. {
  24. /** @var Member $model */
  25. if (Yii::$app->id == AppEnum::BACKEND) {
  26. $model = ManagerMemberForm::findOne(Yii::$app->user->id);
  27. } else {
  28. $model = MerchantMemberForm::findOne(Yii::$app->user->id);
  29. }
  30. if ($model->load(Yii::$app->request->post()) && $model->save()) {
  31. return $this->message('个人信息修改成功', $this->redirect(['index']));
  32. }
  33. return $this->render('@backend/views/personal/index', [
  34. 'model' => $model,
  35. ]);
  36. }
  37. /**
  38. * 修改密码
  39. *
  40. * @return array|string
  41. * @throws \yii\base\Exception
  42. * @throws \yii\base\InvalidConfigException
  43. */
  44. public function actionUpdatePassword()
  45. {
  46. $model = new PersonalPasswdForm();
  47. if ($model->load(Yii::$app->request->post())) {
  48. if (!$model->validate()) {
  49. return ResultHelper::json(404, $this->getError($model));
  50. }
  51. /* @var $member Member */
  52. $member = Yii::$app->user->identity;
  53. $member->password_hash = Yii::$app->security->generatePasswordHash($model->passwd_new);;
  54. if ($member->save()) {
  55. Yii::$app->user->logout();
  56. return ResultHelper::json(200, '修改成功');
  57. }
  58. return ResultHelper::json(404, $this->analyErr($member->getFirstErrors()));
  59. }
  60. return $this->render('@backend/views/personal/update-password', [
  61. 'model' => $model,
  62. ]);
  63. }
  64. }
粤ICP备19079148号