mooer_ai 0.0.9
mooer_ai: ^0.0.9 copied to clipboard
用于快速集成mooer ai的插件
MooerAi 组件使用文档 #
简介 #
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 - 文件相对路径 |
注意事项 #
- 必须先调用
initAiConfig初始化配置,否则show方法会失效 show方法会自动检查登录状态,未登录时会调用AIConfig中的toLogin方法- 首次使用时会从网络加载图片列表和提示信息,若数据为空会自动重新请求
- 界面展示形式为底部弹窗(
Get.bottomSheet),需确保项目中已集成GetX框架 AIConfig中的抽象方法必须实现,否则会导致功能异常
属性说明 #
| 属性名 | 类型 | 说明 |
|---|---|---|
aiConfig |
AIConfig |
已初始化的配置实例 |
aiImageList |
List<String> |
AI预设图片列表 |
tips |
Map<String, dynamic> |
AI提示信息集合 |
fileUrlPrefix |
String |
文件下载URL前缀 |
taskId |
int |
当前AI任务ID |