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

OSCHINA-MIRROR/javazj-apifm-flutter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
instructions.md 71 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 05:51 c0fb84f

Чтение данных об участии в групповых закупках

  • Три уровня дистрибуции.
    • Подача заявки на участие в качестве дистрибьютора.
    • Запрос статуса заявки.
    • Управление командой.
    • Отчётность по комиссионным вознаграждениям.

Модуль накопления баллов

  • Чтение правил списания баллов за заказ.
  • Чтение правил начисления баллов.
  • Регистрация с накоплением баллов.
    • Правила регистрации.
    • Регистрация.
  • Получение информации о текущей регистрации.
  • Отчёт о регистрации.
  • Обмен баллов на баллы.
  • Детализация баллов.

Финансовые операции

  • Получение сведений об активах (остаток, доступные баллы).
  • Онлайн-оплата (пополнение баланса).
    • Правила оплаты (сколько за сколько).
    • Оплата через WeChat.
    • Платёж через Alipay (полуавтоматический).
    • История платежей.
  • Покупка со скидкой.
    • Получение скидки на покупку.
    • Покупка.
  • Финансовый поток.
  • Управление снятием средств.
    • Заявка на снятие средств.
    • История снятия средств.
    • Подробные сведения о снятии средств.
  • Управление счетами-фактурами.
    • Оформление счетов-фактур.
    • Список оформленных счетов-фактур.
    • Сведения о счетах-фактурах.
  • Контроль залога.
    • Внесение залога.
    • Чтение списка залогов.
    • Информация о залоге.
    • Заявление на возврат залога.

Мероприятия и инструменты

  • Уникальный идентификатор в распределённой системе.
  • Услуги по телефонным кодам.
    • Поиск региона.
    • Следующее значение телефонного кода.
  • Функция лотереи.
    • Подробная информация о лотерее.
    • Участие в лотерее.
    • Моя информация об участии в лотерее.
    • Все записи об участии в лотереях.
  • Предварительная запись/регистрация.
    • Просмотр всех проектов предварительной записи/регистрации.
    • Подробности проекта.
    • Предварительная регистрация или онлайн-регистрация.
    • Оплата регистрационного взноса.
    • Обновление информации о предварительной записи/регистрации.
    • Мои регистрационные данные.
    • Мой полный отчёт о предварительной записи.
    • Просмотр списка команд для определённого проекта.
    • Изучение деталей команды.
    • Извлечение списка членов команды.
    • Удаление члена команды лидером команды.
  • Голосование.
    • Проект голосования.
    • Детали голосования.
    • Моё голосование.
    • Я хочу проголосовать.
    • Проверка деталей голосования.
  • Поиск штрихкодов товаров.
  • Сервис коротких ссылок.
  • Инструменты карты.
    • Вычисление расстояния между двумя координатами.
    • Преобразование координат в адрес.
    • Поиск на карте.
  • Очередь вызовов.
    • Доступ ко всем очередям.
    • Принятие вызова.
    • Моя ситуация с принятием вызова.

Социальные коммуникации

  • Управление друзьями.
    • Считывание списка друзей.
    • Добавление друга.
    • Просмотр информации о друге.
  • Управление внутренними сообщениями.
    • Список внутренних сообщений.
    • Пометка как прочитанное.
    • Удаление внутреннего сообщения. Код:
code — это проверочный код, который отправляется на телефон пользователя.

## Проверочный код по электронной почте

### Получение проверочного кода (отправка электронного письма)

