+
+
+ 起卦完成 · 请点击下方「AI 解读」
+
)}
- {error && !showAi && (
+ {!guaData && formReady && castMode === "online" && (
+
+ 线上模式将自动摇卦 6 次,完成后出现 AI 解读按钮
+
+ )}
+
+ {error && (
{error}
)}
-
+
diff --git a/components/shared/hexagram-input.tsx b/components/shared/hexagram-input.tsx
index 871b7a9..e7e496f 100644
--- a/components/shared/hexagram-input.tsx
+++ b/components/shared/hexagram-input.tsx
@@ -191,9 +191,14 @@ export default function HexagramInput({
{complete && (
-
+ <>
+
+ 六爻已齐,请在下方点击「AI 解读」
+
+
+ >
)}
)}
diff --git a/components/shared/region-select.tsx b/components/shared/region-select.tsx
index e2c9558..2f3def1 100644
--- a/components/shared/region-select.tsx
+++ b/components/shared/region-select.tsx
@@ -1,6 +1,10 @@
"use client";
-import { getProvinces, getCities, getRegionLocation } from "@/lib/data/regions";
+import {
+ getProvinces,
+ getCities,
+ getRegionLocation,
+} from "@/lib/data/regions";
interface RegionSelectProps {
provinceCode: string;
@@ -8,6 +12,7 @@ interface RegionSelectProps {
onProvinceChange: (code: string) => void;
onCityChange: (code: string) => void;
label?: string;
+ cityOptional?: boolean;
}
export default function RegionSelect({
@@ -16,9 +21,23 @@ export default function RegionSelect({
onProvinceChange,
onCityChange,
label = "出生地域",
+ cityOptional = true,
}: RegionSelectProps) {
const provinces = getProvinces();
const cities = provinceCode ? getCities(provinceCode) : [];
+ const location = provinceCode
+ ? getRegionLocation(provinceCode, cityCode)
+ : null;
+
+ function handleProvinceChange(code: string) {
+ onProvinceChange(code);
+ if (!code) {
+ onCityChange("");
+ return;
+ }
+ const list = getCities(code);
+ onCityChange(list[0]?.code ?? "");
+ }
return (
@@ -27,10 +46,7 @@ export default function RegionSelect({
+ {cityOptional && provinceCode && (
+
+ 城市可不选,默认使用省份经度;已选:
+ {location ? `${location.name}(${location.longitude}°)` : "—"}
+
+ )}
);
}
diff --git a/lib/data/regions.json b/lib/data/regions.json
index 8504302..fa8cac0 100644
--- a/lib/data/regions.json
+++ b/lib/data/regions.json
@@ -73,7 +73,11 @@
"longitude": 117.0009,
"children": {
"370100": { "name": "济南市", "longitude": 117.1205 },
- "370200": { "name": "青岛市", "longitude": 120.3826 }
+ "370200": { "name": "青岛市", "longitude": 120.3826 },
+ "370300": { "name": "淄博市", "longitude": 118.0550 },
+ "370600": { "name": "烟台市", "longitude": 121.4479 },
+ "370700": { "name": "潍坊市", "longitude": 119.1619 },
+ "371300": { "name": "临沂市", "longitude": 118.3565 }
}
},
"430000": {
diff --git a/lib/data/regions.ts b/lib/data/regions.ts
index 9a47c2c..680aa75 100644
--- a/lib/data/regions.ts
+++ b/lib/data/regions.ts
@@ -11,10 +11,12 @@ export type RegionsData = Record