api/src/Topxia/Api/Resource/Users.php

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Topxia\Api\Resource;

use Silex\Application;
use AppBundle\Common\ArrayToolkit;
use Topxia\Service\Common\ServiceKernel;
use Symfony\Component\HttpFoundation\Request;

class Users extends BaseResource
{
    public function get(Application $app, Request $request)
    {
        $conditions = $request->query->all();

        if (empty($conditions)) {
            return array();
        }

        // @deprecated 兼容老接口,即将去除
        if (!empty($conditions['q'])) {
            return $this->matchUsers($conditions['q']);
        }

        $start = $request->query->get('start', 0);
        $limit = $request->query->get('limit', 100);

        if (isset($conditions['cursor'])) {
            $conditions['updatedTime_GE'] = $conditions['cursor'];
            $users = $this->getUserService()->searchUsers($conditions, array('updatedTime' => 'ASC'), $start, $limit);
            $next = $this->nextCursorPaging($conditions['cursor'], $start, $limit, $users);
            return $this->wrap($this->filter($users), $next);
        } else {
            $users = $this->getUserService()->searchUsers($conditions, array('createdTime' => 'DESC'), $start, $limit);
            $total = $this->getUserService()->countUsers($conditions);
            return $this->wrap($this->filter($users), $total);
        }
    }

    public function post(Application $app, Request $request)
    {
        $fields = $request->request->all();

        if (!ArrayToolkit::requireds($fields, array('email', 'nickname', 'password'))) {
            return array('message' => '缺少必填字段');
        }

        if (empty($fields['registeredWay']) || !in_array(strtolower($fields['registeredWay']), array('ios', 'android'))) {
            $fields['registeredWay'] = $this->guessDeviceFromUserAgent($request->headers->get("user-agent"));
        }

        $ip = $request->getClientIp();
        $fields['createdIp'] = $ip;

        $authSettings = ServiceKernel::instance()->createService('System:SettingService')->get('auth', array());

        if (isset($authSettings['register_protective'])) {
            $type = $authSettings['register_protective'];

            switch ($type) {

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。