```js
Apifm.mailValidateCode(String mail)

Проверка правильности введённого проверочного кода

Apifm.mailValidateCodeCheck(String mail, String code)

Регистрация и вход

Регистрация пользователя

Регистрация по имени пользователя

Apifm.registerUsername(Map<String, String> params)

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

Пример кода:

Apifm.registerUsername({
  'username': 'zansan',
  'pwd': '123456',
  'nick': '张三'
})

Регистрация по электронной почте

Apifm.registerEmail(Map<String, String> params)

Регистрация по номеру телефона

Apifm.registerMobile(Map<String, String> params)

Самый распространённый способ регистрации: пользователь вводит номер телефона, получает проверочный SMS-код, вводит его и регистрируется.

Однократная регистрация через QQ Connect

Apifm.registerQQConnect(Map<String, String> params)

Однократная регистрация с помощью QQ Connect требует следующих параметров:

Параметры, возвращаемые после авторизации:

oauthConsumerKey, openid, accessToken

Пожалуйста, обратитесь к документации по QQ Connect для получения дополнительной информации.

Необязательные параметры:

referrer — пригласивший вас пользователь (идентификатор пользователя), postJsonString — дополнительная информация для регистрации в формате JSON.

Однократная регистрация через WeChat

Apifm.registerWX(Map<String, String> params)

Для однократной регистрации через WeChat требуются следующие параметры:

Возвращаемые параметры после авторизации:

code

Необязательный параметр:

referrer — пригласивший вас пользователь (идентификатор пользователя), postJsonString — дополнительная информация для регистрации в формате JSON.

Вход пользователя

Вход по имени пользователя

Apifm.loginUsername(String username, String pwd, String deviceId, String deviceName)

Пример кода:

var res = await Apifm.loginUsername('zansan', '123456', '33010500879931234', 'iphone8 Plus');
int uid = res['data']['uid'];
String token = res['data']['token'];
print('uid: $uid, token is : $token');

deviceId рекомендуется считывать из серийного номера телефона;

*deviceName рекомендуется считывать из модели телефона.

Вход по электронной почте

Apifm.loginEmail(String email, String pwd, String deviceId, String deviceName)

Пример кода:

var res = await Apifm.loginEmail('zansan@163.com', '123456', '33010500879931234', 'iphone8 Plus');
int uid = res['data']['uid'];
String token = res['data']['token'];
print('uid: $uid, token is : $token');

deviceId рекомендуется считывать из серийного номера телефона;

*deviceName рекомендуется считывать из модели телефона.

Вход по номеру телефона

Apifm.loginMobile(String mobile, String pwd, String deviceId, String deviceName)

Пример кода:

var res = await Apifm.loginMobile('13500000000', '123456', '33010500879931234', 'iphone8 Plus');
int uid = res['data']['uid'];
String token = res['data']['token'];
print('uid: $uid, token is : $token');

deviceId рекомендуется считывать из серийного номера телефона;

*deviceName рекомендуется считывать из модели телефона.

Однократный вход через QQ Connect

Apifm.loginQQConnect(String oauthConsumerKey, String openid, String accessToken)

Для входа необходимы три параметра, которые возвращаются после авторизации. Пожалуйста, обратитесь к документации QQ Connect.

Однократный вход через WeChat

Apifm.loginWX(String code)

code — временный токен, полученный после успешной авторизации.

Проверка действительности токена входа

Apifm.checkToken(String token)

Сброс пароля

Восстановление пароля по телефону

Apifm.resetPwdUseMobileCode(String mobile, String pwd, String code)

Используется для восстановления пароля, если он был забыт. После ввода номера телефона система отправляет проверочное SMS-сообщение. Введя правильный проверочный код, можно установить новый пароль.

Восстановление пароля по электронной почте

Apifm.resetPwdUseEmailCode(String email, String pwd, String code)

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

Выход из системы

Apifm.loginout(String token)

После выхода текущий токен становится недействительным.

Информация о пользователе

Привязка номера телефона

Подтверждение номера телефона с помощью проверочного SMS-кода

Apifm.bindMobileSms(String token, String mobile, String code, [String pwd])

Рекомендуется использовать этот метод вместе с методами проверки подлинности, описанными в этом документе.

pwd — необязательный параметр. Если он указан, текущий пароль будет сброшен на указанный новый пароль.

Установка имени пользователя

Apifm.bindUsername(String token, String username, [String pwd])

Позволяет установить имя пользователя для последующего входа. Имя пользователя должно быть уникальным в системе.

pwd — необязательный параметр. Если он указан, текущий пароль будет сброшен на указанный новый пароль.

Настройка адреса электронной почты

Apifm.bindEmail(String token, String email, String code, [String pwd])

Подтверждает адрес электронной почты с помощью проверочного сообщения.

pwd — необязательный параметр. Если он указан, текущий пароль будет сброшен на указанный новый пароль.

Однократная привязка QQ Connect

Apifm.bindQQConnectOpenid(String token, String oauthConsumerKey, String openid, String accessToken)

token — текущий токен пользователя;

Остальные три параметра необходимо проверить в документации QQ Connect.

Однократная привязка WeChat

Apifm.bindWXOpenid(token, code)

Пользователи, зарегистрированные по номеру телефона или имени пользователя, могут использовать эту функцию для привязки WeChat. Это позволит им использовать функцию однократного входа через WeChat в будущем.

code — токен, выданный после успешной авторизации через WeChat.

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

Apifm.userDetail(String token)

base — данные, содержащие основную информацию о пользователе;

idcard — данные, содержащие информацию об аутентификации пользователя (если пользователь прошёл аутентификацию);

ext — данные, содержащие дополнительные атрибуты пользователя.

Изменение данных пользователя

Apifm.modifyUserInfo(Map<String, String> params)

Аутентификация личности

Apifm.idcardCheck(String token, String name, String idCardNo)

Проверяет, совпадают ли имя и номер удостоверения личности.

name — настоящее имя;

idCardNo — номер удостоверения личности.

Система членства

Получить список всех уровней членства

Apifm.userLevelList(Map<String, String> params)

Читает все уровни членства, установленные на сервере. Для получения подробной информации обратитесь к документации интерфейса.

Просмотреть детали уровня членства

Apifm.userLevelDetail(int levelId)

levelId — идентификатор уровня членства.

Список сборов для каждого уровня членства

Аpifm.memberFeeList()
``` Apifm.userLevelPrices(int levelId)  

levelId — это идентификатор уровня членства, данный метод позволяет получить список оплаты для определённого уровня членства (например, уровень «бриллиантовый участник»).  

Например: бесплатное использование в течение 7 дней, 30 юаней в месяц, 70 юаней за квартал, 200 юаней за год.  

Пользователи могут приобрести членство с помощью следующего метода и после покупки сразу получают соответствующий уровень членства до окончания срока его действия.  

### Приобретение членства  

