Spec-Zone.ru › Hammerspoon

hs.sharing

Обмен элементами с macOS-сервисами обмена данными под управлением Hammerspoon.

Этот модуль позволит вам обмениваться элементами Hammerspoon с зарегистрированными службами обмена. Некоторые встроенные службы обмена включают обмен по почте, Facebook, AirDrop и т. д. Другие приложения также могут добавлять дополнительные службы.

Для большинства служб обмена (это не было протестировано со всеми) пользователю будет предложен стандартный диалог обмена, показывающий, что будет обменено, и возможность отправить или отменить.

Этот пример подготавливает электронное письмо со скриншотом:

mailer = hs.sharing.newShare("com.apple.share.Mail.compose")
mailer:subject("Screenshot generated at " .. os.date()):recipients({ "user@address.com" })
mailer:shareItems({ [[
    Add any notes that you wish to add describing the screenshot here and click the Send icon when you are ready to send this

]], hs.screen.mainScreen():snapshot() })

Общие типы данных элементов, которые можно обмениваться с сервисами обмена, включают (но не ограничиваются):

  • базовые типы данных, такие как строки и числа
  • объекты hs.image
  • объекты hs.styledtext
  • веб-сайты и другие URL-адреса с помощью функции hs.sharing.URL
  • локальные файлы с помощью URL-адресов файлов, созданных с помощью функции hs.sharing.fileURL

Обзор API

  • Константы — полезные значения, которые нельзя изменить
    • builtinSharingServices
  • Функции — API-вызовы, предоставляемые непосредственно расширением
    • fileURL
    • shareTypesFor
    • URL
  • Конструкторы — API-вызовы, которые возвращают объект, обычно тот, который предоставляет API-методы
    • newShare
  • Методы — API-вызовы, которые могут быть выполнены только на объекте, возвращенном конструктором
    • accountName
    • alternateImage
    • вложения
    • callback
    • canShareItems
    • image
    • тело сообщения
    • постоянная ссылка
    • получатели
    • имя службы
    • shareItems
    • тема
    • заголовок

Документация API

Константы

builtinSharingServices
Подпись hs.sharing.builtinSharingServices[]
Тип Константа
Описание

Таблица, содержащая предопределенные метки служб обмена, определенные Apple.

Источник extensions/sharing/sharing.lua строка 34

Функции

fileURL
Подпись hs.sharing.fileURL(path) -> table
Тип Функция
Описание

Возвращает таблицу, представляющую URL-адрес файла для указанного пути.

Параметры
  • path — строка, определяющая путь для представления в виде URL-адреса файла.
Возвращаемое значение
  • таблица, содержащая необходимые метки для преобразования указанного пути в URL, как требуется API macOS.
Примечания
  • эта функция является оберткой для hs.sharing.URL, которая устанавливает второй аргумент в true для вас.
  • см. hs.sharing.URL для получения дополнительной информации о формате таблицы, возвращаемой этой функцией.
Источник extensions/sharing/sharing.lua строка 41
shareTypesFor
Подпись hs.sharing.shareTypesFor(items) -> identifiersTable
Тип Функция
Описание

Возвращает таблицу, содержащую идентификаторы служб обмена, которые могут обмениваться указанными элементами.

Параметры
  • items — массив (таблица) или список элементов, разделенных запятыми, которые вы хотите обмениваться с этим модулем.
Возвращаемое значение
  • массив (таблица), содержащий строки, которые идентифицируют идентификаторы служб обмена, которые могут использоваться конструктором hs.sharing.newShare для обмена указанными данными.
Примечания
  • эта функция предназначена для определения идентификаторов доступных на вашем компьютере служб обмена, которые могут не быть включены в таблицу hs.sharing.builtinSharingServices.
Источник extensions/sharing/libsharing.m строка 102
URL
Подпись hs.sharing.URL(URL, [fileURL]) -> table
Тип Функция
Описание

Возвращает таблицу, представляющую указанный URL.

Параметры
  • URL — строка или таблица, определяющая URL.
  • fileURL — необязательный логический тип, по умолчанию false, определяющий, представляет ли URL файл на локальном компьютере.
Возвращаемое значение
  • таблица, содержащая необходимые метки для представления указанного URL, как требуется API macOS.
