最近项目在做融360引流,涉及到了易宝支付的代扣和代付。易宝官方给出的demo只能简单运行,而且都是通过form表单的形式提交,返回XML格式。同时接口代码都写在了JSP中看起来不友好。项目在生成中想要用,必须修改整合到自己的项目工程中(文末附我修改的源码下载地址)。

首先说明易宝的版本号:易宝支付-代付代发-商户接入包-V3.3

言归正传,相信易宝官方的demo大家都能获取到,所以这里不再赘述demo的难看点。在这里直接截图给大家说明我修改后的代码。有不好的地方请大家看了代码后及时在下方评论

 

 上图是通过request获取项目的真实路径,以便下面用于获取证书地址,但是实际我们在封装成自己的代码时,传入request是不太好的,因为有可能在我们用的时候,无法获取到request对象。而且这里的功能单一,所以我用下面的方法进行了修改,以便获取到证书真实路径(urlss这里需要替换成自己的当前类全限定名称,TransferParamResolver这个都要替换。下面有可Cp代码)

这里代替为用静态代码块获取证书的真实路径,这里的System.Properties功能还是很多的

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//        System.err.println(sysPath);
//        Properties props = System.getProperties();
//        propertis = props.getProperty("user.dir")+"文件分隔符:" + //props.getProperty("file.separator");   
//        System.out.println("操作系统的名称:" + props.getProperty("os.name"));
//        System.out.println("操作系统的构架:" + props.getProperty("os.arch"));
//        System.out.println("操作系统的版本号:" + props.getProperty("os.version"));
//        System.out.println("文件分隔符:" + props.getProperty("file.separator"));
//        //在 unix 系统中是"/"
//        System.out.println("路径分隔符:" + props.getProperty("path.separator"));
//        //在 unix 系统中是":"
//        System.out.println("行分隔符:" + props.getProperty("line.separator"));
//        //在 unix 系统中是"/n"
//        System.out.println("用户的账户名称:" + props.getProperty("user.name"));
//        System.out.println("用户的主文件夹:" + props.getProperty("user.home"));
//        System.out.println("用户的当前工作文件夹:" + props.getProperty("user.dir"));
 
//        操作系统的名称:Windows 8.1
//        操作系统的构架:amd64
//        操作系统的版本号:6.3
//        文件分隔符:\
//        路径分隔符:;
//        行分隔符:
//        用户的账户名称:雷神
//        用户的主文件夹:C:\Users\雷神
//        用户的当前工作文件夹:D:\JAVAInstall\intelIdeaWorkSpace\TestProject1

  剩下的就是传参和返回值的获取,这里直接放入所有代码

 

