mirror of
				https://gitee.com/SuperManito/LinuxMirrors
				synced 2025-11-04 16:30:26 +08:00 
			
		
		
		
	更新文档
This commit is contained in:
		@@ -1,8 +1,8 @@
 | 
			
		||||
// 表格数据
 | 
			
		||||
const mirrorsTableData = [
 | 
			
		||||
    {
 | 
			
		||||
        name: '阿里云',
 | 
			
		||||
        officialName: '阿里巴巴开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '阿里雲' : window.location.pathname.includes('/en') ? 'Alibaba Cloud' : '阿里云',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '阿里巴巴開源鏡像站' : window.location.pathname.includes('/en') ? 'Alibaba Cloud Open Source Mirror' : '阿里巴巴开源镜像站',
 | 
			
		||||
        icon: 'alibabacloud.svg',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.2em' },
 | 
			
		||||
        url: 'https://mirrors.aliyun.com',
 | 
			
		||||
@@ -28,8 +28,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '腾讯云',
 | 
			
		||||
        officialName: '腾讯软件源',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '騰訊雲' : window.location.pathname.includes('/en') ? 'Tencent Cloud' : '腾讯云',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '騰訊軟體源' : window.location.pathname.includes('/en') ? 'Tencent Software Repository' : '腾讯软件源',
 | 
			
		||||
        icon: 'tencentcloud.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.25em' },
 | 
			
		||||
        url: 'https://mirrors.tencent.com',
 | 
			
		||||
@@ -55,8 +55,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: false,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '华为云',
 | 
			
		||||
        officialName: '华为开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '華為雲' : window.location.pathname.includes('/en') ? 'Huawei Cloud' : '华为云',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '華為開源鏡像站' : window.location.pathname.includes('/en') ? 'Huawei Open Source Mirror' : '华为开源镜像站',
 | 
			
		||||
        icon: 'huaweicloud.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.15em' },
 | 
			
		||||
        url: 'https://mirrors.huaweicloud.com',
 | 
			
		||||
@@ -82,8 +82,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '网易',
 | 
			
		||||
        officialName: '网易开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '網易' : window.location.pathname.includes('/en') ? 'NetEase' : '网易',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '網易開源鏡像站' : window.location.pathname.includes('/en') ? 'NetEase Open Source Mirror' : '网易开源镜像站',
 | 
			
		||||
        icon: '163.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.15em' },
 | 
			
		||||
        url: 'https://mirrors.163.com',
 | 
			
		||||
@@ -109,8 +109,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: false,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '火山引擎',
 | 
			
		||||
        officialName: '火山引擎开源软件镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '火山引擎' : window.location.pathname.includes('/en') ? 'Volcengine' : '火山引擎',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '火山引擎開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Volcengine Open Source Software Mirror' : '火山引擎开源软件镜像站',
 | 
			
		||||
        icon: 'volcengine.svg',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.25em' },
 | 
			
		||||
        url: 'https://developer.volcengine.com/mirror',
 | 
			
		||||
@@ -136,8 +136,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: false,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '清华大学',
 | 
			
		||||
        officialName: '清华大学开源软件镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '清華大學' : window.location.pathname.includes('/en') ? 'Tsinghua University' : '清华大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '清華大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Tsinghua University Open Source Mirror' : '清华大学开源软件镜像站',
 | 
			
		||||
        icon: 'tsinghua.png',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.3em' },
 | 
			
		||||
        url: 'https://mirrors.tuna.tsinghua.edu.cn',
 | 
			
		||||
@@ -163,8 +163,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '北京大学',
 | 
			
		||||
        officialName: '北京大学开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '北京大學' : window.location.pathname.includes('/en') ? 'Peking University' : '北京大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '北京大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Peking University Open Source Mirror' : '北京大学开源镜像站',
 | 
			
		||||
        icon: 'pku.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.2em' },
 | 
			
		||||
        url: 'https://mirrors.pku.edu.cn/Mirrors',
 | 
			
		||||
@@ -190,8 +190,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '浙江大学',
 | 
			
		||||
        officialName: '浙江大学镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '浙江大學' : window.location.pathname.includes('/en') ? 'Zhejiang University' : '浙江大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '浙江大學鏡像站' : window.location.pathname.includes('/en') ? 'Zhejiang University Mirror Site' : '浙江大学镜像站',
 | 
			
		||||
        icon: 'zju.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.15em' },
 | 
			
		||||
        url: 'https://mirrors.zju.edu.cn',
 | 
			
		||||
