mooer_ai 0.2.2 copy "mooer_ai: ^0.2.2" to clipboard
mooer_ai: ^0.2.2 copied to clipboard

用于快速集成mooer ai的插件

MooerAi 组件使用文档 #

flutter pub publish --server=https://pub.dev

简介 #

MooerAi 是一个封装了AI相关功能的组件,提供了初始化配置、图片列表加载、提示信息获取及AI界面展示等功能,可快速集成到项目中使用。

快速使用步骤 #

1. 导入依赖 #

import 'package:your_project/mooer_ai.dart';
import 'package:your_project/ai_config.dart';

2. 初始化配置(必选) #

使用前必须先通过 initAiConfig 方法初始化配置,传入 AIConfig 实例:

// 创建配置实例
AIConfig config = AIConfig(
  aiTaskImagesKey: "your_images_key",  // 存储图片列表的本地键名
  aiTaskTipsKey: "your_tips_key",      // 存储提示信息的本地键名
  checkLogin: () {
    // 实现登录状态检查逻辑,返回bool值
    return true; // true表示已登录,false表示未登录
  },
  toLogin: () {
    // 实现跳转登录页面的逻辑
    // 例如:Navigator.push(context, MaterialPageRoute(builder: (context) => LoginPage()));
  },
  getDataFromLocal: (String key) {
    // 实现从本地存储获取数据的逻辑
    // 例如:return SharedPreferences.getInstance().then((prefs) => prefs.getString(key));
    return "";
  },
  saveDataToLocal: (String key, String value) {
    // 实现保存数据到本地存储的逻辑
    // 例如:SharedPreferences.getInstance().then((prefs) => prefs.setString(key, value));
  },
);

// 初始化MooerAi
MooerAi.instance.initAiConfig(config);

3. 展示AI界面(必选) #

初始化完成后,调用 show 方法展示AI功能界面:

// 展示AI底部弹窗界面
MooerAi.instance.show();

完整示例代码 #

import 'package:flutter/material.dart';
import 'package:your_project/mooer_ai.dart';
import 'package:your_project/ai_config.dart';

class AiDemoWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () {
        // 1. 创建并配置AIConfig
        final aiConfig = AIConfig(
          aiTaskImagesKey: "ai_task_images",
          aiTaskTipsKey: "ai_task_tips",
          checkLogin: () {
            // 实际项目中替换为真实的登录检查逻辑
            return true;
          },
          toLogin: () {
            // 实际项目中替换为真实的登录页面跳转逻辑
            Navigator.pushNamed(context, '/login');
          },
          getDataFromLocal: (key) async {
            // 实际项目中替换为真实的本地存储读取逻辑
            return "";
          },
          saveDataToLocal: (key, value) async {
            // 实际项目中替换为真实的本地存储写入逻辑
          },
        );

        // 2. 初始化配置
        MooerAi.instance.initAiConfig(aiConfig);

        // 3. 展示AI界面
        MooerAi.instance.show();
      },
      child: Text("打开AI功能"),
    );
  }
}

核心方法说明 #

方法名 说明 参数
initAiConfig 初始化AI配置,加载本地存储的图片列表和提示信息,并从网络更新最新数据 AIConfig config - 配置实例
show 展示AI功能界面(底部弹窗),会先检查登录状态和数据完整性,未登录时触发登录跳转
getImageList 从网络获取AI预设图片列表并更新本地存储 onResult - 加载完成回调函数
getTips 从网络获取AI提示信息并更新本地存储 onResult - 加载完成回调函数
createTask 创建AI任务 callback - 任务创建完成后的回调函数
getDownLoadUrl 获取文件下载的完整URL(自动拼接前缀) url - 文件相对路径

注意事项 #

  1. 必须先调用 initAiConfig 初始化配置,否则 show 方法会失效
  2. show 方法会自动检查登录状态,未登录时会调用 AIConfig 中的 toLogin 方法
  3. 首次使用时会从网络加载图片列表和提示信息,若数据为空会自动重新请求
  4. 界面展示形式为底部弹窗(Get.bottomSheet),需确保项目中已集成 GetX 框架
  5. AIConfig 中的抽象方法必须实现,否则会导致功能异常

属性说明 #

属性名 类型 说明
aiConfig AIConfig 已初始化的配置实例
aiImageList List<String> AI预设图片列表
tips Map<String, dynamic> AI提示信息集合
fileUrlPrefix String 文件下载URL前缀
taskId int 当前AI任务ID
0
likes
100
points
31
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

用于快速集成mooer ai的插件

License

MIT (license)

Dependencies

cached_network_image, flutter, flutter_screenutil, flutter_swipe_action_cell, get, intl

More

Packages that depend on mooer_ai

Packages that implement mooer_ai