blob = new Blob([content], { type: mimeType + ';charset=utf-8' });
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = filename.replace(/[/\\?%*:|"<>]/g, '-');
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(a.href);
}
// 生成导出HTML的通用函数
function generateExportHTML(data) {
return `
价值营销创新司南 - ${data.companyName}
价值营销创新司南
| 公司名称 |
${data.companyName} |
负责人 |
${data.personInCharge} |
主营业务 |
${data.mainBusiness} |
| 企业愿景 |
${data.companyVision || ''} |
2025年营收目标 |
${data.strategicGoals || ''} |
| 经营难题 |
${data.businessChallenges} |
企业优势 |
${data.companyAdvantages} |
| 序号 |
项目 |
要点 |
| 一 |
聚焦瓶颈 |
瓶颈是谁: ${data.customerWho}
在哪里: ${data.customerWhere}
有何特征: ${data.customerFeatures}
北极星指标: ${data.polarStarMetric}
|
| 二 |
定义对手 |
名称(列举3—5个): ${data.competitorNames}
|
| 三 |
寻找抱怨 |
寻找客户对行业的抱怨: ${data.customerComplaints}
|
| 四 |
量化损失 |
对抱怨给客户造成的损失进行估算(估算结果要有数据): ${data.quantifyLosses}
|
| 五 |
行业规则 |
造成客户损失的根源性问题(重什么,轻什么): ${data.industryRules}
|
| 六 |
价值提案 |
一、需求聚焦: ${data.demandFocus}
二、解决方向(把握机会需要的三个举措是什么): ${data.solutionDirection}
三、价值提案(一句话总结解决方向的价值): ${data.valueProposition}
|
导出时间:${new Date().toLocaleString()}
`;
}
// 生成Word格式HTML
function generateWordHTML(data) {
return `
价值营销创新司南 - ${data.companyName || ''}
价值营销创新司南
| 公司名称 |
${data.companyName || ''} |
负责人 |
${data.personInCharge || ''} |
主营业务 |
${data.mainBusiness || ''} |
| 企业愿景 |
${data.companyVision || ''} |
2025年营收目标 |
${data.strategicGoals || ''} |
| 经营难题 |
${data.businessChallenges || ''} |
企业优势 |
${data.companyAdvantages || ''} |
| 序号 |
项目 |
要点 |
| 一 |
聚焦瓶颈 |
瓶颈是谁: ${data.customerWho || ''}
在哪里: ${data.customerWhere || ''}
有何特征: ${data.customerFeatures || ''}
北极星指标: ${data.polarStarMetric || ''}
|
| 二 |
定义对手 |
名称(列举3—5个): ${data.competitorNames || ''}
|
| 三 |
寻找抱怨 |
寻找客户对行业的抱怨: ${data.customerComplaints || ''}
|
| 四 |
量化损失 |
对抱怨给客户造成的损失进行估算(估算结果要有数据): ${data.quantifyLosses || ''}
|
| 五 |
行业规则 |
造成客户损失的根源性问题(重什么,轻什么): ${data.industryRules || ''}
|
| 六 |
价值提案 |
一、需求聚焦: ${data.demandFocus || ''}
二、解决方向(把握机会需要的三个举措是什么): ${data.solutionDirection || ''}
三、价值提案(一句话总结解决方向的价值): ${data.valueProposition || ''}
|
导出时间:${new Date().toLocaleString()}
`;
}
// 清空表格
function clearTable() {
if (confirm('确定要清空所有数据吗?此操作不可撤销!')) {
const allInputs = document.querySelectorAll('input[type="text"], textarea');
allInputs.forEach(input => {
input.value = '';
});
localStorage.removeItem('innovativeCompassData');
alert('表格已清空!');
}
}
// AI功能 - 分析建议
async function getAIFeedback() {
const data = collectFormData();
const missingFields = validateRequiredFields(data);
if (missingFields.length > 0) {
alert(`请先填写以下字段:\n${missingFields.join('\n')}`);
return;
}
document.getElementById('loading').style.display = 'block';
document.getElementById('ai-feedback').style.display = 'none';
try {
const prompt = `请从专业咨询顾问角度,对以下价值营销创新司南方案进行分析评估:
公司:${data.companyName}
主营业务:${data.mainBusiness}
瓶颈客户:${data.customerWho}
客户抱怨:${data.customerComplaints}
价值提案:${data.valueProposition}
请从5个维度评分(1-10分)并给出优化建议:
1. 客户聚焦度
2. 痛点识别准确性
3. 解决方案可行性
4. 价值提案清晰度
5. 市场竞争力
请提供具体的改进建议。`;
const response = await mockAIResponse(prompt);
document.getElementById('ai-content').innerHTML = response;
document.getElementById('ai-feedback').style.display = 'block';
} catch (error) {
document.getElementById('ai-content').innerHTML = `AI分析暂时不可用,请稍后再试。
`;
document.getElementById('ai-feedback').style.display = 'block';
} finally {
document.getElementById('loading').style.display = 'none';
}
}
// AI功能 - 案例启发
async function getBusinessCaseReferences() {
const data = collectFormData();
if (!data.mainBusiness) {
alert('请先填写主营业务信息');
return;
}
document.getElementById('loading').style.display = 'block';
document.getElementById('business-model-feedback').style.display = 'none';
try {
const prompt = `基于${data.mainBusiness}行业,提供3个成功的价值创新案例,每个案例包括:
1. 公司名称和背景
2. 创新点描述
3. 给${data.companyName}的启发
重点关注客户痛点解决和价值创造。`;
const response = await mockAIResponse(prompt);
document.getElementById('business-model-content').innerHTML = response;
document.getElementById('business-model-feedback').style.display = 'block';
} catch (error) {
document.getElementById('business-model-content').innerHTML = `AI案例分析暂时不可用,请稍后再试。
`;
document.getElementById('business-model-feedback').style.display = 'block';
} finally {
document.getElementById('loading').style.display = 'none';
}
}
// AI功能 - 价值提案
async function getValueProposal() {
const data = collectFormData();
if (!data.customerComplaints || !data.mainBusiness) {
alert('请先填写主营业务和客户抱怨信息');
return;
}
document.getElementById('loading').style.display = 'block';
document.getElementById('value-proposal-feedback').style.display = 'none';
try {
const prompt = `基于以下信息,生成3个不同角度的价值提案:
公司业务:${data.mainBusiness}
客户抱怨:${data.customerComplaints}
目标客户:${data.customerWho}
请为每个价值提案提供:
1. 核心价值主张(一句话)
2. 关键差异化要素
3. 客户收益说明
要求语言精炼、吸引力强。`;
const response = await mockAIResponse(prompt);
document.getElementById('value-proposal-content').innerHTML = response;
document.getElementById('value-proposal-feedback').style.display = 'block';
} catch (error) {
document.getElementById('value-proposal-content').innerHTML = `AI价值提案生成暂时不可用,请稍后再试。
`;
document.getElementById('value-proposal-feedback').style.display = 'block';
} finally {
document.getElementById('loading').style.display = 'none';
}
}
// 模拟AI响应(实际使用时替换为真实API调用)
async function mockAIResponse(prompt) {
// 模拟网络延迟
await new Promise(resolve => setTimeout(resolve, 2000));
return `
📊 分析建议
评分概览:
- 客户聚焦度:8/10
- 痛点识别:7/10
- 解决方案:6/10
- 价值提案:7/10
- 市场竞争力:6/10
优化建议:
- 进一步细化目标客户画像,明确具体的决策人和影响者
- 量化客户痛点造成的具体损失,用数据说话
- 完善解决方案的实施路径和时间节点
- 强化价值提案的独特性和竞争优势
注:这是演示版本,实际使用时会连接真实的AI分析服务。
`;
}
// 验证必填字段
function validateRequiredFields(data) {
const requiredFields = [
{ key: 'companyName', label: '公司名称' },
{ key: 'mainBusiness', label: '主营业务' },
{ key: 'customerWho', label: '瓶颈是谁' },
{ key: 'customerComplaints', label: '客户抱怨' }
];
return requiredFields
.filter(field => !data[field.key] || data[field.key].trim() === '')
.map(field => field.label);
}