Flutter Odoo集成插件odoo的使用

Flutter Odoo集成插件odoo的使用

Odoo API 使用端点 /web/dataset/call_kw

初始化

import 'package:odoo/odoo.dart';
final odoo = Odoo(Connection(url: Url(Protocol.http, "localhost", 8069), db: 'odoo'));

连接操作

连接

UserLoggedIn user = await odoo.connect(Credential("admin", "admin"));

断开连接

await odoo.disconnect();

会话变更

odoo.session.stream.listen((Session? session) {
    print('session changed ${session?.toJson()}');
});

数据库操作

插入数据

String tableName = "res.users";
Map<String, dynamic> args = {"login": "tester", "name": "tester"};
await odoo.insert(tableName, args);

更新数据

String tableName = "res.users";
int id = 999;
Map<String, dynamic> args = {"login": "tester", "name": "tester"};
await odoo.update(tableName, id, args);

删除数据

String tableName = "res.users";
int id = 999;
await odoo.delete(tableName, id);

查询数据

String from = "res.users";
List<String> select = ["id", "login", "name"];
List<dynamic> where = ["id", "=", 999];
String orderBy = "login ASC";
await odoo.query(from: from, select: select, where: where, orderBy: orderBy, limit: 10, offset: 0);

读取数据

String tableName = "res.users";
int id = 999;
await odoo.read(tableName, id);

开发者

在发布到 pub.dev 之前,请确保运行以下命令:

#生成模型文件
flutter pub run build_runner build 

#测试
flutter test 

更多关于Flutter Odoo集成插件odoo的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Odoo集成插件odoo的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter应用程序中集成Odoo可以通过使用现成的插件或手动实现Odoo的API调用来完成。odoo 插件是一个流行的开源Flutter插件,用于与Odoo服务器进行交互。以下是如何使用 odoo 插件来集成Odoo的基本步骤。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 odoo 插件的依赖项。

dependencies:
  flutter:
    sdk: flutter
  odoo: ^2.0.0  # 请查看最新的版本号

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

2. 初始化 Odoo 客户端

在你的Flutter应用程序中,首先需要初始化一个Odoo客户端实例。

import 'package:odoo/odoo.dart';

final odoo = Odoo(
  baseUrl: 'https://your-odoo-server.com',
  database: 'your_database',
  apiKey: 'your_api_key', // 可选,如果需要API密钥
);

3. 登录到Odoo

在可以使用Odoo的其他功能之前,你首先需要登录到Odoo服务器。你可以使用用户名和密码进行登录。

try {
  final session = await odoo.login('username', 'password');
  print('Logged in as: ${session.userId}');
} catch (e) {
  print('Failed to login: $e');
}

4. 执行CRUD操作

一旦登录成功,你可以执行创建、读取、更新和删除(CRUD)操作。

读取数据

使用 searchRead 方法来读取数据。

final records = await odoo.searchRead(
  'res.partner',  // 模型名称
  [
    ['is_company', '=', true],  // 筛选条件
  ],
  ['name', 'email'],  // 需要读取的字段
);

for (var record in records) {
  print('Name: ${record['name']}, Email: ${record['email']}');
}

创建记录

使用 create 方法来创建新记录。

final recordId = await odoo.create(
  'res.partner',  // 模型名称
  {
    'name': 'New Partner',
    'email': 'partner@example.com',
  },
);

print('Created record with ID: $recordId');

更新记录

使用 write 方法来更新记录。

await odoo.write(
  'res.partner',  // 模型名称
  recordId,  // 记录的ID
  {
    'email': 'new_email@example.com',
  },
);

print('Record updated');

删除记录

使用 unlink 方法来删除记录。

await odoo.unlink(
  'res.partner',  // 模型名称
  recordId,  // 记录的ID
);

print('Record deleted');

5. 处理会话和错误

确保在应用程序退出或用户注销时正确关闭会话。

await odoo.logout();

在调用Odoo API时,建议使用 try-catch 块来处理可能出现的错误。

try {
  final session = await odoo.login('username', 'password');
  // 其他操作
} catch (e) {
  print('Error: $e');
}
回到顶部