复制代码
package com.ssm.yibaoPay.yeepay.common.transfer;import com.cfca.util.pki.api.CertUtil;
import com.cfca.util.pki.api.KeyUtil;
import com.cfca.util.pki.api.SignatureUtil;
import com.cfca.util.pki.cert.X509Cert;
import com.cfca.util.pki.cipher.JCrypto;
import com.cfca.util.pki.cipher.JKey;
import com.cfca.util.pki.cipher.Session;
import com.ssm.yibaoPay.yeepay.common.securityplatform.Digest;
import com.ssm.yibaoPay.yeepay.common.utils.CallbackUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;import java.io.File;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;/*** com.fastx.cooperate.threeInterface.yeepay.common.transfer;* 功能:;** @author 李冉 Email:1828581413@qq.com* Time:2018/7/11 10:56*/
public class TransferParamResolver {private static String sysPath;static {String urlss = "com.fastx.cooperate.threeInterface.yeepay.common.transfer.TransferParamResolver";urlss = "classes/" + urlss.substring(0, urlss.indexOf("TransferParamResolver")).replace(".", "/");java.net.URL url = TransferParamResolver.class.getResource("");sysPath = (System.getProperties().getProperty("os.name").toUpperCase().startsWith("WIN") ? "" :System.getProperties().getProperty("file.separator"))+ String.valueOf(url).substring(String.valueOf(url).indexOf("file:/")+ 6, String.valueOf(url).indexOf(urlss)) + "lib/";}//protected final static Log log = Log.getLog(TransferParamResolver.class); //添加日志/*** 单笔打款xml请求报文** @param transferSingle* @return* @throws Exception*/public static Map transferSingle(TransferSingle transferSingle) throws Exception {
//TranferSingle 这个实体类 是传参的实体,对应文档自己查看,生产中把下面amount对应修改成自己的实际金额即可String xml
= "<data>\n" +"\t<cmd>TransferSingle</cmd>\n" +"\t<version>1.1</version>\n" +"\t<mer_Id>10022581269</mer_Id>\n" +"\t<group_Id>10022581269</group_Id>\n" +"\t<batch_No>" + transferSingle.getBatch_no() + "</batch_No>\n" +"\t<order_Id>" + transferSingle.getOrder_id() + "</order_Id>\n" +"\t<bank_Code>" + transferSingle.getBank_code() + "</bank_Code>\n" +"\t<cnaps>100123123123</cnaps>\n" +"\t<bank_Name>" + transferSingle.getBank_name() + "</bank_Name>\n" +"\t<branch_Bank_Name>农业银行北京市朝阳支行</branch_Bank_Name>\n" +"\t<amount>" + "0.01" + "</amount>\n" +"\t<account_Name>" + transferSingle.getAccount_name() + "</account_Name>\n" +"\t<account_Number>" + transferSingle.getAccount_number() + "</account_Number>\n" +"\t<province>110000</province>\n" +"\t<city>110000</city>\n" +"\t<fee_Type>SOURCE</fee_Type>\n" +"\t<payee_Email></payee_Email>\n" +"\t<payee_Mobile></payee_Mobile>\n" +"\t<leave_Word></leave_Word>\n" +"\t<abstractInfo></abstractInfo>\n" +"\t<remarksInfo></remarksInfo>\n" +"\t<urgency>0</urgency>\n" +"\t<hmac></hmac>\n" +"</data>";//需要参加签名的参数:其中(hmacKey)指的是商户自己的密钥String todigestValues = "cmd,mer_Id,batch_No,order_Id,amount,account_Number,hmacKey";//验证返回参数签名的参数:其中(hmacKey)指的是商户自己的密钥String tobackDigestValues = "cmd,ret_Code,mer_Id,batch_No,total_Amt,total_Num,r1_Code,hmacKey";try {return DoTransferSingle(xml, todigestValues, tobackDigestValues);} catch (Exception e) {e.printStackTrace();// log.info("单笔打款异常---------------->" + e.getMessage());// log.info("异常输入的参数---------------->" + transferSingle.toString());throw e;}}/*** 打款明细查询xml请求报文** @param betchNo 订单批次号* @param orderId 订单ID号* @return* @throws Exception*/public static Map singlePayQuery(String betchNo, String orderId) throws Exception {String xml = "<data>\n" +"\t<cmd>BatchDetailQuery</cmd>\n" +"\t<version>1.1</version>\n" +"\t<group_Id>10022581269</group_Id>\n" +"\t<mer_Id>10022581269</mer_Id>\n" +"\t<query_Mode>1</query_Mode>\n" +"\t<batch_No>" + betchNo + "</batch_No>\n" +"\t<order_Id>" + orderId + "</order_Id>\n" +"\t<page_No>1</page_No>\n" +"\t<hmac></hmac>\n" +"</data>";//需要参加签名的参数:其中(hmacKey)指的是商户自己的密钥String todigestValues = "cmd,mer_Id,batch_No,order_Id,page_No,hmacKey";//验证返回参数签名的参数:其中(hmacKey)指的是商户自己的密钥String tobackDigestValues = "cmd,ret_Code,batch_No,total_Num,end_Flag,hmacKey";try {return DoTransferSingle(xml, todigestValues, tobackDigestValues);} catch (Exception e) {e.printStackTrace();//log.info("单笔打款查询异常---------------->" + e.getMessage());// log.info("异常输入的参数---------------->" + "betchNo" + betchNo + "orderId" + orderId);throw e;}}private static Map DoTransferSingle(String xml, String todigestValues, String tobackDigestValues) throws Exception {//商户密钥String hmacKey = "02Ji5At46r9BwZ8TVW7aFHox1pNm9N0n8c7DsA8e5813IEu74T50i901F762";Map result = new LinkedHashMap();Map xmlMap = new LinkedHashMap();Map xmlBackMap = new LinkedHashMap();//需要参加签名的参数:其中(hmacKey)指的是商户自己的密钥String[] digestValues = todigestValues.split(",");//验证返回参数签名的参数:其中(hmacKey)指的是商户自己的密钥String[] backDigestValues = tobackDigestValues.split(",");//String xml = request.getParameter("xml");//第一步:将请求的数据和商户自己的密钥拼成一个字符串,Document document = null;try {document = DocumentHelper.parseText(xml);} catch (DocumentException e) {}Element rootEle = document.getRootElement();String cmdValue = rootEle.elementText("cmd");List list = rootEle.elements();for (int i = 0; i < list.size(); i++) {Element ele = (Element) list.get(i);String eleName = ele.getName();if (!eleName.equals("list")) {xmlMap.put(eleName, ele.getText().trim());} else {continue;}}String hmacStr = "";for (int i = 0; i < digestValues.length; i++) {if (digestValues[i].equals("hmacKey")) {hmacStr = hmacStr + hmacKey;continue;}hmacStr = hmacStr + xmlMap.get(digestValues[i]);}System.out.println("签名之前的源数据为---||" + hmacStr + "||");//下面用数字证书进行签名Session tempsession = null;String ALGORITHM = SignatureUtil.SHA1_RSA;JCrypto jcrypto = null;if (tempsession == null) {try {//初始化加密库,获得会话session//多线程的应用可以共享一个session,不需要重复,只需初始化一次//初始化加密库并获得session。//系统退出后要jcrypto.finalize(),释放加密库jcrypto = JCrypto.getInstance();jcrypto.initialize(JCrypto.JSOFT_LIB, null);tempsession = jcrypto.openSession(JCrypto.JSOFT_LIB);} catch (Exception ex) {System.out.println(ex.toString());}}String sysPath = TransferParamResolver.sysPath;System.out.println("------" + sysPath + "------" + File.separator + "------");JKey jkey = KeyUtil.getPriKey(sysPath + File.separator + "7.3.pfx", "123456");X509Cert cert = CertUtil.getCert(sysPath + File.separator + "7.3.pfx", "123456");System.out.println(cert.getSubject());X509Cert[] cs = new X509Cert[1];cs[0] = cert;String signMessage = "";SignatureUtil signUtil = null;try {// 第二步:对请求的串进行MD5对数据进行签名 String yphs = Digest.hmacSign(hmacStr);signUtil = new SignatureUtil();byte[] b64SignData;// 第三步:对MD5签名之后数据调用CFCA提供的api方法用商户自己的数字证书进行签名b64SignData = signUtil.p7SignMessage(true, yphs.getBytes(), ALGORITHM, jkey, cs, tempsession);if (jcrypto != null) {jcrypto.finalize(JCrypto.JSOFT_LIB, null);}signMessage = new String(b64SignData, "UTF-8");} catch (Exception e) {}System.out.println("经过md5和数字证书签名之后的数据为---||" + signMessage + "||");Element r = rootEle.element("hmac");r.setText(signMessage);result.put("xml", xml);document.setXMLEncoding("GBK");System.out.println("完整xml请求报文:" + document.asXML());String textHost = "http://cha.yeepay.com/app-merchant-proxy/groupTransferController.action";System.out.println("请求地址为:" + textHost);//第四步:发送https请求String responseMsg = CallbackUtils.httpRequest(textHost, document.asXML(), "POST", "gbk", "text/xml ;charset=gbk", false);// out.println( // "<html><body><textarea rows=\"23\" cols=\"120\" name=\"xml\" id=\"xml\">" + // responseMsg + // "</textarea></body></html>"); // System.out.println("服务器响应xml报文:" + responseMsg);try {document = DocumentHelper.parseText(responseMsg);} catch (DocumentException e) {}rootEle = document.getRootElement();cmdValue = rootEle.elementText("hmac");//第五步:对服务器响应报文进行验证签名boolean sigerCertFlag = false;if (cmdValue != null) {sigerCertFlag = signUtil.p7VerifySignMessage(cmdValue.getBytes(), tempsession);String backmd5hmac = xmlBackMap.get("hmac") + "";if (sigerCertFlag) {System.out.println("证书验签成功");backmd5hmac = new String(signUtil.getSignedContent());System.out.println("证书验签获得的MD5签名数据为----" + backmd5hmac);System.out.println("证书验签获得的证书dn为----" + new String(signUtil.getSigerCert()[0].getSubject()));//第六步.将验签出来的结果数据与自己针对响应数据做MD5签名之后的数据进行比较是否相等Document backDocument = null;try {backDocument = DocumentHelper.parseText(responseMsg);} catch (DocumentException e) {System.out.println(e);}Element backRootEle = backDocument.getRootElement();List backlist = backRootEle.elements();for (int i = 0; i < backlist.size(); i++) {Element ele = (Element) backlist.get(i);String eleName = ele.getName();if (!eleName.equals("list")) {xmlBackMap.put(eleName, ele.getText().trim());} else {continue;}}String backHmacStr = "";for (int i = 0; i < backDigestValues.length; i++) {if (backDigestValues[i].equals("hmacKey")) {backHmacStr = backHmacStr + hmacKey;continue;}String tempStr = (String) xmlBackMap.get(backDigestValues[i]);backHmacStr = backHmacStr + ((tempStr == null) ? "" : tempStr);}String newmd5hmac = Digest.hmacSign(backHmacStr);System.out.println("提交返回源数据为---||" + backHmacStr + "||");System.out.println("经过md5签名后的验证返回hmac为---||" + newmd5hmac + "||");System.out.println("提交返回的hmac为---||" + backmd5hmac + "||");if (newmd5hmac.equals(backmd5hmac)) {System.out.println("md5验签成功");//第七步:判断该证书DN是否为易宝if (signUtil.getSigerCert()[0].getSubject().toUpperCase().indexOf("OU=YEEPAY,") > 0) {System.out.println("证书DN是易宝的");if (todigestValues.equals("cmd,mer_Id,batch_No,order_Id,page_No,hmacKey")) {return resolve(responseMsg);}return xmlBackMap;} else {System.out.println("证书DN不是易宝的");}// } else {System.out.println("md5验签失败");}} else {System.out.println("证书验签失败....");}}return null;}private static Map resolve(String responseMsg) {Map xmlBackMap = new LinkedHashMap();Map listBackMap = new LinkedHashMap();Document backDocument;try {backDocument = DocumentHelper.parseText(responseMsg);Element backRootEle = backDocument.getRootElement();List backlist = backRootEle.elements();for (int i = 0; i < backlist.size(); i++) {Element ele = (Element) backlist.get(i);String eleName = ele.getName();if (!eleName.equals("list")) {xmlBackMap.put(eleName, ele.getText().trim());} else {List backList = ((Element) (((Element) (((Element) backlist.get(i)).elements().get(0))).elements().get(0))).elements();for (int j = 0; j < backList.size(); j++) {Element e1111 = (Element) backList.get(j);listBackMap.put(e1111.getName(), e1111.getText().trim());}}}xmlBackMap.put("listBackMap", listBackMap);return xmlBackMap;} catch (DocumentException e) {//log.info("易宝解析返回XML参数错误----->" + e.getMessage());return null;}}/*** 根据易宝代付订单批次号和订单号查询支付状态** @param betch_no* @param order_Id* @return*/public static Integer getPayStatus(String betch_no, String order_Id) {//代付状态/1 代付中 /2 代付成功/ 3 代付失败try {Map transferMap = TransferParamResolver.singlePayQuery(betch_no, order_Id);if (transferMap == null || transferMap.get("listBackMap") == null) {return 3;}Map listBackMap = (Map) transferMap.get("listBackMap");if (transferMap.get("ret_Code") != null && listBackMap.get("r1_Code") != null && listBackMap.get("bank_Status") != null) {if ("1".equals(String.valueOf(transferMap.get("ret_Code"))) && "0026".equals(String.valueOf(listBackMap.get("r1_Code"))) && "S".equals(String.valueOf(listBackMap.get("bank_Status")))) {return 2;}//失败情况if ("1".equals(String.valueOf(transferMap.get("ret_Code"))) && ("0026".equals(String.valueOf(listBackMap.get("r1_Code"))) || "0027".equals(String.valueOf(listBackMap.get("r1_Code")))) && "F".equals(String.valueOf(listBackMap.get("bank_Status")))) {return 3;}//正在进行中if ("1".equals(String.valueOf(transferMap.get("ret_Code"))) && ("0026".equals(String.valueOf(listBackMap.get("r1_Code")))) || "0025".equals(String.valueOf(listBackMap.get("r1_Code")))) {return 1;}} else {return 3;}} catch (Exception e) {e.printStackTrace();//log部分 }return 3;}}
复制代码

 这里附上源码下载地址(源码在TestProject中):链接:https://pan.baidu.com/s/1UVUCG4zNYDJmJl9q5twrkw 密码:32gw

 

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Apache网页与安全优化之--网页压缩

    文章目录前言:一、Apache网页优化1.1 网页压缩1.1.1 Apcahe网页优化概述1.1.2 gzip介绍1.1.3 Apache的压缩模块1.1.4 配置网页压缩功能二、Apache网页压缩实验2.1 手工编译apache2.1.2 修改配置文件2.1.3 验证模块2.2 验证总结: 前言: Apache作为最常用的网站服务器,其在部…...

    2024/4/24 15:03:33
  2. μC/OS Ⅱ学习之 OSTaskCreate()

    1.OSTaskCreate()函数的声明 INT8U OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK *ptos,INT8U prio) 1.1返回类型 INT8U 1.2参数...

    2024/4/24 15:03:32
  3. Springboot 集成ureport2报表插件

    ​最近在项目中需要用到报表功能,要求能灵活配置,而不是每次要生成报表都要写代码。调研了网上各种报表插件,发现各有千秋,但是最适合java项目的还是UReport2这个报表框架,我们项目后台框架是基于SpringBoot、SpringCloud框架搭建的微服务架构,下面介绍一下如何在Springb…...

    2024/4/15 2:57:34
  4. F5 BIG-IP LTM 负载均衡器 功能介绍 下篇

    基于庞大的网络结构,集群服务器的使用带来了不少流量等负载问题。那么相对的,负载均衡的技术也应运而生。每一种技术都需要产品的支持,那么现在我们来认识一下F5负载均衡器的一种。那么首先我们先把产品的结构功能进行一下介绍。许多厂商推出了专用于平衡服务器负载的负载均…...

    2024/4/15 2:57:32
  5. web性能优化--用gzip压缩资源文件

    #一、gzip压缩技术 gzip(GNU- ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会快得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心…...

    2024/5/4 4:34:49
  6. ureport2 + spring boot 搭建

    ureport2使用 ureport2UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表 在UReport2中,提供了全新的基于网页的报表设计器,可以在Chrome、Firefox、Edge等各种主流浏览器运行(IE浏览器除外)。使用UReport2,打开浏览…...

    2024/4/15 2:57:32
  7. UCOSⅢ学习总结1: void  OSTaskCreate();

    OSTaskCreate 函数任务的堆栈,任务的函数实体,任务的 TCB 最终需要联系起来才能由系统进行统一调 度。那么这个联系的工作就由任务创建函数 OSTaskCreate 来实现。/*p_tcb 是任务控制块指针。OS_TCB是一个结构体,是一个任务的身份证,(1)*/void OSTaskCreate ( OS_TCB …...

    2024/4/17 0:37:18
  8. 易宝支付

    把项目src下的merchantInfo.properties文件中p1_MerId换成你自己的商户编号,keyValue换成相应的密钥,merchantCallbackURL前面的域名换成你自己的域名。 然后把项目放到tomcat上运行即可。建议用IE浏览器打开。源码下载地址如下(包含易宝支付官方开发文档): http://downlo…...

    2024/4/19 20:49:34
  9. 小bug集合处

    @TOC小bug集合处 出现Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object referen这中问题 可以将equal两边的值进行对调 也有View 的v 没写成大写也会导致这个bug 下次请多多注意哦 欢迎使用Markdown编辑器 你好! 这…...

    2024/4/15 2:57:27
  10. 第三方支付平台:易宝支付

    国付宝国企LianLianPay连连支付 这个比较好用,可以自己试试我这里说的是易宝支付两种在线支付的方式在线支付一共有两种方式:电商直接与银行对接;电商通过第三方支付平台与银行对接;电商直接与银行对接,这也要银行同意才行,但可惜的是,银行很“牛”,不是谁想与它对接都可…...

    2024/4/15 2:57:27
  11. μC/OS之OSTaskCreate()

    转自 http://blog.csdn.net/xiaocaichonga/article/details/7449409建立任务OSTaskCreate() 1.OSTaskCreate()函数的声明INT8U OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK *ptos,INT8U prio)1.1返回类型 INT8U1.2参数:4个参数,分别是指向任务代码段的函数指针task…...

    2024/4/24 15:03:31
  12. UReport2 报表打印框架

    http://www.bsdn.org/projects/ureport/deploy/ureport-sample/#UReport2已正式发布UReport2是一款基于架构在Spring之上纯Java的高性能报表引擎,通过迭代单元格可以实现任意复杂的中国式报表。相比UReport1,UReport2重写了全部代码,弥补了UReport1在功能及性能上的各种不足…...

    2024/4/24 15:03:33
  13. Nginx(九):Nginx网页压缩技术

    概述: Nginx网页压缩技术是非常重要的内容。 先占坑,后续完善。...

    2024/4/24 15:03:32
  14. 第三方支付3(易宝支付)

    一、易宝支付java在线支付流程如下:使用易宝支付:接入免费,只需从交易金额中扣取1%的手续费- ①申请账号- ②获取秘钥及加密算法- ③发送请求- ④接受回调- ⑤处理相应的逻辑二、代码编写如下:准备工作:(1)商户账号:p1_MerId=10001126856 (2)商户的keyValue:keyValu…...

    2024/4/24 15:03:29
  15. OSTaskCreate 和 OSTaskCreateExt 函数

    //建立一个新任务 #if OS_TASK_CREATE_EN > 0 //允许生成OSTaskCreate()函数 INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio) { #if OS_CRITICAL_METHOD == 3 //中断函数被设定为模式3OS_CPU_SR cpu_sr; #endi…...

    2024/4/24 15:03:28
  16. UReport2 报表设计器

    UReport2官网一、UReport2报表设计器UReport2是一个开源的可视化报表设计器,功能强大,操作简单,可以实现复杂的报表统计,有各种各样的导出和打印功能,支持导入Excel表格!1、报表设计器2、设计一个简单的用户列表展示二、可编辑表格扩展了layui的表格,支持多元化数据编辑…...

    2024/4/24 15:03:26
  17. tomcat开启gzip网页压缩的方法

    背景之前一直用nginx部署网站,很方便就开启了gzip压缩,最近给客户做了一个网站,由于服务器只部署了两个项目,并且都是java开发的,所以就懒的部署nginx了,直接利用Tomcat做的解析,随后客户要求对网页开启压缩,已提高网站的访问速度,最后在网上搜索了下,Tomcat开启gzip压…...

    2024/4/24 15:03:25
  18. RabbitMQ(九):RabbitMQ 延迟队列,消息延迟推送

    应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如:淘宝七天自动确认收货。在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持续七天,就是使用了消息中间件的延迟推送功能。 12306 购票支付…...

    2024/5/4 5:52:41
  19. ureport2报表图形表修改图例配置后无法预览

    本人接触ureport2时间很短,属于新手,遇到ureport源码报错问题总是不知该如何解决,网上关于这方面的博客也比较少。这两天遇到无法预览的问题,耽误了很长时间,所以决定把解决方案给记录下来。ureport2版本为2.2.9。在做曲线报表或柱状报表时,图例配置为默认的情况下,直接…...

    2024/4/24 15:03:23
  20. tomcat优化之启用gzip网页压缩加快网站访问速度

    现在随着搜索引擎的升级,现在更加注重网站用户体验。对于广大站长朋友来说网站的速度甚至比内容还要重要。因为如果客户访问你的网站一直打不开,就算网站的内容很优秀,相信没有多少人会耐心地等待。所以提高网站访问速度是非常必要和重要的。今天笔者就跟大家分享一下如何开…...

    2024/4/24 15:03:23

最新文章

  1. 随便聊一下 显控科技 控制屏 通过 RS485 接口 上位机 通讯 说明

    系统搭建&#xff1a; 1、自己研发的一个小系统&#xff08;采集信号&#xff0c;将采集的信号数字化&#xff09;通过COM口&#xff0c;连接显控屏 COM3 口采用 485 协议送到显控屏&#xff08;显控科技&#xff09;的显示屏展示出来&#xff09;。 2、显控屏 将 展示的数据…...

    2024/5/4 6:10:19
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 前端开发攻略---Vue通过自定义指令实现元素平滑上升的动画效果(可以自定义动画时间、动画效果、动画速度等等)。

    1、演示 2、介绍 这个指令不是原生自带的&#xff0c;需要手动去书写&#xff0c;但是这辈子只需要编写这一次就好了&#xff0c;后边可以反复利用。 3、关键API IntersectionObserver IntersectionObserver 是一个用于监测元素是否进入或离开视口&#xff08;viewport&#x…...

    2024/5/3 4:46:37
  4. JVM专题——类文件结构

    本文部分内容节选自Java Guide和《深入理解Java虚拟机》, Java Guide地址: https://javaguide.cn/java/jvm/class-file-structure.html &#x1f680; 基础&#xff08;上&#xff09; → &#x1f680; 基础&#xff08;中&#xff09; → &#x1f680;基础&#xff08;下&am…...

    2024/5/1 7:18:39
  5. 星际门计划:微软与OpenAI联手打造未来AI超级计算机

    每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

    2024/5/2 19:37:40
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57