非凡棋牌

 
 注册成为天翎用户
热搜:
1
返回列表
查看: 800|回复: 13

myapps里的数据库是否有接口可以给其他系统调用查询-非凡棋牌

发表于 2025-6-5 11:17:34 | |
【myapps/obpm版本号】:v5.1- 社区版
【浏览器类型】:chrome/其他
【非凡棋牌的联系方式-qq】:260217944
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:想咨询一下,myapps社区版,是支持mysql的,如果我在数据库里新建一个db_caiwu的数据库,里面只有一张表,包含一些客户名称,开户行,银行账号,和这个表的主id,因为不是从天翎的系统生成,只是想借用天翎的mysql维护一个数据库,里面的表都是通过excel导入。不知是否可以制作一个以接口的形式(类似api),供其他系统调用查询?


1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"
chain 发表于 2025-6-9 17:02:04 |
可以通过api中心来把对应的数据通过接口返回,给到外部系统进行访问。

  1. //举例:通过传参用户id和测试字段单号来获取适配数据
  2. (function(){
  3.         //获取url参数
  4.         var userid = context.getparameter("userid");                // __op0irhwxga2ozrusw1d
  5.         println("userid------------------->" userid);
  6.         var testnumber = context.getparameter("testnumber");        // 001
  7.         println("testnumber------------------->" testnumber);


  8.         //判断参数非空
  9.         if (null != userid && userid.trim().length()  > 0 && null != testnumber && testnumber.trim().length()  > 0) {
  10.                 // var list = new packages.java.util.arraylist();
  11.                 var dataarray = new packages.net.sf.json.jsonarray();  
  12.                
  13.                 //可以查询系统创建表也可以获取外部表
  14.                 var sql = "select * from tlk_图片打印测试 where 1=1 and item_测试字段 = '" testnumber "' and author = '" userid "'";
  15.                 var query = querybysql(sql);
  16.                 if (query != null && query.size() > 0) {   
  17.                         for(var iter = query.iterator(); iter.hasnext(); ) {
  18.                                 var jsonobject = createobject("com.alibaba.fastjson.jsonobject");
  19.                                 // var result = new packages.java.util.hashmap(); //创建指定类对象
  20.                                
  21.                                 var docs = iter.next();        
  22.                                 var value = docs.getitemvalueasstring("测试字段");
  23.                                 var path = docs.getitemvalueasstring("图片路径");   
  24.                                
  25.                                 jsonobject.put("id", docs.getid().tostring());
  26.                                 jsonobject.put("path", path.tostring());
  27.                                 jsonobject.put("value", value.tostring());
  28.                                 dataarray.add(jsonobject);
  29.                         }
  30.                        
  31.                 }
  32.                 return dataarray;
  33.         }
  34.        
  35. })();
复制代码
访问接口地址:规划所问题验证/test/__op0irhwxga2ozrusw1d/001?accesstoken=eyj0exaioijkv1qilcjhbgcioijiuzi1nij9.eyjpc3mioijhdxromcisimv4cci6mtc0otq2njm0nswidxnlcm5hbwuioijfx29qmglyafdyr0eyb1psdxnxmwqifq.lyv8dl2kglag4y2ernrqgg5gu6f_rv-cydxpqfc1e1c,需要带上token,token可以通过脚本获取,也可以到企业域里面openapi获取。
  1. var accesstoken = new packages.cn.myapps.common.util.security().gettoken(user.getid());
复制代码
结果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 发表于 2025-6-9 17:14:01 |

可以通过api中心来把对应的数据通过接口返回,给到外部系统进行访问。

访问接口地址:http://192.168.88 ...

好的,谢谢工程师,我稍后先试试,有问题再请教。
 楼主| 发表于 2025-7-1 17:35:52 |

可以通过api中心来把对应的数据通过接口返回,给到外部系统进行访问。

访问接口地址:http://192.168.88 ...

工程师,你好!

