• 小程序调用ODOO的XMLRPC和JSONRPC


    一、小程序配置

     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
  • 相关阅读:
    [转]ABAP数据库操作系列(1)
    [转]abap progress indicator实用实例
    [转]做sap开发的必看的几个问题
    [转]ABAP CHECKBOX 和LISTBOX使用指南
    [转]How to read long texts
    [转]Send a data stream from ABAP to UNIX named pipe
    [转]Draw a box with title
    GCC常用命令项
    propertygrid控件的简单绑定
    如何打印一张位图图片
  • 原文地址:https://www.cnblogs.com/sunshuhai/p/16028146.html
Copyright © 2020-2023  润新知