koishi-plugin-chat-patch 3.0.2 → 5.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 (194) hide show
  1. package/client/vue/index.vue +60 -634
  2. package/client/web/env.d.ts +56 -0
  3. package/client/web/index.html +21 -0
  4. package/client/web/package-lock.json +3419 -0
  5. package/client/web/package.json +62 -0
  6. package/client/web/public/bcui/css/color-dark.css +35 -0
  7. package/client/web/public/bcui/css/color-light.css +35 -0
  8. package/client/web/public/bcui/css/style.css +468 -0
  9. package/client/web/public/bcui/js/main.js +193 -0
  10. package/client/web/public/css/append-dark.css +13 -0
  11. package/client/web/public/css/append-light.css +13 -0
  12. package/client/web/public/css/append-napcat-dark.css +14 -0
  13. package/client/web/public/css/append-napcat-light.css +14 -0
  14. package/client/web/public/favicon.ico +0 -0
  15. package/client/web/public/img/icons/icon-for-fuck-apple.png +0 -0
  16. package/client/web/public/img/icons/icon-maskable.png +0 -0
  17. package/client/web/public/img/icons/icon.png +0 -0
  18. package/client/web/public/img/icons/icon.svg +10 -0
  19. package/client/web/public/robots.txt +2 -0
  20. package/client/web/public/sw.js +58 -0
  21. package/client/web/scripts/copy-bcui.mjs +17 -0
  22. package/client/web/src/App.vue +1127 -0
  23. package/client/web/src/assets/css/append/append_darwin.css +68 -0
  24. package/client/web/src/assets/css/append/append_full_vibrancy.css +290 -0
  25. package/client/web/src/assets/css/append/append_linux.css +125 -0
  26. package/client/web/src/assets/css/append/append_linux_vibrancy.css +22 -0
  27. package/client/web/src/assets/css/append/append_napcat.css +35 -0
  28. package/client/web/src/assets/css/append/append_new.css +843 -0
  29. package/client/web/src/assets/css/append/append_vibrancy.css +113 -0
  30. package/client/web/src/assets/css/append/append_win32.css +109 -0
  31. package/client/web/src/assets/css/append/mobile/append_mobile_horizontal.css +349 -0
  32. package/client/web/src/assets/css/append/mobile/append_mobile_vertical.css +96 -0
  33. package/client/web/src/assets/css/chat.css +2104 -0
  34. package/client/web/src/assets/css/msg.css +941 -0
  35. package/client/web/src/assets/css/options.css +811 -0
  36. package/client/web/src/assets/css/sys_notice.css +62 -0
  37. package/client/web/src/assets/css/view.css +2105 -0
  38. package/client/web/src/assets/font//346/226/271/346/255/243/345/226/265/345/221/234/344/275/223.ttf +0 -0
  39. package/client/web/src/assets/img/Vue.png +0 -0
  40. package/client/web/src/assets/img/cakes.svg +189 -0
  41. package/client/web/src/assets/img/icons/AppIcon.png +0 -0
  42. package/client/web/src/assets/img/icons/AppIconDark.png +0 -0
  43. package/client/web/src/assets/img/icons/CapacitorAppIcon.png +0 -0
  44. package/client/web/src/assets/img/icons/CapacitorAppIconDark.png +0 -0
  45. package/client/web/src/assets/img/icons/NapcatAppIcon.png +0 -0
  46. package/client/web/src/assets/img/icons/NapcatAppIconDark.png +0 -0
  47. package/client/web/src/assets/img/icons/exit.png +0 -0
  48. package/client/web/src/assets/img/icons/pen.png +0 -0
  49. package/client/web/src/assets/img/stars.svg +89 -0
  50. package/client/web/src/assets/img//346/234/237/345/276/205.png +0 -0
  51. package/client/web/src/assets/l10n/_About I10n.md +35 -0
  52. package/client/web/src/assets/l10n/_l10nconfig.json +7 -0
  53. package/client/web/src/assets/l10n/zh-CN.po +1941 -0
  54. package/client/web/src/assets/logo.png +0 -0
  55. package/client/web/src/assets/pathMap/LLOneBot.yaml +2 -0
  56. package/client/web/src/assets/pathMap/Lagrange.OneBot.yaml +180 -0
  57. package/client/web/src/assets/pathMap/NapCat.Onebot.yaml +224 -0
  58. package/client/web/src/assets/pathMap/SnowLuma.yaml +80 -0
  59. package/client/web/src/assets/qed.txt +1 -0
  60. package/client/web/src/components/AboutPan.vue +197 -0
  61. package/client/web/src/components/BulletinBody.vue +129 -0
  62. package/client/web/src/components/DepPan.vue +310 -0
  63. package/client/web/src/components/EmojiFace.vue +32 -0
  64. package/client/web/src/components/FacePan.vue +461 -0
  65. package/client/web/src/components/FileBody.vue +129 -0
  66. package/client/web/src/components/FileManager.vue +532 -0
  67. package/client/web/src/components/FriendBody.vue +54 -0
  68. package/client/web/src/components/GlobalSessionSearchBar.vue +301 -0
  69. package/client/web/src/components/History.vue +49 -0
  70. package/client/web/src/components/LazyLottie.vue +82 -0
  71. package/client/web/src/components/MergePan.vue +127 -0
  72. package/client/web/src/components/MsgBody.vue +1478 -0
  73. package/client/web/src/components/MusicPlayer.vue +549 -0
  74. package/client/web/src/components/NoticeBody.vue +168 -0
  75. package/client/web/src/components/QzonePermissionPan.vue +150 -0
  76. package/client/web/src/components/RawMsgRenderPreviewPan.vue +190 -0
  77. package/client/web/src/components/ThemeColorPickerPan.vue +420 -0
  78. package/client/web/src/components/TinySessionBody.vue +51 -0
  79. package/client/web/src/components/UmamiInfoPan.vue +1549 -0
  80. package/client/web/src/components/UpdatePan.vue +263 -0
  81. package/client/web/src/components/ViewerCom.vue +1360 -0
  82. package/client/web/src/components/VoiceMsg.vue +626 -0
  83. package/client/web/src/components/WelPan.vue +894 -0
  84. package/client/web/src/components/msg-body/.gitkeep +0 -0
  85. package/client/web/src/components/msg-component/JsonSegComp.vue +138 -0
  86. package/client/web/src/components/msg-component/XmlSegComp.vue +132 -0
  87. package/client/web/src/components/msg-component/jsonComp/AutoReply.vue +97 -0
  88. package/client/web/src/components/msg-component/jsonComp/Contact.lua.vue +129 -0
  89. package/client/web/src/components/msg-component/jsonComp/Feed.lua.vue +94 -0
  90. package/client/web/src/components/msg-component/jsonComp/Forum.vue +84 -0
  91. package/client/web/src/components/msg-component/jsonComp/Mannounce.vue +111 -0
  92. package/client/web/src/components/msg-component/jsonComp/Map.vue +52 -0
  93. package/client/web/src/components/msg-component/jsonComp/Miniapp.lua.vue +53 -0
  94. package/client/web/src/components/msg-component/jsonComp/Miniapp.vue +69 -0
  95. package/client/web/src/components/msg-component/jsonComp/Music.lua.vue +135 -0
  96. package/client/web/src/components/msg-component/jsonComp/Tuwen.lua.vue +56 -0
  97. package/client/web/src/components/notice-component/.gitkeep +0 -0
  98. package/client/web/src/components/notice-component/MealHungryPan.vue +119 -0
  99. package/client/web/src/components/tooltip/CustomFaceTooltip.vue +22 -0
  100. package/client/web/src/components/tooltip/Tooltip.vue +50 -0
  101. package/client/web/src/components/tooltip/Tooltips.vue +14 -0
  102. package/client/web/src/components/tooltip/UserInfoTooltip.vue +69 -0
  103. package/client/web/src/function/base.ts +238 -0
  104. package/client/web/src/function/connect.ts +2042 -0
  105. package/client/web/src/function/debug.ts +10 -0
  106. package/client/web/src/function/elements/information.ts +141 -0
  107. package/client/web/src/function/elements/system.ts +101 -0
  108. package/client/web/src/function/elements/vueComp.ts +62 -0
  109. package/client/web/src/function/favicon.ts +76 -0
  110. package/client/web/src/function/input.ts +69 -0
  111. package/client/web/src/function/model/emoji.ts +127 -0
  112. package/client/web/src/function/model/img.ts +150 -0
  113. package/client/web/src/function/model/msg-body.ts +51 -0
  114. package/client/web/src/function/msg.ts +2674 -0
  115. package/client/web/src/function/notify.ts +225 -0
  116. package/client/web/src/function/option.ts +749 -0
  117. package/client/web/src/function/satori-model.ts +818 -0
  118. package/client/web/src/function/satori.ts +325 -0
  119. package/client/web/src/function/sender.ts +178 -0
  120. package/client/web/src/function/tooltip.ts +49 -0
  121. package/client/web/src/function/utils/appUtil.ts +2288 -0
  122. package/client/web/src/function/utils/avatarUtil.ts +31 -0
  123. package/client/web/src/function/utils/backgroundUtil.ts +110 -0
  124. package/client/web/src/function/utils/linkViewUtil.ts +101 -0
  125. package/client/web/src/function/utils/localHistoryUtil.ts +517 -0
  126. package/client/web/src/function/utils/msgUtil.ts +1242 -0
  127. package/client/web/src/function/utils/pinyin.ts +141 -0
  128. package/client/web/src/function/utils/recordUtil.ts +187 -0
  129. package/client/web/src/function/utils/sessionUtil.ts +114 -0
  130. package/client/web/src/function/utils/systemUtil.ts +664 -0
  131. package/client/web/src/main.ts +91 -0
  132. package/client/web/src/pages/Chat.vue +3453 -0
  133. package/client/web/src/pages/Friends.vue +636 -0
  134. package/client/web/src/pages/Info.vue +717 -0
  135. package/client/web/src/pages/Messages.vue +875 -0
  136. package/client/web/src/pages/Options.vue +82 -0
  137. package/client/web/src/pages/Qzone.vue +1178 -0
  138. package/client/web/src/pages/chat-view/ChatDanmaku.vue +759 -0
  139. package/client/web/src/pages/chat-view/ChatGlagame.vue +642 -0
  140. package/client/web/src/pages/chat-view/ChatTerminal.vue +1044 -0
  141. package/client/web/src/pages/chat-view/SystemNotice.vue +171 -0
  142. package/client/web/src/pages/options/OptAccount.vue +107 -0
  143. package/client/web/src/pages/options/OptAddon.vue +185 -0
  144. package/client/web/src/pages/options/OptDev.vue +704 -0
  145. package/client/web/src/pages/options/OptFunction.vue +403 -0
  146. package/client/web/src/pages/options/OptInfo.vue +165 -0
  147. package/client/web/src/pages/options/OptView.vue +846 -0
  148. package/client/web/src/runtime/backend.ts +310 -0
  149. package/client/web/src/state/auth.ts +14 -0
  150. package/client/web/src/state/chat.ts +36 -0
  151. package/client/web/src/state/connection.ts +20 -0
  152. package/client/web/src/state/contact.ts +37 -0
  153. package/client/web/src/state/qzone.ts +18 -0
  154. package/client/web/src/state/sessionHistory.ts +25 -0
  155. package/client/web/src/state/settings.ts +18 -0
  156. package/client/web/src/state/sticker.ts +10 -0
  157. package/client/web/src/state/ui.ts +56 -0
  158. package/client/web/tsconfig.json +27 -0
  159. package/client/web/tsconfig.tsbuildinfo +1 -0
  160. package/client/web/vite.config.ts +33 -0
  161. package/dist/index.js +1 -12
  162. package/dist/style.css +1 -1
  163. package/lib/index.js +2070 -2077
  164. package/package.json +15 -2
  165. package/readme.md +0 -22
  166. package/src/bootstrap.ts +71 -0
  167. package/src/cache.ts +319 -0
  168. package/src/config.ts +23 -35
  169. package/src/database.ts +650 -0
  170. package/src/index.ts +27 -59
  171. package/src/media.ts +302 -0
  172. package/src/recorder.ts +175 -0
  173. package/src/self-message.ts +456 -0
  174. package/src/server.d.ts +26 -0
  175. package/src/types.ts +108 -48
  176. package/src/web.ts +712 -0
  177. package/client/vue/chat-logic.ts +0 -683
  178. package/client/vue/composables/useChatActions.ts +0 -61
  179. package/client/vue/composables/useChatData.ts +0 -185
  180. package/client/vue/composables/useImageCache.ts +0 -281
  181. package/client/vue/composables/useVideoCache.ts +0 -125
  182. package/client/vue/types.ts +0 -72
  183. package/lib/api-handlers.d.ts +0 -25
  184. package/lib/config.d.ts +0 -14
  185. package/lib/file-manager.d.ts +0 -124
  186. package/lib/index.d.ts +0 -17
  187. package/lib/logger.d.ts +0 -9
  188. package/lib/message-handler.d.ts +0 -35
  189. package/lib/types.d.ts +0 -57
  190. package/lib/utils.d.ts +0 -18
  191. package/src/api-handlers.ts +0 -646
  192. package/src/file-manager.ts +0 -1436
  193. package/src/message-handler.ts +0 -507
  194. package/src/utils.ts +0 -189
