|
@@ -281,7 +281,7 @@
|
|
|
<li><b>验证调试端口:</b>客户端带参启动后,浏览器打开 <code>http://127.0.0.1:9669/json/version</code> —— 看到一段 JSON(含 "Browser")就是通的;打不开就是客户端没带参。</li>
|
|
<li><b>验证调试端口:</b>客户端带参启动后,浏览器打开 <code>http://127.0.0.1:9669/json/version</code> —— 看到一段 JSON(含 "Browser")就是通的;打不开就是客户端没带参。</li>
|
|
|
<li><b>macOS 带参启动:</b>⌘Q 完全退出客户端(活动监视器确认进程没了)→ 终端执行:<code>open -a "淘宝闪购商家版" --args --remote-debugging-port=9669</code></li>
|
|
<li><b>macOS 带参启动:</b>⌘Q 完全退出客户端(活动监视器确认进程没了)→ 终端执行:<code>open -a "淘宝闪购商家版" --args --remote-debugging-port=9669</code></li>
|
|
|
<li><b>Windows 带参启动:</b>任务栏右键完全退出(任务管理器确认)→ 右键快捷方式 → 属性 → 「目标」末尾加 <code>--remote-debugging-port=9669</code> → 以后都用这个快捷方式启动。</li>
|
|
<li><b>Windows 带参启动:</b>任务栏右键完全退出(任务管理器确认)→ 右键快捷方式 → 属性 → 「目标」末尾加 <code>--remote-debugging-port=9669</code> → 以后都用这个快捷方式启动。</li>
|
|
|
- <li>回到本页点「刷新」,徽章变「客户端已连接」后同步即可。若同步弹窗报 <code>Failed to fetch</code>,先确认服务在跑(启动窗口未关闭)。</li>
|
|
|
|
|
|
|
+ <li>回到本页点击「刷新」,徽章变「客户端已连接」后同步即可。若同步弹窗报 <code>Failed to fetch</code>,先确认服务在跑(启动窗口未关闭)。</li>
|
|
|
</ol>
|
|
</ol>
|
|
|
<div class="help-popover-note">注意:客户端每次重启都必须带参启动,否则端口不会开启。</div>
|
|
<div class="help-popover-note">注意:客户端每次重启都必须带参启动,否则端口不会开启。</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -328,16 +328,16 @@
|
|
|
<div class="page-header">
|
|
<div class="page-header">
|
|
|
<div>
|
|
<div>
|
|
|
<h1>数据中台</h1>
|
|
<h1>数据中台</h1>
|
|
|
- <div class="sub">本地数据湖全景与明细数据(含全部原始字段),可从云端拉取补全</div>
|
|
|
|
|
|
|
+ <div class="sub">本地数据湖全景与明细数据(含全部原始字段),支持云端拉取补全</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="toolbar">
|
|
<div class="toolbar">
|
|
|
<button class="btn btn-ghost btn-small" id="btnLakeRefresh">
|
|
<button class="btn btn-ghost btn-small" id="btnLakeRefresh">
|
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 12a8 8 0 1 1-2.3-5.6"/><path d="M20 4v5h-5"/></svg>
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 12a8 8 0 1 1-2.3-5.6"/><path d="M20 4v5h-5"/></svg>
|
|
|
刷新
|
|
刷新
|
|
|
</button>
|
|
</button>
|
|
|
- <button class="btn btn-primary btn-small" id="btnLakePull" title="以钉钉 AI 表格(云端主档案)为准,拉回本地湖;未注册的账号自动创建主体">
|
|
|
|
|
|
|
+ <button class="btn btn-primary btn-small" id="btnLakePull" title="以钉钉 AI 表格(云端主档案)为准覆盖本地湖;未注册的账号自动创建主体">
|
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3v12"/><path d="M7 10l5 5 5-5"/><path d="M4 21h16"/></svg>
|
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 3v12"/><path d="M7 10l5 5 5-5"/><path d="M4 21h16"/></svg>
|
|
|
- 从云端拉取
|
|
|
|
|
|
|
+ 云端拉取
|
|
|
</button>
|
|
</button>
|
|
|
<span class="badge" id="lakeSyncBadge"></span>
|
|
<span class="badge" id="lakeSyncBadge"></span>
|
|
|
</div>
|
|
</div>
|
|
@@ -370,7 +370,7 @@
|
|
|
<li><b>不产生重复:</b>每一行的身份是「日期×账号×维度×门店」,多台电脑写同一行只会覆盖,不会重复。</li>
|
|
<li><b>不产生重复:</b>每一行的身份是「日期×账号×维度×门店」,多台电脑写同一行只会覆盖,不会重复。</li>
|
|
|
<li><b>数据新者胜:</b>推送时对比本地取数时间与云端修改时间,旧数据不会覆盖云端新数据(跳过并计数)。</li>
|
|
<li><b>数据新者胜:</b>推送时对比本地取数时间与云端修改时间,旧数据不会覆盖云端新数据(跳过并计数)。</li>
|
|
|
<li><b>全零拦截:</b>大批量指标全零(疑似取数异常)时拒绝推送,防止坏数据污染云端主档案。</li>
|
|
<li><b>全零拦截:</b>大批量指标全零(疑似取数异常)时拒绝推送,防止坏数据污染云端主档案。</li>
|
|
|
- <li><b>拉取以云端为准:</b>其他电脑「从云端拉取」后,本地同键行被云端版本覆盖。</li>
|
|
|
|
|
|
|
+ <li><b>拉取以云端为准:</b>其他电脑执行「云端拉取」后,本地同键行被云端版本覆盖。</li>
|
|
|
</ol>
|
|
</ol>
|
|
|
</div>
|
|
</div>
|
|
|
</span>
|
|
</span>
|
|
@@ -389,7 +389,7 @@
|
|
|
</table>
|
|
</table>
|
|
|
<div id="lakeEmpty" class="empty-hint" hidden>
|
|
<div id="lakeEmpty" class="empty-hint" hidden>
|
|
|
<div class="empty-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 20V11M10 20V4M16 20v-6M2.5 20h19"/></svg></div>
|
|
<div class="empty-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 20V11M10 20V4M16 20v-6M2.5 20h19"/></svg></div>
|
|
|
- <p>本地湖为空<br><small>取数机先「同步数据」推上云端,本机点右上角「从云端拉取」</small></p>
|
|
|
|
|
|
|
+ <p>本地湖为空<br><small>取数机先「同步数据」推送云端,本机可用右上角「云端拉取」补全</small></p>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -466,7 +466,7 @@
|
|
|
</table>
|
|
</table>
|
|
|
<div id="reportEmpty" class="empty-hint" hidden>
|
|
<div id="reportEmpty" class="empty-hint" hidden>
|
|
|
<div class="empty-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 20V11M10 20V4M16 20v-6M2.5 20h19"/></svg></div>
|
|
<div class="empty-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 20V11M10 20V4M16 20v-6M2.5 20h19"/></svg></div>
|
|
|
- <p id="reportEmptyText">暂无数据<br><small>取数机先「同步数据」推上云端,本机点右上角「从云端拉取」</small></p>
|
|
|
|
|
|
|
+ <p id="reportEmptyText">暂无数据<br><small>取数机先「同步数据」推送云端,本机可用右上角「云端拉取」补全</small></p>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="report-pager" id="reportPager"></div>
|
|
<div class="report-pager" id="reportPager"></div>
|
|
@@ -710,7 +710,7 @@
|
|
|
<button type="button" class="settings-link settings-link-btn" id="btnTestAitable"><span>测试连通</span></button>
|
|
<button type="button" class="settings-link settings-link-btn" id="btnTestAitable"><span>测试连通</span></button>
|
|
|
<span id="aitableStatus" class="badge"></span>
|
|
<span id="aitableStatus" class="badge"></span>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="help">架构:取数机「同步 → 自动推送」(数据采集页有手动推送按钮),其他电脑在「数据中台」页从云端拉取。推送/拉取入口分别在数据采集与数据中台页,本面板只管配置。</div>
|
|
|
|
|
|
|
+ <div class="help">架构:取数机「同步 → 自动推送」(数据采集页有手动推送按钮),其他电脑在「数据中台」页执行「云端拉取」。推送/拉取入口分别在数据采集与数据中台页,本面板只管配置。</div>
|
|
|
<div class="panel-save-row">
|
|
<div class="panel-save-row">
|
|
|
<button class="btn btn-primary btn-small" id="btnSaveAitable">保存设置</button>
|
|
<button class="btn btn-primary btn-small" id="btnSaveAitable">保存设置</button>
|
|
|
<span id="aitableSaveStatus" class="badge"></span>
|
|
<span id="aitableSaveStatus" class="badge"></span>
|