一、小程序配置
1、微信开发者工具 需要配置不校验合法域名,否则无法调用本地接口。正式环境部署时需要申请域名、备案,并且申请SSH证书。
2、在主page页面中.js文件中写入代码
// pages/if/if.js Page({ /** * 页面的初始数据 */ data: { "age":18 }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { ////xmlrpc调用odoo数据 // wx.request({method: 'POST', //对xmlrpc来说,GET或者POST都可以 // url: 'http://localhost:8069/xmlrpc/2/common', //这里选择访问xmlrpc/2/common,不需要验证,方便测试 // data: "<?xml version='1.0'?>\n<methodCall>\n<methodName>version</methodName>\n<params>\n</params>\n</methodCall>\n", //xmlrpc的数据格式 // header: {'content-type': 'text/xml' //xmlrpc的内容类型要这么写 // }, // success (res) {console.log(res.data) //成功获得值后的操作 // } // }) // //jsonrpc调用odoo数据 // wx.request({ // method: 'POST', //jsonrpc必须使用POST // url: 'http://localhost:8069/jsonrpc', //留意此处地址变化 ,不需要验证,方便测试 // data: { // "jsonrpc": "2.0", //必要格式,参考下面的网址https://www.odoo.com/documentation/15.0/developer/howtos/backend.html?highlight=jsonrpc // "method": "call", //必要格式,参考下面的网址 // "params": {"service": "common", "method": "version", "args": ''}, //args必须有且不能是null // "id": null, //必要格式,参考下面的网址 // }, // header: { // 'content-type': 'application/json' // 留意此处变化 // }, // success (res) { // console.log(res.data) // console.log(res.data.result.server_version_info) // } // }) // // jsonrpc调用odoo数据,并且带参数,登陆 // // 参考:https://www.odoo.com/documentation/15.0/developer/howtos/backend.html?highlight=jsonrpc // var args=["odoo15","sunxiao","147258"] // console.log(args) // wx.request({ // method: 'POST', //jsonrpc必须使用POST // url: 'http://localhost:8069/jsonrpc', //留意此处地址变化 ,不需要验证,方便测试 // data: { // "jsonrpc": "2.0", //必要格式,参考下面的网址https://www.odoo.com/documentation/15.0/developer/howtos/backend.html?highlight=jsonrpc // "method": "call", //必要格式,参考下面的网址 // "params": {"service": "common", "method": "login", "args": args}, //args必须有且不能是null // "id": null, //必要格式,参考下面的网址 // }, // header: { // 'content-type': 'application/json' // 留意此处变化 // }, // success (res) { // console.log(res.data) // } // }) // jsonrpc调用odoo数据,获取模型partner数据 // 参考:https://www.odoo.com/documentation/15.0/developer/howtos/backend.html?highlight=jsonrpc var args=["odoo15","8","123456","res.partner", "search", [['is_company', '=', true]]] // var args="" console.log(args) wx.request({ method: 'POST', //jsonrpc必须使用POST url: 'http://localhost:8069/jsonrpc', //留意此处地址变化 ,不需要验证,方便测试 data: { "jsonrpc": "2.0", //必要格式,参考下面的网址https://www.odoo.com/documentation/15.0/developer/howtos/backend.html?highlight=jsonrpc "method": "call", //必要格式,参考下面的网址 "params": {"service": "object", "method": "execute", "args": args}, //args必须有且不能是null "id": null, //必要格式,参考下面的网址 }, header: { 'content-type': 'application/json' // 留意此处变化 }, success (res) { console.log(res.data) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })
二、odoo参考资料
1、API参考
https://www.odoo.com/documentation/15.0/developer/misc/api/odoo.html?highlight=xmlrpc
2、Webservice
https://www.odoo.com/documentation/15.0/developer/howtos/backend.html?highlight=jsonrpc#
打开网址后,参考目录