<?php
$account_id = Dever::input('id');
$show = false;
$account_setting = array();
if ($account_id) {
    $account = Dever::db('account', 'api')->find($account_id);
    $setting = Dever::db('platform_setting', 'api')->select(array('platform_id' => $account['platform_id']));
    if ($setting) {
        $show = true;
        foreach ($setting as $k => $v) {
            $account_setting[] = array('platform_setting_name' => $v['name'], 'platform_setting_id' => $v['id'], 'value' => '');
        }
    }
}

return array
(
    'list' => array
    (
        'field'      => array
        (
            'id',
            'name',
            'key',
            'app_id' => array
            (
                'show' => 'Dever::call("api/app-find", "{app_id}")["name"]',
            ),
            'platform_id' => array
            (
                'show' => 'Dever::call("api/platform-find", "{platform_id}")["name"]',
            ),
            'cdate',
        ),
        'button' => array
        (
            '新增' => array('fastadd', 'name,key,app_platform'),
        ),
        'data_button' => array
        (
            '设置' => array('edit', 'name,key,app_platform_name,api/account_setting'),
            '证书' => array('route', array
            (
                'path' => 'api_manage/account_cert',
                'param' => array
                (
                    'set' => array('account_id' => 'id', 'menu' => 'api_manage/account', 'parent' => 'api_manage/account'),
                ),
            )),
        ),
        'search' => array
        (
            'name',
            'key',
            'app_platform' => array
            (
                'type' => 'cascader',
                'remote'    => 'api/manage.getAppPlatform',
            ),
        ),
    ),
    'update' => array
    (
        'field'    => array
        (
            'name' => array
            (
                'rules' => true,
            ),
            'key',
            'app_platform' => array
            (
                'desc' => '【提交后不能更改】',
                'rules' => true,
                'type' => 'cascader',
                'remote'    => 'api/manage.getAppPlatform',
                'remote_default' => false,
            ),
            'app_platform_name' => array
            (
                'name' => '平台与应用',
                'type' => 'show',
                'default' => 'Dever::call("api/app.getAppPlatform", array("{app_id}", "{platform_id}"))',
            ),
            'api/account_setting' => array
            (
                'show' => $show,
                'name' => '平台参数配置',
                'where'  => array('account_id' => 'id'),
                'default' => $account_setting,
            ),
        ),
        'check' => 'key',
        'start' => array('manage/common.updateKey', 'api/account.update'),
    ),
);