@@ -112,7 +112,7 @@ export async function _promptAndSetEnvironmentId(autoSelectSingle: boolean, serv
112112 return { selectedEnvId : null , cancelled : false , error : "请先登录云开发账户" } ;
113113 }
114114
115- // 2. 获取可用环境列表
115+ // 2. 获取可用环境列表(使用过滤参数)
116116 // Fix: Pass cloudBaseOptions to ensure correct environment context
117117 const serverCloudBaseOptions = server ?. cloudBaseOptions ;
118118 const cloudbase = await getCloudBaseManager ( {
@@ -121,9 +121,34 @@ export async function _promptAndSetEnvironmentId(autoSelectSingle: boolean, serv
121121 } ) ;
122122 let envResult ;
123123 try {
124- envResult = await cloudbase . env . listEnvs ( ) ;
124+ // Use commonService to call DescribeEnvs with filter parameters
125+ // Filter parameters match the reference conditions provided by user
126+ envResult = await cloudbase . commonService ( 'tcb' ) . call ( {
127+ Action : 'DescribeEnvs' ,
128+ Param : {
129+ EnvTypes : [ 'weda' , 'baas' ] , // Include weda and baas (normal) environments
130+ IsVisible : false , // Filter out invisible environments
131+ Channels : [ 'dcloud' , 'iotenable' , 'tem' , 'scene_module' ] // Filter special channels
132+ }
133+ } ) ;
134+ // Transform response format to match original listEnvs() format
135+ if ( envResult && envResult . EnvList ) {
136+ envResult = { EnvList : envResult . EnvList } ;
137+ } else if ( envResult && envResult . Data && envResult . Data . EnvList ) {
138+ envResult = { EnvList : envResult . Data . EnvList } ;
139+ } else {
140+ // Fallback to original method if format is unexpected
141+ debug ( 'Unexpected response format, falling back to listEnvs()' ) ;
142+ envResult = await cloudbase . env . listEnvs ( ) ;
143+ }
125144 } catch ( error ) {
126- debug ( '获取环境ID时出错:' , error ) ;
145+ debug ( '获取环境ID时出错,尝试降级到 listEnvs():' , error ) ;
146+ // Fallback to original method on error
147+ try {
148+ envResult = await cloudbase . env . listEnvs ( ) ;
149+ } catch ( fallbackError ) {
150+ debug ( '降级到 listEnvs() 也失败:' , fallbackError ) ;
151+ }
127152 }
128153
129154 debug ( 'envResult' , envResult ) ;
0 commit comments