odoo与企业微信融合

版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。

Alex,神州数码云基地高级前端开发工程师,在航空、铁路、工业控制、CRM/ERP 等领域有丰富的项目研发与管理经验。

背景

企业微信,是腾讯微信团队为企业打造的专业办公管理工具。与微信一致的沟通体验,丰富免费的OA应用,并与微信消息、小程序、微信支付等互通,助力企业高效办公和管理。

同时它也是一个很好地企业级应用发布平台,尤其是企业微信提供的数据以及接口,会极大地为很多企业级应用提供便利。

概述

 工作流程

企业微信与Odoo大体关系如下,Odoo主要作为业务平台,企业微信为Odoo提供两部分内容,一部分是开放Api,包括通讯录管理、外部联系人管理、应用管理、消息推送、身份验证等,供Odoo业务平台调用。另一部分是移动办公,可以在企业微信中发布包含Odoo业务层级的轻量办公应用。

 企业微信与Odoo结合方案

针对Odoo业务平台,我们主要考虑的是企业微信提供的“ 企业内部开发场景 ”,通过微信提供的开放Api,即可完成消息推送,通讯录管理等功能,减少开发成本。

针对企业微信平台上的开发,主要有两种开发模式,一是通过H5+JS API 模式,另一种是小程序模式。 另外就是通过跨平台开发的框架Uniapp的方式快速生成以上两种模式的产物。而目前移动端办公场景越来越多,对应用的体验要求也越来越高,加之目前跨平台框架开发存在诸多问题,所以一般会优先推荐体验更好,开发效率更高的 小程序的开发模式 。

企业微信基本开发模式

 H5 + JS API

H5+JS API模式是比较传统的开发模式,本质上的形式还是移动端网页,通过微信提供的JS库,调用微信所提供的支付,通讯录等能力。主要的载体还是微信/企业微信平台。

H5+JS Api的模式的好处就是可自定义程度比较高,并且依靠当前主流的前端框架结合微信提供的开放接口即可完成高度自定义的应用。但是H5的通病就是体验相对比较差,开发者所需要投入的优化时间比较多

另外针对于开发者而言,这种模式调试也是极其繁琐,也会极大地浪费时间。

 微信小程序开发

基本架构

微信小程序的框架包含两部分View视图层、App Service逻辑层,View层用来渲染页面结构,AppService层用来逻辑处理、数据请求、接口调用,它们在两个线程里运行。

视图层使用WebView渲染,逻辑层使用JSCore运行。

视图层和逻辑层通过系统层的JSBridage进行通信,逻辑层把数据变化通知到视图层,触发视图层页面更新,视图层把触发的事件通知到逻辑层进行业务处理。

小程序的优点在于它跟原生应用的底层融合,让它拥有很好地体验,同时小程序也是腾讯官方推荐的开发平台,与微信/企业微信的开放能力深度打通,调用开放API更加的容易。但是小程序的生态体量相对较小,能提供的外部库比较少。

针对开发者调试而言,微信提供的小程序开发者工具也提供了极大地便利,具备专门的调试模式进行开发阶段以及测试阶段的调试。

开发与集成

基于以上的架构图,可以得知微信小程序在开发层面主要通过微信自研的类web语言WXML以及WXSS和传统的JS结合进行开发,应用结构类似于Vue。

集成方面,微信小程序内部集成了微信的能力,包含微信本身的 支付能力,登录能力,通讯录能力等等。

 Uniapp 到 企业微信适配

目前Uniapp框架也是微信开发的一种途径。

H5+JS API方面,首先Uniapp是可以生成h5应用的,但是需要考虑的点就是如何嵌入微信开放Api,又因为Uniapp可以直接制作成微信小程序的,所以这一开发模式显然是有些多余。

微信小程序这块,Uniapp虽然支持了这一端。但是也存在一些Uniapp无法解决的问题,需要开发者进行手动兼容。

Uniapp本身主要的特点就是一套代码多端实现,目前市面上类似的框架还有很多,比如Taro,mpvue等,这类框架最大的问题就是无法百分之百的发挥目标端的所有功能,更适合于拥有简单业务场景的应用。所以使用此框架,风险还是很高的。

Uniapp开发企业微信的一些问题

1. 图片不能动态绑定,只能用image去写。要不然一到线上就没有办法看到了。

2.在小程序中,使用外部组件的时候做定位的时候,有可能会有一些不生效。所以建议使用传统或者flex布局。

3.开发小程序的时候,每一个线上版本都需要审核,审核时间大概三天左右,如果是紧急审核的话,可能几个小时,所以如果项目很着急的话,需要考虑一下这个因素。

4.在小程序开发的时候,用html标签的时候需要特别注意,最好用view、text等这些小程序支持的标签, 其他的strong、label这种就不要用了。

5.插件的话使用的时候,需要特别注意,因为uni-app开发的时候有自己的插件市场,里面大部分的插件是支持小程序的,但是部分插件不支持,所以写的时候,一定要看好,要不然就是一个坑。

6.使用uni-app做小程序,必定会去做登录的。登录获取用户信息,或者手机号,需要缓存一下,用uni-app官方提供的这个缓存去写,因为这个是同步的,要不然可能别的页面获取的时候,导致获取不到。所以最好用这个同步缓存。

7.跳转页面时,需要注意,如果你的页面已经设置了tabbar,那么,你的页面跳转就不能使用uni.navigateTo,要用uni.switchTab(OBJECT)这个跳转方式。

Odoo对接企业微信

接入场景选择

企业微信提供了三种业务场景,企业内部开发场景是企业微信向外部应用提供开放Api,第二种则是外部应用内嵌到企业微信。对接Odoo,主要是Odoo利用企业微信所提供的能力以及Api,与自身的管理能力相结合,进行与企业微信互通,简化开发,所以对接Odoo选择企业内部开发场景。

具体的业务接入Api

 登录授权

Odoo集成腾讯企业微信工作台应用员工OAuth授权登录服务, 其员工用手机APP外部间接扫码或客户端内部直接免登授权登录后可使用应用功能。

​​​​​​​  

 对接组织架构 (可用于企业微信组织内部沟通)

Oddo员工管理模块支持同步企业微信用户,支持导入导出,进而实现组织内部沟通。

 利用发送消息进行提醒 (可用于审批通知,提醒事项等)

Odoo可以发送带有图片,链接消息,通过企业微信接收。

 利用第三方应用进行排班考勤管理

利用企业微信进行排班考勤,odoo作为后台进行数据分析,使用企业微信进行排班考勤,可以大大减少企业成本。

 Odoo 通用审批模块与企业微信的集成

通用审批模块可以与企业微信对接。只需要安装企业微信消息通知模块,然后再做简单的配置就可以将审批消息推送到用户的企业微信内。


传送门

odoo框架源码研读一:前后端交互

odoo框架源码研读二:ORM与日志

odoo框架源码研读三:异常与定制化开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值