Примечания
  • Если URL задан как таблица, ожидается, что она будет содержать ключ url, со строковым значением, определяющим правильную схему и локатор ресурса.

  • Поскольку macOS требует, чтобы URL представлялись как определенный тип объекта, у которого нет точного эквивалента в Lua, Hammerspoon использует таблицу со специфическими ключами, чтобы обеспечить надлежащую идентификацию URL-адреса при включении в качестве типа аргумента или результата. Используйте эту функцию или функцию-обертку hs.sharing.fileURL при указании URL-адреса, чтобы убедиться, что определены правильные ключи.

  • В настоящее время для таблицы URL определены следующие ключи (в будущем могут быть добавлены дополнительные ключи, если будущие модули Hammerspoon потребуют их для более полного использования класса macOS NSURL, но эти ключи не изменятся):

    • url — строка, содержащая URL-адрес с правильной схемой и локатором ресурса
    • filePath = строка, определяющая фактический путь к файлу в случае, если URL-адрес является URL-адресом ссылки на файл. Обратите внимание, что установка этого поля этим методом будет проигнорирована; поле автоматически вставляется при необходимости при возвращении объекта NSURL в lua.
    • __luaSkinType — строка, определяющая тип macOS, который представляет эта таблица при преобразовании в тип Objective-C
Источник extensions/sharing/libsharing.m строка 146

Конструкторы

newShare
Подпись hs.sharing.newShare(type) -> sharingObject
Тип Конструктор
Описание

Создает новый объект обмена типа, определяемого предоставленным идентификатором.

Параметры
  • type — строка, определяющая идентификатор типа обмена, как указано в таблице hs.sharing.builtinSharingServices или возвращенной функцией hs.sharing.shareTypesFor.
Возвращаемое значение
  • объект sharingObject или nil, если идентификатор типа не может быть создан на этой системе
Источник extensions/sharing/libsharing.m строка 80

Методы

accountName
Подпись hs.sharing:accountName() -> string | nil
Тип Метод
Описание

Имя учетной записи, используемое службой обмена при публикации в Twitter или Sina Weibo.

Параметры
  • Нет
Возвращаемое значение
  • строка, содержащая имя учетной записи, используемой службой обмена, или nil, если служба обмена не предоставляет это.
Примечания
  • Согласно документации Apple API, только службы обмена Twitter и Sina Weibo установят это свойство, но это не было полностью протестировано.
Источник extensions/sharing/libsharing.m строка 361
alternateImage
Подпись hs.sharing:alternateImage() -> hs.image object | nil
Тип Метод
Описание

Возвращает альтернативное изображение, если оно существует, представляющее службу обмена, предоставленную этим объектом обмена.

Параметры
  • Нет
Возвращаемое значение
  • объект hs.image или nil, если альтернативное изображение для представления службы обмена не определено.
Источник extensions/sharing/libsharing.m строка 470
вложения
Подпись hs.sharing:attachments() -> table | nil
Тип Метод
Описание

Если служба обмена предоставляет массив вложений, включенных при публикации данных, этот метод вернет массив таблиц URL-адресов файлов вложений.

Параметры
  • Нет
Возвращаемое значение
  • массив (таблица), содержащий URL-адреса файлов вложений, или nil, если выбранная служба обмена не предоставляет это.
Примечания
  • не все службы обмена будут устанавливать значение для этого свойства.
Источник extensions/sharing/libsharing.m строка 341
callback
Подпись hs.sharing:callback(fn) -> sharingObject
Тип Метод
Описание

Установить или очистить обратный вызов для sharingObject.

Параметры
  • fn - функция или nil для установки или удаления обратного вызова для sharingObject
Возвращаемое значение
  • sharingObject
Примечания
  • обратный вызов должен принимать 3 или 4 аргумента и не возвращать результатов. Аргументы будут следующими:
    • сам sharingObject
    • сообщение обратного вызова, которое будет строкой, равной одному из следующих:
      • "didFail" - произошла ошибка при попытке поделиться элементами
      • "didShare" - служба совместного доступа завершила совместный доступ к элементам
      • "willShare" - служба совместного доступа собирается начать совместный доступ к элементам; происходит перед фактическим началом совместного доступа
    • массив (таблица), содержащий элементы, которые разделяются; если сообщение равно "didFail" или "didShare", элементы могут быть в другом порядке или преобразованы в другой внутренний тип для облегчения совместного доступа.
    • если сообщение равно "didFail", четвертым аргументом будет локализованное описание произошедшей ошибки.
Источник extensions/sharing/libsharing.m строка 239
canShareItems
Подпись hs.sharing:canShareItems(items) -> boolean
Тип Метод
Описание

Возвращает логическое значение, указывающее, могут ли все указанные элементы быть разделены со службой совместного доступа, представленной sharingObject.

Параметры
  • items - массив (таблица) или список элементов, разделенных запятыми, которые должны быть разделены службой совместного доступа
Возвращаемое значение
  • логическое значение, указывающее, могут ли все указанные элементы быть разделены со службой совместного доступа, представленной sharingObject.
