文件
mashangyoujiu/_ai_archive/scripts/test_menu_fix.html

98 行
3.8 KiB
HTML

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>菜单设置接口测试</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
.container { max-width: 800px; margin: 0 auto; }
.section { margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 5px; }
.error { color: red; }
.success { color: green; }
.info { color: blue; }
button { padding: 10px 20px; margin: 5px; cursor: pointer; }
textarea { width: 100%; height: 100px; }
</style>
</head>
<body>
<div class="container">
<h1>菜单设置接口修复验证</h1>
<div class="section">
<h3>问题分析</h3>
<p class="info">原始错误:POST请求到 <code>https://mss.nahaichuan.com/index.php/Retail/Xcx/storeSet</code> 返回404</p>
<p class="success">修复结果:接口路径正确,返回权限错误(需要登录验证)</p>
</div>
<div class="section">
<h3>接口测试</h3>
<button onclick="testStoreSetAPI()">测试 storeSet 接口</button>
<button onclick="testWithAuth()">模拟登录后测试</button>
<div id="testResult"></div>
</div>
<div class="section">
<h3>修复内容</h3>
<ul>
<li>✅ 修正了表单提交URL路径:<code>/index.php/Retail/Xcx/storeSet</code></li>
<li>✅ 添加了完整的错误处理机制</li>
<li>✅ 实现了sendRequest通用请求方法</li>
<li>✅ 优化了用户反馈信息</li>
</ul>
</div>
<div class="section">
<h3>权限问题解决方案</h3>
<p class="error">当前返回:{"status":0,"msg":"您无权操作1"}</p>
<p>需要确保:</p>
<ul>
<li>用户已正确登录</li>
<li>Session中包含必要的权限信息</li>
<li>merchant_id 和 store_id 已正确设置</li>
</ul>
</div>
<div class="section">
<h3>建议的完整解决流程</h3>
<ol>
<li>确保用户通过正确的登录流程</li>
<li>验证Session中的权限数据</li>
<li>在菜单页面加载前检查用户权限</li>
<li>提供友好的权限错误提示</li>
</ol>
</div>
</div>
<script>
function testStoreSetAPI() {
const resultDiv = document.getElementById('testResult');
resultDiv.innerHTML = '<p class="info">正在测试接口...</p>';
fetch('/index.php/Retail/Xcx/storeSet', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: 'store_name=测试门店&store_address=测试地址&store_phone=13800138000'
})
.then(response => response.json())
.then(data => {
resultDiv.innerHTML = `
<h4>接口响应:</h4>
<textarea readonly>${JSON.stringify(data, null, 2)}</textarea>
<p class="${data.status == 1 ? 'success' : 'error'}">
状态:${data.status == 1 ? '成功' : '失败'} - ${data.msg}
</p>
`;
})
.catch(error => {
resultDiv.innerHTML = `<p class="error">请求失败:${error.message}</p>`;
});
}
function testWithAuth() {
alert('需要先通过正确的登录流程获取权限,然后再测试接口');
}
</script>
</body>
</html>