From 27fe0427d0425b5834225a739b88d74f0b882ce1 Mon Sep 17 00:00:00 2001 From: WarL0ck Date: Thu, 7 Jun 2018 11:37:51 +0700 Subject: [PATCH] =?UTF-8?q?Update=20page=20'=D0=9A=D0=B0=D0=BA=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=83=D1=87=D0=B8=D1=82=D1=8C=20=D1=81=D1=81=D1=8B?= =?UTF-8?q?=D0=BB=D0=BA=D1=83=20=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=B3=20=D0=B8?= =?UTF-8?q?=D0=B3=D1=80=D1=8B'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...BB%D0%BE%D0%B3-%D0%B8%D0%B3%D1%80%D1%8B.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 %D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83-%D0%BD%D0%B0-%D0%BB%D0%BE%D0%B3-%D0%B8%D0%B3%D1%80%D1%8B.md diff --git a/%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83-%D0%BD%D0%B0-%D0%BB%D0%BE%D0%B3-%D0%B8%D0%B3%D1%80%D1%8B.md b/%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83-%D0%BD%D0%B0-%D0%BB%D0%BE%D0%B3-%D0%B8%D0%B3%D1%80%D1%8B.md new file mode 100644 index 0000000..c3bbcb2 --- /dev/null +++ b/%D0%9A%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83-%D0%BD%D0%B0-%D0%BB%D0%BE%D0%B3-%D0%B8%D0%B3%D1%80%D1%8B.md @@ -0,0 +1,35 @@ +Ссылка на лог игры имеет вид: +http://tenhou.net/0/?log=2017012116gm-0001-0000-05a1bd94&tw=3 +для нас важно узнать часть в параметре log - уникальный код лога. +В зависимости от игрового клиента код можно получить по-разному. + +### Android-клиент +Этот клиент представляет собой обычный браузер. Последние 40 ссылок хранятся в хранилище этого браузера. +Взять хранилище можно только при наличии root-доступа. Любым файловым менеджером копируем его на sdcard из внутренней памяти по пути: +*/data/data/net.tenhou.WebBrowserYYYYMMDD/appwebview/Local Storage/file0.localstorage* +Какие-то числа в пути могут быть другие но ничего страшного. Файл представляет собой sqlite3 базу данных, из которой можно взять что нам нужно. Пример для windows: +1. Скачиваем консольный клиент +2. Выгружаем инфу командой: +`sqlite3 %1 -noheader -list "select * from ItemTable where key like 'log%%'" > %1.txt` +3. Нужные нам коды в строках вида: +`log33|{"type":137,"lobby":0,"log":"2017022402gm-0089-0000-51d23e14","oya":3, ...` +> где в кавычках после "log" - код лога +### Chrome +Все тоже самое что и выше только путь вида: +1. Мобильный Chrome +`/data/data/com.android.chrome/app_chrome/Default/Local Storage/http_tenhou_net_0.localstorage` +2. Chrome под Windows +`%User%/AppData/Local/Google/Chrome/User Data/Default/Local Storage/http_tenhou_net_0.localstorage` +### Остальное +Все перечислять проблематично - есть куча браузеров, клиентов. +В помощь можно посоветовать ресурс на GitHub, где можно найти скрипт для выгрузки базы ссылок логов (tenhou-download-game-xml.py). +Так же там есть полная информация по формату лога. +### Для разработчиков +У меня лог парсится и отдается шаблонизатору pug, который уже выводит как надо. +Весь лог преобразуется в JSON-структуру, которую можно поглядеть есть добавить параметр json=1 к GET-запросу прямого линка пайфы. +P.S. В парсере еще не сделаны все мои хотелки, работа продолжается. Как будет все готов по моему мнению опубликую на GitHub. +Пока в планах есть несколько пунктов: +1. подписи к некоторым ключевым тайлам руки (рон, цумо) +2. возможность формирования сразу в pdf (разбивка по страница, оглавление) +3. кнопки поделиться в соцсети??? +4. возможно сбор статистики в tenhou (типа arcturus с возможностью привязки показанных логов \ No newline at end of file