<?php
//  ---------------------------------------------------------------------------------
//    _____   _             _                   _   _____
//   |  __ \ | |           | |    /\           (_) |  __ \
//   | |__) || |__    __ _ | |   /  \    _ __   _  | |__) |_ __  ___
//   |  ___/ | '_ \  / _` || |  / /\ \  | '_ \ | | |  ___/| '__|/ _ \
//   | |     | | | || (_| || | / ____ \ | |_) || | | |    | |  | (_) |
//   |_|     |_| |_| \__,_||_|/_/    \_\| .__/ |_| |_|    |_|   \___/
//                                      | |
//                                      |_|
//   PhalApi Pro 专业版
//   广州果创网络科技有限公司
//
//  ---------------------------------------------------------------------------------
//
//   一、协议的许可和权利
//    1. 您可以在完全遵守本协议的基础上，将本软件应用于商业用途；
//    2. 您可以在协议规定的约束和限制范围内修改本产品源代码或界面风格以适应您的要求；
//    3. 您拥有使用本产品中的全部内容资料、商品信息及其他信息的所有权，并独立承担与其内容相关的
//       法律义务；
//    4. 获得商业授权之后，您可以将本软件应用于商业用途，自授权时刻起，在技术支持期限内拥有通过
//       指定的方式获得指定范围内的技术支持服务；
//
//   二、协议的约束和限制
//    1. 未获商业授权之前，禁止将本软件用于商业用途（包括但不限于企业法人经营的产品、经营性产品
//       以及以盈利为目的或实现盈利产品）；
//    2. 未获商业授权之前，禁止在本产品的整体或在任何部分基础上发展任何派生版本、修改版本或第三
//       方版本用于重新开发；
//    3. 如果您未能遵守本协议的条款，您的授权将被终止，所被许可的权利将被收回并承担相应法律责任；
//
//   三、有限担保和免责声明
//    1. 本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的；
//    2. 用户出于自愿而使用本软件，您必须了解使用本软件的风险，在尚未获得商业授权之前，我们不承
//       诺提供任何形式的技术支持、使用担保，也不承担任何因使用本软件而产生问题的相关责任；
//    3. 广州果创网络科技有限公司不对使用本产品构建的商城中的内容信息承担责任，但在不侵犯用户隐
//       私信息的前提下，保留以任何方式获取用户信息及商品信息的权利；
//
//   有关本产品最终用户授权协议、商业授权与技术服务的详细内容，均由广州果创网络科技有限公司独家
//   提供。广州果创网络科技有限公司拥有在不事先通知的情况下，修改授权协议的权力，修改后的协议对
//   改变之日起的新授权用户生效。电子文本形式的授权协议如同双方书面签署的协议一样，具有完全的和
//   等同的法律效力。您一旦开始修改、安装或使用本产品，即被视为完全理解并接受本协议的各项条款，
//   在享有上述条款授予的权力的同时，受到相关的约束和限制。协议许可范围以外的行为，将直接违反本
//   授权协议并构成侵权，我们有权随时终止授权，责令停止损害，并保留追究相关责任的权力。
//
//  ---------------------------------------------------------------------------------

/**
 * 请在下面放置任何您需要的应用配置
 *
 * @license     http://www.phalapi.net/license GPL 协议
 * @link        http://www.phalapi.net/
 * @author dogstar <chanzonghuang@gmail.com> 2017-07-13
 */

