求职季,限时 6折! 详情

hyperf 实战之 jwt 实现用户注册(二)(连载中)

160 0 0

接上文,今天我们主要看一下 Service 中的代码实现。

六、Service 实现

Service 中的代码永远承担着最重要的核心逻辑,略微复杂,我们分步骤演示。

①、入库

use App\Model\User;
use App\Model\UserDynamic;
use Hyperf\DbConnection\Db;

// 入库
Db::beginTransaction();
try {
    $model = new User();
    $model->email = $params['email'];
    $model->password = password_hash($params['password'], PASSWORD_DEFAULT);

    // 图片路径取决于各自保存在 cdn 的路径
    $model->pic = 'images/avatar/' . rand(1, 382) . '.jpg';
    $model->nickname = 'api_' . rand(1, 99) . date('Hi');
    $model->save();

    // 同步
    $dynamicModel = new UserDynamic();
    $dynamicModel->uid = $model->id;
    $dynamicModel->save();
    Db::commit();
} catch (\Throwable $ex) {
    Db::rollBack();
    $this->logger->error($ex->getMessa

去购买

还有90%的精彩内容,购买继续阅读