@@ -217,8 +217,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '南京大学',
 | 
			
		||||
        officialName: '南京大学开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '南京大學' : window.location.pathname.includes('/en') ? 'Nanjing University' : '南京大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '南京大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Nanjing University Open Source Mirror' : '南京大学开源镜像站',
 | 
			
		||||
        icon: 'nju.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.3em' },
 | 
			
		||||
        url: 'https://mirrors.nju.edu.cn',
 | 
			
		||||
@@ -244,8 +244,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '兰州大学',
 | 
			
		||||
        officialName: '兰州大学开源软件镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '蘭州大學' : window.location.pathname.includes('/en') ? 'Lanzhou University' : '兰州大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '蘭州大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'Lanzhou University Open Source Software Mirror' : '兰州大学开源软件镜像站',
 | 
			
		||||
        icon: 'lzu.png',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.25em' },
 | 
			
		||||
        url: 'https://mirror.lzu.edu.cn',
 | 
			
		||||
@@ -271,8 +271,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '上海交通大学',
 | 
			
		||||
        officialName: '上海交通大学思源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '上海交通大學' : window.location.pathname.includes('/en') ? 'Shanghai Jiao Tong University' : '上海交通大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '上海交通大學思源鏡像站' : window.location.pathname.includes('/en') ? 'Shanghai Jiao Tong University Siyuan Mirror' : '上海交通大学思源镜像站',
 | 
			
		||||
        icon: 'sjtu.ico',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.15em' },
 | 
			
		||||
        url: 'https://mirror.sjtu.edu.cn',
 | 
			
		||||
@@ -298,8 +298,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '重庆邮电大学',
 | 
			
		||||
        officialName: '重庆邮电大学开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '重慶郵電大學' : window.location.pathname.includes('/en') ? 'Chongqing University of Posts and Telecommunications' : '重庆邮电大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '重慶郵電大學開源鏡像站' : window.location.pathname.includes('/en') ? 'Chongqing University of Posts and Telecommunications Open Source Mirror' : '重庆邮电大学开源镜像站',
 | 
			
		||||
        icon: 'cqupt.ico',
 | 
			
		||||
        iconStyle: {},
 | 
			
		||||
        url: 'https://mirrors.cqupt.edu.cn',
 | 
			
		||||
@@ -325,8 +325,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '中国科学技术大学',
 | 
			
		||||
        officialName: '中国科学技术大学开源软件镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '中國科學技術大學' : window.location.pathname.includes('/en') ? 'University of Science and Technology of China' : '中国科学技术大学',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? '中國科學技術大學開源軟體鏡像站' : window.location.pathname.includes('/en') ? 'USTC Open Source Software Mirror' : '中国科学技术大学开源软件镜像站',
 | 
			
		||||
        icon: 'ustc.png',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.2em' },
 | 
			
		||||
        url: 'https://mirrors.ustc.edu.cn',
 | 
			
		||||
