vanshi-sdk 1.0.5 → 1.0.6

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.
package/README.md CHANGED
@@ -166,7 +166,7 @@ if (file) {
166
166
  | `type` | `string` | 消息类型 |
167
167
  | `message` | `string` | 消息内容 |
168
168
  | `sentStatus` | `number` | 本地发送状态,`0` 表示发送中 |
169
- | `fileName` | `string` | 文件名 |
169
+ | `fileName` | `string` | 文件名,最长 20 个字符;上传接口也使用截取后的文件名 |
170
170
  | `fileSize` | `string` | 文件大小 |
171
171
  | `localPreviewUrl` | `string` | 浏览器本地预览地址 |
172
172
 
package/dist/index.cjs CHANGED
@@ -775,6 +775,7 @@ var postSdkDeleteAllMessageApiRequest = (data) => {
775
775
 
776
776
  // src/sdk/message.ts
777
777
  var clientBizIdSeq = 0;
778
+ var MAX_FILE_NAME_LENGTH = 20;
778
779
  function generateClientBizId() {
779
780
  clientBizIdSeq = (clientBizIdSeq + 1) % 1e6;
780
781
  const timestamp = Date.now();
@@ -788,6 +789,12 @@ function withClientBizId(message) {
788
789
  clientBizId: message.clientBizId || generateClientBizId()
789
790
  };
790
791
  }
792
+ function truncateFileName(fileName) {
793
+ return fileName.length > MAX_FILE_NAME_LENGTH ? fileName.slice(0, MAX_FILE_NAME_LENGTH) : fileName;
794
+ }
795
+ function getDisplayFileName(file, fallback = "") {
796
+ return truncateFileName(file?.name || fallback || "");
797
+ }
791
798
  function createLocalMediaMessage(message, toConversationID, conversationType) {
792
799
  const file = message.file;
793
800
  const localPreviewUrl = file && typeof URL !== "undefined" && URL.createObjectURL ? URL.createObjectURL(file) : void 0;
@@ -813,7 +820,7 @@ function createLocalMediaMessage(message, toConversationID, conversationType) {
813
820
  isGroupTargetedMessage: "",
814
821
  id: "",
815
822
  file,
816
- fileName: file?.name || message.fileName || "",
823
+ fileName: getDisplayFileName(file, message.fileName),
817
824
  fileSize: file ? String(file.size) : message.fileSize || "",
818
825
  fileDownloadUrl: message.fileDownloadUrl || localPreviewUrl || "",
819
826
  thumbnailDownloadUrl: message.thumbnailDownloadUrl || localPreviewUrl || "",
@@ -841,9 +848,14 @@ async function getImageSize(file) {
841
848
  img.src = url;
842
849
  });
843
850
  }
844
- async function uploadSdkFile(file) {
851
+ async function uploadSdkFile(file, fileName) {
845
852
  const formData = new FormData();
846
- formData.append("file", file);
853
+ const uploadFileName = truncateFileName(fileName || file.name || "");
854
+ if (uploadFileName) {
855
+ formData.append("file", file, uploadFileName);
856
+ } else {
857
+ formData.append("file", file);
858
+ }
847
859
  const response = await fetch(getUploadUrl(), {
848
860
  method: "POST",
849
861
  headers: {
@@ -870,7 +882,7 @@ async function enrichMediaMessage(message) {
870
882
  }
871
883
  const enrichedMessage = {
872
884
  ...message,
873
- fileName: file.name || message.fileName || "",
885
+ fileName: getDisplayFileName(file, message.fileName),
874
886
  fileSize: String(file.size)
875
887
  };
876
888
  if (isSameUid(message.type, "11" /* Image */)) {
@@ -885,9 +897,12 @@ async function enrichMediaMessage(message) {
885
897
  enrichedMessage.duration = String(res.duration);
886
898
  enrichedMessage.thumbnailWidth = String(res.videoWidth);
887
899
  enrichedMessage.thumbnailHeight = String(res.videoHeight);
888
- enrichedMessage.thumbnailDownloadUrl = await uploadSdkFile(res.firstFrameFile);
900
+ enrichedMessage.thumbnailDownloadUrl = await uploadSdkFile(
901
+ res.firstFrameFile,
902
+ res.firstFrameFile.name
903
+ );
889
904
  }
890
- const fileDownloadUrl = await uploadSdkFile(file);
905
+ const fileDownloadUrl = await uploadSdkFile(file, enrichedMessage.fileName);
891
906
  enrichedMessage.fileDownloadUrl = fileDownloadUrl;
892
907
  if (isSameUid(message.type, "11" /* Image */)) {
893
908
  enrichedMessage.thumbnailDownloadUrl = fileDownloadUrl;
package/dist/index.js CHANGED
@@ -4143,6 +4143,7 @@ var VanshiSdk = (() => {
4143
4143
 
4144
4144
  // src/sdk/message.ts
4145
4145
  var clientBizIdSeq = 0;
4146
+ var MAX_FILE_NAME_LENGTH = 20;
4146
4147
  function generateClientBizId() {
4147
4148
  clientBizIdSeq = (clientBizIdSeq + 1) % 1e6;
4148
4149
  const timestamp = Date.now();
@@ -4156,6 +4157,12 @@ var VanshiSdk = (() => {
4156
4157
  clientBizId: message.clientBizId || generateClientBizId()
4157
4158
  };
4158
4159
  }
4160
+ function truncateFileName(fileName) {
4161
+ return fileName.length > MAX_FILE_NAME_LENGTH ? fileName.slice(0, MAX_FILE_NAME_LENGTH) : fileName;
4162
+ }
4163
+ function getDisplayFileName(file, fallback = "") {
4164
+ return truncateFileName(file?.name || fallback || "");
4165
+ }
4159
4166
  function createLocalMediaMessage(message, toConversationID, conversationType) {
4160
4167
  const file = message.file;
4161
4168
  const localPreviewUrl = file && typeof URL !== "undefined" && URL.createObjectURL ? URL.createObjectURL(file) : void 0;
@@ -4181,7 +4188,7 @@ var VanshiSdk = (() => {
4181
4188
  isGroupTargetedMessage: "",
4182
4189
  id: "",
4183
4190
  file,
4184
- fileName: file?.name || message.fileName || "",
4191
+ fileName: getDisplayFileName(file, message.fileName),
4185
4192
  fileSize: file ? String(file.size) : message.fileSize || "",
4186
4193
  fileDownloadUrl: message.fileDownloadUrl || localPreviewUrl || "",
4187
4194
  thumbnailDownloadUrl: message.thumbnailDownloadUrl || localPreviewUrl || "",
@@ -4209,9 +4216,14 @@ var VanshiSdk = (() => {
4209
4216
  img.src = url2;
4210
4217
  });
4211
4218
  }
4212
- async function uploadSdkFile(file) {
4219
+ async function uploadSdkFile(file, fileName) {
4213
4220
  const formData = new FormData();
4214
- formData.append("file", file);
4221
+ const uploadFileName = truncateFileName(fileName || file.name || "");
4222
+ if (uploadFileName) {
4223
+ formData.append("file", file, uploadFileName);
4224
+ } else {
4225
+ formData.append("file", file);
4226
+ }
4215
4227
  const response = await fetch(getUploadUrl(), {
4216
4228
  method: "POST",
4217
4229
  headers: {
@@ -4238,7 +4250,7 @@ var VanshiSdk = (() => {
4238
4250
  }
4239
4251
  const enrichedMessage = {
4240
4252
  ...message,
4241
- fileName: file.name || message.fileName || "",
4253
+ fileName: getDisplayFileName(file, message.fileName),
4242
4254
  fileSize: String(file.size)
4243
4255
  };
4244
4256
  if (isSameUid(message.type, "11" /* Image */)) {
@@ -4253,9 +4265,12 @@ var VanshiSdk = (() => {
4253
4265
  enrichedMessage.duration = String(res.duration);
4254
4266
  enrichedMessage.thumbnailWidth = String(res.videoWidth);
4255
4267
  enrichedMessage.thumbnailHeight = String(res.videoHeight);
4256
- enrichedMessage.thumbnailDownloadUrl = await uploadSdkFile(res.firstFrameFile);
4268
+ enrichedMessage.thumbnailDownloadUrl = await uploadSdkFile(
4269
+ res.firstFrameFile,
4270
+ res.firstFrameFile.name
4271
+ );
4257
4272
  }
4258
- const fileDownloadUrl = await uploadSdkFile(file);
4273
+ const fileDownloadUrl = await uploadSdkFile(file, enrichedMessage.fileName);
4259
4274
  enrichedMessage.fileDownloadUrl = fileDownloadUrl;
4260
4275
  if (isSameUid(message.type, "11" /* Image */)) {
4261
4276
  enrichedMessage.thumbnailDownloadUrl = fileDownloadUrl;
package/dist/index.mjs CHANGED
@@ -718,6 +718,7 @@ var postSdkDeleteAllMessageApiRequest = (data) => {
718
718
 
719
719
  // src/sdk/message.ts
720
720
  var clientBizIdSeq = 0;
721
+ var MAX_FILE_NAME_LENGTH = 20;
721
722
  function generateClientBizId() {
722
723
  clientBizIdSeq = (clientBizIdSeq + 1) % 1e6;
723
724
  const timestamp = Date.now();
@@ -731,6 +732,12 @@ function withClientBizId(message) {
731
732
  clientBizId: message.clientBizId || generateClientBizId()
732
733
  };
733
734
  }
735
+ function truncateFileName(fileName) {
736
+ return fileName.length > MAX_FILE_NAME_LENGTH ? fileName.slice(0, MAX_FILE_NAME_LENGTH) : fileName;
737
+ }
738
+ function getDisplayFileName(file, fallback = "") {
739
+ return truncateFileName(file?.name || fallback || "");
740
+ }
734
741
  function createLocalMediaMessage(message, toConversationID, conversationType) {
735
742
  const file = message.file;
736
743
  const localPreviewUrl = file && typeof URL !== "undefined" && URL.createObjectURL ? URL.createObjectURL(file) : void 0;
@@ -756,7 +763,7 @@ function createLocalMediaMessage(message, toConversationID, conversationType) {
756
763
  isGroupTargetedMessage: "",
757
764
  id: "",
758
765
  file,
759
- fileName: file?.name || message.fileName || "",
766
+ fileName: getDisplayFileName(file, message.fileName),
760
767
  fileSize: file ? String(file.size) : message.fileSize || "",
761
768
  fileDownloadUrl: message.fileDownloadUrl || localPreviewUrl || "",
762
769
  thumbnailDownloadUrl: message.thumbnailDownloadUrl || localPreviewUrl || "",
@@ -784,9 +791,14 @@ async function getImageSize(file) {
784
791
  img.src = url;
785
792
  });
786
793
  }
787
- async function uploadSdkFile(file) {
794
+ async function uploadSdkFile(file, fileName) {
788
795
  const formData = new FormData();
789
- formData.append("file", file);
796
+ const uploadFileName = truncateFileName(fileName || file.name || "");
797
+ if (uploadFileName) {
798
+ formData.append("file", file, uploadFileName);
799
+ } else {
800
+ formData.append("file", file);
801
+ }
790
802
  const response = await fetch(getUploadUrl(), {
791
803
  method: "POST",
792
804
  headers: {
@@ -813,7 +825,7 @@ async function enrichMediaMessage(message) {
813
825
  }
814
826
  const enrichedMessage = {
815
827
  ...message,
816
- fileName: file.name || message.fileName || "",
828
+ fileName: getDisplayFileName(file, message.fileName),
817
829
  fileSize: String(file.size)
818
830
  };
819
831
  if (isSameUid(message.type, "11" /* Image */)) {
@@ -828,9 +840,12 @@ async function enrichMediaMessage(message) {
828
840
  enrichedMessage.duration = String(res.duration);
829
841
  enrichedMessage.thumbnailWidth = String(res.videoWidth);
830
842
  enrichedMessage.thumbnailHeight = String(res.videoHeight);
831
- enrichedMessage.thumbnailDownloadUrl = await uploadSdkFile(res.firstFrameFile);
843
+ enrichedMessage.thumbnailDownloadUrl = await uploadSdkFile(
844
+ res.firstFrameFile,
845
+ res.firstFrameFile.name
846
+ );
832
847
  }
833
- const fileDownloadUrl = await uploadSdkFile(file);
848
+ const fileDownloadUrl = await uploadSdkFile(file, enrichedMessage.fileName);
834
849
  enrichedMessage.fileDownloadUrl = fileDownloadUrl;
835
850
  if (isSameUid(message.type, "11" /* Image */)) {
836
851
  enrichedMessage.thumbnailDownloadUrl = fileDownloadUrl;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "type": "module",
4
4
  "name": "vanshi-sdk",
5
- "version": "1.0.5",
5
+ "version": "1.0.6",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.mjs",
8
8
  "browser": "./dist/index.js",