1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhousiwei-bootplus

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
apidocjs.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 20:34 b906898

apidocjs说明

Интерфейс документа публикации

  • Глобальная установка apidoc
npm install -g apidoc или yarn global add apidoc

Команда публикации (генерация API-документации):

apidoc -c ./apidoc.json -f .java -i ./ -o ./src/main/resources/statics/apidoc/

Настройка (необязательно)

1. Настройка нижнего колонтитула

  Откройте файл apidoc/template/index.html, найдите строку 87 и замените содержимое следующим:

<div class="content">
    {{__ "Generated with"}} <a target="_blank" href="https://zhousiwei.gitee.io/ibooks/">试毅-思伟</a> @{{{generator.name}}} {{{generator.version}}} - {{{generator.time}}}
</div>
<!-- <div class="content">
    {{__ "Generated with"}} <a href="{{{generator.url}}}">{{{generator.name}}}</a> {{{generator.version}}} - {{{generator.time}}}
</div>-->

2. Изменение метода запроса по умолчанию на JSON

  Откройте файл apidoc/template/index.html и найдите строку 278. Добавьте следующее содержимое и закомментируйте его: {{#if article.parameter}}

<!-- По умолчанию используется запрос JSON -->
<div class="{{../id}}-sample-request-param-body {{../id}}-sample-header-content-type-body">
    <!-- hide -->
    <div class="hide">
        <input type="checkbox" data-sample-request-param-group-id="sample-request-param-{{@index}}"  name="{{../id}}-sample-request-param" value="{{@index}}" class="sample-request-param sample-request-switch" checked/>
        <select name="{{../id}}-sample-header-content-type" class="{{../id}}-sample-request-param-select sample-header-content-type sample-header-content-type-switch">
            <option value="body-json" selected>body/json</option>
        </select>
    </div>
    <div class="form-group">
        <div class="input-group">
            <textarea id="sample-request-body-json" class="form-control sample-request-body" data-sample-request-body-group="sample-request-param-{{@./index}}" rows="6" style="OVERFLOW: visible" {{#if optional}}data-sample-request-param-optional="true"{{/if}}>
{{reformat article.parameter.examples.0.content article.article.parameter.examples.0.type}}</textarea>
            <div class="input-group-addon">json</div>
        </div>
    </div>
</div>

3. Добавление пользовательских заголовков запросов

  Откройте файл apidoc/template/utils/send_sample_request.js и найдите строку 149. Замените содержимое следующим образом:

// Отправить AJAX-запрос, перехватить успешный или ошибочный обратный вызов
try {
    var jsonData = JSON.stringify(JSON.parse(param));
    header["sign"]="test";
    $.ajax({
        url: url,
        dataType: "json",
        contentType: "application/json",
        data: jsonData,
        headers: header,
        xhrFields: {
            // 携带凭证(为了携带cookie)
            withCredentials: true
            // withCredentials: false
        },
        type: type.toUpperCase(),
        success: displaySuccess,
        error: displayError
    });
} catch(e) {
    var ajaxRequest = {
        url        : url,
        headers    : header,
        data       : param,
        type       : type.toUpperCase(),
        success    : displaySuccess,
        error      : displayError
    };

    if(header['Content-Type'] == 'multipart/form-data'){
        delete ajaxRequest.headers['Content-Type'];
        ajaxRequest.contentType=false;
        ajaxRequest.processData=false;
    }
    $.ajax(ajaxRequest);
}

4. Замена якорей с особыми символами

  Откройте файл apidoc/template/main.js и найдите строку 618. Замените содержимое и добавьте пользовательскую функцию декодирования:

if(!!id) {
    try {
        id = decodeToJquerySelector(id);
    } catch(ex) {
    }
    if ($(id).length > 0)
        $('html,body').animate({ scrollTop: parseInt($(id).offset().top) }, 0);
}

/**
 * Пользовательская функция декодирования строки
 * @param {string} str Строка для декодирования
 */
function decodeToJquerySelector(str =
``` ```
    ){
        if(!!str){
            // Some characters, such as / , Space , ( , ) , .
            // 转码(如果jquery要选择的元素id中带有点符号,在选择时需要在点前面加上1个反斜)
            return decodeURIComponent(str.replace(/\//, '\\\/').replace(/\s/g, "-").replace("(", "\\(").replace(")", "\\)"))
                .replace(/\./,'\\.');
        }
    }

5. Эффект клика при прокрутке навигации не работает

Откройте файл apidoc/template/main.js, найдите строку 409 и замените следующее содержимое.

Функция декодирования находится выше.

        var id = decodeToJquerySelector($(this).attr('href'));

6. Замена CDN для шрифтов на сайте (требуется доработка)

Откройте файл apidoc/template/vendor/webfontloader.js и найдите fonts.googleapis.com/css. Если этот сайт недоступен, его можно заменить другим CDN.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/zhousiwei-bootplus.git
git@api.gitlife.ru:oschina-mirror/zhousiwei-bootplus.git
oschina-mirror
zhousiwei-bootplus
zhousiwei-bootplus
master