<?php
namespace App\Api;
use App\Common\Api;

/**
 * Hello World示例
 */
class HelloWorld extends Api {
    
    /**
     * 接口示例
     * @desc 一个开放接口示例，可直接访问，不需要任何验证，因为配置了service_whitelist白名单。熟悉后可删除此示例接口。
     * @return string content 一句话
     */
    public function say() {
        return array('content' => 'Hello PhalApi Pro!');
    }

    /**
     * 令牌验证接口示例
     * @desc 需要进行access_token令牌验证接口示例，创建应用后通过App.Auth.ApplyToken接口申请令牌后方可访问。熟悉后可删除此示例接口。
     * @return string content 一句话
     */
    public function hiApp() {
        $appKey = $this->tryToGetAppKey();
        return array('content' => 'Hello app: ' . $appKey);
    }

    /**
     * 登录检测接口示例
     * @desc 除了令牌，还需要会员登录，此时需要通过App.User.UserLogin接口返回的令牌（含app_key+uid）。熟悉后可删除此示例接口。
     * @return string content 一句话
     */
    public function hiMember() {
        $uid = $this->tryToGetUid();
        return array('content' => 'Hello user: ' . $uid);
    }

    /**
     * 权限判断接口
     * @desc 默认情况下，你的应用没有权限调用些接口，在管理后台添加权限后方可正常调用。熟悉后可删除此示例接口。
     * @return string content 一句话
     */
    public function hiRights() {
        return array('content' => 'See u again!');
    }
    
    // 代码控制的白名单
    protected function userCheckActionWhitelist() {
        return array('hiApp', 'hiMember');
    }
}