```js  
Apifm.userLevelBuy(String token, int priceId, [bool isAutoRenew, String remark])  

priceId — это идентификатор списка оплаты, полученного ранее.
isAutoRenew = true / false; используется для определения того, будет ли автоматически продлён срок членства после его окончания, если установлено автоматическое продление, то после окончания срока членства оплата будет автоматически взиматься с доступного баланса.
remark — это информация, предоставленная при покупке.

Получение записей о моих покупках/продлении

Apifm.userLevelBuyLogs(Map<String, String> params)  

Управление адресами доставки

Получение всех адресов доставки

Apifm.queryAddress(String token)  

Добавление адреса доставки

Apifm.addAddress(Map<String, String> params)  

Обновление адреса доставки

Apifm.updateAddress(Map<String, String> params)  

Получение адреса по умолчанию

Apifm.defaultAddress(String token)  

Чтение подробной информации об адресе

Apifm.addressDetail(String token, int id)  

Удаление адреса доставки

Apifm.deleteAddress(String token, int id)  

Модуль CMS

Управление категориями

Получение всех категорий

Apifm.cmsCategories()  

Получение подробной информации о категории

Apifm.cmsCategoryDetail(int id)  

Управление статьями

Список статей

Apifm.cmsArticles(Map<String, String> params)  

Подробная информация о статье

Apifm.cmsArticleDetail(int id)  

Пометка статьи как полезной или бесполезной

Apifm.cmsArticleUseless(Map<String, String> params)  

Запись о пометке статьи как полезной или бесполезной

Apifm.cmsArticleUsefulLogs(Map<String, String> params)  

Информация о предыдущей и следующей статьях

Apifm.cmsArticlePreNext(int id)  

Публикация статьи (пользователь публикует статью)

Apifm.cmsArticleCreate(Map<String, String> params)  

Удаление собственной опубликованной статьи

Apifm.cmsArticleDelete(String token, int id)  

Одностраничная информация (о нас, контакты и т. д.)

Apifm.cmsPage(String key)  

Получение списка тегов статей (используется для отображения похожих тегов)

Apifm.cmsTags()  

Отзывы и обратная связь

Отправка отзыва или обратной связи

Apifm.addComment(Map<String, String> params)  

Просмотр списка отзывов и комментариев

Apifm.commentList(Map<String, String> params)  

Модуль магазина

Управление магазинами

Получение списка всех магазинов

Apifm.fetchShops(Map<String, String> params)  

Поддерживает сортировку по близости к текущему местоположению пользователя.
Пример ответа:

{  
  "code": 0,  
  "data": [  
    {  
      "cityId": "150200000000",  
      "dateAdd": "2019-07-18 17:45:26",  
      "dateUpdate": "2019-07-29 09:37:19",  
      "districtId": "150205000000",  
      "id": 4963,  
      "latitude": 39.916527,  
      "linkPhone": "11",  
      "longitude": 116.397128,  
      "name": "111",  
      "numberGoodReputation": 0,  
      "numberOrder": 0,  
      "paixu": 0,  
      "provinceId": "150000000000",  
      "status": 0,  
      "statusStr": "нормальный",  
      "userId": 2  
    }  
  ],  
  "msg": "успех"  
}  

Подробные сведения о магазине

Apifm.shopSubdetail(int id)  

id — это параметр, который используется для получения идентификатора из списка магазинов.
Этот метод может использоваться для доступа к расширенной информации о настройках магазина.
Ответ примера:

{  
  "code": 0,  
  "data": {  
    "extJson": {  
      "сертификат номер": "",  
      "3C модель продукта": "",  
      "напряжение": "",  
      "источник питания": ""  
    },  
    "info": {  
      "активность": "",  
      "адрес": "город Ханчжоу, район Паншань, улица Дэнъюнь и улица Чжаоу, перекрёсток",  
      "характеристика": "супермаркет фруктов и овощей",  
      "городId": "330100000000",  
      "дата добавления": "2017-03-20 20:27:36",  
      "дата обновления": "2019-03-05 12:27:25",  
      "районId": "330105000000",  
      "экспресс тип": "",  
      "идентификатор": 1,  
      "введение": "пожалуйста, дайте простое введение",  
      "широта": 30.307559,  
      "ссылка на телефон": "1234",  
      "долгота": 120.130023,  
      "имя": "магазин фруктов и овощей на улице Дэнъюнь в районе Паншань города Ханчжоу",  
      "номер": "",  
      "число хорошей репутации": 0,  
      "количество заказов": 0,  
      "пайсю": 0,  
      "фото": "https://cdn.it120.cc/apifactory/2017/03/20/0f4b625100de82467f3e193d1bf3577d.png",  
      "провинцияId": "330000000000",  
      "статус": 0,  
      "состояние строки": "нормальное",  
      "тип": "",  
      "userId": 2  
    }  
  },  
  "msg": "успех"  
}  

Классификация товаров

Apifm.goodsCategory()  

Получает все данные о классификации, установленные в бэкэнде, включая иерархические отношения между категориями, которые можно использовать для создания структуры каталога.
Уровень = 1 означает первый уровень классификации; 2 означает второй уровень классификации и так далее.
pid представляет собой идентификатор родительской категории (для первого уровня pid = 0).
Можно использовать js для реализации структуры каталога на основе этих двух полей.
Ответ примера:

{  
  "код": 0,  
  "данные": [  
    {  
      "дата добавления": "2017-09-12 11:07:32",  
      "дата обновления": "2019-04-10 11:24:32",  
      "значок": "https://cdn.it120.cc/apifactory/2019/04/09/f89753a227d26a3fe9ccc6f975857bb6.png",  
      "идентификатор": 1872,  
      "использовать": true,  
      "ключ": "1",  
      "уровень": 1,  
      "название": "верхняя одежда",  
      "пайсю": 0,  
      "pid": 0,  
      "тип": "",  
      "userId": 951  
    }  
  ],  
  "сообщение": "успех"  
}  

Управление товарами

Получить список товаров

Ассистент: #### Управление товарами

Получить список товаров:
```Apifm.goodsList()```

К сожалению, не удалось найти полную версию исходного запроса.

В ответе представлен перевод текста технической направленности из области разработки и тестирования программного обеспечения.

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

Apifm.goodsLimitations(int goodsId, [int priceId])

Если в поле limitation указано значение true, это означает, что для данного товара действует ограничение на покупку: только участники с определённым уровнем членства могут приобрести не более указанного количества товаров в течение установленного периода времени.

Этот метод принимает два параметра: goodsId — обязательный параметр, представляющий идентификатор товара; priceId — необязательный параметр, который требуется передавать только при покупке товара с определённой спецификацией.

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

Пример ответа от интерфейса:

{
  "code": 0,
  "data": [
    {
      "buyNumbers": 22,
      "duration": 11,
      "goodsId": 145565,
      "id": 6,
      "priceId": 1279085,
      "unit": 0,
      "unitStr": "дней",
      "userId": 2,
      "userLevelId": 1,
      "userLevelName": "Золотой участник"
    },
    {
      "buyNumbers": 3,
      "duration": 1,
      "goodsId": 145565,
      "id": 2,
      "priceId": 1279084,
      "unit": 2,
      "unitStr": "лет",
      "userId": 2,
      "userLevelId": 1,
      "userLevelName": "Золотой участник"
    },
    {
      "buyNumbers": 4,
      "duration": 3,
      "goodsId": 145565,
      "id": 1,
      "priceId": 1279084,
      "unit": 0,
      "unitStr": "дней",
      "userId": 2,
      "userLevelId": 0,
      "userLevelName": "Участник без группы"
    }
  ],
  "msg": "успех"
}

Получение цены товара (обычно используется после выбора различных спецификаций для отображения текущей цены)

Apifm.goodsPrice(int goodsId, String propertyChildIds)

Параметр goodsId представляет собой идентификатор товара.

Параметр propertyChildIds содержит данные о выбранных спецификациях товара, разделённые запятыми. Формат данных: спецификация_id:дочернее_свойство_id. Например: 4:15,2:10 (соответственно цвет:красный, память:256 ГБ).

Пример ответа от интерфейса:

{
  "code": 0,
  "data": {
    "goodsId": 139421,
    "id": 1330668,
    "originalPrice": 566,
    "pingtuanPrice": 0,
    "price": 123,
    "propertyChildIds": "1:1,",
    "propertyChildNames": "цвет:мятный,",
    "score": 0,
    "stores": 99999,
    "userId": 2
  },
  "msg": "успех"
}

Получение ежедневной цены и ежедневного запаса товара (подходит для бронирования отелей и билетов)

Apifm.goodsPriceDaily(int goodsId, int priceId)

Параметр goodsId представляет собой идентификатор товара.

Параметр priceId представляет собой запись спецификации товара. Если у товара нет спецификаций, этот параметр можно не передавать.

Пример ответа от интерфейса:

{
  "code": 0,
  "data": [
    {
      "day": "2019-08-14",
      "goodsId": 139421,
      "id": 255,
      "price": 1,
      "stores": 1,
      "userId": 2
    },
    {
      "day": "2019-08-15",
      "goodsId": 139421,
      "id": 256,
      "price": 1,
      "stores": 1,
      "userId": 2
    }
  ],
  "msg": "успех"
}

Метод расчёта стоимости доставки/логистики

Apifm.goodsPriceFreight(Map<String, String> params)

Предоставляет адрес доставки. Этот метод может рассчитать способ оплаты за текущую доставку.

Например: одна единица (вес) x юаней, затем каждая дополнительная единица (веса) y юаней

Пример ответа от интерфейса:

{
  "code": 0,
  "data": {
    "firstNumber": 1,
    "addAmount": 1,
    "firstAmount": 1,
    "addNumber": 1
  },
  "msg": "успех"
}

В этом примере 10 означает скидку 10%, то есть отсутствие скидки.

Извлечение информации о скидках, доступных текущему участнику

Apifm.goodsRebate(String token, int goodsId)

Параметр token представляет токен текущего участника.

Параметр goodsId представляет идентификатор товара.

Пример ответа от интерфейса:

{
  "code": 0,
  "data": 10,
  "msg": "успех"
}
``` **Товар в коллекцию**

