Чтение данных об участии в групповых закупках
Модуль накопления баллов
Финансовые операции
Мероприятия и инструменты
Социальные коммуникации
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-код, вводит его и регистрируется.
Apifm.registerQQConnect(Map<String, String> params)
Однократная регистрация с помощью QQ Connect требует следующих параметров:
Параметры, возвращаемые после авторизации:
oauthConsumerKey, openid, accessToken
Пожалуйста, обратитесь к документации по QQ Connect для получения дополнительной информации.
Необязательные параметры:
referrer — пригласивший вас пользователь (идентификатор пользователя), postJsonString — дополнительная информация для регистрации в формате JSON.
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 рекомендуется считывать из модели телефона.
Apifm.loginQQConnect(String oauthConsumerKey, String openid, String accessToken)
Для входа необходимы три параметра, которые возвращаются после авторизации. Пожалуйста, обратитесь к документации QQ Connect.
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)
После выхода текущий токен становится недействительным.
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 — необязательный параметр. Если он указан, текущий пароль будет сброшен на указанный новый пароль.
Apifm.bindQQConnectOpenid(String token, String oauthConsumerKey, String openid, String accessToken)
token — текущий токен пользователя;
Остальные три параметра необходимо проверить в документации QQ Connect.
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)
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)
Основные параметры:
Закрыть заказ
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)
Статистика заказов используется для отображения количества заказов в различных состояниях или для отображения статистики заказов с помощью маленьких красных точек. Метод возвращает следующие данные:
Список всех заказов
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"
}
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. Это поможет избежать ошибок при использовании следующих методов.
Apifm.pingtuanList(Map<String, String> params)
Этот метод позволяет получить информацию обо всех активных группах для конкретного товара. Эта информация может быть использована для отображения текущего состояния групп для выбранного товара, включая завершённые и текущие группы. Пользователи могут выбрать одну из групп и присоединиться к ней, чтобы ускорить процесс формирования группы.
Также этот метод может возвращать информацию о новых группах, созданных лидером, после того как он оплатит свой заказ.
Apifm.pingtuanJoinUsers(int tuanId)
Здесь tuanId — это идентификатор группы, например, 7380. Не путайте его с идентификатором pingtuanId.
Apifm.pingtuanMyJoined(Map<String, String> params)
Метод позволяет просматривать историю участия пользователя во всех группах, в которых он принимал участие. Информация может быть представлена в виде списка с возможностью разбивки на страницы.
Apifm.fxApply(String token, String name, String mobile)
Apifm.fxApplyProgress(String token)
Apifm.fxMembers(Map<String, String> params)
Просмотр списков команд первого и второго уровня.
За успешную продажу товаров в команде первого уровня продавец получает вознаграждение второго уровня. За успешную продажу в команде второго уровня продавец получает вознаграждение третьего уровня.
Apifm.fxCommisionLog(Map<String, String> params)
Подробное отслеживание каждой выплаты комиссионного вознаграждения.
Apifm.scoreDeductionRules()
Чтение настроек системы, определяющих правила списания баллов за заказы.
Apifm.scoreRules([Map<String, String> params])
Apifm.scoreSign(String token)
Пользователь регистрируется, используя токен, полученный после успешной авторизации через интерфейс входа.
Apifm.scoreTodaySignedInfo(String token)
Проверка, зарегистрировался ли пользователь сегодня. Если возвращается код ошибки 700, то регистрация не была произведена. Если возвращается 0, значит, регистрация прошла успешно.
Apifm.scoreSignLogs(Map<String, String> params)
Отслеживание истории регистраций пользователя.
Apifm.scoreExchange(String token, String number)
Обмен купона на баллы с использованием номера купона.
Apifm.scoreLogs(Map<String, String> params)
Подробная информация обо всех изменениях баланса баллов у пользователя.
Apifm.userAmount(String token)
Получение информации о балансе и доступных баллах для текущего пользователя.
Apifm.rechargeSendRules()
Правила начисления баллов при пополнении баланса.
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, который используется в запросе.
Apifm.alipay(Map<String, String> params)`
Apifm.payLogs(Map<String, String> params)
Отчёт о всех проведённых платежах.
Скидки предоставляются после совершения покупок в магазине. Клиент сообщает продавцу сумму покупки, и продавец вводит её вручную. Затем клиент самостоятельно вводит сумму покупки. Система автоматически применяет правила скидок, установленные в системе. 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)
Можно зарегистрироваться как команда или отдельный участник, либо присоединиться к определённой команде для регистрации.
Параметры:
Присоединение к команде:
После успешной регистрации/бронирования будет возвращён идентификатор регистрации, который используется в качестве параметра 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)
Голосование:
Проверить подробности голосования
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 и т.д.
Параметры:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )