// 表格数据 const mirrorsTableData = [ { name: __isZhHant ? '阿里雲' : __isEn ? 'Alibaba Cloud' : '阿里云', officialName: __isZhHant ? '阿里巴巴開源鏡像站' : __isEn ? 'Alibaba Cloud Open Source Mirror' : '阿里巴巴开源镜像站', icon: 'alibabacloud.svg', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.aliyun.com', domain: 'mirrors.aliyun.com', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: 'incompatible', almalinux: true, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: true, openkylin: true, alpine: true, armbian: true, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: true, manjaro: true, }, { name: __isZhHant ? '騰訊雲' : __isEn ? 'Tencent Cloud' : '腾讯云', officialName: __isZhHant ? '騰訊軟體源' : __isEn ? 'Tencent Software Repository' : '腾讯软件源', icon: 'tencentcloud.ico', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://mirrors.tencent.com', domain: 'mirrors.tencent.com', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: false, rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: true, openeuler: true, anolis: false, openkylin: false, alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: false, manjaro: false, }, { name: __isZhHant ? '華為雲' : __isEn ? 'Huawei Cloud' : '华为云', officialName: __isZhHant ? '華為開源鏡像站' : __isEn ? 'Huawei Open Source Mirror' : '华为开源镜像站', icon: 'huaweicloud.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirrors.huaweicloud.com', domain: 'mirrors.huaweicloud.com', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: 'incompatible', almalinux: true, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: false, manjaro: true, }, { name: __isZhHant ? '移動雲' : __isEn ? 'China Mobile Cloud' : '移动云 ', officialName: __isZhHant ? '移動雲開源鏡像站' : __isEn ? 'China Mobile Cloud Open Source Mirror' : '移动云开源镜像站', icon: 'cmecloud.svg', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.cmecloud.cn', domain: 'mirrors.cmecloud.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: false, opensuse: true, archlinux: false, kali: false, deepin: false, rocky: true, almalinux: false, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: true, openkylin: false, alpine: false, armbian: false, proxmox: false, linuxmint: false, gentoo: false, nix_channels: false, raspberrypi: false, manjaro: false, }, { name: __isZhHant ? '天翼雲' : __isEn ? 'China Telecom Cloud' : '天翼云', officialName: __isZhHant ? '天翼雲開源鏡像站' : __isEn ? 'China Telecom Cloud Open Source Mirror' : '天翼云开源镜像站', icon: 'ctyun.ico', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.ctyun.cn', domain: 'mirrors.ctyun.cn', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: false, archlinux: false, kali: false, deepin: false, rocky: true, almalinux: false, epel: true, fedora: false, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: false, armbian: false, proxmox: false, linuxmint: false, gentoo: false, nix_channels: false, raspberrypi: false, manjaro: false, }, { name: __isZhHant ? '網易' : __isEn ? 'NetEase' : '网易', officialName: __isZhHant ? '網易開源鏡像站' : __isEn ? 'NetEase Open Source Mirror' : '网易开源镜像站', icon: '163.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirrors.163.com', domain: 'mirrors.163.com', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: false, deepin: true, rocky: true, almalinux: false, epel: false, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: true, alpine: false, armbian: false, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: false, manjaro: false, }, { name: __isZhHant ? '火山引擎' : __isEn ? 'Volcengine' : '火山引擎', officialName: __isZhHant ? '火山引擎開源軟體鏡像站' : __isEn ? 'Volcengine Open Source Software Mirror' : '火山引擎开源软件镜像站', icon: 'volcengine.svg', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://developer.volcengine.com/mirror', domain: 'mirrors.volces.com', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: false, kali: true, deepin: true, rocky: 'incompatible', almalinux: true, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: true, armbian: false, proxmox: false, linuxmint: false, gentoo: false, nix_channels: false, raspberrypi: false, manjaro: false, }, { name: __isZhHant ? '清華大學' : __isEn ? 'Tsinghua University' : '清华大学', officialName: __isZhHant ? '清華大學開源軟體鏡像站' : __isEn ? 'Tsinghua University Open Source Mirror' : '清华大学开源软件镜像站', icon: 'tsinghua.png', iconStyle: { verticalAlign: '-0.3em' }, url: 'https://mirrors.tuna.tsinghua.edu.cn', domain: 'mirrors.tuna.tsinghua.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: false, almalinux: false, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, nix_channels: true, raspberrypi: true, manjaro: true, }, { name: __isZhHant ? '北京大學' : __isEn ? 'Peking University' : '北京大学', officialName: __isZhHant ? '北京大學開源鏡像站' : __isEn ? 'Peking University Open Source Mirror' : '北京大学开源镜像站', icon: 'pku.ico', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.pku.edu.cn/Mirrors', domain: 'mirrors.pku.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: false, deepin: false, rocky: true, almalinux: true, epel: true, fedora: false, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: false, armbian: false, proxmox: false, linuxmint: false, gentoo: false, nix_channels: false, raspberrypi: false, manjaro: true, }, { name: __isZhHant ? '浙江大學' : __isEn ? 'Zhejiang University' : '浙江大学', officialName: __isZhHant ? '浙江大學鏡像站' : __isEn ? 'Zhejiang University Mirror Site' : '浙江大学镜像站', icon: 'zju.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirrors.zju.edu.cn', domain: 'mirrors.zju.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: true, openkylin: false, alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: false, manjaro: true, }, { name: __isZhHant ? '南京大學' : __isEn ? 'Nanjing University' : '南京大学', officialName: __isZhHant ? '南京大學開源鏡像站' : __isEn ? 'Nanjing University Open Source Mirror' : '南京大学开源镜像站', icon: 'nju.ico', iconStyle: { verticalAlign: '-0.3em' }, url: 'https://mirrors.nju.edu.cn', domain: 'mirrors.nju.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: true, openeuler: true, anolis: true, openkylin: true, alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, nix_channels: true, raspberrypi: true, manjaro: true, }, { name: __isZhHant ? '蘭州大學' : __isEn ? 'Lanzhou University' : '兰州大学', officialName: __isZhHant ? '蘭州大學開源軟體鏡像站' : __isEn ? 'Lanzhou University Open Source Software Mirror' : '兰州大学开源软件镜像站', icon: 'lzu.png', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://mirror.lzu.edu.cn', domain: 'mirror.lzu.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: true, alpine: true, armbian: false, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: false, manjaro: true, }, { name: __isZhHant ? '上海交通大學' : __isEn ? 'Shanghai Jiao Tong University' : '上海交通大学', officialName: __isZhHant ? '上海交通大學思源鏡像站' : __isEn ? 'Shanghai Jiao Tong University Siyuan Mirror' : '上海交通大学思源镜像站', icon: 'sjtu.ico', iconStyle: { verticalAlign: '-0.15em' }, url: 'https://mirror.sjtu.edu.cn', domain: 'mirror.sjtu.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: true, almalinux: true, epel: true, fedora: 'incompatible', opencloudos: true, openeuler: true, anolis: false, openkylin: true, alpine: true, armbian: true, proxmox: false, linuxmint: true, gentoo: true, nix_channels: false, raspberrypi: true, manjaro: true, }, { name: __isZhHant ? '重慶郵電大學' : __isEn ? 'Chongqing University of Posts and Telecommunications' : '重庆邮电大学', officialName: __isZhHant ? '重慶郵電大學開源鏡像站' : __isEn ? 'Chongqing University of Posts and Telecommunications Open Source Mirror' : '重庆邮电大学开源镜像站', icon: 'cqupt.ico', iconStyle: {}, url: 'https://mirrors.cqupt.edu.cn', domain: 'mirrors.cqupt.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: false, almalinux: true, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: true, armbian: true, proxmox: true, linuxmint: false, gentoo: false, nix_channels: true, raspberrypi: true, manjaro: true, }, { name: __isZhHant ? '中國科學技術大學' : __isEn ? 'University of Science and Technology of China' : '中国科学技术大学', officialName: __isZhHant ? '中國科學技術大學開源軟體鏡像站' : __isEn ? 'University of Science and Technology of China Open Source Software Mirror' : '中国科学技术大学开源软件镜像站', icon: 'ustc.png', iconStyle: { verticalAlign: '-0.2em' }, url: 'https://mirrors.ustc.edu.cn', domain: 'mirrors.ustc.edu.cn', ipv6: true, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: true, almalinux: false, epel: true, fedora: true, opencloudos: false, openeuler: true, anolis: false, openkylin: false, alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, nix_channels: true, raspberrypi: true, manjaro: true, }, { name: __isZhHant ? '中國科學院軟體研究所' : __isEn ? 'Institute of Software, Chinese Academy of Sciences (ISCAS)' : '中国科学院软件研究所', officialName: __isZhHant ? 'ISCAS 開源鏡像站' : __isEn ? 'ISCAS Open Source Mirror' : 'ISCAS 开源镜像站', icon: 'iscas.png', iconStyle: { verticalAlign: '-0.25em' }, url: 'https://mirror.iscas.ac.cn', domain: 'mirror.iscas.ac.cn', ipv6: false, debian: true, ubuntu: true, centos: true, centos_stream: true, opensuse: true, archlinux: true, kali: true, deepin: true, rocky: true, almalinux: true, epel: true, fedora: true, opencloudos: true, openeuler: true, anolis: false, openkylin: true, alpine: true, armbian: true, proxmox: true, linuxmint: true, gentoo: true, nix_channels: true, raspberrypi: true, manjaro: true, }, ] // 表格列配置 const mirrorsTableColumns = [ { colKey: 'name', title: __isZhHant ? '鏡像站' : __isEn ? 'Mirror Site' : '镜像站', align: 'left', width: '180', fixed: 'left', }, { colKey: 'ipv6', title: 'IPv6', align: 'center', width: '70', }, { colKey: 'epel', title: 'EPEL', align: 'center', width: '90', tooltip: 'EPEL (Extra Packages for Enterprise Linux) ' + (__isZhHant ? '是由 Fedora 組織維護的一個附加軟體包倉庫,它主要適用於除 Fedora 作業系統以外的紅帽系 Linux 發行版' : __isEn ? 'is an additional package repository maintained by the Fedora organization. It is mainly applicable to Red Hat Linux distributions other than the Fedora operating system.' : '是由 Fedora 组织维护的一个附加软件包仓库,它主要适用于除 Fedora 操作系统以外的红帽系 Linux 发行版'), }, // { // colKey: 'debian', // title: 'Debian', // align: 'center', // width: '80', // }, // { // colKey: 'ubuntu', // title: 'Ubuntu', // align: 'center', // width: '80', // }, // { // colKey: 'centos', // title: 'CentOS', // align: 'center', // width: '80', // }, { colKey: 'centos_stream', title: 'CentOS Stream', align: 'center', width: '150', }, { colKey: 'opensuse', title: 'openSUSE', align: 'center', width: '110', }, { colKey: 'archlinux', title: 'Arch Linux', align: 'center', width: '120', }, { colKey: 'manjaro', title: 'Manjaro', align: 'center', width: '100', }, { colKey: 'kali', title: 'Kali Linux', align: 'center', width: '110', }, { colKey: 'armbian', title: 'Armbian', align: 'center', width: '100', }, { colKey: 'deepin', title: 'Deepin', align: 'center', width: '90', }, { colKey: 'raspberrypi', title: 'Raspberry Pi OS', align: 'center', width: '150', }, { colKey: 'linuxmint', title: 'Linux Mint', align: 'center', width: '120', }, { colKey: 'proxmox', title: 'Proxmox VE', align: 'center', width: '120', }, { colKey: 'fedora', title: 'Fedora', align: 'center', width: '90', }, { colKey: 'rocky', title: 'Rocky Linux', align: 'center', width: '120', }, { colKey: 'almalinux', title: 'AlmaLinux', align: 'center', width: '110', }, { colKey: 'opencloudos', title: 'OpenCloudOS', align: 'center', width: '140', }, // { // colKey: 'openeuler', // title: 'openEuler', // align: 'center', // width: '110', // }, { colKey: 'anolis', title: 'Anolis OS', align: 'center', width: '110', }, { colKey: 'openkylin', title: 'openKylin', align: 'center', width: '110', }, { colKey: 'alpine', title: 'Alpine Linux', align: 'center', width: '130', }, { colKey: 'gentoo', title: 'Gentoo', align: 'center', width: '90', }, { colKey: 'nix_channels', title: 'NixOS', align: 'center', width: '80', }, ].map((item) => { if (['ipv6', 'debian', 'ubuntu', 'centos', 'centos_stream', 'opensuse', 'epel', 'archlinux', 'manjaro', 'kali', 'armbian', 'deepin', 'raspberrypi', 'linuxmint', 'proxmox', 'fedora', 'rocky', 'almalinux', 'opencloudos', 'openeuler', 'anolis', 'openkylin', 'alpine', 'gentoo', 'nix_channels'].includes(item.colKey)) { const labelSupported = __isZhHant ? '支持' : __isEn ? 'Supported' : '支持' const labelUnsupported = __isZhHant ? '不支持' : __isEn ? 'Unsupported' : '不支持' const labelIncompatible = __isZhHant ? '不兼容' : __isEn ? 'Incompatible' : '不兼容' item.filter = { label: item.title || item.colKey, type: 'single', list: [ { label: labelSupported, value: 'supported' }, { label: labelUnsupported, value: 'unsupported' }, { label: labelIncompatible, value: 'incompatible' }, ], confirmEvents: ['onChange'], filterMethod(value, row) { try { const key = item.colKey const cell = row && Object.prototype.hasOwnProperty.call(row, key) ? row[key] : undefined if (value === 'supported') return cell === true if (value === 'unsupported') return cell === false if (value === 'incompatible') return cell === 'incompatible' return false } catch (e) { return false } }, } item.filterMethod = function (value, row) { try { const key = item.colKey const cell = row && Object.prototype.hasOwnProperty.call(row, key) ? row[key] : undefined if (value === 'supported') return cell === true if (value === 'unsupported') return cell === false if (value === 'incompatible') return cell === 'incompatible' return false } catch (e) { return false } } } return item }) const mirrorsTableFilterSelectOptions = [ { label: __isZhHant ? '全選' : __isEn ? 'Select All' : '全选', checkAll: true }, { value: 'ipv6', label: 'IPv6', }, { group: 'Debian', children: [ // { // value: 'debian', // label: 'Debian', // iconName: 'debian.svg', // }, // { // value: 'ubuntu', // label: 'Ubuntu', // iconName: 'ubuntu.svg', // }, { value: 'kali', label: 'Kali Linux', iconName: 'kali-linux.svg', }, { value: 'armbian', label: 'Armbian', iconName: 'armbian.png', }, { value: 'raspberrypi', label: 'Raspberry Pi OS', iconName: 'raspberry-pi.png', }, { value: 'openkylin', label: 'openKylin', iconName: 'openkylin.ico', }, { value: 'linuxmint', label: 'Linux Mint', iconName: 'linux-mint.ico', }, { value: 'deepin', label: 'Deepin', iconName: 'deepin.png', }, { value: 'proxmox', label: 'Proxmox VE', iconName: 'proxmox.svg', }, ], }, { group: 'RedHat', children: [ { value: 'fedora', label: 'Fedora', iconName: 'fedora.ico', }, // { // value: 'centos', // label: 'CentOS', // iconName: 'centos.svg', // }, { value: 'centos_stream', label: 'CentOS Stream', iconName: 'centos.svg', }, { value: 'rocky', label: 'Rocky Linux', iconName: 'rocky-linux.svg', }, { value: 'almalinux', label: 'AlmaLinux', iconName: 'almalinux.svg', }, // { // value: 'openeuler', // label: 'openEuler', // iconName: 'openeuler.ico', // }, { value: 'opencloudos', label: 'OpenCloudOS', iconName: 'opencloudos.png', }, { value: 'anolis', label: 'Anolis OS', iconName: 'anolis.png', }, { value: 'epel', label: 'EPEL', }, ], }, { group: 'Arch Linux', children: [ { value: 'archlinux', label: 'Arch Linux', iconName: 'arch-linux.ico', }, { value: 'manjaro', label: 'Manjaro', iconName: 'manjaro.svg', }, ], }, { group: 'Other', children: [ { value: 'opensuse', label: 'openSUSE', iconName: 'opensuse.svg', }, { value: 'alpine', label: 'Alpine Linux', iconName: 'alpine.png', }, { value: 'gentoo', label: 'Gentoo', iconName: 'gentoo.svg', }, { value: 'nix_channels', label: 'NixOS', iconName: 'nixos.svg', }, ], }, ]