*Добавить товар в избранное*
```js
Apifm.goodsFavPut(String token, int goodsId)

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

{
  "code": 0,
  "msg": "success"
}

Проверить, добавлен ли товар в избранное

Apifm.goodsFavCheck(String token, int goodsId)

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

  • товар добавлен в избранное:
{
  "code": 0,
  "data": "добавлен в избранное"
}
  • товар не добавлен в избранное:
{
  "code": -1,
  "data": "не добавлен в избранное"
}

Получить список добавленных товаров

Apifm.goodsFavList(Map<String, String> params)

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

{
  "code": 0,
  "data": [
    {
      "dateAdd": "2019-08-14 10:53:44",
      "dateUpdate": "2019-08-14 11:01:02",
      "goodsId": 139421,
      "goodsName": "111",
      "id": 12537,
      "pic": "https://cdn.it120.cc/apifactory/2019/05/10/fa52e312-c8a9-4558-8280-7d67224b6f67.png"
    }
  ],
  "msg": "успех"
}

Удалить товар из коллекции

Apifm.goodsFavDelete(String token, int id, int goodsId)

Параметры id и goodsId — обязательные.

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

{
  "code": 0,
  "msg": "успех"
}

Управление заказами

Создать заказ

Apifm.orderCreate(Map<String, String> params)

Основные параметры:

  1. calculate — если true, можно сделать предварительный заказ. Предварительный заказ не будет отправлен, но будет рассчитана стоимость заказа.
  2. deductionScore — количество баллов, которые будут использованы для скидки при оформлении заказа. Сначала необходимо рассчитать баллы с помощью правил скидок и метода чтения активов. После оформления заказа система автоматически рассчитает оставшуюся сумму к оплате.

Закрыть заказ

Apifm.orderClose(String token, int orderId)

Отменить заказ

Apifm.orderDelete(String token, int orderId)

Заказ удаляется только для пользователя. Администратор по-прежнему может видеть этот заказ в системе.

Оплатить заказ с использованием баланса

Apifm.orderPay(String token, int orderId)

Оплата производится с баланса пользователя.

Подтвердить получение

Apifm.orderDelivery(String token, int orderId)

Администратор отправляет заказ покупателю. Покупатель подтверждает получение после проверки посылки. Затем заказ переходит на этап оценки. Покупатель может оценить качество товара, поделиться фотографиями и т. д.

Одобрить возврат

Apifm.orderHX(String hxNumber)

Параметр hxNumber — это код возврата. Его следует хранить в надёжном месте. Продавец одобряет возврат на основе этого кода. По умолчанию код возврата не создаётся. Если вам нужна эта функция, добавьте isCanHx=true в параметры создания заказа. После одобрения возврата заказ считается завершённым, и переходит в статус ожидания оценки.

Статистика заказов

Apifm.orderStatistics(String token)

Статистика заказов используется для отображения количества заказов в различных состояниях или для отображения статистики заказов с помощью маленьких красных точек. Метод возвращает следующие данные:

  1. count_id_no_pay — количество неоплаченных заказов.
  2. count_id_no_transfer — количество оплаченных заказов, ожидающих отправки от продавца.
  3. count_id_no_confirm — количество отправленных заказов, ожидающих подтверждения получения от покупателя.
  4. count_id_no_reputation — количество заказов, успешно отправленных и ожидающих оценки от покупателя.
  5. count_id_success — количество успешно выполненных заказов, уже оценённых покупателем.
  6. count_id_close — количество закрытых заказов.

Список всех заказов

Apifm.orderList(Map<String, String> params)

Информация о заказе

Apifm.orderDetail(String token, int id)

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

Оценка заказа

Apifm.orderReputation(Map<String, String> params)

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

Запрос на возврат или обмен

Apifm.refundApply(Map<String, String> params)

Этот метод позволяет покупателю запросить возврат средств, обмен товара или другие действия в рамках послепродажного обслуживания.

Детали запроса на возврат

Apifm.refundApplyDetail(String token, int orderId)

Отмена запроса на возврат

Apifm.refundApplyCancel(String token, int orderId)

История запросов на возврат для определённого заказа

Apifm.orderRefunds(String token, int orderId)

Один заказ может иметь несколько запросов на возврат. Этот метод позволяет получить всю историю запросов для конкретного заказа.

Торговля виртуальными товарами

Список товаров

Apifm.virtualTraderList(Map<String, String> params)

Рекомендуется использовать эту функцию вместе с системой управления контентом (CMS), чтобы предоставить покупателям достаточно информации перед покупкой.

Подробная информация о товаре

Apifm.virtualTraderDetail(String token, int id)

Позволяет получить подробные сведения о товаре. Покупка

После покупки возвращаются атрибуты и детали оплаты.

Поэтому вы можете использовать эту функцию для реализации чтения после покупки и воспроизведения после покупки.

Покупка товара

Apifm.virtualTraderBuy(String token, int id)

Использование баланса пользователя для покупки платного контента.

Как использовать онлайн-платеж, см. в разделе nextAction функции онлайн-оплаты.

Моя история покупок

Apifm.virtualTraderMyBuyLogs(Map<String, String> params)

Все мои истории платных покупок.

Чтение деталей видео по номеру видео

Apifm.videoDetail(String videoId)

Маркетинговые инструменты

Управление купонами

Получить список всех купонов системы

Apifm.coupons(Map<String, String> params)

Просмотр сведений о купоне

Apifm.couponDetail(int id)

Получение купона

Apifm.fetchCoupons(Map<String, String> params)

Мои купоны

Apifm.myCoupons(Map<String, String> params)

Подарить купон другому человеку

Apifm.sendCoupons(Map<String, String> params)

Обмен купонов

Apifm.exchangeCoupons(String token, String number, String pwd)

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

Снижение цен на товары

Получите настройки снижения цен на товары:

  • общее количество;
  • минимальная цена;
  • сумма, которую можно снизить за один раз (случайная);
  • время начала и окончания.

Конкретные сведения можно найти на странице настроек снижения цен.

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {
    "dateAdd": "2019-08-14 15:35:29",
    "dateEnd": "2019-08-31 15:35:24",
    "helpPriceMax": 56,
    "helpPriceMin": 12,
    "id": 1067,
    "minPrice": 8,
    "number": 999,
    "numberBuy": 0,
    "originalPrice": 888,
    "status": 0,
    "statusStr": "нормальный"
  },
  "msg": "успех"
}

В приведённом выше примере данные интерфейса, возвращаемые параметром id, являются ключевыми. В следующих методах снижения цен используется параметр kjid, который равен значению параметра id.

Почему в следующих методах снижения цены необходимо использовать параметр kjid вместо идентификатора товара?

Потому что для одного и того же товара может быть опубликовано несколько проектов снижения цен, у некоторых из них низкая базовая цена, но высокая сложность снижения, требующая помощи большего количества людей; у других базовая цена высока, но её легко снизить; некоторые даже устанавливают несколько одновременных проектов снижения цен для одного и того же товара, основываясь на разных сроках начала и окончания.

Запуск снижения цены и приглашение друзей помочь вам снизить цену до базовой

Apifm.kanjiaJoin(String token, int kjid)

Каждый пользователь может участвовать только в одном снижении цены для одного и того же kjid. Повторный вызов этого метода вернёт информацию о предыдущем снижении цены.

Если пользователь не удовлетворён результатом предыдущего снижения цены, он может вызвать метод clear для очистки предыдущей записи о снижении цены и запустить снижение цены снова.

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {
    "curPrice": 888,
    "goodsId": 139421,
    "kjId": 1067,
    "minPrice": 8,
    "uid": 979527
  },
  "msg": "успех"
}

Сведения о моём запущенном снижении цены

Apifm.kanjiaMyJoinInfo(String token, int kjid)

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

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {
    "curPrice": 888,
    "dateAdd": "2019-08-14 15:46:22",
    "dateUpdate": "2019-08-14 15:46:22",
    "goodsId": 139421,
    "helpNumber": 0,
    "kjId": 1067,
    "minPrice": 8,
    "status": 0,
    "statusStr": "в процессе",
    "uid": 979527
  },
  "msg": "успех"
}

Отказаться от предыдущего снижения цены

Apifm.kanjiaClear(String token, int kjid)

Поскольку каждый пользователь может участвовать в снижении цены только один раз для одного и того же kjid, если пользователь хочет запустить снижение цены повторно, ему необходимо сначала отказаться от предыдущего снижения. После этой операции вы больше не сможете найти запись о снижении цены для текущего kjid и данные о снижении будут очищены. Вы можете снова вызвать метод kanjiaJoin, чтобы запустить новое снижение цены.

Детали снижения цены

Apifm.kanjiaDetail(int kjid, int joiner)

Параметр joiner — это uid пользователя, запустившего снижение цены. В приведённом примере joiner = 979527.

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

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {
    "kanjiaInfo": {
      "curPrice": 888,
      "dateAdd": "2019-08-14 15:46:22",
      "dateUpdate": "2019-08-14 15:46:22",
      "goodsId": 139421,
      "helpNumber": 0,
      "kjId": 1067,
      "minPrice": 8,
      "status": 0,
      "statusStr": "в процессе",
      "uid": 979527
    },
    "joiner": {
      "nick": "gooking",
      "avatarUrl": "https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eriagnYJN3GtiaruhqTFkdpYHtQicwLiaFrwbuSInE7HN7UGw2icxPm3jibWrX9ezXROl7Gn2bHGic4nJbsw/132"
    },
    "helps": []
  },
  "msg": "успех"
}

Помощь другу в снижении цены

Apifm.kanjiaHelp(String token, int kjid, int joiner, [String remark])

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

Параметр joiner — это uid друга, запустившего снижение цены. В приведённом примере joiner = 979527.

Когда цена снизится до базовой или срок действия истечёт, вы больше не сможете помогать другу снижать цену.

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {
    "cutPrice": 26.39,
    "goodsId": 139421,
    "remark": "не забудь угостить меня",
    "uid": 979527
  },
  "msg": "успех"
}

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

Запрос суммы, которую я помог снизить

Apifm.kanjiaHelpDetail(String token, int kjid, int joiner)

Запрос суммы, которую я помог другу снизить.

Параметр joiner — это uid друга, запустившего снижение цены. В приведённом примере joiner = 979527.

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {
    "cutPrice": 26.39,
    "dateAdd": "2019-08-14 16:31:45",
    "goodsId": 139421,
    "remark": "запомни угостить меня",
    "uid": 979527
  },
  "msg": "успех"
}

Функция группового заказа

Получить конфигурацию группового заказа для определённого товара

Apifm.pingtuanSet(int goodsId)

Прочитайте несколько важных настроек группового заказа: количество участников в группе, время ожидания, что делать, если группа не сформирована в течение времени ожидания, и т. д.

Пример возврата данных интерфейса:

{
  "code": 0,
  "data": {

...
  }
}
``` **Сводная информация по запросу:**

