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

OSCHINA-MIRROR/hcanyz-ZJsBridge

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
readme-protocol.md 2.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 16:35 094fb14

Протокол

Bridge->Native

  • var _dgtVerifyRandomStr = "${_dgtVerifyRandomStr}" используется для внедрения строки ключа (UUID). При загрузке zfjs.js необходимо заменить "${_dgtVerifyRandomStr}" на UUID.

  • _sendMessage используется для запроса native api. Структура данных:

    _sendMessage({
        jsonMessage:"{
            apiName:""
            params:""
            callbackId:""
            msgType:"" //call
        }",
        shaKey:""  // sha1(jsonMessage+_dgtVerifyRandomStr) sha1("111") = 6216f8a75fd5bb3d5f22b6f9958cdede3fc086c2
    })

Native должен проверять целостность данных при каждом получении запроса.

  • _on используется для отслеживания некоторых событий, отправленных native. Структура данных:
    _on({
        jsonMessage:"{
            eventName:""
        }",
        shaKey:"" // sha1(jsonMessage+_dgtVerifyRandomStr)
    })

Native->Bridge

  • _handleMessageFromZF используется Native для передачи данных Bridge.

    Структура данных:

    _handleMessageFromZF({
        //android与js平台的json实现有略微区别,需要base64编码保证数据一致
        jsonMessage:Base64.encodeToString("{
            msgType:""       //callback | event
            callbackId:""    //msgType==callback必传,在_sendMessage获得
            eventName:""     //msgType==event必传,表示触发什么事件
    
            params:{           //调用参数,json
                errCode:0       //必传
                errMsg:""       //具体api
            }
        }"),
        shaKey:""  // sha1(jsonMessage:Base64.encodeToString(jsonMessage)+_dgtVerifyRandomStr)
    })

Возвращаемое значение:

```
при ошибке:
{
    'errCode': 404
}
нормально: зависит от конкретного api
{
    'errCode': 0,
    ...
}
```

Коды ошибок

errCode Значение
0 Нормальное состояние
1 Отмена операции
400 Недействительные параметры запроса
403 Отсутствие прав доступа к методу
404 Метод или событие не найдены
  • Существует список событий:

    • onContainerResume — контейнер переходит на передний план;

    • onContainerPause — контейнер уходит в фоновый режим.

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

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

1
https://api.gitlife.ru/oschina-mirror/hcanyz-ZJsBridge.git
git@api.gitlife.ru:oschina-mirror/hcanyz-ZJsBridge.git
oschina-mirror
hcanyz-ZJsBridge
hcanyz-ZJsBridge
master