Источник extensions/sharing/libsharing.m строка 216
image
Подпись hs.sharing:image() -> hs.image object | nil
Тип Метод
Описание

Возвращает изображение, если оно существует, представляющее службу совместного доступа, предоставляемую этим объектом совместного доступа.

Параметры
  • Нет
Возвращаемое значение
  • объект hs.image или nil, если для службы совместного доступа не определено представление изображения.
Источник extensions/sharing/libsharing.m строка 487
messageBody
Подпись hs.sharing:messageBody() -> string | nil
Тип Метод
Описание

Если служба совместного доступа предоставляет тело сообщения, опубликованного при завершении совместного доступа, этот метод вернёт тело сообщения в виде строки.

Параметры
  • Нет
Возвращаемое значение
  • строка, содержащая тело сообщения, или nil, если выбранная служба совместного доступа этого не предоставляет.
Примечания
  • не все службы совместного доступа установят значение для этого свойства.
Источник extensions/sharing/libsharing.m строка 381
permanentLink
Подпись hs.sharing:permanentLink() -> URL table | nil
Тип Метод
Описание

Если служба совместного доступа предоставляет постоянную ссылку на публикацию после завершения совместного доступа, этот метод вернёт соответствующий URL.

Параметры
  • Нет
Возвращаемое значение
  • URL постоянной ссылки или nil, если выбранная служба совместного доступа этого не предоставляет.
Примечания
  • не все службы совместного доступа установят значение для этого свойства.
Источник extensions/sharing/libsharing.m строка 450
recipients
Подпись hs.sharing:recipients([recipients]) -> current value | sharingObject
Тип Метод
Описание

Получить или установить тему, используемую при выполнении службой совместного доступа операции совместного доступа.

Параметры
  • recipients - необязательный массив (таблица) или список строк получателей, разделённых запятыми, которые указывают получателей общих элементов.
Возвращаемое значение
  • если аргумент предоставлен, возвращает sharingObject; в противном случае возвращает текущее значение.
Примечания
  • не все службы совместного доступа будут использовать значение, установленное этим методом.
  • отдельные получатели должны быть указаны в виде строк в формате, ожидаемом службой совместного доступа; например, для элементов, которые разделяются по электронной почте, получатели должны быть адресами электронной почты и т. д.
Источник extensions/sharing/libsharing.m строка 272
serviceName
Подпись hs.sharing:serviceName() -> string
Тип Метод
Описание

Идентификатор службы для службы совместного доступа, представленной sharingObject.

Параметры
  • Нет
Возвращаемое значение
  • строка, содержащая идентификатор службы совместного доступа.
Примечания
  • эта строка будет совпадать с идентификатором, используемым для создания объекта службы совместного доступа с помощью hs.sharing.newShare
Источник extensions/sharing/libsharing.m строка 421
shareItems
Подпись hs.sharing:shareItems(items) -> sharingObject
Тип Метод
Описание

Производит совместный доступ к указанным элементам со службой совместного доступа, представленной sharingObject.

Параметры
  • items - массив (таблица) или список элементов, разделенных запятыми, которые должны быть разделены службой совместного доступа
Возвращаемое значение
  • sharingObject или nil, если один или несколько элементов не могут быть разделены со службой совместного доступа, представленной sharingObject.
Примечания
  • Вы можете проверить, могут ли все ваши элементы быть разделены с помощью метода hs.sharing:canShareItems.
Источник extensions/sharing/libsharing.m строка 185
subject
Подпись hs.sharing:subject([subject]) -> current value | sharingObject
Тип Метод
Описание

Получить или установить тему, используемую при выполнении службой совместного доступа операции совместного доступа.

Параметры
  • subject - необязательная строка, определяющая тему для публикации общих данных
Возвращаемое значение
  • если аргумент предоставлен, возвращает sharingObject; в противном случае возвращает текущее значение.
Примечания
  • не все службы совместного доступа будут использовать значение, установленное этим методом.
Источник extensions/sharing/libsharing.m строка 315
title
Подпись hs.sharing:title() -> string
Тип Метод
Описание

Название службы совместного доступа, представленной sharingObject.

Параметры
  • Нет
Возвращаемое значение
  • строка, содержащая название службы совместного доступа.
Примечания
  • эта строка отличается от идентификатора, используемого для создания объекта службы совместного доступа с помощью hs.sharing.newShare, и предназначена для предоставления более дружественного обозначения для службы, если вам нужно перечислить или сослаться на неё в другом месте.
Источник extensions/sharing/libsharing.m строка 401

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.sharing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API