@flexem/chat-box 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +638 -0
  2. package/miniprogram_dist/TEST_CASES.md +256 -0
  3. package/miniprogram_dist/assets/icons/icon-arrow-down.svg +1 -0
  4. package/miniprogram_dist/assets/icons/icon-arrow-up.svg +1 -0
  5. package/miniprogram_dist/assets/icons/icon-avatar-default.svg +1 -0
  6. package/miniprogram_dist/assets/icons/icon-back.svg +1 -0
  7. package/miniprogram_dist/assets/icons/icon-camera.svg +1 -0
  8. package/miniprogram_dist/assets/icons/icon-close.svg +1 -0
  9. package/miniprogram_dist/assets/icons/icon-copy.svg +1 -0
  10. package/miniprogram_dist/assets/icons/icon-delete.svg +1 -0
  11. package/miniprogram_dist/assets/icons/icon-edit-msg.svg +1 -0
  12. package/miniprogram_dist/assets/icons/icon-edit.svg +1 -0
  13. package/miniprogram_dist/assets/icons/icon-file.svg +1 -0
  14. package/miniprogram_dist/assets/icons/icon-image.svg +1 -0
  15. package/miniprogram_dist/assets/icons/icon-keyboard.svg +1 -0
  16. package/miniprogram_dist/assets/icons/icon-menu.svg +1 -0
  17. package/miniprogram_dist/assets/icons/icon-play-voice.svg +1 -0
  18. package/miniprogram_dist/assets/icons/icon-plus.svg +1 -0
  19. package/miniprogram_dist/assets/icons/icon-regenerate.svg +1 -0
  20. package/miniprogram_dist/assets/icons/icon-thinking.svg +1 -0
  21. package/miniprogram_dist/assets/icons/icon-voice.svg +1 -0
  22. package/miniprogram_dist/components/attachment/index.js +169 -0
  23. package/miniprogram_dist/components/attachment/index.json +4 -0
  24. package/miniprogram_dist/components/attachment/index.wxml +40 -0
  25. package/miniprogram_dist/components/attachment/index.wxss +119 -0
  26. package/miniprogram_dist/components/input-bar/index.js +934 -0
  27. package/miniprogram_dist/components/input-bar/index.json +6 -0
  28. package/miniprogram_dist/components/input-bar/index.wxml +132 -0
  29. package/miniprogram_dist/components/input-bar/index.wxss +324 -0
  30. package/miniprogram_dist/components/message/index.js +988 -0
  31. package/miniprogram_dist/components/message/index.json +4 -0
  32. package/miniprogram_dist/components/message/index.wxml +285 -0
  33. package/miniprogram_dist/components/message/index.wxss +575 -0
  34. package/miniprogram_dist/components/sidebar/index.js +506 -0
  35. package/miniprogram_dist/components/sidebar/index.json +4 -0
  36. package/miniprogram_dist/components/sidebar/index.wxml +137 -0
  37. package/miniprogram_dist/components/sidebar/index.wxss +264 -0
  38. package/miniprogram_dist/index.js +1316 -0
  39. package/miniprogram_dist/index.json +8 -0
  40. package/miniprogram_dist/index.wxml +172 -0
  41. package/miniprogram_dist/index.wxss +291 -0
  42. package/miniprogram_dist/package.json +5 -0
  43. package/miniprogram_dist/utils/api.js +474 -0
  44. package/miniprogram_dist/utils/audio.js +860 -0
  45. package/miniprogram_dist/utils/storage.js +168 -0
  46. package/package.json +27 -0
@@ -0,0 +1,119 @@
1
+ /* 遮罩层 */
2
+ .attachment-picker-mask {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ bottom: 0;
8
+ background-color: rgba(0, 0, 0, 0);
9
+ z-index: 999;
10
+ pointer-events: none;
11
+ transition: background-color 0.3s ease;
12
+ }
13
+
14
+ .attachment-picker-mask.show {
15
+ background-color: rgba(0, 0, 0, 0.5);
16
+ pointer-events: auto;
17
+ }
18
+
19
+ /* 选择器容器 */
20
+ .attachment-picker-container {
21
+ position: fixed;
22
+ left: 0;
23
+ right: 0;
24
+ bottom: 0;
25
+ background-color: #fff;
26
+ border-radius: 24rpx 24rpx 0 0;
27
+ transform: translateY(100%);
28
+ transition: transform 0.3s ease;
29
+ padding-bottom: env(safe-area-inset-bottom);
30
+ z-index: 1000;
31
+ }
32
+
33
+ .attachment-picker-container.show {
34
+ transform: translateY(0);
35
+ }
36
+
37
+ /* 标题栏 */
38
+ .picker-header {
39
+ display: flex;
40
+ align-items: center;
41
+ justify-content: space-between;
42
+ padding: 30rpx;
43
+ border-bottom: 1rpx solid #eee;
44
+ }
45
+
46
+ .picker-title {
47
+ font-size: 32rpx;
48
+ font-weight: bold;
49
+ color: #333;
50
+ }
51
+
52
+ .picker-close {
53
+ width: 60rpx;
54
+ height: 60rpx;
55
+ display: flex;
56
+ align-items: center;
57
+ justify-content: center;
58
+ }
59
+
60
+ .picker-close text {
61
+ font-size: 48rpx;
62
+ color: #999;
63
+ line-height: 1;
64
+ }
65
+
66
+ /* 选项列表 */
67
+ .picker-options {
68
+ display: flex;
69
+ justify-content: space-around;
70
+ padding: 40rpx 30rpx;
71
+ }
72
+
73
+ .picker-option {
74
+ display: flex;
75
+ flex-direction: column;
76
+ align-items: center;
77
+ gap: 16rpx;
78
+ padding: 20rpx 40rpx;
79
+ }
80
+
81
+ .picker-option:active {
82
+ opacity: 0.7;
83
+ }
84
+
85
+ .option-icon {
86
+ width: 100rpx;
87
+ height: 100rpx;
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ background-color: #f5f5f5;
92
+ border-radius: 20rpx;
93
+ font-size: 48rpx;
94
+ }
95
+
96
+ .icon-image {
97
+ width: 48rpx;
98
+ height: 48rpx;
99
+ }
100
+
101
+ .option-text {
102
+ font-size: 26rpx;
103
+ color: #666;
104
+ }
105
+
106
+ /* 取消按钮 */
107
+ .picker-cancel {
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ height: 100rpx;
112
+ border-top: 1rpx solid #eee;
113
+ background-color: #fafafa;
114
+ }
115
+
116
+ .picker-cancel text {
117
+ font-size: 32rpx;
118
+ color: #666;
119
+ }