AI 生成: 一个面向个人/团队/家庭的智能旅游规划工具,支持AI行程生成、地图标注与景点打卡记录。
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
// AI 行程生成:本地规则引擎(可替换为真实大模型 API)
|
||||
(function () {
|
||||
// 一些常见城市的示例景点库
|
||||
const SPOT_DB = {
|
||||
'杭州': {
|
||||
'自然风光': ['西湖', '西溪湿地', '九溪烟树'],
|
||||
'历史文化': ['灵隐寺', '雷峰塔', '南宋御街'],
|
||||
'美食购物': ['河坊街', '武林夜市', '湖滨银泰'],
|
||||
'亲子家庭': ['杭州动物园', '极地海洋公园', '少年儿童公园']
|
||||
},
|
||||
'北京': {
|
||||
'自然风光': ['颐和园', '香山公园', '奥林匹克森林公园'],
|
||||
'历史文化': ['故宫', '天坛', '八达岭长城'],
|
||||
'美食购物': ['南锣鼓巷', '王府井', '簋街'],
|
||||
'亲子家庭': ['北京动物园', '欢乐谷', '中国科技馆']
|
||||
},
|
||||
'成都': {
|
||||
'自然风光': ['青城山', '都江堰', '西岭雪山'],
|
||||
'历史文化': ['武侯祠', '杜甫草堂', '金沙遗址'],
|
||||
'美食购物': ['宽窄巷子', '锦里', '春熙路'],
|
||||
'亲子家庭': ['成都动物园', '大熊猫繁育研究基地', '欢乐谷']
|
||||
},
|
||||
'上海': {
|
||||
'自然风光': ['外滩', '世纪公园', '佘山'],
|
||||
'历史文化': ['豫园', '城隍庙', '中共一大会址'],
|
||||
'美食购物': ['南京路', '新天地', '田子坊'],
|
||||
'亲子家庭': ['上海动物园', '迪士尼乐园', '上海科技馆']
|
||||
}
|
||||
};
|
||||
|
||||
// 默认通用景点(当城市不在库中时使用)
|
||||
const DEFAULT_SPOTS = {
|
||||
'自然风光': ['城市公园', '滨江步道', '近郊山景'],
|
||||
'历史文化': ['博物馆', '老城区', '历史街区'],
|
||||
'美食购物': ['美食街', '商业中心', '夜市'],
|
||||
'亲子家庭': ['动物园', '科技馆', '游乐场']
|
||||
};
|
||||
|
||||
// 生成行程计划
|
||||
function generatePlan(dest, days, pref) {
|
||||
const city = (dest || '').trim();
|
||||
const db = SPOT_DB[city] || DEFAULT_SPOTS;
|
||||
const pool = db[pref] || DEFAULT_SPOTS[pref] || DEFAULT_SPOTS['自然风光'];
|
||||
|
||||
const lines = [];
|
||||
lines.push(`📍 目的地:${city || '未指定'}`);
|
||||
lines.push(`🗓️ 天数:${days} 天`);
|
||||
lines.push(`🎯 偏好:${pref}`);
|
||||
lines.push('');
|
||||
|
||||
for (let d = 1; d <= days; d++) {
|
||||
lines.push(`—— 第 ${d} 天 ——`);
|
||||
const morning = pool[(d - 1) % pool.length];
|
||||
const afternoon = pool[(d) % pool.length];
|
||||
const evening = pool[(d + 1) % pool.length];
|
||||
lines.push(`上午:游览「${morning}」`);
|
||||
lines.push(`下午:前往「${afternoon}」`);
|
||||
lines.push(`晚上:在「${evening}」附近用餐 / 散步`);
|
||||
lines.push('');
|
||||
}
|
||||
lines.push('💡 提示:可在地图上点击添加自定义景点并标注状态。');
|
||||
return lines.join('\n');
|
||||
}
|
||||
|
||||
// 对外接口(异步,方便未来替换为真实 API)
|
||||
function generatePlanAsync(dest, days, pref) {
|
||||
return new Promise(resolve => {
|
||||
setTimeout(() => resolve(generatePlan(dest, days, pref)), 400);
|
||||
});
|
||||
}
|
||||
|
||||
window.AI = { generatePlanAsync };
|
||||
})();
|
||||
Reference in New Issue
Block a user