feat: chat integration, tenant admin spec, backend chat service, miniprogram updates, DEMO moved to tmp, XCX-TEST removed, migrations & docs

This commit is contained in:
Neo
2026-03-20 09:02:10 +08:00
parent 3d2e5f8165
commit beb88d5bea
388 changed files with 6436 additions and 25458 deletions

View File

@@ -0,0 +1,60 @@
<!-- pages/notes/notes.wxml — 备注记录 -->
<!-- 加载态toast 浮层,不白屏) -->
<view class="g-toast-loading" wx:if="{{pageState === 'loading'}}">
<view class="g-toast-loading-inner">
<t-loading theme="circular" size="40rpx" />
<text class="g-toast-loading-text">加载中...</text>
</view>
</view>
<!-- 错误态 -->
<view class="page-error" wx:elif="{{pageState === 'error'}}">
<view class="error-content">
<text class="error-icon">😵</text>
<text class="error-text">加载失败,请重试</text>
<view class="retry-btn" hover-class="retry-btn--hover" bindtap="onRetry">
<text class="retry-btn-text">重新加载</text>
</view>
</view>
</view>
<!-- 空数据态 -->
<view class="page-empty-wrap" wx:elif="{{pageState === 'empty'}}">
<view class="page-empty">
<t-empty description="暂无备注记录" />
</view>
</view>
<!-- 正常态 -->
<view class="page-normal" wx:elif="{{pageState === 'normal'}}">
<!-- 备注列表 -->
<view class="note-list">
<view
class="note-card"
wx:for="{{notes}}"
wx:key="id"
>
<text class="note-content">{{item.content}}</text>
<view class="note-bottom">
<text class="note-tag {{item.tagType === 'coach' ? 'tag-coach' : 'tag-customer'}}">{{item.tagLabel}}</text>
<view class="note-bottom-right">
<view class="note-delete-btn" catchtap="onDeleteNote" data-id="{{item.id}}" hover-class="note-delete-btn--hover">
<t-icon name="delete" size="16px" color="#a6a6a6" />
</view>
<text class="note-time">{{item.timeLabel}}</text>
</view>
</view>
</view>
</view>
<!-- 底部提示 -->
<view class="list-footer">
<text class="footer-text">— 已加载全部记录 —</text>
</view>
<!-- AI 悬浮按钮 -->
<ai-float-button />
</view>
<dev-fab />