用户登录验证
使用odooRPC与后端通讯,调用odoo用户认证接口实现用户认证登录
UNIAPP全局缓存功能实现一次验证,多次请求
auth() {
// 从存储获取配置
const server = uni.getStorageSync('serverAddress') || this.serverAddress;
const db = uni.getStorageSync('db') || '';
if (!server) {
uni.showToast({
title: '请先配置服务器信息',
icon: 'none'
});
return;
}
if (this.username && this.password) {
this.isLoading = true;
uni.request({
url: `${server}/web/session/authenticate`,
method: 'POST',
data: {
"jsonrpc": "2.0",
"params": {
"db": `${db}`,
"login": this.username,
"password": this.password
},
"id": 1
},
....................
多公司、多语言切换

新增业务,后台配置,及时生效
odoo中所有与仓库有关的操作都是基于调拨(stock.picking)模型,对于仓库的操作无非入、出、内部调拨,每一种调拨都是一种作业类型,新增业务仅需要添加对应作业类型,添加PDA配置项即可


在线更新
UNIAPP代码变更后打包上传至服务器,APP再次打开自动提示版本更新


连接蓝牙打印机,入库标签打印
调用手机蓝牙部分代码
/**
* 初始化蓝牙模块
*/
initBluetooth() {
return new Promise((resolve, reject) => {
uni.openBluetoothAdapter({
success: () => {
uni.startBluetoothDevicesDiscovery({
services: [],
success: () => resolve(),
fail: err => reject(err)
});
},
fail: err => reject(err)
});
});
}
/**
* 搜索蓝牙打印机
*/
searchBluetoothPrinters() {
return new Promise((resolve, reject) => {
setTimeout(() => {
uni.getBluetoothDevices({
success: res => {
const printers = res.devices;
resolve(printers);
},
fail: err => reject(err)
});
}, 3000); // 等待3秒确保搜索完成
});
}
/**
* 连接蓝牙打印机
* @param {String} deviceId 设备ID
*/
connectBluetoothPrinter(deviceId) {
this.deviceId = deviceId;
this.isBluetooth = true;
return new Promise((resolve, reject) => {
uni.createBLEConnection({
deviceId,
success: () => {
// 启用notify并获取服务和特征值
this.getBluetoothServicesAndCharacteristics()
.then(() => resolve())
.catch(err => reject(err));
},
fail: err => reject(err)
});
});
}
初次链接,搜索附近可用蓝牙设备

1083

被折叠的 条评论
为什么被折叠?



