正在读取 profile...
+
👥 用户 API
📦 产品 API
@@ -248,6 +256,27 @@
document.getElementById(tab + 'Tab').classList.add('active');
}
+ async function loadProfileBanner() {
+ try {
+ const res = await fetch('/api/profile');
+ const data = await res.json();
+ const enabled = (data.enabledModules || []).join(', ');
+ document.getElementById('profileBanner').textContent = `当前 profile: ${data.profile} | 鉴权模式: ${data.authType || 'none'} | 已启用模块: ${enabled}`;
+ } catch (e) {
+ document.getElementById('profileBanner').textContent = '当前 profile 读取失败,请检查 /api/profile';
+ }
+ }
+
+ async function copyCurl() {
+ const curl = `curl -X GET "${window.location.origin}/api/users"`;
+ try {
+ await navigator.clipboard.writeText(curl);
+ alert('已复制: ' + curl);
+ } catch (e) {
+ alert('复制失败,请手动复制: ' + curl);
+ }
+ }
+
async function testApi(method, url, body, resultId) {
const resultDiv = document.getElementById(resultId);
resultDiv.classList.add('show');
@@ -275,6 +304,8 @@
resultDiv.innerHTML = `
Error\n\n${e.message}`;
}
}
+
+ loadProfileBanner();