Запрос представляет собой набор фрагментов кода и текста на английском языке, связанных с разработкой и тестированием программного обеспечения. В запросе содержатся фрагменты кода на языке JavaScript, а также описание методов работы с данными в рамках определённой системы.

**Основной язык запроса:** английский.

*Перевод выполнен с учётом контекста запроса.*

#### 1. Массовый сбор данных о конфигурации для групп товаров

```js
Apifm.pingtuanSets(goodsIds)

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

Параметр goodsIds содержит идентификаторы товаров, разделённые запятыми: 1,2,3,4,5.

Пример ответа от интерфейса:

{
  "code": 0,
  "data": [
    {
      "dateAdd": "2019-08-15 07:57:19",
      "dateEnd": "2029-08-15 07:57:16",
      "goodsId": 145565,
      "id": 1569,
      "numberDoing": 0,
      "numberPersion": 2,
      "numberSucccess": 0,
      "refundType": 0,
      "refundTypeStr": "用户钱包余额",
      "status": 0,
      "statusStr": "正常",
      "timeoutHours": 24
    }
  ],
  "msg": "success"
}

2. Запуск группы (я инициирую группу, я лидер, остальные присоединяются)

Apifm.pingtuanOpen(String token, int goodsId)

После успешного запуска группы лидер должен сначала оформить заказ и оплатить его самостоятельно. Только после этого группа считается успешно запущенной!

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

Ответ от интерфейса:

{
  "code": 0,
  "data": {
    "dateEnd": "2019-08-16 07:45:34",
    "goodsId": 139421,
    "id": 7380,
    "pingtuanId": 2
  },
  "msg": "success"
}

Важно понимать разницу между идентификатором группы pingtuanId и идентификатором участника id. Это поможет избежать ошибок при использовании следующих методов.

3. Получение информации обо всех текущих группах для определённого товара

Apifm.pingtuanList(Map<String, String> params)

Этот метод позволяет получить информацию обо всех активных группах для конкретного товара. Эта информация может быть использована для отображения текущего состояния групп для выбранного товара, включая завершённые и текущие группы. Пользователи могут выбрать одну из групп и присоединиться к ней, чтобы ускорить процесс формирования группы.

Также этот метод может возвращать информацию о новых группах, созданных лидером, после того как он оплатит свой заказ.

4. Получение списка участников для конкретной группы

Apifm.pingtuanJoinUsers(int tuanId)

Здесь tuanId — это идентификатор группы, например, 7380. Не путайте его с идентификатором pingtuanId.

5. Просмотр истории участия пользователя в группах

Apifm.pingtuanMyJoined(Map<String, String> params)

Метод позволяет просматривать историю участия пользователя во всех группах, в которых он принимал участие. Информация может быть представлена в виде списка с возможностью разбивки на страницы.

6. Трёхуровневый маркетинг

6.1. Подача заявки на роль продавца
Apifm.fxApply(String token, String name, String mobile)
6.2. Проверка статуса заявки
Apifm.fxApplyProgress(String token)
6.3. Управление командой
Apifm.fxMembers(Map<String, String> params)

Просмотр списков команд первого и второго уровня.

За успешную продажу товаров в команде первого уровня продавец получает вознаграждение второго уровня. За успешную продажу в команде второго уровня продавец получает вознаграждение третьего уровня.

7. Комиссионные записи (подробная информация о комиссионных выплатах)

Apifm.fxCommisionLog(Map<String, String> params)

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

8. Модуль баллов

8.1. Чтение правил списания баллов за заказ
Apifm.scoreDeductionRules()

Чтение настроек системы, определяющих правила списания баллов за заказы.

8.2. Чтение правил начисления баллов
Apifm.scoreRules([Map<String, String> params])
8.3. Начисление баллов за регистрацию
Apifm.scoreSign(String token)

Пользователь регистрируется, используя токен, полученный после успешной авторизации через интерфейс входа.

8.4. Чтение информации о регистрации за текущий день
Apifm.scoreTodaySignedInfo(String token)

Проверка, зарегистрировался ли пользователь сегодня. Если возвращается код ошибки 700, то регистрация не была произведена. Если возвращается 0, значит, регистрация прошла успешно.

8.5. История регистраций
Apifm.scoreSignLogs(Map<String, String> params)

Отслеживание истории регистраций пользователя.

9. Использование купонов для обмена баллов

Apifm.scoreExchange(String token, String number)

Обмен купона на баллы с использованием номера купона.

10. Детализация баллов

Apifm.scoreLogs(Map<String, String> params)

Подробная информация обо всех изменениях баланса баллов у пользователя.

11. Финансовые операции и управление активами

11.1. Получение информации об активах (баланс, доступные баллы)
Apifm.userAmount(String token)

Получение информации о балансе и доступных баллах для текущего пользователя.

11.2. Онлайн-платежи (пополнение баланса)
11.2.1. Правила пополнения (сколько баллов начисляется за определённую сумму пополнения)
Apifm.rechargeSendRules()

Правила начисления баллов при пополнении баланса.

11.2.2. Платежи через WeChat
Apifm.wxpay(Map<String, String> params)

Вызов этого метода позволяет получить все необходимые данные для инициирования платежа через WeChat. Эти данные затем используются в коде приложения для запуска процесса оплаты. Пример кода:

Apifm.wxpay({
  token: 'Логин-токен',
  money: 100,
  payName: 'Тестовый платёж',
  nextAction: '{"type": 0, "id": 1}'
}).then(function (res) {
  if (res.code == 0) {
    // Код приложения для инициирования оплаты через WeChat
    wx.requestPayment({
      timeStamp: res.data.timeStamp,
      nonceStr: res.data.nonceStr,
      package: 'prepay_id=' + res.data.prepayId,
      signType: 'MD5',
      paySign: res.data.sign,
      fail: function (aaa) {
        wx.showToast({
          title: 'Ошибка оплаты:' + aaa
        })
      },
      success: function () {
        // Отображение уведомления об успешной оплате
        wx.showToast({
          title: 'Оплата прошла успешно'
        })
      }
    })
  }
})

Обратите внимание на параметр nextAction, который используется в запросе.

11.2.3. Платежи через Alipay (полуавтоматический режим)
Apifm.alipay(Map<String, String> params)`
11.3. История платежей
Apifm.payLogs(Map<String, String> params)

