Мы уже некоторое время готовим новый движок для Виртономики. Основная концепция этого механизма - разделение предоставления данных и их представления. То есть, реализуется некоторый интерфейс (API) который позволяет получать данные из игры, не зависимо от их представления в разметке HTML в вашем браузере.
Я пока не готов дать доступ ко всем функциям нового движка, но могу его предоставить к наиболее необходимым методам, для того, чтобы вы могли разрабатывать скрипты, которые не чувствительны к изменениям дизайна Виртономики. Все данные будут предоставляются в формате JSON.
В этой теме вы можете оставлять свои пожелания: какие функции необходимы в первую очередь для реализации полезных скриптов для нашей игры.
Я не гарантирую, что своевременно буду удовлетворять желания наших уважаемых разработчиков скриптов, так как наши ресурсы для разработки весьма ограничены.
- список категорий продуктов product/categories
- список продуктов product/browse
- список розничных продуктов product/goods
два последних метода могут принимать параметр category_id в качестве фильтра
Наверное, самый ожидаемый метод.
Если вы авторизованы в игре, то можно просматривать информацию о своих предприятиях запросом:
unit/summary?id=<unit_id> - где unit_id это id предприятия
- информация о компании my/company
список предприятий своей компании:
company/units?id=<company_id>
можно передавать параметры pagesize и pagenum для постраничного получения данных
Во всех методах, которые возвращают списки, можно передавать в параметрах к этому запросу, необходимые значения полей в качестве фильтров. Например, запрос: company/units?id=<company_id>&unit_type_id=1817 вернет только офисы.
список контрактов:
по поставщикам unit/sale/contracts?id=<unit_id>
по закупкам unit/supply/contracts?id=<unit_id>
можно передавать product_id в качестве фильтра
финансовый отчет по компании:
company/report/finance/byitem?id=<company_id>
Если вы изменили данные предприятия в виртономике через интерфейс пользователя, то необходимо актуализировать данные предприятия, которые вы получали через API, так как для получения данных в самой виртономике и в новом движке используются разные механизмы кэширования.
Чтобы актуализировать данные предприятия, надо выполнить POST запрос: unit/refresh
в POST данных надо передать id=<unit id> и token=<post token>.
Post token нужно получить с помощью GET запроса token
- информация по зарплатам в городах geo/salary
- информация по трудовым ресурсам geo/labors
Оба запроса могут принимать фильтр geo=<country_id>[/<region_id>[/<city_id>]]. Например, geo=7060 - Казахстан, geo=7060/7063 или geo=0/7063 - регион: Южный Казахстан, geo=0/0/422189 - город Гавана.
- транспорт и стоимость доставки geo/transport
Запрос должен принимать параметры city_id - город отправки или назначения, product_id - товар и geo (аналогично параметру geo для запроса geo/salary) - пункт назначения или отправки.
- различные бонусы в странах geo/country/bonus
- таможенные, экспортные и импортные пошлины geo/country/duty Принимает параметр country_id.
- значения ЕНВД для региона geo/region/envd
- стоимость энергии для региона geo/region/energy
Запросы должны принимать параметр region_id
список предприятий своей компании:
company/units?id=<company_id>
можно передавать параметры pagesize и pagenum для постраничного получения данных
Нужно больше параметров-фильтров:
- по виду подразделений
- по используемой квалификации менеджера
- по размеру
- геогрфическому положению
- по статусу (убыточное, нехватает ресурсов, в отпуске и т.д.)
а вам это зачем? Берите сразу все юниты дальше уже наложите фильтр. Благо весь список отдается очень быстро. Делать запросы по каждой группе будет заметно накладнее как мне кажется.
Если бы юниты долго отдавались, был бы смысл.
а вам это зачем? Берите сразу все юниты дальше уже наложите фильтр. Благо весь список отдается очень быстро. Делать запросы по каждой группе будет заметно накладнее как мне кажется.
Если бы юниты долго отдавались, был бы смысл.
Вот у Вас сколько подразделений?
У меня больше 1000 подразделений, получить то я их получу, а как в браузере мне эту махину обработать?
И это у меня еще не много подразделений.
На стороне сервера обработать такую информацию быстрее, чем в браузере. Зачем создавать лишнюю нагрузку на клиенте, когда это может сделать сервере, да еще и быстрее
да тоже больше. Но могу вас заверить что какой то нагрузки это большой не создаст. Чисто из опыта. НО если сделают фильтр хотя бы по классам: заводы, магазины, склады - конечно это облегчит задачу в некоторых случаях когда скрипты целевые чисто на конкретный тип юнита.
Нужно больше параметров-фильтров:
- по виду подразделений
- по используемой квалификации менеджера
- по размеру
- геогрфическому положению
- по статусу (убыточное, нехватает ресурсов, в отпуске и т.д.)
попробуйте передавать в параметрах к этому запросу, необходимые значения полей в качестве фильтров.
например unit_type_id=1817
просьба указывать к какому типу предприятий прилагаются запросы. Запросы supply / sale походу только к заводам. Пока еще не разобрался.
Предыдущий вариант с browse работал и для складов и для заводов вроде.