Binary file
@@ -0,0 +1,2 @@
1
+ name: LLOneBot
2
+ redirect: NapCat.Onebot
@@ -0,0 +1,180 @@
1
+ # Lagrange.OneBot 消息结构声明
2
+ # https://github.com/botuniverse/onebot-11
3
+ # PS:解析中可以使用 jsonpath,左斜杠开头则表示为当前位置
4
+
5
+ # Bot 名称
6
+ name: Lagrange.OneBot
7
+
8
+ # Bot 版本信息
9
+ version_info: $.data
10
+ # 登录信息
11
+ login_info:
12
+ uin: $.data.user_id
13
+ bkn: ''
14
+ nickname: $.data.nickname
15
+ # 群、好友列表
16
+ user_list:
17
+ name: get_friend_list|get_group_list
18
+ source: $.data[*]
19
+ list:
20
+ group_id: /group_id
21
+ group_name: /group_name
22
+ member_count: /member_count
23
+ admin_flag: null
24
+
25
+ class_id: $.group.group_id
26
+ class_name: $.group.group_name
27
+ user_id: /user_id
28
+ nickname: /nickname
29
+ remark: /remark
30
+ # 收藏表情
31
+ roaming_stamp:
32
+ name: fetch_custom_face
33
+ reverse: true
34
+ # 消息列表
35
+ message_list:
36
+ name: get_group_msg_history
37
+ private_name: get_friend_msg_history
38
+ source: $.data.messages[*]
39
+ type: $.data
40
+ message_type:
41
+ user: private
42
+ group: group
43
+ list:
44
+ message_id: /message_id
45
+ seq_id: null
46
+ target_id: /target_id
47
+ message_type: /message_type
48
+ time: /time
49
+ post_type: null
50
+ group_id: /group_id
51
+ sender: /sender
52
+ message: /message
53
+ raw_message: /raw_message
54
+ # 转发消息体
55
+ forward_msg:
56
+ name: get_forward_msg
57
+ source: $.data.message[*].data
58
+ # 消息基础信息
59
+ message_info:
60
+ message_id: $.message_id
61
+ private_id: $.user_id
62
+ group_id: $.group_id
63
+ target_id: $.target_id
64
+ sender: $.sender.user_id
65
+ # 获取消息体
66
+ get_message: $.message
67
+ message_value: # 这是消息转义,防止某些消息字段不同
68
+ image:
69
+ url: $.file
70
+ # 获取群公告
71
+ group_notices:
72
+ name: _get_group_notice
73
+ source: $.data[*]
74
+ list:
75
+ content: $.message.text
76
+ sender: $.sender_id
77
+ time: $.publish_time
78
+ img_id: $.message.images.0.id
79
+ is_read: null
80
+ read_num: null
81
+ # 获取群文件主列表
82
+ group_files:
83
+ name: get_group_root_files
84
+ source: $.data.*[*]
85
+ list:
86
+ # 文件类型
87
+ file_id: /file_id # 文件 ID
88
+ file_name: /file_name # 文件名
89
+ size: /file_size # 文件大小
90
+ download_times: /download_times # 下载次数
91
+ dead_time: /dead_time # 过期时间
92
+ upload_time: /modify_time # 上传时间
93
+ uploader_name: /uploader_name # 上传者
94
+ # 文件夹类型
95
+ folder_id: /folder_id # 文件夹 ID
96
+ folder_name: /folder_name # 文件夹名
97
+ count: /total_file_count # 文件数量
98
+ create_time: /create_time # 创建时间
99
+ creater_name: /create_name # 创建者
100
+ # 获取群文件下载连接
101
+ file_download:
102
+ name: get_group_file_url
103
+ file_url: $.data.url
104
+ # 获取群文件夹内文件
105
+ group_folder_files:
106
+ name: get_group_files_by_folder
107
+ # 获取群精华消息
108
+ group_essence:
109
+ name: get_essence_msg_list
110
+ source: $.data[*]
111
+ list:
112
+ sender_uin: /sender_id
113
+ sender_nick: /sender_nick
114
+ sender_time: /sender_time
115
+ content: /content
116
+ add_digest_uin: /operator_id
117
+ add_digest_nick: /operator_nick
118
+ add_digest_time: /operator_time
119
+ # 群/好友信息
120
+ friend_info:
121
+ name: get_stranger_info
122
+ source: $.data
123
+ list:
124
+ longNick: /sign # 签名
125
+ qid: /q_id # 个性 QQ 账号
126
+ country: null # 国家
127
+ province: null # 省份
128
+ city: null # 城市
129
+ regTime: /RegisterTime # 注册时间
130
+ qqLevel: /level # QQ 等级
131
+ birthday_year: null # 生日年份
132
+ birthday_month: null # 生日月份
133
+ birthday_day: null # 生日日期
134
+ age: /age # 年龄
135
+ sex: /sex # 性别
136
+ # 获取群成员信息
137
+ group_member_info:
138
+ name: get_group_member_info
139
+ source: $.data
140
+ list:
141
+ group_id: /group_id
142
+ user_id: /user_id
143
+ nickname: /nickname
144
+ card: /card
145
+ sex: /sex
146
+ age: /age
147
+ join_time: /join_time
148
+ last_sent_time: /last_sent_time
149
+ shut_up_timestamp: /shut_up_timestamp
150
+ role: /role
151
+ set_group_nickname:
152
+ name: set_group_card
153
+ # 退出群聊
154
+ leave_group:
155
+ name: set_group_leave
156
+ # 设置群名
157
+ set_group_name:
158
+ name: set_group_name
159
+ # 禁言成员
160
+ ban_mumber:
161
+ name: set_group_ban
162
+ # 设置群头衔(包括成员)
163
+ set_group_title:
164
+ name: set_group_special_title
165
+ # 设置消息回应
166
+ send_respond:
167
+ name: set_group_reaction
168
+
169
+
170
+
171
+ # 我的lgr啊,你怎么似了???呜呜呜~~~祈祷有天可以复活吧
172
+ # 撤回消息
173
+ delete_msg:
174
+ name: delete_msg
175
+ # 获取语音消息文件
176
+ get_record:
177
+ name: get_record
178
+ file: $..file
179
+ url: $..url
180
+ base64: $..base64
@@ -0,0 +1,224 @@
1
+ # NapCat.Onbot/LLOneBot 消息结构声明
2
+ # https://napneko.github.io/zh-CN/develop/api
3
+ # PS:解析中可以使用 jsonpath,左斜杠开头则表示为当前位置
4
+
5
+ # Bot 名称
6
+ name: NapCat.Onebot
7
+
8
+ # Bot 版本信息
9
+ version_info: $.data
10
+ # 登录信息
11
+ login_info:
12
+ uin: $.data.user_id
13
+ bkn: ''
14
+ nickname: $.data.nickname
15
+ # 群、好友列表
16
+ friend_list:
17
+ name: get_friends_with_category
18
+ source: $.data[*].buddyList[*]
19
+ list:
20
+ class_id: null
21
+ class_name: null
22
+ user_id: /user_id
23
+ nickname: /nickname
24
+ remark: /remark
25
+ longNick: /longNick
26
+ group_list:
27
+ name: get_group_list
28
+ source: $.data[*]
29
+ list:
30
+ group_id: /group_id
31
+ group_name: /group_name
32
+ member_count: /member_count
33
+ admin_flag: null
34
+ # 群/好友信息
35
+ friend_info:
36
+ name: get_stranger_info
37
+ source: $.data
38
+ list:
39
+ longNick: /longNick # 签名
40
+ qid: /qid # 个性 QQ 账号
41
+ country: /country # 国家
42
+ province: /province # 省份
43
+ city: /city # 城市
44
+ regTime: /regTime # 注册时间
45
+ qqLevel: /qqLevel # QQ 等级
46
+ birthday_year: /birthday_year # 生日年份
47
+ birthday_month: /birthday_month # 生日月份
48
+ birthday_day: /birthday_day # 生日日期
49
+ age: /age # 年龄
50
+ sex: /sex # 性别
51
+ # 好友分组
52
+ friend_category:
53
+ name: get_friends_with_category
54
+ source: $.data[*]
55
+ list:
56
+ class_id: /categoryId
57
+ class_name: /categoryName
58
+ sort_id: /categorySortId
59
+ users: $.buddyList[*].user_id
60
+ # 消息列表
61
+ message_list:
62
+ name: get_group_msg_history
63
+ private_name: get_friend_msg_history
64
+ source: $.data.messages[*]
65
+ pagerType: full # 分页类型:全量 full / 增量 incremental / 无分页 none
66
+ type: $.data
67
+ message_type:
68
+ user: private
69
+ group: group
70
+ list:
71
+ message_id: /message_id
72
+ seq_id: /real_seq
73
+ target_id: /target_id
74
+ message_type: /message_type
75
+ time: /time
76
+ post_type: /post_type
77
+ group_id: /group_id
78
+ sender: /sender
79
+ message: /message
80
+ raw_message: /raw_message
81
+ # 转发消息体
82
+ forward_msg:
83
+ name: get_forward_msg
84
+ source: $.data.messages[*]
85
+ list:
86
+ message_id: /message_id
87
+ target_id: null
88
+ message_type: /message_type
89
+ time: /time
90
+ post_type: /post_type
91
+ group_id: /group_id
92
+ sender: /sender
93
+ message: /message
94
+ raw_message: null
95
+ # 消息基础信息
96
+ message_info:
97
+ message_id: $.message_id
98
+ private_id: $.user_id
99
+ group_id: $.group_id
100
+ target_id: $.target_id
101
+ sender: $.sender.user_id
102
+ # 获取消息体
103
+ get_message: $.message
104
+ message_value:
105
+ file:
106
+ name: $.file
107
+ # 设置消息已读
108
+ set_message_read:
109
+ name: mark_group_msg_as_read
110
+ private_name: mark_private_msg_as_read
111
+ # 设置消息回应
112
+ send_respond:
113
+ name: set_msg_emoji_like
114
+ # 获取群公告
115
+ group_notices:
116
+ name: _get_group_notice
117
+ source: $.data[*]
118
+ list:
119
+ content: $.message.text
120
+ sender: /sender_id
121
+ time: /publish_time
122
+ img_id: $.message.image.0.id
123
+ is_read: null
124
+ read_num: null
125
+ # 获取群精华消息
126
+ group_essence:
127
+ name: get_essence_msg_list
128
+ source: $.data[*]
129
+ list:
130
+ sender_uin: /sender_id
131
+ sender_nick: /sender_nick
132
+ sender_time: /operator_time
133
+ msg_content: /content
134
+ add_digest_uin: /operator_id
135
+ add_digest_nick: /operator_nick
136
+ add_digest_time: /operator_time
137
+ is_end: null
138
+ # 获取群成员信息
139
+ group_member_info:
140
+ name: get_group_member_info
141
+ source: $.data
142
+ list:
143
+ group_id: /group_id
144
+ user_id: /user_id
145
+ nickname: /nickname
146
+ card: /card
147
+ sex: /sex
148
+ age: /age
149
+ join_time: /join_time
150
+ last_sent_time: /last_sent_time
151
+ shut_up_timestamp: /shut_up_timestamp
152
+ role: /role
153
+ # 获取收藏表情
154
+ roaming_stamp:
155
+ name: fetch_custom_face
156
+ pagerType: full
157
+ # 获取历史会话
158
+ recent_contact:
159
+ name: get_recent_contact
160
+ source: $.data[*]
161
+ list:
162
+ user_id: /peerUin
163
+ time: /msgTime
164
+ chat_type: /chatType
165
+ name: /peerName
166
+ # 戳一戳
167
+ poke:
168
+ name: group_poke
169
+ private_name: friend_poke
170
+
171
+ ## 文件
172
+ # 获取群文件主列表
173
+ group_files:
174
+ name: get_group_root_files
175
+ source: $.data.*[*]
176
+ list:
177
+ # 文件类型
178
+ file_id: /file_id # 文件 ID
179
+ file_name: /file_name # 文件名
180
+ size: /size # 文件大小
181
+ download_times: /download_times # 下载次数
182
+ dead_time: /dead_time # 过期时间
183
+ upload_time: /modify_time # 上传时间
184
+ uploader_name: /uploader_name # 上传者
185
+ # 文件夹类型
186
+ folder_id: /folder_id # 文件夹 ID
187
+ folder_name: /folder_name # 文件夹名
188
+ count: /total_file_count # 文件数量
189
+ create_time: /create_time # 创建时间
190
+ creater_name: /creator_name # 创建者
191
+ # 获取群文件夹内文件
192
+ group_folder_files:
193
+ name: get_group_files_by_folder
194
+ # 获取文件下载信息
195
+ file_download:
196
+ name: get_group_file_url
197
+ private_name: get_private_file_url
198
+ source: $.data
199
+ list:
200
+ file_url: /url
201
+
202
+ ## 群操作
203
+ # 退出群聊
204
+ leave_group:
205
+ name: set_group_leave
206
+ # 设置群昵称(包括成员)
207
+ set_group_nickname:
208
+ name: set_group_card
209
+ # 设置群头衔(包括成员)
210
+ set_group_title:
211
+ name: set_group_special_title
212
+ # 禁言成员
213
+ ban_mumber:
214
+ name: set_group_ban
215
+
216
+ # 撤回消息
217
+ delete_msg:
218
+ name: delete_msg
219
+ # 获取语音消息文件
220
+ get_record:
221
+ name: get_record
222
+ file: $..file
223
+ url: $..url
224
+ base64: $..base64
@@ -0,0 +1,80 @@
1
+ name: SnowLuma
2
+ redirect: NapCat.Onebot
3
+
4
+ # 消息列表
5
+ message_list:
6
+ name: get_group_msg_history
7
+ private_name: get_friend_msg_history
8
+ source: $.data.messages[*]
9
+ pagerType: incremental
10
+ type: $.data
11
+ message_type:
12
+ user: private
13
+ group: group
14
+ list:
15
+ message_id: /message_id
16
+ seq_id: /real_seq
17
+ target_id: /target_id
18
+ message_type: /message_type
19
+ time: /time
20
+ post_type: /post_type
21
+ group_id: /group_id
22
+ sender: /sender
23
+ message: /message
24
+ raw_message: /raw_message
25
+
26
+ # 获取收藏表情
27
+ roaming_stamp:
28
+ name: fetch_custom_face
29
+ pagerType: full
30
+ reverse: true
31
+
32
+ # 好友分组,暂不支持此功能
33
+ friend_category:
34
+ friend_list:
35
+ name: get_friend_list
36
+ source: $.data[*]
37
+ list:
38
+ class_id: null
39
+ class_name: null
40
+ user_id: /user_id
41
+ nickname: /nickname
42
+ remark: /remark
43
+ longNick: /longNick
44
+
45
+ # QQ 空间
46
+ get_qzone_feed:
47
+ name: get_qzone_feeds
48
+ source: $.data.feeds[*]
49
+ list:
50
+ id: /key
51
+ type: /appid
52
+ nickname: /nickname
53
+ uin: /uin
54
+ time: /time
55
+ html: /html
56
+ get_qzone_msg:
57
+ name: get_qzone_msg_list
58
+ source: $.data.msglist[*]
59
+ list:
60
+ id: /key
61
+ type: /appid
62
+ nickname: /nickname
63
+ uin: /uin
64
+ time: /time
65
+ html: /html
66
+ send_qzone_msg:
67
+ name: send_qzone_msg
68
+ source: $.data
69
+ comment_qzone:
70
+ name: comment_qzone
71
+ source: $.data
72
+ like_qzone:
73
+ name: like_qzone
74
+ source: $.data
75
+ unlike_qzone:
76
+ name: unlike_qzone
77
+ source: $.data
78
+ delete_qzone_msg:
79
+ name: delete_qzone_msg
80
+ source: $.data
@@ -0,0 +1 @@
1
+ <div class="qq-err-card"><div><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAC5klEQVQokYVSW0hTcRz+1s6Oc8zlbbp5mZa3bkKunA9BWShF9dAVIozCblAUpg/1EGWQDz0IdlG0Rwm0FF+UrGYXL9O0TJtrpltW8zQ1reVmx7Odc/zHDGUK0Q8++P//fB/fn+/3gRCyBMYWY44gCNTCm9VqXeccc8Ys5/mxAgHT19+nf/ykeU/Pmx7D0NDQmvaO9q0+n5eurKo6SwhZwvUPFXjxeDzKka+fC2rrawtaTc8hCiLy887AMvgBPM+X0DTt+6fYkGnocf12wdJkAiuKkGEO1fXV2Je7HxRFCf9xdqsShHEcP5SL1M3Z4H570PasAZSEX677O4EBlN8qLG2uuEKc9gHi8MM2QJiPb0nxyRzS3/9O/8/AzOY+vdX48EhaVjxA3sBuacME0wlVqAVbDPEou1NaNDvLKgKN58VPnj7efb6o8LYuIygmWtuKlcouEKYDStIJidCBjGwbbDbb0QuFBXfHnd/iFsTScHXExV+u6dDLhZdKxxxDmqhg03rW9R1MjwMS2RgI/wX2uhFEOrVIDlFlNJk6VGp11KQmLo6hDh84VK9Wq7/70wwLTx2echgxJ7IQpn1wjUohlLHQjwrYfM6A0UcPsIqbOzW9c1fz/Le1Wq1zYQ0Op0c5bvdh0sFD4iNwmzhkMiJUCgX7M3nt2UGZwhE+/QOu0luXea9XvqQ1dcZX2e7PAqZGefi4OQQ5BNASQFSq3LoTp++rExK/iAA0YUoDY7FsWNzze3P/RsbljhyR05BLZqALksEtErgJQfDkuEYKYIIAQTQNb2Q0pErlzKJze/vLHYkRsXFceh7YGSkSgqVQ6WgMBqswpolnWm8W35gVgZC8fAyERZfFJiXZ551FUaRMXa+zKssr0lNS0oYf1mzKq2lpOMjGKthtu7O6Pa0vtqut5mu61UloEWX3jl2/WiL15+RvCs/zVHd3tyGwPRzHyb0cJ/effRwn/9Tbq3/W2Lh3lmUV8xxC8AeV8pvsqY2H6AAAAABJRU5ErkJggg=="><span>错误报告<span>(这是彩蛋)</span></span><svg fill="var(--color-font)" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" width="76" height="76" viewBox="0 0 76.00 76.00" enable-background="new 0 0 76.00 76.00" xml:space="preserve"><path fill-opacity="1" stroke-width="0.2" stroke-linejoin="round" d="M 26.9166,22.1667L 37.9999,33.25L 49.0832,22.1668L 53.8332,26.9168L 42.7499,38L 53.8332,49.0834L 49.0833,53.8334L 37.9999,42.75L 26.9166,53.8334L 22.1666,49.0833L 33.25,38L 22.1667,26.9167L 26.9166,22.1667 Z"/></svg></div><div><div><img src="data:image/png;base64,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"><span>Stapxs QQ Lite遇到错误,给您带来不便,我们深表庆幸。</span></div><hr><div><span>我们已经产生了相关错误报告(报告中应该不包含你的任何隐私信息),希望您发送此报告给我们以帮助改善Stapxs QQ Lite的质量。</span><div><input type="checkbox" checked><span>发送错误报告(S)</span></div><textarea placeholder="这个问题是任何出现的?"></textarea><div class="qq-err-card-err"><span>错误号:</span><span style="flex: 1;text-align: center;">F6ED4FJDB6SKSZ7CG6Z9A07GDZ</span><a><span>▲</span><span>错误信息</span></a></div><div class="qq-err-card-err"><span>错误模块:</span><span>function printMsg()</span></div></div></div></div>
@@ -0,0 +1,197 @@
1
+ <!--
2
+ * @FileDescription: 关于模板
3
+ * @Author: Stapxs
4
+ * @Date: 2024/04/22
5
+ * @Version: 1.0
6
+ -->
7
+ <!-- eslint-disable max-len -->
8
+
9
+ <template>
10
+ <div class="about-pan">
11
+ <div id="logo-card" :class="'ss-card logo-card' + (showUI ? '' : ' hidd-sha')">
12
+ <div>
13
+ <span>{{ $t('Koishi Satori 聊天室') }}</span>
14
+ </div>
15
+ <div class="about-source">
16
+ {{ $t('本页面魔改自') }}
17
+ <a @click="openLink('https://github.com/Stapxs/Stapxs-QQ-Lite-2.0')">Stapxs QQ Lite 2.0</a>
18
+ {{ $t(',感谢原项目的 UI 设计。') }}
19
+ </div>
20
+ <div v-if="sponsorList.length > 0 && showUI" class="contributors-card">
21
+ <div />
22
+ <span> {{ $t('赞助者') }} </span>
23
+ <div class="contributors">
24
+ <div v-for="info in sponsorList.slice(0, 3)" :key="info.user.name">
25
+ <img lazy :src="info.user.avatar">
26
+ <div>
27
+ <span>{{ info.user.name }}</span>
28
+ <span>{{ Intl.DateTimeFormat(trueLang, {
29
+ year: 'numeric',
30
+ month: 'short',
31
+ day: 'numeric',
32
+ }).format(getViewTime(Number(info.last_pay_time))) }}</span>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ <div v-if="sponsorList.length > 3">
37
+ <img v-for="info in sponsorList.slice(3)"
38
+ :key="info.user.name"
39
+ lazy
40
+ :src="info.user.avatar">
41
+ </div>
42
+ </div>
43
+ <div v-if="constList.length > 0 && showUI" class="contributors-card">
44
+ <div />
45
+ <span>{{ $t('社区贡献者') }}</span>
46
+ <div class="contributors">
47
+ <div v-for="(info, index) in constList.slice(1, 4)" :key="info.title"
48
+ :class="(info.isMe ? 'me' : '') + (info.isSuperThakns ? ' super-thanks' : '')"
49
+ @click="openLink(info.link)">
50
+ <img lazy :src="info.url">
51
+ <div>
52
+ <span>{{ info.title }}</span>
53
+ <span>{{ $t('{time} 次提交', { time: info.contributions }) }}</span>
54
+ </div>
55
+ #{{ index + 1 }}
56
+ </div>
57
+ </div>
58
+ <div>
59
+ <img v-for="info in constList.slice(4)"
60
+ :key="info.title"
61
+ lazy
62
+ :src="info.url"
63
+ @click="openLink(info.link)">
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </template>
69
+
70
+ <script lang="ts" setup>
71
+ import DepPan from './DepPan.vue'
72
+ import packageInfo from '../../package.json'
73
+
74
+ import { markRaw, onMounted, ref } from 'vue'
75
+ import { openLink, sendStatEvent, showReleaseHistory } from '../function/utils/appUtil'
76
+ import { ContributorElem } from '../function/elements/system'
77
+
78
+ import { getTrueLang, getViewTime } from '../function/utils/systemUtil'
79
+
80
+ import MealHungryPan from '../components/notice-component/MealHungryPan.vue'
81
+ import { library } from '@fortawesome/fontawesome-svg-core'
82
+ import { faClockRotateLeft } from '@fortawesome/free-solid-svg-icons'
83
+ import { i18n } from '../main'
84
+ import { useUIStore } from '../state/ui'
85
+
86
+ defineOptions({ name: 'AboutPan' })
87
+
88
+ const $t = i18n.global.t
89
+ const uiStore = useUIStore()
90
+
91
+ defineProps<{
92
+ showUI: boolean
93
+ }>()
94
+
95
+ const trueLang = ref('zh-CN')
96
+ const constList = ref<ContributorElem[]>([])
97
+ const sponsorList = ref<{
98
+ current_plan: string,
99
+ last_pay_time: string,
100
+ user: {
101
+ name: string,
102
+ avatar: string
103
+ }
104
+ }[]>([])
105
+
106
+ function dependencies() {
107
+ uiStore.popBoxList = []
108
+ const popInfo = {
109
+ title: $t('更多信息'),
110
+ template: markRaw(DepPan)
111
+ }
112
+ uiStore.popBoxList.push(popInfo)
113
+ }
114
+
115
+ function goGithub() {
116
+ const repoName = import.meta.env.VITE_APP_REPO_NAME
117
+ openLink(`https://github.com/${repoName}`)
118
+ sendStatEvent('click_statistics', { name: 'visit_github' })
119
+ }
120
+
121
+ function goFish() {
122
+ sendStatEvent('click_statistics', { name: 'visit_fish' })
123
+ if(!import.meta.env.VITE_APP_SPONSORS_URL) {
124
+ // eslint-disable-next-line no-console
125
+ console.error('是谁没有设置赞助链接?')
126
+ sendStatEvent('error_statistics', {
127
+ type: 'sponsor_link_missing'
128
+ })
129
+ return
130
+ }
131
+ const popInfo = {
132
+ title: '',
133
+ template: markRaw(MealHungryPan),
134
+ allowQuickClose: false,
135
+ button: [
136
+ {
137
+ text: $t('打开…'),
138
+ master: true,
139
+ fun: () => {
140
+ openLink(import.meta.env.VITE_APP_SPONSORS_URL)
141
+ uiStore.popBoxList.shift()
142
+ },
143
+ }
144
+ ],
145
+ }
146
+ uiStore.popBoxList.push(popInfo)
147
+ }
148
+
149
+ onMounted(() => {
150
+ library.add(faClockRotateLeft)
151
+ window.onload = async () => {
152
+ trueLang.value = getTrueLang()
153
+ }
154
+ const superThanks = ['doodlehuang']
155
+ // 加载贡献者信息
156
+ if(import.meta.env.VITE_APP_REPO_NAME) {
157
+ fetch(`https://api.github.com/repos/${import.meta.env.VITE_APP_REPO_NAME}/contributors`)
158
+ .then((response) => response.json())
159
+ .then((data: { [key: string]: string }[]) => {
160
+ for (let i = 0; i < data.length; i++) {
161
+ constList.value.push({
162
+ url: data[i].avatar_url,
163
+ link: data[i].html_url,
164
+ title: data[i].login,
165
+ contributions: Number(data[i].contributions),
166
+ isMe: data[i].login == 'Stapxs',
167
+ isSuperThakns: superThanks.includes(data[i].login),
168
+ })
169
+ }
170
+ })
171
+ }
172
+ // 加载赞助者信息
173
+ if(import.meta.env.VITE_APP_SPONSORS_DATA_API) {
174
+ fetch(import.meta.env.VITE_APP_SPONSORS_DATA_API)
175
+ .then((response) => response.json())
176
+ .then((data: { [key: string]: string }) => {
177
+ sponsorList.value = data.list as any
178
+ })
179
+ }
180
+ })
181
+ </script>
182
+
183
+ <style>
184
+ .hidd-sha {
185
+ box-shadow: none !important;
186
+ }
187
+ .about-source {
188
+ margin-top: 12px;
189
+ font-size: 0.8rem;
190
+ text-align: center;
191
+ opacity: 0.75;
192
+ }
193
+ .about-source a {
194
+ color: var(--color-main);
195
+ cursor: pointer;
196
+ }
197
+ </style>