You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* Flock Freight 录制/探针标准样例PRD §14 / 官网 get-a-quote
*/
export type FlockCanonicalPath = {
id: string;
title: string;
input: FlockDemoInput;
notes: string;
};
export type FlockDemoInput = {
pickupDateDisplay: string;
pickupZip: string;
deliveryZip: string;
palletCount: number;
totalWeightLb: number;
lengthIn: number;
widthIn: number;
heightIn: number;
};
function tomorrowMmDdYyyy(): string {
const d = new Date();
d.setDate(d.getDate() + 1);
const mm = String(d.getMonth() + 1).padStart(2, "0");
const dd = String(d.getDate()).padStart(2, "0");
return `${mm}/${dd}/${d.getFullYear()}`;
}
export const DEFAULT_FLOCK_QUOTE_URL =
"https://app.flockfreight.com/get-a-quote";
/** 与 embed-demo / probe 一致CA → TX */
export const DEFAULT_FLOCK_DEMO: FlockDemoInput = {
pickupDateDisplay: tomorrowMmDdYyyy(),
pickupZip: "90001",
deliveryZip: "75201",
palletCount: 6,
totalWeightLb: 10_000,
lengthIn: 48,
widthIn: 40,
heightIn: 48,
};
export const FLOCK_CANONICAL_PATHS: FlockCanonicalPath[] = [
{
id: "F01-ltl-zip-quote",
title: "ZIP 查价 → 两档结果(主路径)",
input: DEFAULT_FLOCK_DEMO,
notes: "填表 → Next → 看到 FlockDirect + Standard 即停;勿点 Complete your order",
},
{
id: "F02-register-after-quote",
title: "结果页 → 注册页(仅当需账号时)",
input: DEFAULT_FLOCK_DEMO,
notes: "若 Next 后进入 Create your free account录姓名/公司/电话/邮箱/下拉 → Get instant quote",
},
];
export function formatFlockRecordingChecklist(input: FlockDemoInput): string {
return [
"【Flock 人工录制清单】",
`1. 取货日期 Pickup Date: ${input.pickupDateDisplay}`,
`2. 取件 ZIP Pickup zip code: ${input.pickupZip}`,
`3. 投递 ZIP Delivery zip code: ${input.deliveryZip}`,
`4. 托盘数 Pallet Quantity: ${input.palletCount}420`,
`5. 总重 Total Shipping Weight (lbs): ${input.totalWeightLb}`,
`6. 尺寸 L×W×H (in): ${input.lengthIn} × ${input.widthIn} × ${input.heightIn}`,
"7. 点击 Next / 下一个",
"8. 等待结果页 Explore your custom quote options两档价格",
"9. 若出现 Create your free account填测试账号后点 Get instant quote",
"10. 录制结束:不要点 Complete your order下单边界",
"",
"产出: .rpa/recordings/flock-<时间戳>.js",
"会话: .rpa/flock-storage.json",
].join("\n");
}