Отчёт о всех проведённых платежах.

12. Скидки на покупки

Скидки предоставляются после совершения покупок в магазине. Клиент сообщает продавцу сумму покупки, и продавец вводит её вручную. Затем клиент самостоятельно вводит сумму покупки. Система автоматически применяет правила скидок, установленные в системе. Apifm.payBill(String token, double money)

money 参数请传实际的消费金额,系统自动会根据后台设置的满减规则计算实际需要支付的金额。

Раздел «Финансовый поток»

Apifm.cashLogs(Map<String, String> params)

Управление снятием средств

Подача заявления на снятие средств

Apifm.withDrawApply(String token, double money)

Запись снятия средств

Apifm.withDrawLogs(Map<String, String> params)

Подробная информация о снятии средств

Apifm.withDrawDetail(String token, int id)

Выставление счетов

Подача заявки на выставление счёта

Apifm.invoiceApply(Map<String, String> params)

Список выставленных счетов

Apifm.invoiceList(Map<String, String> params)

Детали выставленного счёта

Apifm.invoiceDetail(String token, int id)

Управление залогом

Оплата залога

Apifm.payDeposit(Map<String, String> params)

Чтение списка залогов

Apifm.depositList(Map<String, String> params)

Информация о залоге

Apifm.depositInfo(String token, int id)

Заявление на возврат залога

Apifm.depositBackApply(String token, int id)

«Активность и инструменты»

Уникальный идентификатор в распределённой системе

Apifm.uniqueId([String type])

Услуги мобильной связи

Поиск региона номера телефона

Apifm.queryMobileLocation(String mobile)

Получение следующего сегмента номера

Apifm.nextMobileSegment(Map<String, String> params)

Функция лотереи

Сведения о проекте лотереи

Apifm.luckyInfo(int id)

Участие в лотерее

Apifm.luckyInfoJoin(Sting token, int id)

Моя информация об участии в лотерее

Apifm.luckyInfoJoinMy(Sting token, int id)

Полная запись участия в лотерее по проекту

Apifm.luckyInfoJoinLogs(Map<String, String> params)

Бронирование/регистрация

Просмотр всех проектов бронирования/регистрации

Apifm.yuyueItems(Map<String, String> params)

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

Подробности проекта

Apifm.yuyueItemDetail(int id)

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

Регистрация или бронирование онлайн

Apifm.yuyueJoin(Map<String, String> params)

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

Параметры:

  • yuyueId: идентификатор проекта регистрации/бронирования;
  • teamName: название команды (необязательно);
  • remark: примечание к регистрации;
  • extJsonStr: расширенные атрибуты регистрации.

