优化新建服务器体验及镜像列表设置排序及删除阿里镜像

This commit is contained in:
jingrow 2025-07-29 17:42:26 +08:00
parent 0803e58dcd
commit ee672806e0
2 changed files with 16 additions and 2 deletions

View File

@ -36,7 +36,7 @@
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">镜像选择Jsite服务器推荐选择Ubuntu-22.04</label>
<select v-model="selectedImageId" class="w-full border rounded px-3 py-2" required @change="onImageChange">
<select v-model="selectedImageId" class="w-full border rounded px-3 py-2" required :disabled="!selectedRegionId" @change="onImageChange">
<option value="">请选择镜像</option>
<option v-for="image in images" :key="getImageId(image)" :value="getImageId(image)">
{{ getImageDisplayName(image) }}

View File

@ -653,7 +653,21 @@ def get_aliyun_plans(region_id='cn-shanghai'):
def get_aliyun_images(image_type='system', region_id='cn-shanghai'):
"""获取可用镜像列表"""
manager = _get_manager()
return manager.get_images(image_type, region_id)
result = manager.get_images(image_type, region_id)
# 如果获取成功且有镜像数据,过滤并排序
if result.get('success') and result.get('data') and 'images' in result['data']:
images = result['data']['images']
# 过滤掉以 "alibaba" 开头的镜像(不区分大小写)
filtered_images = [
image for image in images
if not image.get('image_name', '').lower().startswith('alibaba')
]
# 按镜像名称image_name进行字母排序
sorted_images = sorted(filtered_images, key=lambda x: x.get('image_name', '').lower())
result['data']['images'] = sorted_images
return result
@jingrow.whitelist()
def get_aliyun_regions():