From 1f7b564bd7635e61bebbf561c0c8294b11915c93 Mon Sep 17 00:00:00 2001
From: zydemail <1054055589@qq.com>
Date: Mon, 22 Dec 2025 20:39:29 +0800
Subject: [PATCH 01/14] =?UTF-8?q?feat(chat):=20=E6=B7=BB=E5=8A=A0skyline?=
=?UTF-8?q?=E6=B8=B2=E6=9F=93=E6=94=AF=E6=8C=81=E5=8F=8A=E6=BB=9A=E5=8A=A8?=
=?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../attachments/_example/attachments.json | 1 +
.../attachments/_example/attachments.less | 10 +++
.../attachments/_example/attachments.wxml | 42 +++++----
.../chat-content/_example/chat-content.json | 1 +
.../chat-content/_example/chat-content.less | 10 +++
.../chat-content/_example/chat-content.wxml | 20 +++--
.../chat/chat-list/chat-list.wxml | 1 +
.../chat-markdown/_example/chat-markdown.json | 1 +
.../chat-markdown/_example/chat-markdown.less | 11 +++
.../chat-markdown/_example/chat-markdown.wxml | 54 +++++------
.../chat-message/_example/chat-message.json | 1 +
.../chat-message/_example/chat-message.less | 11 +++
.../chat-message/_example/chat-message.wxml | 54 +++++------
.../chat-sender/_example/chat-sender.json | 1 +
.../chat-sender/_example/chat-sender.less | 11 +++
.../chat-sender/_example/chat-sender.wxml | 42 +++++----
.../chat-thinking/_example/chat-thinking.json | 1 +
.../chat-thinking/_example/chat-thinking.less | 10 +++
.../chat-thinking/_example/chat-thinking.wxml | 35 ++++----
packages/tdesign-miniprogram/example/app.json | 89 +++++++++++++++----
20 files changed, 277 insertions(+), 129 deletions(-)
diff --git a/packages/pro-components/chat/attachments/_example/attachments.json b/packages/pro-components/chat/attachments/_example/attachments.json
index c8df4ffe9..b886d7832 100644
--- a/packages/pro-components/chat/attachments/_example/attachments.json
+++ b/packages/pro-components/chat/attachments/_example/attachments.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "Attachments 聊天附件",
+ "disableScroll": true,
"usingComponents": {
"base": "./base",
"fileLoading": "./file-loading",
diff --git a/packages/pro-components/chat/attachments/_example/attachments.less b/packages/pro-components/chat/attachments/_example/attachments.less
index e69de29bb..2d7f838b4 100644
--- a/packages/pro-components/chat/attachments/_example/attachments.less
+++ b/packages/pro-components/chat/attachments/_example/attachments.less
@@ -0,0 +1,10 @@
+.skyline {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+
+ .scroll-view {
+ flex: 1;
+ height: 0;
+ }
+}
diff --git a/packages/pro-components/chat/attachments/_example/attachments.wxml b/packages/pro-components/chat/attachments/_example/attachments.wxml
index b09a7e2cb..850c8d501 100644
--- a/packages/pro-components/chat/attachments/_example/attachments.wxml
+++ b/packages/pro-components/chat/attachments/_example/attachments.wxml
@@ -1,20 +1,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/pro-components/chat/chat-content/_example/chat-content.json b/packages/pro-components/chat/chat-content/_example/chat-content.json
index 25ff5b753..a18591687 100644
--- a/packages/pro-components/chat/chat-content/_example/chat-content.json
+++ b/packages/pro-components/chat/chat-content/_example/chat-content.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "ChatContent",
+ "disableScroll": true,
"usingComponents": {
"base": "./base"
}
diff --git a/packages/pro-components/chat/chat-content/_example/chat-content.less b/packages/pro-components/chat/chat-content/_example/chat-content.less
index e69de29bb..2d7f838b4 100644
--- a/packages/pro-components/chat/chat-content/_example/chat-content.less
+++ b/packages/pro-components/chat/chat-content/_example/chat-content.less
@@ -0,0 +1,10 @@
+.skyline {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+
+ .scroll-view {
+ flex: 1;
+ height: 0;
+ }
+}
diff --git a/packages/pro-components/chat/chat-content/_example/chat-content.wxml b/packages/pro-components/chat/chat-content/_example/chat-content.wxml
index 2d63cc958..c761e7106 100644
--- a/packages/pro-components/chat/chat-content/_example/chat-content.wxml
+++ b/packages/pro-components/chat/chat-content/_example/chat-content.wxml
@@ -1,7 +1,15 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/pro-components/chat/chat-list/chat-list.wxml b/packages/pro-components/chat/chat-list/chat-list.wxml
index 4d595befb..4308bdbda 100644
--- a/packages/pro-components/chat/chat-list/chat-list.wxml
+++ b/packages/pro-components/chat/chat-list/chat-list.wxml
@@ -12,6 +12,7 @@
bindscroll="onScroll"
bindscrolltoupper="handlerScrollToUpper"
bindscrolltolower="handlerScrollToLower"
+ type="list"
>
diff --git a/packages/pro-components/chat/chat-markdown/_example/chat-markdown.json b/packages/pro-components/chat/chat-markdown/_example/chat-markdown.json
index 9ee8ba68a..d2c3485aa 100644
--- a/packages/pro-components/chat/chat-markdown/_example/chat-markdown.json
+++ b/packages/pro-components/chat/chat-markdown/_example/chat-markdown.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "ChatMarkdown 聊天 Markdown 渲染器",
+ "disableScroll": true,
"usingComponents": {
"base": "./base",
"list": "./list",
diff --git a/packages/pro-components/chat/chat-markdown/_example/chat-markdown.less b/packages/pro-components/chat/chat-markdown/_example/chat-markdown.less
index 98bc646f9..2f765ac1a 100644
--- a/packages/pro-components/chat/chat-markdown/_example/chat-markdown.less
+++ b/packages/pro-components/chat/chat-markdown/_example/chat-markdown.less
@@ -15,3 +15,14 @@
.demo-block__content {
min-height: 200rpx;
}
+
+.skyline {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+
+ .scroll-view {
+ flex: 1;
+ height: 0;
+ }
+}
diff --git a/packages/pro-components/chat/chat-markdown/_example/chat-markdown.wxml b/packages/pro-components/chat/chat-markdown/_example/chat-markdown.wxml
index 96a5a9b94..f224c05e5 100644
--- a/packages/pro-components/chat/chat-markdown/_example/chat-markdown.wxml
+++ b/packages/pro-components/chat/chat-markdown/_example/chat-markdown.wxml
@@ -1,26 +1,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/pro-components/chat/chat-message/_example/chat-message.json b/packages/pro-components/chat/chat-message/_example/chat-message.json
index cec314a9b..0e5a4ed0a 100644
--- a/packages/pro-components/chat/chat-message/_example/chat-message.json
+++ b/packages/pro-components/chat/chat-message/_example/chat-message.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "ChatItem",
+ "disableScroll": true,
"usingComponents": {
"t-skeleton": "tdesign-miniprogram/skeleton/skeleton",
"base": "./base",
diff --git a/packages/pro-components/chat/chat-message/_example/chat-message.less b/packages/pro-components/chat/chat-message/_example/chat-message.less
index 191f5946d..213f45bfd 100644
--- a/packages/pro-components/chat/chat-message/_example/chat-message.less
+++ b/packages/pro-components/chat/chat-message/_example/chat-message.less
@@ -5,3 +5,14 @@
.t-button:last-child {
margin-right: 0;
}
+
+.skyline {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+
+ .scroll-view {
+ flex: 1;
+ height: 0;
+ }
+}
diff --git a/packages/pro-components/chat/chat-message/_example/chat-message.wxml b/packages/pro-components/chat/chat-message/_example/chat-message.wxml
index b42ab7051..7fd6195e9 100644
--- a/packages/pro-components/chat/chat-message/_example/chat-message.wxml
+++ b/packages/pro-components/chat/chat-message/_example/chat-message.wxml
@@ -1,26 +1,30 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/pro-components/chat/chat-sender/_example/chat-sender.json b/packages/pro-components/chat/chat-sender/_example/chat-sender.json
index 374658b37..024f123a8 100644
--- a/packages/pro-components/chat/chat-sender/_example/chat-sender.json
+++ b/packages/pro-components/chat/chat-sender/_example/chat-sender.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "ChatSender",
+ "disableScroll": true,
"usingComponents": {
"t-tabs": "tdesign-miniprogram/tabs/tabs",
"t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
diff --git a/packages/pro-components/chat/chat-sender/_example/chat-sender.less b/packages/pro-components/chat/chat-sender/_example/chat-sender.less
index 4bafd7529..579d9764a 100644
--- a/packages/pro-components/chat/chat-sender/_example/chat-sender.less
+++ b/packages/pro-components/chat/chat-sender/_example/chat-sender.less
@@ -16,3 +16,14 @@
margin-right: 0;
}
+.skyline {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+
+ .scroll-view {
+ flex: 1;
+ height: 0;
+ }
+}
+
diff --git a/packages/pro-components/chat/chat-sender/_example/chat-sender.wxml b/packages/pro-components/chat/chat-sender/_example/chat-sender.wxml
index 19738427a..5b135cfe3 100644
--- a/packages/pro-components/chat/chat-sender/_example/chat-sender.wxml
+++ b/packages/pro-components/chat/chat-sender/_example/chat-sender.wxml
@@ -1,20 +1,24 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/pro-components/chat/chat-thinking/_example/chat-thinking.json b/packages/pro-components/chat/chat-thinking/_example/chat-thinking.json
index 884005a2b..d76ad6dfb 100644
--- a/packages/pro-components/chat/chat-thinking/_example/chat-thinking.json
+++ b/packages/pro-components/chat/chat-thinking/_example/chat-thinking.json
@@ -1,5 +1,6 @@
{
"navigationBarTitleText": "ChatThinking 聊天思考状态",
+ "disableScroll": true,
"usingComponents": {
"base": "./base",
"layout": "./layout",
diff --git a/packages/pro-components/chat/chat-thinking/_example/chat-thinking.less b/packages/pro-components/chat/chat-thinking/_example/chat-thinking.less
index e69de29bb..2d7f838b4 100644
--- a/packages/pro-components/chat/chat-thinking/_example/chat-thinking.less
+++ b/packages/pro-components/chat/chat-thinking/_example/chat-thinking.less
@@ -0,0 +1,10 @@
+.skyline {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+
+ .scroll-view {
+ flex: 1;
+ height: 0;
+ }
+}
diff --git a/packages/pro-components/chat/chat-thinking/_example/chat-thinking.wxml b/packages/pro-components/chat/chat-thinking/_example/chat-thinking.wxml
index 56c058365..dbba717f8 100644
--- a/packages/pro-components/chat/chat-thinking/_example/chat-thinking.wxml
+++ b/packages/pro-components/chat/chat-thinking/_example/chat-thinking.wxml
@@ -1,17 +1,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/tdesign-miniprogram/example/app.json b/packages/tdesign-miniprogram/example/app.json
index 3445ff2d5..168905781 100644
--- a/packages/tdesign-miniprogram/example/app.json
+++ b/packages/tdesign-miniprogram/example/app.json
@@ -98,79 +98,127 @@
"subpackages": [
{
"root": "pages/chat-list/",
- "pages": ["chat-list"]
+ "pages": [
+ "chat-list"
+ ]
},
{
"root": "pages/chat-content/",
- "pages": ["chat-content"]
+ "pages": [
+ "chat-content"
+ ]
},
{
"root": "pages/chat-actionbar/",
- "pages": ["chat-actionbar"]
+ "pages": [
+ "chat-actionbar"
+ ]
},
{
"root": "pages/chat-loading/",
- "pages": ["chat-loading"]
+ "pages": [
+ "chat-loading"
+ ]
},
{
"root": "pages/chat-thinking/",
- "pages": ["chat-thinking"]
+ "pages": [
+ "chat-thinking"
+ ]
},
{
"root": "pages/attachments/",
- "pages": ["attachments"]
+ "pages": [
+ "attachments"
+ ]
},
{
"root": "pages/chat-markdown/",
- "pages": ["chat-markdown"]
+ "pages": [
+ "chat-markdown"
+ ]
},
{
"root": "pages/chat-sender/",
- "pages": ["chat-sender"]
+ "pages": [
+ "chat-sender"
+ ]
},
{
"root": "pages/side-bar/",
- "pages": ["side-bar", "base/index", "switch/index", "custom/index", "with-icon/index"]
+ "pages": [
+ "side-bar",
+ "base/index",
+ "switch/index",
+ "custom/index",
+ "with-icon/index"
+ ]
},
{
"root": "pages/action-sheet/",
- "pages": ["action-sheet"]
+ "pages": [
+ "action-sheet"
+ ]
},
{
"root": "pages/avatar/",
- "pages": ["avatar", "skyline/avatar"]
+ "pages": [
+ "avatar",
+ "skyline/avatar"
+ ]
},
{
"root": "pages/calendar/",
- "pages": ["calendar"]
+ "pages": [
+ "calendar"
+ ]
},
{
"root": "pages/dialog/",
- "pages": ["dialog", "skyline/dialog"]
+ "pages": [
+ "dialog",
+ "skyline/dialog"
+ ]
},
{
"root": "pages/picker/",
- "pages": ["picker", "skyline/picker"]
+ "pages": [
+ "picker",
+ "skyline/picker"
+ ]
},
{
"root": "pages/rate/",
- "pages": ["rate"]
+ "pages": [
+ "rate"
+ ]
},
{
"root": "pages/swiper/",
- "pages": ["swiper", "skyline/swiper"]
+ "pages": [
+ "swiper",
+ "skyline/swiper"
+ ]
},
{
"root": "pages/swipe-cell/",
- "pages": ["swipe-cell"]
+ "pages": [
+ "swipe-cell"
+ ]
},
{
"root": "pages/tree-select/",
- "pages": ["tree-select"]
+ "pages": [
+ "tree-select"
+ ]
},
{
"root": "pages/indexes/",
- "pages": ["indexes", "base/index", "custom/index"]
+ "pages": [
+ "indexes",
+ "base/index",
+ "custom/index"
+ ]
}
],
"themeLocation": "theme.json",
@@ -191,6 +239,9 @@
},
"sitemapLocation": "sitemap.json",
"lazyCodeLoading": "requiredComponents",
+ "renderer": "skyline",
+ "componentFramework": "glass-easel",
+ "disableScroll": true,
"rendererOptions": {
"skyline": {
"disableABTest": true,
From e1698d94e07121cf520f02abf230220e69293b1d Mon Sep 17 00:00:00 2001
From: "seerzhang@tencent.com" <1016217659@qq.com>
Date: Thu, 25 Dec 2025 20:30:14 +0800
Subject: [PATCH 02/14] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0chat-sender?=
=?UTF-8?q?=E5=AF=B9skyline=E6=B8=B2=E6=9F=93=E6=A8=A1=E5=BC=8F=E7=9A=84?=
=?UTF-8?q?=E6=94=AF=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../_example/attachments/index.wxml | 2 +-
.../chat/chat-sender/_example/base/index.wxss | 1 +
.../_example/content-citation/index.wxml | 4 +--
.../_example/content-citation/index.wxss | 1 +
.../_example/file-citation/index.wxml | 2 +-
.../chat/chat-sender/chat-sender.less | 2 ++
.../chat/chat-sender/chat-sender.ts | 27 +++++++++++++++++--
.../chat/chat-sender/chat-sender.wxml | 4 ++-
8 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/packages/pro-components/chat/chat-sender/_example/attachments/index.wxml b/packages/pro-components/chat/chat-sender/_example/attachments/index.wxml
index 6b5f70cb3..30c76ba46 100644
--- a/packages/pro-components/chat/chat-sender/_example/attachments/index.wxml
+++ b/packages/pro-components/chat/chat-sender/_example/attachments/index.wxml
@@ -1,5 +1,5 @@
-
+
From 0e4e8e575df7d0d41c470973761ac334713505b2 Mon Sep 17 00:00:00 2001
From: nekowu <1142809915@qq.com>
Date: Tue, 30 Dec 2025 14:59:05 +0800
Subject: [PATCH 10/14] =?UTF-8?q?feat:=20=E6=A0=B7=E5=BC=8F=E8=B0=83?=
=?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pro-components/chat/chat-list/_example/image/index.wxss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/pro-components/chat/chat-list/_example/image/index.wxss b/packages/pro-components/chat/chat-list/_example/image/index.wxss
index d062eac78..09852ba34 100644
--- a/packages/pro-components/chat/chat-list/_example/image/index.wxss
+++ b/packages/pro-components/chat/chat-list/_example/image/index.wxss
@@ -21,7 +21,7 @@
width: 100%;
}
-.image-chat .t-chat-message__detail {
+.image-chat .assistant .t-chat-message__detail {
width: 100%;
}
From 81ed772a299247694251cde71c60b4bfc37380ae Mon Sep 17 00:00:00 2001
From: anlyyao
Date: Tue, 30 Dec 2025 20:28:30 +0800
Subject: [PATCH 11/14] chore(ChatList): support skyline render
---
.../chat/chat-list/chat-list.less | 14 +--
.../chat/chat-list/chat-list.wxml | 5 +-
packages/tdesign-miniprogram/example/app.json | 89 +++++--------------
3 files changed, 32 insertions(+), 76 deletions(-)
diff --git a/packages/pro-components/chat/chat-list/chat-list.less b/packages/pro-components/chat/chat-list/chat-list.less
index 5f9c896f1..0d59661ab 100644
--- a/packages/pro-components/chat/chat-list/chat-list.less
+++ b/packages/pro-components/chat/chat-list/chat-list.less
@@ -12,7 +12,6 @@
color: @chat-text-color;
&__content {
- flex: 1;
overflow-y: auto;
overflow-x: hidden;
width: 100%;
@@ -26,10 +25,15 @@
transform: scaleY(-1);
}
}
+ }
- .placeholder {
- flex-grow: 1;
- flex-shrink: 1;
- }
+ &__placeholder {
+ flex-grow: 1;
+ flex-shrink: 1;
+ }
+
+ &__footer {
+ flex-grow: 0;
+ flex-shrink: 0;
}
}
diff --git a/packages/pro-components/chat/chat-list/chat-list.wxml b/packages/pro-components/chat/chat-list/chat-list.wxml
index 4308bdbda..7b0513b5a 100644
--- a/packages/pro-components/chat/chat-list/chat-list.wxml
+++ b/packages/pro-components/chat/chat-list/chat-list.wxml
@@ -14,9 +14,6 @@
bindscrolltolower="handlerScrollToLower"
type="list"
>
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+ 上传中...{{item.progress || 0+"%"}}
+ 上传失败
+ {{item.errorMessage}}
+ {{item.desc}}
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
- 上传中...{{item.progress || 0+"%"}}
- 上传失败
- {{item.errorMessage}}
- {{item.desc}}
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/pro-components/chat/attachments/attachments.wxs b/packages/pro-components/chat/attachments/attachments.wxs
index d258fd6b1..084c9a105 100644
--- a/packages/pro-components/chat/attachments/attachments.wxs
+++ b/packages/pro-components/chat/attachments/attachments.wxs
@@ -46,8 +46,25 @@ function getFileTypeClass(inChat, files) {
return allImages ? 'all_images' : 'all_files';
}
+function hasImageFile(files) {
+ // 如果 files 为空或不存在,返回 false
+ if (!files || files.length === 0) {
+ return false;
+ }
+
+ // 检查是否存在至少一个图片文件
+ for (var i = 0; i < files.length; i++) {
+ if (files[i].fileType === 'image') {
+ return true;
+ }
+ }
+
+ return false;
+}
+
module.exports = {
imageStyle: imageStyle,
getImageMode: getImageMode,
getFileTypeClass: getFileTypeClass,
+ hasImageFile: hasImageFile,
};
From c4006fbb2f5fa907cc1334ebf51464df0926bb66 Mon Sep 17 00:00:00 2001
From: zydemail <1054055589@qq.com>
Date: Wed, 31 Dec 2025 16:22:03 +0800
Subject: [PATCH 14/14] =?UTF-8?q?feat:=20=E6=A0=B9=E6=8D=AE=20isSkyline=20?=
=?UTF-8?q?=E5=8A=A8=E6=80=81=E5=88=87=E6=8D=A2=E5=8A=A0=E8=BD=BD=E5=8A=A8?=
=?UTF-8?q?=E7=94=BB=E4=B8=BB=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/pro-components/chat/attachments/attachments.wxml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/packages/pro-components/chat/attachments/attachments.wxml b/packages/pro-components/chat/attachments/attachments.wxml
index 4c43120b6..09fdda5ed 100644
--- a/packages/pro-components/chat/attachments/attachments.wxml
+++ b/packages/pro-components/chat/attachments/attachments.wxml
@@ -6,7 +6,7 @@
-
+
@@ -31,17 +31,17 @@
-
+
-
+
-
+