我将你的代码修改如下:
//举例:通过传参用户id和测试字段单号来获取适配数据
(function(){
         //var id = context.getparameter("id");
         var id = "4674658a-a357-1aa3-336d-902b0debe943";
         println("id--------------->" id);
         //var testaccount = context.getparameter("账号名称");
         var testaccount = "欧xx";
         println("testaccount------------->" testaccount);

        //判断参数非空
        if (null != id && id.trim().length()  > 0 && null != testaccount && testaccount.trim().length()  > 0) {
                // var list = new packages.java.util.arraylist();
                var dataarray = new packages.net.sf.json.jsonarray();  
               
                //可以查询系统创建表也可以获取外部表
                var sql = "select * from caiwugx where item_账号名称 = '" testaccount "' and item_id = '" id "'";
                var query = querybysql(sql);
                if (query != null && query.size() > 0) {   
                        for(var iter = query.iterator(); iter.hasnext(); ) {
                                var jsonobject = createobject("com.alibaba.fastjson.jsonobject");
                                // var result = new packages.java.util.hashmap(); //创建指定类对象
                                
                                var docs = iter.next();        
                                var bank_number = docs.getitemvalueasstring("银行账号");
                                var bank_name = docs.getitemvalueasstring("所属银行_名称");   
                                
                                jsonobject.put("id", docs.getid().tostring());
                                jsonobject.put("path", path.tostring());
                                jsonobject.put("value", value.tostring());
                                dataarray.add(jsonobject);
                        }
                        
                }
                return dataarray;
        }
        
})();

并后台设置如下图,不知为何测试时有这个错误。可以指导一下吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 发表于 2025-7-1 17:42:10 |
  1. (function(){
  2.          //var id = context.getparameter("id");
  3.          var id = "4674658a-a357-1aa3-336d-902b0debe943";
  4.          println("id--------------->" id);
  5.          //var testaccount = context.getparameter("账号名称");
  6.          var testaccount = "欧xx";
  7.          println("testaccount------------->" testaccount);

  8.         //判断参数非空
  9.         if (null != id && id.trim().length()  > 0 && null != testaccount && testaccount.trim().length()  > 0) {
  10.                 // var list = new packages.java.util.arraylist();
  11.                 var dataarray = new packages.net.sf.json.jsonarray();  
  12.                
  13.                 //可以查询系统创建表也可以获取外部表
  14.                 var sql = "select * from caiwugx where item_账号名称 = '" testaccount "' and item_id = '" id "'";
  15.                 var query = querybysql(sql);
  16.                 if (query != null && query.size() > 0) {   
  17.                         for(var iter = query.iterator(); iter.hasnext(); ) {
  18.                                 var jsonobject = createobject("com.alibaba.fastjson.jsonobject");
  19.                                 // var result = new packages.java.util.hashmap(); //创建指定类对象
  20.                                 
  21.                                 var docs = iter.next();        
  22.                                 var bank_number = docs.getitemvalueasstring("银行账号");
  23.                                 var bank_name = docs.getitemvalueasstring("所属银行_名称");   
  24.                                 
  25.                                 jsonobject.put("id", docs.getid().tostring());
  26.                                 jsonobject.put("bank_number", bank_number.tostring());
  27.                                 jsonobject.put("bank_name", bank_name.tostring());
  28.                                 dataarray.add(jsonobject);
  29.                         }
  30.                         
  31.                 }
  32.                 return dataarray;
  33.         }
  34.         
  35. })();
复制代码
chain 发表于 2025-7-2 09:30:13 |

把这个函数trim()去掉,或者试试直接判断非空 xxx !=""
 楼主| 发表于 2025-7-2 16:53:16 |

把这个函数trim()去掉,或者试试直接判断非空 xxx !=""

