Flutter API客户端插件sharpapi_flutter_client的使用

发布于 1周前 作者 h691938207 来自 Flutter

Flutter API客户端插件sharpapi_flutter_client的使用

SharpAPI Flutter Client SDK

🚀 使用AI在两行代码内自动化工作。节省大量时间,轻松增强您的应用程序。

利用AI API简化电子商务、市场营销、内容管理、人力资源技术、旅游等领域的业务流程。

每天减少用户在重复的内容分析和生成任务上的时间。

了解更多访问 SharpAPI.com 网站

它能为你做什么?

电子商务

  • 快速生成吸引客户的商品介绍。
  • 自动生成个性化的感谢邮件以提升客户体验。
  • 流程化产品分类以保持目录井然有序。
  • 情感分析:理解并分析产品评论以进行数据驱动的决策。

内容与营销自动化

  • 轻松将文本翻译为全球受众。
  • 垃圾内容检测:有效识别并过滤垃圾内容。
  • 提取联系信息:从非标准格式中提取电话号码和电子邮件地址,以简化通信。
  • 生成简洁摘要和独特的关键词/标签以提高内容消费效果。
  • 通过自动生成META标签来提升SEO努力。

人力资源技术

  • 轻松生成复杂的职位描述,节省招聘过程中的时间。
  • 技能与职位洞察:识别相关的职位和技能,以简化招聘流程。
  • 自动简历解析:高效地解析和提取简历文件中的信息,以便于处理。

旅游、旅游与酒店业

  • 分析旅游评论以改进服务。
  • 流程化旅游、活动和酒店产品的分类。

特性

请参阅官方:

  • API 文档

  • 多语言支持: 支持80种语言的每个内容或数据分析API端点。 查看列表

  • 易于使用的RESTful格式: 通过标准化的一组端点,获取有价值的数据分析结果,涵盖产品类别、技能和职位,提供相关分数。

  • 始终如一的干净数据格式: 所有返回数据均采用一致且可预测的JSON格式,无需担心模糊的AI数据。

  • 技术支持: 由开发者为开发者打造,我们将在整个旅程中为您提供持续的支持。

安装

  1. pubspec.yaml 文件中添加 sharpapi_flutter_client 依赖项:
dependencies:
  sharpapi_flutter_client: ^latest_version
  1. 运行 flutter pub get 以安装包。

  2. SharpAPI.com 注册并获取API密钥。 就是这样!

使用

  1. 在 Dart 文件中导入该包:
import 'package:sharpapi_flutter_client/sharpapi_flutter_client.dart';
  1. main 方法中初始化 SharpApiConfigs,传入你的API密钥:
void main() {
  SharpApiConfigs.init(
    apiKey: 'YOUR_API_KEY',
  );

  runApp(const MyApp());
}

每个调用通常需要几秒钟到一分钟的时间。在那之后,返回响应通常会有一个 success 状态,并且结果可用于进一步处理。每个API方法都返回不同的返回格式。

我们的API保证每次都会返回正确的格式。SharpAPI使用的AI引擎在极少数情况下可能会表现不佳、超时或返回错误数据。在这种情况下,返回的作业状态将是 failed。你可以重新运行相同的作业请求。

只要作业仍在我们的引擎中处理,它将继续返回 pending 状态。

API方法/端点列表

对于具有语言参数的方法,你还可以使用 SharpApiLanguages 枚举值使代码更具可读性。

HR

解析简历/CV文件

解析多种格式(PDF/DOC/DOCX/TXT/RTF)的简历文件并返回一个包含数据点的详细对象。

可以提供可选的语言输出参数(默认值为 English)。