Присоединение к команде:

  • yuyueId: идентификатор проекта регистрации/бронирования;
  • teamId: идентификатор команды;
  • remark: примечание к регистрации;
  • extJsonStr: расширенные атрибуты регистрации.

После успешной регистрации/бронирования будет возвращён идентификатор регистрации, который используется в качестве параметра joinId в следующем методе.

Плата за регистрацию

Apifm.yuyueJoinPay(String token, int joinId)

Если проект регистрации/бронирования требует оплаты, пользователь должен оплатить регистрационный сбор, чтобы завершить регистрацию/бронирование.

Обновление информации о регистрации

Apifm.yuyueJoinUpdate(String token, int joinId, String extJsonStr)

Изменение расширенной информации о регистрации возможно только при неанонимной регистрации, иначе невозможно подтвердить личность пользователя.

Мои регистрационные данные

Apifm.yuyueMyJoinInfo(String token, int joinId)

Все мои записи о регистрации.

Apifm.yuyueMyJoinLogs(Map<String, String> params)

Сведения обо всех моих регистрациях.

Просмотреть список команд проекта

Apifm.yuyueTeams(Map<String, String> params)

Посмотреть детали команды

Apifm.yuyueTeamDetail(int teamId)

Идентификатор команды, полученный предыдущим методом.

Получить список членов команды

Apifm.yuyueTeamMembers(Map<String, String> params)

Удалить члена команды

Apifm.yuyueTeamDeleteMember(String token, int joinId)

Функция голосования

Создаётся новый проект голосования на сервере. В этом проекте голосования можно установить несколько вариантов голосования. Можно голосовать в соответствии с установленными параметрами одиночного или множественного выбора, а затем просматривать общее количество голосов и подробную информацию о голосовании (если голосование не анонимно).

Проект голосования

Apifm.voteItems(Map<String, String> params)

Просматривает все проекты голосования, и последующие методы применяются к одному из проектов голосования.

Подробные сведения о голосовании

Apifm.voteItemDetail(int id)

Подробные данные проекта голосования. Извлекаются все варианты голосования текущего проекта голосования, а также дополнительные атрибуты данных, установленные сервером.

Моё голосование

Apifm.myVote(String token, int voteId)

Проверяет статус моего голосования по указанному идентификатору проекта голосования. Если возвращается 700, это означает, что я ещё не голосовал. Этот метод можно использовать для определения того, голосовал ли я.

Я хочу проголосовать

Apifm.vote(String token, int voteId, String items, String remark)

Голосование:

  • voteId: указанный идентификатор проекта голосования;
  • items: выбранные варианты голосования (один вариант для одиночного выбора и несколько вариантов для множественного выбора);
  • remark: примечания к голосованию.

Проверить подробности голосования

Apifm.voteLogs(Map<String, String> params)

Запрос подробной информации обо всех участниках голосования и вариантах голосования для указанного проекта голосования.

Функция поиска штрих-кода

Apifm.queryBarcode(String barcode)

Штрих-код товара можно найти с помощью функции сканирования мобильного приложения, сканера штрих-кодов и других методов.

barcode: штрих-код товара.

Короткая ссылка

Apifm.shortUrl(String url)

Преобразует длинный URL-адрес в короткую ссылку.

url — исходный длинный URL-адрес.

Географический инструмент

Вычислить расстояние между двумя координатами

Apifm.mapDistance(String lat1, String lng1, String lat2, String lng2)

Преобразование координат в адрес

Apifm.mapQQAddress(String location, [int coord_type])

Например, координаты 30.274085,120.15507 могут быть преобразованы в:

Район Хунцяо, район Пудун, Шанхай.

Геопоиск

Apifm.mapQQSearch(Map<String, String> params)

Выполняет поиск географического местоположения на карте, например, KFC, Starbucks и т.д.

Параметры:

  • keyword: ключевое слово, например: kfc, starbucks и т.д.;
  • boundary: область поиска, в настоящее время поддерживает следующие три метода:
    • В пределах города: region(Пекин,0);
    • Вокруг текущей позиции: nearby(39.908491,116.374328,1000);
    • Указанная область: rectangle(39.9072,116.3689,39.9149,116.3793).

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

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

1
https://api.gitlife.ru/oschina-mirror/javazj-apifm-flutter.git
git@api.gitlife.ru:oschina-mirror/javazj-apifm-flutter.git
oschina-mirror
javazj-apifm-flutter
javazj-apifm-flutter
master