当我取消trim()函数时,到length()报错,后来我直接判断xxx != "";
提示oa5.caiwugx的表,后我改了下代码,提示列不存在。
  1. (function(){
  2.          //var id = context.getparameter("id");
  3.          var id = "4674658a-a357-1aa3-336d-902b0debe943";
  4.          println("id--------------->" id);
  5.          //var testaccount = context.getparameter("账号名称");
  6.          var testaccount = "欧燕红";
  7.          println("testaccount------------->" testaccount);
  8.          var dsname = "浪潮财务共享库";
  9.          var id = counter.genuuid();

  10.         //判断参数非空
  11.         if (null != id && null != testaccount) {
  12.                 // var list = new packages.java.util.arraylist();
  13.                 var dataarray = new packages.net.sf.json.jsonarray();  
  14.                
  15.                 //可以查询系统创建表也可以获取外部表
  16.                 var sql = "select * from caiwugx where item_账号名称 = '" testaccount "' and item_id = '" id "'";
  17.                 //var query = querybysql(sql);
  18.                 var query = querybydsname(dsname,  sql);
  19.                 if (query != null && query.size() > 0) {   
  20.                         for(var iter = query.iterator(); iter.hasnext(); ) {
  21.                                 var jsonobject = createobject("com.alibaba.fastjson.jsonobject");
  22.                                 // var result = new packages.java.util.hashmap(); //创建指定类对象
  23.                                 
  24.                                 var docs = iter.next();        
  25.                                 var bank_number = docs.getitemvalueasstring("银行账号");
  26.                                 var bank_name = docs.getitemvalueasstring("所属银行_名称");   
  27.                                 
  28.                                 jsonobject.put("id", docs.getid().tostring());
  29.                                 jsonobject.put("bank_number", bank_number.tostring());
  30.                                 jsonobject.put("bank_name", bank_name.tostring());
  31.                                 dataarray.add(jsonobject);
  32.                         }
  33.                         
  34.                 }
  35.                 return dataarray;
  36.         }
  37.         
  38. })();
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 发表于 2025-7-2 17:21:48 |
  1. if (null != id && null != testaccount) {
  2.                 // var list = new packages.java.util.arraylist();
  3.                 var dataarray = new packages.net.sf.json.jsonarray();  
  4.                
  5.                 //可以查询系统创建表也可以获取外部表
  6.                 var sql = "select * from caiwugx where inspur.caiwugx.账号名称 = '" testaccount "' and inspur.caiwugx.id = '" id "'";
  7.                 //var query = querybysql(sql);
  8.                 var query = querybydsname(dsname,  sql);
  9.                 if (query != null && query.size() > 0) {   
  10.                         for(var iter = query.iterator(); iter.hasnext(); ) {
  11.                                 var jsonobject = createobject("com.alibaba.fastjson.jsonobject");
  12.                                 // var result = new packages.java.util.hashmap(); //创建指定类对象
  13.                                 
  14.                                 var docs = iter.next();        
  15.                                 var bank_number = docs.getitemvalueasstring("银行账号");
  16.                                 var bank_name = docs.getitemvalueasstring("所属银行_名称");   
  17.                                 
  18.                                 jsonobject.put("id", docs.getid().tostring());
  19.                                 jsonobject.put("bank_number", bank_number.tostring());
  20.                                 jsonobject.put("bank_name", bank_name.tostring());
  21.                                 dataarray.add(jsonobject);
  22.                         }
  23.                         
  24.                 }
  25.                 return dataarray;
复制代码

补充内容 (2025-7-3 14:03):
这个我找到问题了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 发表于 2025-7-3 16:53:49 |
请问以下这图,一定要带上openapi和前端系统登陆用户名才可以获取accesstoken吗?
有无一种方式,只需要openapi就可以获得accesstoken

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 发表于 2025-7-4 13:15:04 |

可以通过api中心来把对应的数据通过接口返回,给到外部系统进行访问。

访问接口地址:http://192.168.88 ...

工程师,你好,请教一下这里url的test我是用哪里的路径

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
1
返回列表
您需要登录后才可以回帖 登录 | 注册成为天翎用户

本版积分规则

||非凡棋牌 ( )

gmt 8, 2025-9-29 22:30

powered by x3.4

非凡棋牌 copyright © 2001-2020, tencent cloud.

返回列表
网站地图