return array(

    /**
     * 应用接口层的统一参数
     */
    'apiCommonRules' => array(
        'accessToken' => array('name' => 'access_token', 'default' => '', 'desc' => '访问令牌，仅当开启签名验证时需要传递，生成令牌可使用App.Auth.ApplyToken接口'),

        /** ----- 如果你需要使用第二套加密算法，请开启以下参数规则 ----- **/

        // 'app_key' => array('name' => 'app_key', 'default' => '', 'desc' => 'app_key，用于区分客户端应用，首次接入需要创建应用并等待管理员审核通过'),
        // 'sign' => array('name' => 'sign', 'desc' => '动态签名，签名算法是：<br/><ul><li>1、全部参数（排除sign），按key进行字典排序</li><li>2、全部参数值，把原始值按字符串进行拼接，并在最后加上app_secret密钥</li><li>3、对第2步结果，拼接密钥后，进行MD5加密</li><li>4、对第3步结果，转成大写，得到sign签名（32位）</li></ul>'),
        // 'uid' => array('name' => 'uid', 'type' => 'int', 'default' => 0, 'desc' => ''),
        // 'accessToken' => array('name' => 'access_token', 'default' => '', 'desc' => '访问令牌，保留使用但不需要在文档上展示', 'is_doc_hide' => true),
        
        // 'encryptData' => array('name' => 'encrypt_data', 'desc' => '客户端加密的接口，格式是：RSA公钥加密(base64编码(JSON原始数据))。开启后，同时支持原来普通的参数传递方式。'),
    ),

    /**
     * 接口服务白名单，格式：接口服务类名.接口服务方法名
     *
     * 示例：
     * - *.*         通配，全部接口服务，慎用！
     * - Site.*      Api_Default接口类的全部方法
     * - *.Index     全部接口类的Index方法
     * - Site.Index  指定某个接口服务，即Api_Default::Index()
     */
    'service_whitelist' => array(
        'Site.Index',
        'UserWeixin.FastLogin', // 微信登录
        'Auth.ApplyToken', // 授权时不需要验证
        'Auth.UserLogin',
        'Auth.AppUserLogin',
        'HelloWorld.Say', // 不需要任何验证
        'QrCode.*',
        'Pinyin.*',
        'BarCode.*',
        
        // 平台接口白名单
        'Platform' => array(
            'User.UserLogin',
            'User.Register',
            'Site.Index',
            'Captcha.Create',
            'Authorization_Authorization.AuthorizationConfig',
        ),
    ),

    /**
     * JWT令牌
     */
    'jwt' => array(
        'key' => '*#FD2F9DM~E*', // 用于加密的key（安装时自动生成，不能修改！）
        'exp' => 30 * 86400, // 令牌生成后多少秒内有效，可自行修改
    ),

    /**
     * 用户
     */
    'member' => array(
        'salt' => '9DfnseJ%sD#', // 用于增强用户密码（安装时自动生成，不能修改！）
    ),
    
    /**
     * 上传配置
     */
    'upload' => array(
        'host' => '', // 图片文件域名，为空时取当前域名，修改不影响原有的文件地址，可单独配置图片域名或CDN域名，格式：http://img.xxx.com（前面加协议，最后不用斜杠）
        'upload_folder_path' => 'uploads', // 上传目录，可修改，注意：1）目录存在且有写入权限；2）需要放置在public目录下，支持外部访问；
        
        // 如果需要存储到阿里云OSS，请修改以下配置（全部必填方可生效）。若OSS上传失败，将会降级使用本地存储
        // 如何开通阿里云开通OSS服务：https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.11186623.2.15.d8f41c62os2XRV#task-njz-hf4-tdb
        // 开通后，创建bucket，并把权限设置为:公共读
        'aliyu_oss' => array(
            'accessKeyId' => '', // TODO：修改成你的配置
            'accessSecret' => '', // TODO
            'bucket' => '', // TODO Bucket名称
            'endpoint' => '', // TODO endpoint，例如：http://oss-cn-beijing.aliyuncs.com
            'isCName' => true, // 可选配置，true为开启CNAME。CNAME是指将自定义域名绑定到存储空间上
            'filePathPrefixx' => '', // 可选配置，为空时传到根目录，需要上传的目录前缀，例如：/myfolder
        ),
     ),

    /**
     * 阿里云配置-发送短信时需要此配置
     */
    'aliYun' => array(
        'accessKeyId' => '', // TODO：修改成你的配置
        'accessSecret' => '', // TODO
    ),
    
    /**
     * 微信公众号/小程序配置
     */
    'weixin' => array(
        'appid' => '', // TODO：修改成你的配置
        'appsecret' => '', // TODO
    ),

    /**
     * 果创云配置
     * 链接：http://open.yesapi.cn/?r=App/Mine
     */
    'yesapi' => array(
        'host' => '', // TODO：接口域名，例如：http://api.yesapi.cn（每个账号的接口域名不一样）
        'app_key' => '', // TODO: app_key
        'app_secrect' => '', // TODO：密钥
    ),
    
    /**
     * 项目配置
     */
    'project' => array(
        // 项目名称
        'name' => '接口大师',
        // logo链接
        'logo' => '/logo.png',
        // 顶端图标
        'ico' => '/favicon.ico',
        // 查看文档的密码，为空时不需要密码
        'doc_view_code' => '',
        // 总开关，是否允许会员注册，true允许，false不允许
        'is_member_register' => true,
        // 总开关，是否允许开放者注册，true允许，false不允许
        'is_dev_register' => true,
        // 用户等级及映射，下标对应member表的member_level字段，建议按权限从低到高配置
        // 0,100,101,200,201为系统自带等级，不宜更改。可扩展追加
        'member_level_map' => array(
            // 0~99区间表示会员
            0 => array(
                'name' => '普通会员',
                'is_register' => true, // 是否允许注册
            ),
            
            // 100~199区间表示开发者
            100 => array(
                'name' => '个人开发者',
                'is_register' => true, // 是否允许开放平台注册
                'app_limit' => 0, // 开发者角色每日接口调用次数限制，为0时表示无限制（优先使用应用的app_limit）
            ),
            101 => array(
                'name' => '企业开发者',
                'is_register' => true, // 是否允许开放平台注册
                'app_limit' => 0, // 开发者角色每日接口调用次数限制，为0时表示无限制（优先使用应用的app_limit）
            ),
            
            // 200~255区间表示内部管理员
            200 => array(
                'name' => '普通管理员',
                'is_register' => false, // 是否允许注册
            ),
            255 => array(
                'name' => '超级管理员',
                'is_register' => false, // 是否允许注册
            ),
        ),
        // 每个开发者最多可以创建的应用数量上限
        'dev_max_app_num' => 10,
        // 计划任务专用的静态访问令牌，可以自行修改，通过HTTP请求时需要使用，CLI执行时不需要
        'task_access_token' => 'erVDwgv98Ls',
        // 默认应用接口每日接口次数上限，0表示没有限制
        'default_daily_app_limit' => 100000,
        // 默认接口权限，没有任何配置时应用对于接口调用的默认权限，推荐设置为false
        'default_app_api_rigths_is_allow' => false,
        // 开放接口的命名空间，配置后可提供接口权限分配，可配置多个
        'open_api_namespaces' => array('App'),
        // 默认语言，简体中文，可选：zh_cn/zh_tw/fr/de/en，或自行扩展
        'default_language' => 'zh_cn',
        // 语言列表
        'language_list' => array(
            'zh_cn' => '简体中文',
            'en' => 'English',
        ),
        // 验证码
        'captcha' => array(
            'switch' => array(
                'admin_login_captcha' => true, // 管理后台登录页面验证码开关
                'platform_login_catpcha' => true, // 开放平台登录页面验证码开关
                'platform_register_captcha' => true, // 开放平台注册页面验证码开关
            ),
            'options' => array(
                'charset' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', // 验证码字符
                'length' => 4, // 验证码长度（默认长度为4，范围4~5）
                'height' => 50, // 验证码显示高度（默认40，单位像素）
                'width' => 200, // 验证码显示宽度（默认300，单位像素）
                'is_case_sensitive' => false, // 是否区分大小写
            ),
        ),
        // IP白名单，为空时不限制IP，只针对App开放接口
        'allow_ips' => array(
             // '127.0.0.1', // 每一组一个IP地址
        ),

    ),

    //工单模块配置
    'work_order_config'=> array(
        1=>'API USE'
    ),

    //首页sdk配置
    'index_sdk_config'=> array(
        [
            'id' => 1,
            'label' => '.NET',
            'content' => '.NET SDK',
            'download_url'=>'#'
        ],
        [
            'id' => 2,
            'label' => 'Java',
            'content' => 'Java SDK',
            'download_url'=>'#'
        ],
        [
            'id' => 3,
            'label' => 'PHP',
            'content' => 'PHP SDK',
            'download_url'=>'#'
        ],
        [
            'id' => 4,
            'label' => 'Ruby',
            'content' => 'Ruby SDK',
            'download_url'=>'#'
        ],
        [
            'id' => 5,
            'label' => 'Python',
            'content' => 'Python SDK',
            'download_url'=>'#'
        ],
        [
            'id' => 5,
            'label' => 'Js',
            'content' => 'Js SDK',
            'download_url'=>'#'
        ]
    ),

    //文件类型配置
    'file_uplods_config'=> array(
        '.zip',
        '.jpg',
        '.jpeg',
        '.rar',
        '.xls',
        '.psd',
        '.doc',
        '.docx',
    ),

    //第三方登录总开关
    'authorization_app'=>array(
        //自己编写获取第三方登录链接对应的方法，注释后，登录页面不显示此第三方登录方式
        /**
        'weChat'=>[
            'icon' => '/images/login_wechat.png', // 第三方应用的图标
            'app_callback_url'=>'\Base\Domain\Authorization',  //自己编写获取第三方微信登录链接的类---包含命名空间
            'desc'=>'微信',  //第三方应用的描述
            'sort_id'=>1,   //排序字段

            'can_unbind'=>1,  //可以解绑的
            'type'=>1,      //用于解绑的

            'authorization_type'=>1,
            'can_bing'=>1,  //可以在个人中心进行绑定
            'can_bing_url_class'=>'\Base\Domain\Authorization',//自己编写获取第三方登录绑定链接的类--包含命名空间
            'can_bing_url_fun'=>'weChat', //自己编写获取第三方登录绑定链接的类对应的方法

            //以下根据自己申请得到的资料进行填写
            'appid'=>'',  //appid
            'secret'=>'',  //密钥
            'login_redirect_uri'=>'http://xxx.com/server_callback/wechat_login.php', //请填写你的域名,登录回调地址配置
        ],
         */
    ),
);
