Parcourir la source

fix: pageExecute HTML直接渲染当前页自动重定向,不用Blob+新窗口

- handleAuthorize: document.write(signHtml) 替代 window.open(blob)
- handleDeposit: 同上
alphaH il y a 3 jours
Parent
commit
4db0ce6e0c

+ 8 - 8
frontend/src/views/module_payment/account/index.vue

@@ -1383,11 +1383,10 @@ async function handleAuthorize() {
     const externalAgreementNo = res.data.data?.external_agreement_no || "";
     authorizeResult.sign_url = signHtml;
     authorizeResult.external_agreement_no = externalAgreementNo;
-    // pageExecute 返回 HTML 表单,通过 Blob URL 跳转到支付宝签约页
-    const blob = new Blob([signHtml], { type: "text/html" });
-    window.open(URL.createObjectURL(blob), "_blank");
-    // 提示用户完成签约后查询结果
-    ElMessage.success("请在支付宝中完成签约,然后点击「查询签约结果」获取协议号");
+    // pageExecute 返回 HTML 表单,自带自动提交,直接渲染到当前页自动重定向到支付宝
+    document.open();
+    document.write(signHtml);
+    document.close();
   } finally {
     authorizeLoading.value = false;
   }
@@ -1493,9 +1492,10 @@ async function handleDeposit() {
         });
         const depositHtml = res.data.data?.url || "";
         depositResult.url = depositHtml;
-        // pageExecute 返回 HTML 表单,通过 Blob URL 跳转到支付宝充值页
-        const blob = new Blob([depositHtml], { type: "text/html" });
-        window.open(URL.createObjectURL(blob), "_blank");
+        // pageExecute 返回 HTML 表单,自带自动提交,直接渲染到当前页自动重定向到支付宝
+        document.open();
+        document.write(depositHtml);
+        document.close();
       } finally {
         depositLoading.value = false;
       }

+ 28 - 0
logs/payment-platform.log

@@ -2357,3 +2357,31 @@ java.io.IOException: 你的主机中的软件中止了一个已建立的连接
 2026-07-15 16:07:11.735 [tomcat-handler-103] WARN  c.p.p.c.e.GlobalExceptionHandler - 业务异常 [/api/v1/payment/account] 400: 开通资金记账本失败: Business Failed
 2026-07-15 16:09:36.027 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ...
 2026-07-15 16:09:36.030 [SpringApplicationShutdownHook] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed
+2026-07-15 16:09:43.006 [background-preinit] INFO  o.h.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final
+2026-07-15 16:09:43.073 [main] INFO  c.p.platform.PaymentApplication - Starting PaymentApplication using Java 21.0.11 with PID 47360 (D:\project2\payment-platform\java\target\classes started by 1 in D:\project2\payment-platform)
+2026-07-15 16:09:43.074 [main] INFO  c.p.platform.PaymentApplication - The following 1 profile is active: "dev"
+2026-07-15 16:09:43.923 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode
+2026-07-15 16:09:43.925 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
+2026-07-15 16:09:43.976 [main] INFO  o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 41 ms. Found 0 Redis repository interfaces.
+2026-07-15 16:09:44.531 [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8001 (http)
+2026-07-15 16:09:44.539 [main] INFO  o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
+2026-07-15 16:09:44.540 [main] INFO  o.a.catalina.core.StandardService - Starting service [Tomcat]
+2026-07-15 16:09:44.540 [main] INFO  o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.20]
+2026-07-15 16:09:44.584 [main] INFO  o.a.c.c.C.[.[localhost].[/api/v1] - Initializing Spring embedded WebApplicationContext
+2026-07-15 16:09:44.584 [main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1369 ms
+2026-07-15 16:09:44.610 [main] INFO  c.a.d.s.b.a.DruidDataSourceAutoConfigure - Init DruidDataSource
+2026-07-15 16:09:45.792 [main] INFO  c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
+2026-07-15 16:09:46.523 [main] WARN  c.p.p.c.alipay.AlipayClientFactory - 支付宝默认配置不完整,将仅使用服务商/租户专属客户端
+2026-07-15 16:09:46.671 [main] INFO  c.p.platform.core.oss.OssService - OSS client initialized: bucket=hunanxiaojunzioss, endpoint=oss-cn-beijing.aliyuncs.com
+2026-07-15 16:09:46.968 [main] INFO  c.p.p.m.p.e.s.EnterpriseNameSyncScheduler - [企业名称同步] 调度器启动
+2026-07-15 16:09:47.213 [main] INFO  c.p.p.m.p.n.s.NotificationService - 已注册 7 个通知处理器: [AccountHandler, BillHandler, EmployeeHandler, EnterpriseHandler, InstitutionHandler, OrderHandler, VoucherHandler]
+2026-07-15 16:09:47.744 [main] INFO  o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@3328db4f, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4f9e9c21, org.springframework.security.web.context.SecurityContextHolderFilter@7962a364, org.springframework.security.web.header.HeaderWriterFilter@6fb51e17, org.springframework.web.filter.CorsFilter@1390a43a, org.springframework.security.web.authentication.logout.LogoutFilter@30ce78e3, com.payment.platform.core.security.JwtAuthFilter@418bdde9, com.payment.platform.core.security.TenantApiKeyAuthFilter@24563809, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@134ec0f3, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@258ac1e6, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7bf2e475, org.springframework.security.web.session.SessionManagementFilter@721fc228, org.springframework.security.web.access.ExceptionTranslationFilter@4fe9fb65, org.springframework.security.web.access.intercept.AuthorizationFilter@6c120b00]
+2026-07-15 16:09:48.141 [main] INFO  o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
+2026-07-15 16:09:48.151 [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8001 (http) with context path '/api/v1'
+2026-07-15 16:09:48.300 [main] INFO  c.p.platform.PaymentApplication - Started PaymentApplication in 6.814 seconds (process running for 7.493)
+2026-07-15 16:09:50.381 [main] INFO  c.p.p.core.config.AppStartupRunner - 系统配置缓存初始化完成
+2026-07-15 16:09:52.140 [main] INFO  c.p.p.core.config.AppStartupRunner - 数据字典缓存初始化完成 (10 个字典类型)
+2026-07-15 16:10:07.126 [tomcat-handler-0] INFO  o.a.c.c.C.[.[localhost].[/api/v1] - Initializing Spring DispatcherServlet 'dispatcherServlet'
+2026-07-15 16:10:07.126 [tomcat-handler-0] INFO  o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
+2026-07-15 16:10:07.128 [tomcat-handler-0] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
+2026-07-15 16:10:07.512 [tomcat-handler-0] INFO  c.p.p.c.alipay.AlipayClientFactory - 服务商[3]客户端创建成功, appId=2021006160682088, name=跨境服务商