Flutter域名价格查询插件domain_price的使用

Flutter域名价格查询插件domain_price的使用

SDK版本 支持平台 支持SDK 封面 - 域名价格

MIT许可证 Pub包 代码大小 发布者

构建状态 Pull请求 问题 Pub得分

这是一个易于使用且经过良好测试的包,用于评估所有顶级域名和一些二级域名的价格。 您可以自由地在您的项目中使用它。

CodeFactor

分享一些爱并为支持域名价格而点赞。

如果您撰写有关域名价格的文章或任何这些包的文章,请让我知道,我会在README中发布文章的链接 🤝

使用方法

const dp = DomainPrice('mykid.academy');
print('Price for `${dp.domain}` is ${dp.endingPriceEuro} euro.');

输出:

Price for `mykid.academy` is 29 euro.

资源

新功能

查看更新日志

欢迎

如果您遇到任何问题,可以随时在GitHub问题中打开一个issue。如果您认为该包缺少某些功能,请在GitHub上创建一个问题,我会考虑并进行改进。您的请求和建议非常受欢迎。谢谢!

贡献使开源社区成为一个如此伟大的学习、创造、获取新技能和获得灵感的地方。

如果您是第一次做贡献,这里有一些我找到的最佳链接:它们将帮助您开始或提高效率。

域名价格是开源的、稳定的且经过良好测试的。开发发生在GitHub上。如果您发现任何问题,可以报告问题或提交pull请求。

一般问题最好在StackOverflow上提出。

以下是一些可以帮助您的方法:

  • 文档化未记录的部分。无论何时您遇到我们代码库中的类、属性或方法,并注意到其缺乏文档时,请花几分钟时间写下一些有用的笔记供您的同行开发者使用。
  • 改进代码。虽然我知道主要由我负责重构代码,但我非常欢迎您在这方面做出任何贡献。您的见解和改进是受欢迎的!
  • 提供建设性的代码审查。如果您发现更有效的方法来实现某些事情,我很乐意听取您的建议。您的改进建议是非常宝贵的。
  • 分享您的示例。如果您已经试验过我们的用例或自己编写了一些示例,请将其添加到example目录中。您的实际经验可以丰富我们的资源池。
  • 修正拼写错误/语法错误。
  • 报告难以实现的bug和场景。
  • 通过提交pull请求来实现新功能。

可能的待办事项

一旦您开始使用域名价格,选择要贡献的功能将变得容易。但是,如果您已经从该包中得到了所需的一切,但还有一些空闲时间,以下是我计划的一些内容:

  • 带有自己的价格表的示例。

这只是我在项目中工作时习惯的做法:记下想到的想法。我承认我很少会回来看这些笔记。但现在,希望即使您还没有想法,上述笔记也能帮助您选择合适的“功能”,并成为开源社区的贡献者。

准备好了吗?

创建于


示例代码

// ignore_for_file: avoid_print

import 'package:domain_price/domain_price.dart';

void main() {
  const dp = DomainPrice('mykid.academy');
  print('Price for domain `${dp.domain}` is ${dp.endingPriceEuro} euro.');
}

更多关于Flutter域名价格查询插件domain_price的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter域名价格查询插件domain_price的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


domain_price 是一个 Flutter 插件,用于查询域名的价格信息。它可以帮助开发者在应用程序中集成域名价格查询功能,例如在域名注册或域名交易应用中。

安装插件

首先,你需要在 pubspec.yaml 文件中添加 domain_price 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  domain_price: ^1.0.0  # 请使用最新的版本号

然后运行 flutter pub get 来安装插件。

使用插件

以下是一个简单的示例,展示如何使用 domain_price 插件查询域名价格:

import 'package:flutter/material.dart';
import 'package:domain_price/domain_price.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Domain Price Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: DomainPriceScreen(),
    );
  }
}

class DomainPriceScreen extends StatefulWidget {
  [@override](/user/override)
  _DomainPriceScreenState createState() => _DomainPriceScreenState();
}

class _DomainPriceScreenState extends State<DomainPriceScreen> {
  String _domainName = '';
  double _price = 0.0;
  bool _isLoading = false;

  Future<void> _checkDomainPrice() async {
    setState(() {
      _isLoading = true;
    });

    try {
      final price = await DomainPrice.getPrice(_domainName);
      setState(() {
        _price = price;
      });
    } catch (e) {
      print('Error: $e');
      setState(() {
        _price = 0.0;
      });
    } finally {
      setState(() {
        _isLoading = false;
      });
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Domain Price Checker'),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Column(
          children: [
            TextField(
              decoration: InputDecoration(
                labelText: 'Enter Domain Name',
                hintText: 'example.com',
              ),
              onChanged: (value) {
                setState(() {
                  _domainName = value;
                });
              },
            ),
            SizedBox(height: 20),
            _isLoading
                ? CircularProgressIndicator()
                : ElevatedButton(
                    onPressed: _checkDomainPrice,
                    child: Text('Check Price'),
                  ),
            SizedBox(height: 20),
            Text(
              'Price: \$${_price.toStringAsFixed(2)}',
              style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
            ),
          ],
        ),
      ),
    );
  }
}
回到顶部