@@ -352,8 +352,8 @@ const mirrorsTableData = [
 | 
			
		||||
        manjaro: true,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        name: '中国科学院软件研究所',
 | 
			
		||||
        officialName: 'ISCAS 开源镜像站',
 | 
			
		||||
        name: window.location.pathname.includes('/zh-Hant') ? '中國科學院軟體研究所' : window.location.pathname.includes('/en') ? 'Institute of Software, Chinese Academy of Sciences (ISCAS)' : '中国科学院软件研究所',
 | 
			
		||||
        officialName: window.location.pathname.includes('/zh-Hant') ? 'ISCAS 開源鏡像站' : window.location.pathname.includes('/en') ? 'ISCAS Open Source Mirror' : 'ISCAS 开源镜像站',
 | 
			
		||||
        icon: 'iscas.png',
 | 
			
		||||
        iconStyle: { verticalAlign: '-0.25em' },
 | 
			
		||||
        url: 'https://mirror.iscas.ac.cn',
 | 
			
		||||
@@ -384,7 +384,7 @@ const mirrorsTableData = [
 | 
			
		||||
const mirrorsTableColumns = [
 | 
			
		||||
    {
 | 
			
		||||
        colKey: 'name',
 | 
			
		||||
        title: !window.location.pathname.includes('/zh-Hant') ? '镜像站' : '鏡像站',
 | 
			
		||||
        title: window.location.pathname.includes('/zh-Hant') ? '鏡像站' : window.location.pathname.includes('/en') ? 'Mirror Site' : '镜像站',
 | 
			
		||||
        align: 'left',
 | 
			
		||||
        width: '180',
 | 
			
		||||
        fixed: 'left',
 | 
			
		||||
@@ -400,7 +400,7 @@ const mirrorsTableColumns = [
 | 
			
		||||
        title: 'EPEL',
 | 
			
		||||
        align: 'center',
 | 
			
		||||
        width: '90',
 | 
			
		||||
        tooltip: !window.location.pathname.includes('/zh-Hant') ? 'EPEL (Extra Packages for Enterprise Linux) 是由 Fedora 组织维护的一个附加软件包仓库,它主要适用于除 Fedora 操作系统以外的红帽系 Linux 发行版' : 'EPEL (Extra Packages for Enterprise Linux) 是由 Fedora 組織維護的一個附加軟體包倉庫,它主要適用於除 Fedora 作業系統以外的紅帽系 Linux 發行版',
 | 
			
		||||
        tooltip: 'EPEL (Extra Packages for Enterprise Linux) ' + (window.location.pathname.includes('/zh-Hant') ? '是由 Fedora 組織維護的一個附加軟體包倉庫,它主要適用於除 Fedora 作業系統以外的紅帽系 Linux 發行版' : window.location.pathname.includes('/en') ? '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: 'archlinux',
 | 
			
		||||
@@ -521,3 +521,9 @@ const mirrorsTableColumns = [
 | 
			
		||||
    }
 | 
			
		||||
    return item
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
const mirrorsTableConfig = {
 | 
			
		||||
    sortAscendingOperationText: window.location.pathname.includes('/zh-Hant') ? '点击升序' : window.location.pathname.includes('/en') ? 'click to sort ascending' : '点击升序',
 | 
			
		||||
    sortCancelOperationText: window.location.pathname.includes('/zh-Hant') ? '点击取消排序' : window.location.pathname.includes('/en') ? 'click to cancel sorting' : '点击取消排序',
 | 
			
		||||
    sortDescendingOperationText: window.location.pathname.includes('/zh-Hant') ? '点击降序' : window.location.pathname.includes('/en') ? 'click to sort descending' : '点击降序',
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,63 +1,66 @@
 | 
			
		||||
ComponentSystem.register('mirrors-table', {
 | 
			
		||||
    template: `
 | 
			
		||||
        <div>
 | 
			
		||||
            <t-table
 | 
			
		||||
                :columns="columns"
 | 
			
		||||
                :data="data"
 | 
			
		||||
                row-key="name"
 | 
			
		||||
                size="small"
 | 
			
		||||
                verticalAlign="bottom"
 | 
			
		||||
                @data-change="dataChange"
 | 
			
		||||
            >
 | 
			
		||||
                <template v-for="col in columns" :key="col.colKey" #[col.title]>
 | 
			
		||||
                    <div v-if="col.tooltip" class="t-table__th-cell-inner">
 | 
			
		||||
                        <t-space style="gap: 4px">
 | 
			
		||||
                            <span>{{ col.title }}</span>
 | 
			
		||||
                            <t-tooltip :content="col.tooltip" placement="bottom" :show-arrow="false">
 | 
			
		||||
                                <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M11.95 18q.525 0 .888-.363t.362-.887t-.362-.888t-.888-.362t-.887.363t-.363.887t.363.888t.887.362m.05 4q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m.1-12.3q.625 0 1.088.4t.462 1q0 .55-.337.975t-.763.8q-.575.5-1.012 1.1t-.438 1.35q0 .35.263.588t.612.237q.375 0 .638-.25t.337-.625q.1-.525.45-.937t.75-.788q.575-.55.988-1.2t.412-1.45q0-1.275-1.037-2.087T12.1 6q-.95 0-1.812.4T8.975 7.625q-.175.3-.112.638t.337.512q.35.2.725.125t.625-.425q.275-.375.688-.575t.862-.2"/></svg>
 | 
			
		||||
                            </t-tooltip>
 | 
			
		||||
                        </t-space>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div v-else class="t-table__th-cell-inner">{{ col.title }}</div>
 | 
			
		||||
                </template>
 | 
			
		||||
                <template v-for="col in columns" :key="col.colKey" #[col.colKey]="{ row }">
 | 
			
		||||
                    <template v-if="col.colKey === 'name'">
 | 
			
		||||
                        <t-popup placement="bottom" :show-arrow="false">
 | 
			
		||||
                            <template #content>
 | 
			
		||||
                                <t-space direction="vertical" algin="center" style="gap: 2px">
 | 
			
		||||
                                    <span>{{ row.officialName }}</span>
 | 
			
		||||
                                    <a :href="row.url" target="_blank" style="color: var(--md-typeset-a-color)">{{ row.domain }}</a>
 | 
			
		||||
                                </t-space>
 | 
			
		||||
                            </template>
 | 
			
		||||
                            <a :href="row.url" target="_blank">
 | 
			
		||||
                                <t-space align="center" style="gap: 6px">
 | 
			
		||||
                                    <span style="display: flex; height: 100%; align-items: center; justify-content: center">
 | 
			
		||||
                                        <img v-if="row.icon" :src="\`/assets/images/icon/mirrors/\${row.icon}\`" width="16" height="16">
 | 
			
		||||
                                    </span>
 | 
			
		||||
                                    <span>{{ row.name }}</span>
 | 
			
		||||
                                </t-space>
 | 
			
		||||
                             </a>
 | 
			
		||||
                        </t-popup>
 | 
			
		||||
            <t-config-provider :global-config="{ table: tableConfig }">
 | 
			
		||||
                <t-table
 | 
			
		||||
                    :columns="columns"
 | 
			
		||||
                    :data="data"
 | 
			
		||||
                    row-key="name"
 | 
			
		||||
                    size="small"
 | 
			
		||||
                    verticalAlign="bottom"
 | 
			
		||||
                    @data-change="dataChange"
 | 
			
		||||
                >
 | 
			
		||||
                    <template v-for="col in columns" :key="col.colKey" #[col.title]>
 | 
			
		||||
                        <div v-if="col.tooltip" class="t-table__th-cell-inner">
 | 
			
		||||
                            <t-space style="gap: 4px">
 | 
			
		||||
                                <span>{{ col.title }}</span>
 | 
			
		||||
                                <t-tooltip :content="col.tooltip" placement="bottom" :show-arrow="false">
 | 
			
		||||
                                    <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M11.95 18q.525 0 .888-.363t.362-.887t-.362-.888t-.888-.362t-.887.363t-.363.887t.363.888t.887.362m.05 4q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m.1-12.3q.625 0 1.088.4t.462 1q0 .55-.337.975t-.763.8q-.575.5-1.012 1.1t-.438 1.35q0 .35.263.588t.612.237q.375 0 .638-.25t.337-.625q.1-.525.45-.937t.75-.788q.575-.55.988-1.2t.412-1.45q0-1.275-1.037-2.087T12.1 6q-.95 0-1.812.4T8.975 7.625q-.175.3-.112.638t.337.512q.35.2.725.125t.625-.425q.275-.375.688-.575t.862-.2"/></svg>
 | 
			
		||||
                                </t-tooltip>
 | 
			
		||||
                            </t-space>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div v-else class="t-table__th-cell-inner">{{ col.title }}</div>
 | 
			
		||||
                    </template>
 | 
			
		||||
                    <template v-else>
 | 
			
		||||
                        <t-tag v-if="typeof row[col.colKey] === 'boolean'" :theme="row[col.colKey] ? 'success' : 'danger'" variant="light" size="small" style="background-color: transparent; height: 100%; vertical-align: -0.35em">
 | 
			
		||||
                            <template #icon>
 | 
			
		||||
                                <svg v-if="row[col.colKey]" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7Z"></svg>
 | 
			
		||||
                                <svg v-else xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.2em"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"></svg>
 | 
			
		||||
                            </template>
 | 
			
		||||
                        </t-tag>
 | 
			
		||||
                        <t-tag v-else theme="warning" variant="light" size="small" style="background-color: transparent; vertical-align: -0.35em">
 | 
			
		||||
                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.1em"><path fill="#F6B604" d="M22.11 21.46L2.39 1.73L1.11 3l2.95 2.95A9.95 9.95 0 0 0 2 12c0 5.5 4.5 10 10 10c2.28 0 4.37-.77 6.05-2.06l2.79 2.79l1.27-1.27M12 20c-4.42 0-8-3.58-8-8c0-1.73.56-3.32 1.5-4.62L16.62 18.5A7.78 7.78 0 0 1 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2c5.5 0 10 4.5 10 10c0 1.94-.56 3.75-1.5 5.28l-1.47-1.45c.62-1.14.97-2.44.97-3.83c0-4.42-3.58-8-8-8c-1.39 0-2.69.35-3.83.97Z"></svg>
 | 
			
		||||
                        </t-tag>
 | 
			
		||||
                    <template v-for="col in columns" :key="col.colKey" #[col.colKey]="{ row }">
 | 
			
		||||
                        <template v-if="col.colKey === 'name'">
 | 
			
		||||
                            <t-popup placement="bottom" :show-arrow="false">
 | 
			
		||||
                                <template #content>
 | 
			
		||||
                                    <t-space direction="vertical" algin="center" style="gap: 2px">
 | 
			
		||||
                                        <span>{{ row.officialName }}</span>
 | 
			
		||||
                                        <a :href="row.url" target="_blank" style="color: var(--md-typeset-a-color)">{{ row.domain }}</a>
 | 
			
		||||
                                    </t-space>
 | 
			
		||||
                                </template>
 | 
			
		||||
                                <a :href="row.url" target="_blank">
 | 
			
		||||
                                    <t-space align="center" style="gap: 6px">
 | 
			
		||||
                                        <span style="display: flex; height: 16px; width: 16px; align-items: center; justify-content: center">
 | 
			
		||||
                                            <img v-if="row.icon" :src="\`/assets/images/icon/mirrors/\${row.icon}\`" width="16" height="16">
 | 
			
		||||
                                        </span>
 | 
			
		||||
                                        <span>{{ row.name }}</span>
 | 
			
		||||
                                    </t-space>
 | 
			
		||||
                                </a>
 | 
			
		||||
                            </t-popup>
 | 
			
		||||
                        </template>
 | 
			
		||||
                        <template v-else>
 | 
			
		||||
                            <t-tag v-if="typeof row[col.colKey] === 'boolean'" :theme="row[col.colKey] ? 'success' : 'danger'" variant="light" size="small" style="background-color: transparent; height: 100%; vertical-align: -0.35em">
 | 
			
		||||
                                <template #icon>
 | 
			
		||||
                                    <svg v-if="row[col.colKey]" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59L21 7Z"></svg>
 | 
			
		||||
                                    <svg v-else xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.2em"><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z"></svg>
 | 
			
		||||
                                </template>
 | 
			
		||||
                            </t-tag>
 | 
			
		||||
                            <t-tag v-else theme="warning" variant="light" size="small" style="background-color: transparent; vertical-align: -0.35em">
 | 
			
		||||
                                <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" style="vertical-align: -0.1em"><path fill="#F6B604" d="M22.11 21.46L2.39 1.73L1.11 3l2.95 2.95A9.95 9.95 0 0 0 2 12c0 5.5 4.5 10 10 10c2.28 0 4.37-.77 6.05-2.06l2.79 2.79l1.27-1.27M12 20c-4.42 0-8-3.58-8-8c0-1.73.56-3.32 1.5-4.62L16.62 18.5A7.78 7.78 0 0 1 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2c5.5 0 10 4.5 10 10c0 1.94-.56 3.75-1.5 5.28l-1.47-1.45c.62-1.14.97-2.44.97-3.83c0-4.42-3.58-8-8-8c-1.39 0-2.69.35-3.83.97Z"></svg>
 | 
			
		||||
                            </t-tag>
 | 
			
		||||
                        </template>
 | 
			
		||||
                    </template>
 | 
			
		||||
                </template>
 | 
			
		||||
            </t-table>
 | 
			
		||||
                </t-table>
 | 
			
		||||
            </t-config-provider>
 | 
			
		||||
        </div>
 | 
			
		||||
    `,
 | 
			
		||||
    data() {
 | 
			
		||||
        return {
 | 
			
		||||
            columns: mirrorsTableColumns,
 | 
			
		||||
            data: mirrorsTableData,
 | 
			
		||||
            tableConfig: mirrorsTableConfig,
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user