revert: PC 支付宝改回电脑网站支付(自提交表单跳转)
配合后端把支付宝默认渠道改回电脑网站支付(当面付需单独签约并提交 资料审核,实测被网关以 ACQ.ACCESS_FORBIDDEN 拒绝)。 改动(tender/pay.vue 收银台 + template-07/BuyDocument.vue 购标流程): - 恢复 alipayForm 这套处理:后端返回自提交表单时用 document.write 写进新窗口跳转支付宝收银台,原页面留在原标签页继续轮询查单; 弹窗被拦截时给出可行动提示,按钮可重试。 - 模板恢复「表单」与「二维码」两支:支付宝走表单、微信走 codeUrl。 - 切换支付方式时把两种产物都清掉,避免上一支的残留留在页面上。 - 文件头注释同步:微信出码、支付宝跳转。 前端不传 payType 之外的值即可——裸 alipay 现在由后端解析为网页支付, 所以「微信支付 / 支付宝」选择器保持不变。 验证:eslint 0 error;npm run build:dev 通过。
This commit is contained in:
@@ -81,9 +81,27 @@ const listState = shallowRef<Tender[]>([])
|
||||
const items = computed(() => listState.value)
|
||||
const count = computed(() => (listState as any).__count || 0)
|
||||
|
||||
/**
|
||||
* 必须用 useRequestFetch 取数,不能用裸 `$fetch`。
|
||||
*
|
||||
* 本组件在 setup 顶层就 `await load()`(SSR 期间执行):裸 `$fetch` 走 Nuxt 全局 ofetch,
|
||||
* 服务端渲染时**不会**把浏览器原始请求头(Cookie、X-Forwarded-* 等)转发给站内 `/api` 代理,
|
||||
* 代理收到的是 host=localhost、无 Cookie 的「新请求」——租户中间件按 localhost 走本地分支,
|
||||
* 解析不到租户 → 上游按空租户查询 → SSR 渲染出「暂无标书项目」空列表。
|
||||
* 客户端水合时浏览器重新请求拿到真实数据,两棵树分支错位(空状态 vs 网格列表),
|
||||
* 卡片被插进残留的空状态 div 里 → 标书列表区域样式错乱(inline 排布、边框断裂)。
|
||||
*
|
||||
* `useRequestFetch` 会转发原始请求头:SSR 期间代理能拿到真实 Host 与 Cookie,
|
||||
* 与客户端刷新后的行为一致。(同一个坑的另外两种表现见 TenderDetail.vue 与
|
||||
* app/pages/tender/orders/index.vue 的注释。)
|
||||
*
|
||||
* 客户端侧 `useRequestFetch()` 等价于 `globalThis.$fetch`,行为不变。
|
||||
*/
|
||||
const requestFetch = useRequestFetch()
|
||||
|
||||
async function load() {
|
||||
page.value = 1
|
||||
const res: any = await $fetch('/api/tender/list', {
|
||||
const res: any = await requestFetch('/api/tender/list', {
|
||||
query: { page: page.value, limit, keywords: keywords.value || undefined, category: category.value || undefined }
|
||||
})
|
||||
listState.value = res?.list || []
|
||||
@@ -93,7 +111,7 @@ async function load() {
|
||||
|
||||
async function loadMore() {
|
||||
page.value += 1
|
||||
const res: any = await $fetch('/api/tender/list', {
|
||||
const res: any = await requestFetch('/api/tender/list', {
|
||||
query: { page: page.value, limit, keywords: keywords.value || undefined, category: category.value || undefined }
|
||||
})
|
||||
const next = res?.list || []
|
||||
|
||||
Reference in New Issue
Block a user