文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在Flutter工程基础上怎么集成及运行小程序

2023-06-03 18:59

关注

这篇文章主要讲解了“在Flutter工程基础上怎么集成及运行小程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Flutter工程基础上怎么集成及运行小程序”吧!

新建 Flutter 样例工程

Flutter 的安装

本文将使用 Flutter1.12.hotfix8 稳定版作为开发环境。

新建 Flutter 工程

flutter create --template=app --org=com.finogeeks.flutter --project-name=mini_flutter -i objc -a java ./mini_flutte

执行以上命令后,正常将会提示以下信息

All done![✓] Flutter: is fully installed. (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.15.3 19D76, locale zh-Hans-CN)[✓] Android toolchain - develop for Android devices: is fully installed. (Android SDK version 29.0.3)[✓] Xcode - develop for iOS and macOS: is fully installed. (Xcode 11.3.1)[✓] Android Studio: is fully installed. (version 3.6)[!] IntelliJ IDEA Ultimate Edition: is partially installed; more components are available. (version 2019.3.3)[✓] VS Code: is fully installed. (version 1.42.1)[!] Proxy Configuration: is partially installed; more components are available.[✓] Connected device: is fully installed. (1 available)Run "flutter doctor" for information about installing additional components.In order to run your application, type:  $ cd mini_flutte  $ flutter runYour application code is in mini_flutter/lib/main.dart.

注意!flutter 需要依赖本地安装对应的 iOS,Android 开发工具,即需要安装 Xcode 和 AndroidStudio。具体安装使用方法这里不赘述。

这里我们用 VSCode+Xcode 作为开发组合环境,如果要正常调试需要确保以下三个检查项目是正常的。

[✓] Xcode - develop for iOS and macOS: is fully installed. (Xcode 11.3.1)

Flutter: is fully installed. (Channel stable, v1.12.13+hotfix.8, on Mac OS X 10.15.3 19D76, locale zh-Hans-CN)

VS Code: is fully installed. (version 1.42.1)

[!] Proxy Configuration: is partially installed; more components are available.

集成小程序解析引擎

这里我们采用凡泰免费社区版的小程序解析引擎,只需要 10 行代码量不到即可完成小程序集成。

  1. 引入小程序引擎插件。在 pubspec.yaml 文件中引入小程序 Flutter 插件

mop: ^0.2.0

在 main.dart 文件中增加以下小程序引擎初始化方法。Mop.instance.initialize这里需要用到 sdkkey 和 secret。可以直接在https://mp.finogeeks.com免费注册获取。注册使用方法可以参考接入指引

  // Platform messages are asynchronous, so we initialize in an async method.  Future<void> init() async {    if (Platform.isIOS) {      final res = await Mop.instance.initialize(          '22LyZEib0gLTQdU3MUauAYEY1h9s9YXzmGuSgQrin7UA', '9e05fa0015d7dbfa',          apiServer: 'https://mp.finogeeks.com', apiPrefix: '/api/v1/mop');      print(res);    } else if (Platform.isAndroid) {      final res = await Mop.instance.initialize(          '22LyZEib0gLTQdU3MUauAYEY1h9s9YXzmGuSgQrin7UA', '9e05fa0015d7dbfa',          apiServer: 'https://mp.finogeeks.com', apiPrefix: '/api/v1/mop');      print(res);    }    if (!mounted) return;  }

在主界面上增加三个按钮来打开小程序

  Center(    child: Container(      padding: EdgeInsets.only(        top: 20,      ),      child: Column(        children: <Widget>[          Container(            width: 140,            decoration: BoxDecoration(              borderRadius: BorderRadius.all(Radius.circular(5)),              gradient: LinearGradient(                colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],                stops: const [0.0, 1.0],                begin: Alignment.topCenter,                end: Alignment.bottomCenter,              ),            ),            child: FlatButton(              onPressed: () {                Mop.instance.openApplet('5e3c147a188211000141e9b1',                    path: 'pages/index/index', query: '');              },              child: Text(                '打开画图小程序',                style: TextStyle(color: Colors.white),              ),            ),          ),          SizedBox(height: 30),          Container(            width: 140,            decoration: BoxDecoration(              borderRadius: BorderRadius.all(Radius.circular(5)),              gradient: LinearGradient(                colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],                stops: const [0.0, 1.0],                begin: Alignment.topCenter,                end: Alignment.bottomCenter,              ),            ),            child: FlatButton(              onPressed: () {                Mop.instance.openApplet('5e4d123647edd60001055df1');              },              child: Text(                '打开官方小程序',                style: TextStyle(color: Colors.white),              ),            ),          ),          SizedBox(height: 30),          Container(            width: 140,            decoration: BoxDecoration(              borderRadius: BorderRadius.all(Radius.circular(5)),              gradient: LinearGradient(                colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],                stops: const [0.0, 1.0],                begin: Alignment.topCenter,                end: Alignment.bottomCenter,              ),            ),            child: FlatButton(              onPressed: () {                Mop.instance.openApplet('5e637a18cbfae4000170fa7a');              },              child: Text(                '我的对账单',                style: TextStyle(color: Colors.white),              ),            ),          ),        ],      ),    ),  )

运行 Flutter 程序

感谢各位的阅读,以上就是“在Flutter工程基础上怎么集成及运行小程序”的内容了,经过本文的学习后,相信大家对在Flutter工程基础上怎么集成及运行小程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