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

OSCHINA-MIRROR/guolixun-ilab-extend

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 11:42 a44c531

ILab-x 2.0 против PHP

Описание

Библиотека для подключения к платформе iLab-x версии 2.0 (PHP).

Установка

  1. Скачайте исходный код пакета.
  2. Добавьте библиотеку в проект как стороннюю.

Замечания

  • Библиотека подходит для использования с интерфейсами iLab-x 2.0.
  • Содержит четыре интерфейса: получение информации о пользователе и access_token, обновление токена, передача результатов эксперимента и загрузка вложений. Названия интерфейсов соответствуют названиям интерфейсов iLab-x 2.0. Формат возвращаемых данных и исключений также соответствует iLab-x 2.0. Подробные сведения об аргументах, формате и исключениях можно найти в документации по подключению к iLab-x на сайте shenbao.ilab-x.com/declare/wiki/v2#2-1.

Пример

Получение информации о пользователе и ACCESS_TOKEN:

use ILab\ILab;

class Example
{
    /**
    * TOKEN действителен, информация о пользователе сохраняется самостоятельно
    */
    public function token()
    {
        // APPID — уникальный номер, который «Экспериментальное пространство» присваивает каждой экспериментальной платформе.
        // SECRET — ключ, который «Экспериментальное пространство» выдаёт каждой экспериментальной платформе. 
        $ilab = new ILab(APPID, SECRET);
        // TICKET: маркер, полученный со страницы «Я хочу провести эксперимент» на странице центра экспериментов.
        // !!!Обратите внимание, что исходный билет можно получить, библиотека уже выполнила соответствующий анализ и обработку кода, здесь билет не нужно декодировать.
        $response = $ilab->token(TICKET)
    }
}

Пример ответа:

array:8 [ "code" => 0 "access_token" => "JQXIvOb3lNoNZrt5EPUWA2wse2ws9r/ZQKQyeG4TNJGLZqnM3HvyycIs9EqLXKPPS+LfsHHxk8NY0AGJY4KO6+n72BYohwQPDmOzB38a5mA=" "create_time" => 1626158597225 "create_time_display" => "2021-07-13 14:43:17" "expires_time" => 1626244997225 "expires_time_display" => "2021-07-14 14:43:17" "un" => "test1" "dis" => "贾宝玉" ]

Обновление ACCESS_TOKEN:

use ILab\ILab;

class Example
{
    public function refresh()
    {
        // APPID — уникальный номер, который «Экспериментальное пространство» присваивает каждой экспериментальной платформе.
        // SECRET — ключ, который «Экспериментальное пространство» выдаёт каждой экспериментальной платформе. 
        $ilab = new ILab(APPID, SECRET);
        // TOKEN: access_token, полученный от интерфейса получения токена.
        $response = $ilab->refresh(TOKEN)
    }
}

Пример ответа:

array:6 [ "code" => 0 "access_token" => "JQXIvOb3lNoNZrt5EPUWA2wse2ws9r/ZQKQyeG4TNJGvszvCtVAPAecN5M40ZDaiS+LfsHHxk8NY0AGJY4KO61YEsC5tiwvGBKgqeZJT1DQ=" "create_time" => 1626159105389 "create_time_display" => "2021-07-13 14:51:45" "expires_time" => 1626245505389 "expires_time_display" => "2021-07-14 14:51:45" ]

Передача данных эксперимента:

use ILab\ILab;

class Example
{
    public function refresh()
    {
        /**
        * Обратите внимание:
        * 1、Пожалуйста, создайте уникальный originId самостоятельно (платформа уникальна и состоит из прописных и строчных букв, цифр и «_»).
        * 2、Запись шагов эксперимента (не менее десяти шагов).
        * 3、Обратите внимание на время эксперимента (13-значное время), а также на время использования (в секундах).
        */
        $data = [
            "username" => "test1",
            "title" =>"Загрузить тест111",
            "status" => 1,
            "score"=>100,
            "startTime"=>1626161547000,
            "endTime"=>1626162027000,
            "timeUsed"=>480,
            "appid"=>"100400",
            "originId"=> 'test1_16261615470',
            "steps"=> [
                [
                    "seq" => 1,
                    "title"=> "Шаг эксперимента 1",
                    "startTime"=> 1626161548000,
                    "endTime"=> 1626161567000,
                    "timeUsed"=> 19,
                    "expectTime"=>2,
                    "maxScore"=>10,
                    "score"=>10,
                    "repeatCount"=>1,
                    "evaluation"=>"хорошо",
                    "scoringModel"=>"модель оценки",
                    "remarks"=>"замечание"
                ],
                [
                    "seq" => 2,
                    "title"=> "Шаг эксперимента 2",
                    "startTime"=> 1626161567000,
                    "endTime"=> 1626161569000,
                    "timeUsed"=> 2,
                    "expectTime"=>2,
                    "maxScore"=>10,
                    "score"=>10,
                    "repeatCount"=>1,
                    "evaluation"=>"хорошо",
                    "scoringModel"=>"модель оценки",
                    "remarks"=>"замечание"
                ]
            ];
        // APPID — уникальный номер, который «Экспериментальное пространство» присваивает каждой экспериментальной платформе.
        // SECRET — ключ, который «Экспериментальное пространство» выдаёт каждой экспериментальной платформе. 
        $ilab = new ILab(APPID, SECRET);
        // TOKEN: access_token, полученный от интерфейса получения токена.
        return $ilab->data_upload($token, json_encode($data)));
    }
}

Пример ответа: array => [ "code" => 0 "id" => "48908" ] ``` title:实验报告名称,无需对TITLE进行urlEncode处理 // remarks:备注(无备注传空值即可),无需对remarks进行urlEncode处理 // filePath:带上传附件的绝对路径 $response = $ilab->attachment_upload(access_token, originId, filename, title, remarks, filePath); } }

~~~

**Пример ответа:**

{ "code": 0, "id": "1619" }


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

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

1
https://api.gitlife.ru/oschina-mirror/guolixun-ilab-extend.git
git@api.gitlife.ru:oschina-mirror/guolixun-ilab-extend.git
oschina-mirror
guolixun-ilab-extend
guolixun-ilab-extend
master