1 2 3 4

小程序调用ODOO的XML-RPC和JSON-RPC

一、小程序配置

 

 

 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#

打开网址后,参考目录

Reporting

 

posted @ 2022-03-19 21:49  I我的博客I  阅读(765)  评论(0编辑  收藏  举报