@@ -354,23 +354,46 @@ let _getLocalEnvData = () => {
354354 env : "meta3d-local-9gacdhjl439cff76" // 此处填入您的环境ID
355355 } ;
356356} ;
357- let _setModData = ( app , collectionName , key , data ) => {
357+ // let _setModData = (app: any, collectionName, key, data) => {
358+ // const db = getDatabase()
359+ // return db.collection(collectionName)
360+ // .doc(key)
361+ // .get()
362+ // .then(res => {
363+ // let currentVersion = "0.0.0";
364+ // if (res.data && res.data.length > 0) {
365+ // currentVersion = res.data[0].version;
366+ // }
367+ // // 简单递增:直接分割、递增、重组
368+ // const [major, minor, patch] = currentVersion.split('.').map(Number);
369+ // const newVersion = `${major}.${minor}.${patch + 1}`;
370+ // return db.collection(collectionName)
371+ // .doc(key)
372+ // .set({
373+ // ...data,
374+ // key: key,
375+ // version: newVersion
376+ // });
377+ // })
378+ // .catch((err) => {
379+ // // 如果文档不存在,创建新文档
380+ // if (err.code === 'DATABASE_DOC_NOT_EXIST') {
381+ // return db.collection(collectionName)
382+ // .doc(key)
383+ // .set({
384+ // ...data,
385+ // key: key,
386+ // version: "0.0.1", // 初始版本
387+ // });
388+ // }
389+ // throw err;
390+ // });
391+ // }
392+ let _setModData = ( collectionName , key , data , version ) => {
358393 const db = ( 0 , BackendService_1 . getDatabase ) ( ) ;
359394 return db . collection ( collectionName )
360395 . doc ( key )
361- . get ( )
362- . then ( res => {
363- let currentVersion = "0.0.0" ;
364- if ( res . data && res . data . length > 0 ) {
365- currentVersion = res . data [ 0 ] . version ;
366- }
367- // 简单递增:直接分割、递增、重组
368- const [ major , minor , patch ] = currentVersion . split ( '.' ) . map ( Number ) ;
369- const newVersion = `${ major } .${ minor } .${ patch + 1 } ` ;
370- return db . collection ( collectionName )
371- . doc ( key )
372- . set ( Object . assign ( Object . assign ( { } , data ) , { key : key , version : newVersion } ) ) ;
373- } )
396+ . set ( Object . assign ( Object . assign ( { } , data ) , { key : key , version : version } ) )
374397 . catch ( ( err ) => {
375398 // 如果文档不存在,创建新文档
376399 if ( err . code === 'DATABASE_DOC_NOT_EXIST' ) {
@@ -410,53 +433,53 @@ packageJson, readmeContent, distFileContent, assetFileData, iconBase64) => {
410433 // })
411434 return initFunc ( ) . map ( backendInstance => [ backendInstance , JSON . parse ( packageJson ) , readmeContent ] )
412435 . flatMap ( ( [ backendInstance , packageJson , readmeContent ] ) => {
413- // _defineWindow()
414- let modJson = packageJson . mod ;
415- let fileName = packageJson . name + "_" + packageJson . version ;
416- let filePath = _getFileDirname ( ) + "/" + fileName + ".arrayBuffer" ;
417- let [ assetFileJson , imageFiles , soundFiles , glbFiles ] = _readAllAssets ( assetFileData , modJson . protocolName , packageJson . name ) ;
418- return uploadFileFunc ( _ => { } ,
419- // backendInstance,
420- filePath , generateFunc ( distFileContent , assetFileJson , imageFiles . concat ( soundFiles ) . concat ( glbFiles ) ) , fileName ) . flatMap ( ( uploadData ) => {
421- let fileID = getFileIDFunc ( uploadData , filePath ) ;
422- // let packageData = _convertToExtensionOrContributePackageData(packageJson, account)
423- let key = ( 0 , meta3d_backend_cloudbase_1 . handleKeyToLowercase ) ( packageJson . name ) ;
424- let data = {
425- // protocolName: packageData.protocol.name,
426- // protocolVersion: packageData.protocol.version,
427- name : packageJson . name ,
428- // version: packageJson.version,
429- protocolName : modJson . protocolName ,
430- // protocolVersion: modJson.protocolVersion ,
431- author : modJson . author ,
432- // category: modJson.category,
433- displayName_cn : ( 0 , NullableUtils_1 . getWithDefault ) ( modJson . displayName_cn , modJson . displayName_en ) ,
434- displayName_en : ( 0 , NullableUtils_1 . getWithDefault ) ( modJson . displayName_en , modJson . displayName_cn ) ,
435- repoLink : modJson . repoLink ,
436- // description_cn: getWithDefault(modJson.description_cn, modJson.description_en) ,
437- // description_en: getWithDefault(modJson.description_en, modJson.description_cn) ,
438- description : readmeContent ,
439- // icon: map(icon => {
440- // return _readBase64(icon)
441- // }, modJson.icon) ,
442- icon : iconBase64 ,
443- lastPublishTime : moment . now ( ) ,
444- isPublic : modJson . isPublic ,
445- dependentMods : ( 0 , NullableUtils_1 . getWithDefault ) ( modJson . dependentMods , [ ] ) ,
446- fileID ,
447- // key: handleKeyToLowercase(account)
448- key ,
449- } ;
450- // return fromPromise(
451- // addModDataFunc(
452- // backendInstance ,
453- // // _getPublishedCollectionName(fileType ),
454- // "publishedmods" ,
455- // data
456- // )
457- // )
458- let collectionName = "publishedmods" ;
459- return ( 0 , most_1 . fromPromise ) ( getModDataFunc ( backendInstance , collectionName , key ) . then ( currentData => {
436+ let key = ( 0 , meta3d_backend_cloudbase_1 . handleKeyToLowercase ) ( packageJson . name ) ;
437+ const collectionName = "publishedmods" ;
438+ return ( 0 , most_1 . fromPromise ) ( getModDataFunc ( backendInstance , collectionName , key ) )
439+ . flatMap ( ( currentData ) => {
440+ let currentVersion = "0.0.0" ;
441+ if ( ! ( 0 , NullableUtils_1 . isNullable ) ( currentData ) ) {
442+ currentVersion = ( 0 , NullableUtils_1 . getExn ) ( currentData ) . version ;
443+ }
444+ const [ major , minor , patch ] = currentVersion . split ( '.' ) . map ( Number ) ;
445+ let packageVersion = ` ${ major } . ${ minor } . ${ patch + 1 } ` ;
446+ // _defineWindow()
447+ let modJson = packageJson . mod ;
448+ // let fileName = packageJson.name + "_" + packageJson.version
449+ let fileName = packageJson . name + "_" + packageVersion ;
450+ let filePath = _getFileDirname ( ) + "/" + fileName + ".arrayBuffer" ;
451+ let [ assetFileJson , imageFiles , soundFiles , glbFiles ] = _readAllAssets ( assetFileData , modJson . protocolName , packageJson . name ) ;
452+ return uploadFileFunc ( _ => { } ,
453+ // backendInstance ,
454+ filePath , generateFunc ( distFileContent , assetFileJson , imageFiles . concat ( soundFiles ) . concat ( glbFiles ) ) , fileName ) . flatMap ( ( uploadData ) => {
455+ let fileID = getFileIDFunc ( uploadData , filePath ) ;
456+ // let packageData = _convertToExtensionOrContributePackageData(packageJson, account)
457+ let data = {
458+ // protocolName: packageData.protocol.name ,
459+ // protocolVersion: packageData.protocol.version ,
460+ name : packageJson . name ,
461+ // version: packageJson.version ,
462+ protocolName : modJson . protocolName ,
463+ // protocolVersion: modJson.protocolVersion,
464+ author : modJson . author ,
465+ // category: modJson.category ,
466+ displayName_cn : ( 0 , NullableUtils_1 . getWithDefault ) ( modJson . displayName_cn , modJson . displayName_en ) ,
467+ displayName_en : ( 0 , NullableUtils_1 . getWithDefault ) ( modJson . displayName_en , modJson . displayName_cn ) ,
468+ repoLink : modJson . repoLink ,
469+ // description_cn: getWithDefault(modJson.description_cn, modJson.description_en) ,
470+ // description_en: getWithDefault(modJson.description_en, modJson.description_cn),
471+ description : readmeContent ,
472+ // icon: map(icon => {
473+ // return _readBase64(icon)
474+ // }, modJson.icon),
475+ icon : iconBase64 ,
476+ lastPublishTime : moment . now ( ) ,
477+ isPublic : modJson . isPublic ,
478+ dependentMods : ( 0 , NullableUtils_1 . getWithDefault ) ( modJson . dependentMods , [ ] ) ,
479+ fileID ,
480+ // key: handleKeyToLowercase(account )
481+ key ,
482+ } ;
460483 if ( ( 0 , NullableUtils_1 . isNullable ) ( currentData ) ) {
461484 data = Object . assign ( Object . assign ( { } , data ) , { subscribe : 0 , visit : 0 } ) ;
462485 }
@@ -465,10 +488,12 @@ packageJson, readmeContent, distFileContent, assetFileData, iconBase64) => {
465488 delete data . _id ;
466489 delete data . _openid ;
467490 }
468- return setModDataFunc ( backendInstance , collectionName , key , data ) ;
469- } ) ) ;
491+ return ( 0 , most_1 . fromPromise ) ( setModDataFunc ( collectionName , key , data , packageVersion ) ) ;
492+ } ) ;
470493 } ) ;
471494 } ) ;
495+ // .flatMap(([backendInstance, packageJson, readmeContent]) => {
496+ // })
472497 // .drain()
473498 // .then(_ => {
474499 // logFunc("publish success")
0 commit comments