///*** parse resume
SharpApi.parseResume(
  resume: File(''),
  language: SharpApiLanguages.ENGLISH, // 可选语言
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
生成职位描述

基于广泛的参数列表,此端点提供简洁的职位详情响应格式,包括短描述、职位要求和职责。 唯一必需的参数是 name

///*** generate job description
SharpApi.generateJobDescription(
  name: 'ANY_JOB_TITLE',
  companyName: 'ANY_COMPANY_NAME',      // 可选公司名称
  minimumEducation: 'Bachelor Degree',  // 可选最低学历
  minimumWorkExperience: '2 years',     // 可选最低工作经验
  employmentType: 'Full Time',          // 可选雇佣类型
  country: 'United States',             // 可选国家
  remote: true,                         // 可选远程
  visaSponsored: true,                  // 可选签证赞助
  requiredSkills: ['skill1', 'skill2'], // 可选所需技能
  optionalSkills: ['skill3', 'skill4'], // 可选可选技能
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  context: 'avoid using abbreviations', // 可选上下文
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
相关技能

生成与技能相关的技能列表及其权重作为浮点值(1.0-10.0),其中10等于100%,最高相关度得分。

///*** related skills
SharpApi.relatedSkills(
  skill: 'ANY_SKILL',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  maxQuantity: 5,                       // 可选最大数量
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
相关职位

生成与职位相关的职位列表及其权重作为浮点值(1.0-10.0),其中10等于100%,最高相关度得分。

///*** related job positions
SharpApi.relatedJobPositions(
  jobTitle: 'ANY_JOB_TITLE',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  maxQuantity: 5,                       // 可选最大数量
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

电子商务

产品评论情感分析

解析客户的商品评论并提供其情感(积极/消极/中立)以及介于0-100%之间的分数。非常适合在线商店的情感报告处理。

///*** product review sentiment
SharpApi.productReviewSentiment(
  content: 'ANY_CONTENT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
产品类别

生成适合产品的类别列表,相关权重为浮点值(1.0-10.0),其中10等于100%,最高相关度得分。提供产品名称及其参数以获得最佳的类别匹配。适用于填充产品目录数据和批量产品处理。

///*** product categories
SharpApi.productCategories(
  content: 'ANY_CONTENT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  maxQuantity: 5,                       // 可选最大数量
  context: 'avoid using abbreviations', // 可选上下文
  voiceTone: 'neutral',                 // 可选语调
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
生成产品简介

生成较短的产品描述。提供尽可能多的产品细节和参数以获得最佳的市场介绍。适用于填充产品目录数据和批量产品处理。

///*** generate product intro
SharpApi.generateProductIntro(
  content: 'ANY_CONTENT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  maxLength: 500,                       // 可选最大长度
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
生成感谢邮件

生成个性化感谢邮件给购买后的客户。响应内容不包含标题、问候或发件人信息,因此你可以轻松地个性化其余部分的邮件。

///*** generate thank you email
SharpApi.generateThankYouEmail(
  content: 'ANY_CONTENT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  maxLength: 500,                       // 可选最大长度
  context: 'avoid using abbreviations', // 可选上下文
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

内容

重述/改写文本

生成提供的文本的重述版本。只有 content 参数是必需的。你可以定义输出语言、最大字符长度和语调。

可以在 context 参数中提供额外的灵活指令来处理文本。请注意,max_length 作为对语言模型的强烈建议,而不是严格的要求,以保持结果的整体感觉。

你可以通过提供可选的 voice_tone 参数来设置你喜欢的写作风格。它可以是形容词,如 funnyjoyous,甚至是著名作家的名字。

此API方法还提供了一个可选的 context 参数,可以用它来提供额外的灵活指令进行内容处理。

///*** paraphrase text
SharpApi.paraphrase(
  text: 'ANY_TEXT',
  language: SharpApiLanguages.ENGLISH,   // 可选语言
  maxLength: 500,                        // 可选长度
  voiceTone: 'neutral',                  // 可选语调
  context: 'avoid using abbreviations',  // 可选上下文
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
校对文本 + 语法检查

校对(并检查语法)提供的文本。

///*** proofread text
SharpApi.proofread(
  text: 'ANY_TEXT',
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
翻译文本

将提供的文本翻译成所选语言。支持80种语言。请参见包含的 SharpApiLanguages 枚举类了解详细信息。

///*** translate text
SharpApi.translate(
  text: 'ANY_TEXT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  context: 'avoid using abbreviations', // 可选上下文
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
检测垃圾信息

检查提供的内容是否通过垃圾过滤测试。提供一个百分比置信分数和解释,说明是否被视为垃圾信息。此信息对管理员做出最终决定很有用。

///*** detect spam
SharpApi.detectSpam(
  text: 'ANY_TEXT',
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
检测电话号码

解析提供的文本中的任何电话号码,并返回原始检测版本及其E.164格式。可能在处理大块数据以验证电话号码时派上用场,或者你想在不应该出现电话号码的地方检测电话号码。

///*** detect phones
SharpApi.detectPhones(
  text: 'ANY_TEXT',
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
检测电子邮件

解析提供的文本中的任何可能的电子邮件。可能在处理大块数据以验证电子邮件地址时派上用场,或者你想在不应该出现电子邮件的地方检测电子邮件。

///*** detect emails
SharpApi.detectEmails(
  text: 'ANY_TEXT',
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
生成关键词/标签

根据提供的内容生成一组唯一的关键词/标签。

///*** generate keywords
SharpApi.generateKeywords(
  text: 'ANY_TEXT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
概要文本

生成提供的内容的概要版本。非常适合生成较长文本的市场介绍。

///*** summarize text
SharpApi.summarizeText(
  text: 'ANY_TEXT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  maxLength: 500,                       // 可选最大长度
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

SEO

生成SEO标签

基于提供的内容生成所有最重要的META标签。确保包含网站链接和图片URL,以尽可能多地填充标签。

///*** generate seo tags
SharpApi.generateSeoTags(
  content: 'ANY_CONTENT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

旅游、旅游与酒店业

旅游评论情感分析

解析旅游/酒店产品的评论并提供其情感(积极/消极/中立)及介于0-100%之间的分数。非常适合在线商店的情感报告处理。

///*** travel review sentiment
SharpApi.travelReviewSentiment(
  content: 'ANY_CONTENT',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
旅游和活动产品类别

生成适合旅游和活动产品的类别列表,相关权重为浮点值(1.0-10.0),其中10等于100%,最高相关度得分。提供产品名称及其参数以获得最佳的类别匹配。适用于填充产品目录数据和批量产品处理。 唯一必需的参数是 productName

///*** tours and activities product categories
SharpApi.toursAndActivitiesProductCategories(
  productName: 'ANY_PRODUCT_NAME',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  context: 'avoid using abbreviations', // 可选上下文
  maxQuantity: 5,                       // 可选最大数量
  country: 'United States',             // 可选国家
  city: 'New York',                     // 可选城市
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});
酒店产品类别

生成适合酒店类型产品的类别列表,相关权重为浮点值(1.0-10.0),其中10等于100%,最高相关度得分。提供产品名称及其参数以获得最佳的类别匹配。适用于填充产品目录数据和批量产品处理。 唯一必需的参数是 productName

///*** hospitality product categories
SharpApi.hospitalityProductCategories(
  productName: 'ANY_PRODUCT_NAME',
  language: SharpApiLanguages.ENGLISH,  // 可选语言
  voiceTone: 'neutral',                 // 可选语调
  context: 'avoid using abbreviations', // 可选上下文
  maxQuantity: 5,                       // 可选最大数量
  country: 'United States',             // 可选国家
  city: 'New York',                     // 可选城市
).then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

技术API端点

订阅信息/配额检查

用于检查当前订阅周期的详细信息的端点。

///*** quota
SharpApi.quota().then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

这将返回以下结果:

{
    "timestamp": "2024-03-19T12:49:41.445736Z",
    "on_trial": false,
    "trial_ends": "2024-03-17T07:57:46.000000Z",
    "subscribed": true,
    "current_subscription_start": "2024-03-18T12:37:39.000000Z",
    "current_subscription_end": "2024-04-18T12:37:39.000000Z",
    "subscription_words_quota": 100000,
    "subscription_words_used": 9608,
    "subscription_words_used_percentage": 0.1
}

subscription_words_used_percentage 是当前月度配额使用百分比,可能作为用户耗尽信用的警报。如果超过80%,建议在 https://sharpapi.com/dashboard/credits 订阅更多信用额度以避免服务中断。

这些值也出现在 https://sharpapi.com/dashboard 的仪表板中。

PING

简单的PING端点,用于检查API的可用性和内部时区(时间戳)。

///*** ping
SharpApi.ping().then((value) {
  /// do something with the [value] here
}).catchError((error) {
  /// do something with the [error] here
});

这将返回以下结果:

{
  "ping": "pong",
  "timestamp": "2024-03-12T08:50:11.188308Z"
}

更多关于Flutter API客户端插件sharpapi_flutter_client的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter API客户端插件sharpapi_flutter_client的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用sharpapi_flutter_client插件的示例代码。这个示例假设你已经安装并配置好了Flutter开发环境,并且已经添加了sharpapi_flutter_client到你的pubspec.yaml文件中。

首先,确保在你的pubspec.yaml文件中添加依赖:

dependencies:
  flutter:
    sdk: flutter
  sharpapi_flutter_client: ^最新版本号  # 替换为实际的最新版本号

然后运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中,你可以按照以下步骤使用sharpapi_flutter_client

  1. 导入插件

在你的Dart文件中导入插件:

import 'package:sharpapi_flutter_client/sharpapi_flutter_client.dart';
  1. 初始化客户端

通常,API客户端需要一些配置信息,比如API的基础URL和认证信息。这里假设你的API需要一个API密钥进行认证。

class ApiClient {
  static final SharpApiClient _client = SharpApiClient(
    baseUrl: 'https://api.example.com/v1',  // 替换为你的API基础URL
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',  // 替换为你的API密钥
    },
  );

  static SharpApiClient get client => _client;
}
  1. 发送GET请求

下面是一个发送GET请求的示例,假设你有一个获取用户信息的端点。

Future<Map<String, dynamic>> getUserInfo(String userId) async {
  try {
    final response = await ApiClient.client.get(
      path: '/users/$userId',
    );

    if (response.statusCode == 200) {
      return response.body as Map<String, dynamic>;
    } else {
      throw Exception('Failed to fetch user info: ${response.statusCode}');
    }
  } catch (e) {
    print('Error: $e');
    rethrow;
  }
}
  1. 发送POST请求

下面是一个发送POST请求的示例,假设你有一个创建用户的端点。

Future<Map<String, dynamic>> createUser(Map<String, dynamic> userData) async {
  try {
    final response = await ApiClient.client.post(
      path: '/users',
      body: userData,
    );

    if (response.statusCode == 201) {
      return response.body as Map<String, dynamic>;
    } else {
      throw Exception('Failed to create user: ${response.statusCode}');
    }
  } catch (e) {
    print('Error: $e');
    rethrow;
  }
}
  1. 使用这些函数

在你的UI代码中,你可以调用这些函数来获取或创建用户信息。

void _fetchUserInfo(String userId) async {
  try {
    final userInfo = await getUserInfo(userId);
    print('User Info: $userInfo');
    // 更新UI,例如使用setState来更新状态
  } catch (e) {
    // 处理错误,例如显示SnackBar或Dialog
  }
}

void _createUser(Map<String, dynamic> userData) async {
  try {
    final newUser = await createUser(userData);
    print('New User: $newUser');
    // 更新UI,例如使用setState来更新状态或导航到新页面
  } catch (e) {
    // 处理错误,例如显示SnackBar或Dialog
  }
}

这个示例展示了如何使用sharpapi_flutter_client插件来发送GET和POST请求,并处理响应和错误。根据你的具体API和需求,你可能需要调整路径、请求头和请求体。确保在实际项目中妥善处理敏感信息,比如API密钥。

回到顶部