Fix Link bug: Replace <a> with <Link> and add more demo page(dl.html)
This commit is contained in:
parent
69d83ea493
commit
ce646ffc20
4 changed files with 50 additions and 17 deletions
|
|
@ -12,6 +12,7 @@ if (!DOCEDIT_BASE_URL||!EXTERNAL_API_KEY||!TMPL_PATH) {
|
|||
console.error('Missing variable DOCEDIT_BASE_URL, EXTERNAL_API_KEY or TMPL_PATH')
|
||||
}
|
||||
|
||||
// console.log("download-docx env",DOCEDIT_BASE_URL,EXTERNAL_API_KEY,TMPL_PATH)
|
||||
|
||||
async function processRequest(fid: string,tid:string,uid:string,uname:string):Promise<NextResponse<unknown>>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,9 +12,12 @@ const PRIVATE_KEY_HEX = process.env.PRIVATE_KEY_HEX ||''
|
|||
const SECRET = process.env.SECRET || ''
|
||||
const TICKET_SEC = Number(process.env.TICKET_SEC||'300')
|
||||
|
||||
if (EXTERNAL_API_KEY || !TMPL_PATH || !PRIVATE_KEY_HEX || !SECRET)
|
||||
if (!EXTERNAL_API_KEY || !TMPL_PATH || !PRIVATE_KEY_HEX || !SECRET)
|
||||
console.log("api/template/generate: require EXTERNAL_API_KEY, TMPL_PATH and PRIVATE_KEY_HEX")
|
||||
|
||||
// console.log("generate env:",EXTERNAL_API_KEY,TMPL_PATH,PRIVATE_KEY_HEX,SECRET)
|
||||
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
// 1. ตรวจสอบ API Key จาก HTTP Header (x-api-key)
|
||||
const apiKey = request.headers.get('x-api-key');
|
||||
|
|
@ -29,7 +32,7 @@ export async function POST(request: NextRequest) {
|
|||
try {
|
||||
// รับข้อมูล JSON Payload
|
||||
const templateData:DocumentTemplate = (await request.json());
|
||||
console.log(templateData)
|
||||
// console.log(templateData)
|
||||
// ต้องมี templateData.info.ticket_data เป็น json string เสมอ
|
||||
if (!templateData || !templateData.info ||
|
||||
!templateData.info.ticket_data ||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
// app/page.tsx (ระบบ B)
|
||||
'use client';
|
||||
import Link from "next/link";
|
||||
import type { ChangeEvent } from 'react';
|
||||
// import { createDownloadFormAction } from './actions';
|
||||
import DependentDropdown, { DropdownData } from '@/components/utils/DependentDropdown';
|
||||
|
|
@ -25,10 +26,10 @@ export default function HomePage() {
|
|||
<div>
|
||||
ตัวอย่าง Frontend ส่งข้อมูลผ่าน <form>(POST) หรือ <a>(GET)
|
||||
เพื่อรองรับ Vanilla JavaScript และ Classic Framework ใช้การเปลี่ยนหน้าเพื่อดาว์นโหลดไฟล์
|
||||
ต้องทำให้ ASP.NET มีฟังก์ชั่นเหมือน /docedit/api/template/download-docx
|
||||
ตัวอย่างหน้าแบบ <Link href='/tmpl/dl.html'>Plain HTML</Link>
|
||||
</div>
|
||||
<div className="p-4 border rounded-xl bg-white shadow-sm">
|
||||
<form action="../api/template/download-docx" method="POST">
|
||||
<form action="/docedit/api/template/download-docx" method="POST">
|
||||
<h2 className="font-semibold text-blue-600 mb-2">Form POST</h2>
|
||||
<DependentDropdown data={templateData} name1='tid' name2='fid'
|
||||
label1="Template(tid):" label2="ข้อมูล(fid):" onSelectChange={handleTmplSelect} />
|
||||
|
|
@ -55,23 +56,23 @@ export default function HomePage() {
|
|||
</form>
|
||||
</div>
|
||||
<div className="p-4 border rounded-xl bg-white shadow-sm">
|
||||
<h2 className="font-semibold text-blue-600 mb-2">A Link Get</h2>
|
||||
<a href="../api/template/download-docx?tid=T_X&fid=T_no_warning&uid=john&uname=John%20Doe">T_no_warning_john_xxx.docx</a><br/>
|
||||
<a href="../api/template/download-docx?tid=T_X&fid=TF_no_warning_P2&uid=john&uname=John%20Doe">TF_no_warning_P2_john_xxx.docx</a><br/>
|
||||
<a href="../api/template/download-docx?tid=T_X&fid=TS_P2_IN&uid=john&uname=John%20Doe">TS_P2_IN_john_xxx.docx</a><br/>
|
||||
<h2 className="font-semibold text-blue-600 mb-2">A Link Get(new)</h2>
|
||||
<Link href="/api/template/download-docx?tid=T_X&fid=T_no_warning&uid=john&uname=John%20Doe">T_no_warning_john_xxx.docx</Link><br/>
|
||||
<Link href="/api/template/download-docx?tid=T_X&fid=TF_no_warning_P2&uid=john&uname=John%20Doe">TF_no_warning_P2_john_xxx.docx</Link><br/>
|
||||
<Link href="/api/template/download-docx?tid=T_X&fid=TS_P2_IN&uid=john&uname=John%20Doe">TS_P2_IN_john_xxx.docx</Link><br/>
|
||||
|
||||
<a href="../api/template/download-docx?tid=T12_X&fid=T12_b2_IN&uid=john&uname=John%20Doe">T12_b2_IN_john_xxx.docx</a><br/>
|
||||
<a href="../api/template/download-docx?tid=T12_X&fid=T12_FD155_3s-long&uid=john&uname=John%20Doe">T12_FD155_3s-long_john_xxx.docx</a><br/>
|
||||
<Link href="/api/template/download-docx?tid=T12_X&fid=T12_b2_IN&uid=john&uname=John%20Doe">T12_b2_IN_john_xxx.docx</Link><br/>
|
||||
<Link href="/api/template/download-docx?tid=T12_X&fid=T12_FD155_3s-long&uid=john&uname=John%20Doe">T12_FD155_3s-long_john_xxx.docx</Link><br/>
|
||||
</div>
|
||||
<div className="p-4 border rounded-xl bg-white shadow-sm">
|
||||
<h2 className="font-semibold text-blue-600 mb-2">Template & Data</h2>
|
||||
Template: <a href="../tmpl/T_X.docx">T_X.docx</a>,
|
||||
<a href="../tmpl/T12_X.docx">T12_X.docx</a><br/>
|
||||
Data: <a href="../tmpl/TF_no_warning_P2.json">TF_no_warning_P2.json</a>,
|
||||
<a href="../tmpl/T_no_warning.json">T_no_warning.json</a>,
|
||||
<a href="../tmpl/TS_P2_IN.json">TS_P2_IN.json</a><br/>
|
||||
<a href="../tmpl/T12_b2_IN.json">T12_b2_IN.json</a>,
|
||||
<a href="../tmpl/T12_FD155_3s-long.json">T12_FD155_3s-long.json</a>
|
||||
Template: <Link href="/tmpl/T_X.docx">T_X.docx</Link>,
|
||||
<Link href="/tmpl/T12_X.docx">T12_X.docx</Link><br/>
|
||||
Data: <Link href="tmpl/TF_no_warning_P2.json">TF_no_warning_P2.json</Link>,
|
||||
<Link href="/tmpl/T_no_warning.json">T_no_warning.json</Link>,
|
||||
<Link href="/tmpl/TS_P2_IN.json">TS_P2_IN.json</Link><br/>
|
||||
<Link href="/tmpl/T12_b2_IN.json">T12_b2_IN.json</Link>,
|
||||
<Link href="/tmpl/T12_FD155_3s-long.json">T12_FD155_3s-long.json</Link>
|
||||
</div>
|
||||
<div className="p-4 border rounded-xl bg-white shadow-sm">
|
||||
<h2 className="font-semibold text-blue-600 mb-2">Flow</h2>
|
||||
|
|
|
|||
28
public/tmpl/dl.html
Normal file
28
public/tmpl/dl.html
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Test Download DOCX a</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2 className="font-semibold text-blue-600 mb-2">A a Get</h2>
|
||||
<a href="/docedit/api/template/download-docx?tid=T_X&fid=T_no_warning&uid=john&uname=John%20Doe">T_no_warning_john_xxx.docx</a><br/>
|
||||
<a href="/docedit/api/template/download-docx?tid=T_X&fid=TF_no_warning_P2&uid=john&uname=John%20Doe">TF_no_warning_P2_john_xxx.docx</a><br/>
|
||||
<a href="/docedit/api/template/download-docx?tid=T_X&fid=TS_P2_IN&uid=john&uname=John%20Doe">TS_P2_IN_john_xxx.docx</a><br/>
|
||||
|
||||
<a href="/docedit/api/template/download-docx?tid=T12_X&fid=T12_b2_IN&uid=john&uname=John%20Doe">T12_b2_IN_john_xxx.docx</a><br/>
|
||||
<a href="/docedit/api/template/download-docx?tid=T12_X&fid=T12_FD155_3s-long&uid=john&uname=John%20Doe">T12_FD155_3s-long_john_xxx.docx</a><br/>
|
||||
|
||||
<h2 className="font-semibold text-blue-600 mb-2">Template & Data</h2>
|
||||
Template: <a href="../tmpl/T_X.docx">T_X.docx</a>,
|
||||
<a href="/docedit/tmpl/T12_X.docx">T12_X.docx</a><br/>
|
||||
Data: <a href="/docedit/tmpl/TF_no_warning_P2.json">TF_no_warning_P2.json</a>,
|
||||
<a href="/docedit/tmpl/T_no_warning.json">T_no_warning.json</a>,
|
||||
<a href="/docedit/tmpl/TS_P2_IN.json">TS_P2_IN.json</a><br/>
|
||||
<a href="/docedit/tmpl/T12_b2_IN.json">T12_b2_IN.json</a>,
|
||||
<a href="/docedit/tmpl/T12_FD155_3s-long.json">T12_FD155_3s-long.json</a>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue