【新增】申请证书算法配置

【新增】调整证书信息
This commit is contained in:
chudong
2025-05-19 17:45:17 +08:00
parent 4e91f10a4f
commit 59dc0a4108
99 changed files with 262 additions and 219 deletions

View File

@@ -7,7 +7,7 @@ import { $t } from '@locales/index' // 引入 $t
// import ThemeTips from '@baota/naive-ui/components/themeTips'
// 错误图标
const errorIcon = (size: number = 16, color: string = 'var(--n-warning-color)') => {
const errorIcon = (size: number = 16, color: string = '#18181c') => {
return (
<svg width={size} height={size} viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill={color}>
<path
@@ -25,17 +25,10 @@ export default defineComponent({
const router: Router = useRouter()
// 获取主题变量
const cssVar = useThemeCssVar([
'cardColor',
'warningColor',
'textColorSecondary',
'textColorDisabled',
'textColorInverse',
'warningColorHover',
])
const cssVar = useThemeCssVar(['cardColor', 'textColorSecondary', 'textColorDisabled', 'textColorInverse'])
return () => (
<div class="flex flex-col items-center justify-center min-h-screen" style={cssVar.value}>
<div class="flex flex-col items-center justify-center min-h-screen " style={cssVar.value}>
{/* <div class="absolute z-[99] top-0 right-0 p-8 flex w-[120px] justify-between">
<LocalesTips />
<ThemeTips />
@@ -44,17 +37,20 @@ export default defineComponent({
<div
class="text-[8rem] font-bold leading-none mb-4"
style={{
color: 'var(--n-warning-color)',
textShadow: '2px 2px 4px rgba(0, 0, 0, 0.1)',
color: '#18181c',
textShadow: '2px 2px 8px rgba(0,0,0,0.25)',
}}
>
404
</div>
<div class="flex items-center justify-center mb-8">{errorIcon(60)}</div>
<div class="flex items-center justify-center mb-8">{errorIcon(60, '#18181c')}</div>
<div class="text-[1.8rem] mb-8" style={{ color: 'var(--n-text-color-secondary)' }}>
{$t('t_0_1744098811152')}
</div>
<NButton type="warning" onClick={() => router.push('/')}>
<NButton
style={{ backgroundColor: '#18181c', color: '#fff', border: 'none' }}
onClick={() => router.push('/')}
>
{$t('t_1_1744098801860')}
</NButton>
<div class="mt-8 text-[1.3rem]" style={{ color: 'var(--n-text-color-disabled)' }}>

View File

@@ -11,6 +11,7 @@ interface ProductCardProps {
num: number
price: number
discount: number
ipssl?: number
state: number
install_price: number
src_price: number
@@ -72,21 +73,17 @@ export default defineComponent({
props.onBuy(props.product.pid)
}
// 获取品牌图标
// 获取品牌图标
const getBrandIcon = (brand: string) => {
const brandLower = brand.toLowerCase()
if (brandLower.includes('sectigo')) return '/static/icons/sectigo-ico.png'
if (brandLower.includes('positive')) return '/static/icons/positive-ico.png'
if (brandLower.includes('锐安信')) return '/static/icons/ssltrus-ico.png'
if (brandLower.includes("let's encrypt")) return '/static/icons/letsencrypt-icon.svg'
// return '/static/icons/default.png'
if (brandLower.includes('宝塔证书')) return '/static/icons/btssl.svg'
}
// // 显示的功能特点
// const features = computed(() => {
// return ['快速颁发', '支持全部浏览器', isWildcard.value ? '支持所有子域名' : '高安全性', '7*24小时技术支持']
// })
return () => (
<div class="relative border border-gray-200 rounded-[0.8rem] p-[2rem] transition-all duration-300 h-full flex flex-col bg-white shadow-sm hover:shadow-md hover:border-blue-100 hover:-translate-y-[0.2rem]">
{props.product.discount < 1 && (
@@ -107,7 +104,10 @@ export default defineComponent({
<div class="flex-1 w-full">
<h3 class="font-semibold mb-[0.8rem] text-gray-800 leading-tight">{props.product.title}</h3>
<p class="text-[1.3rem] text-gray-500 m-0 leading-relaxed px-[0.8rem]">
{props.product.brand}SSL证书解决方案
{props.product.brand === '宝塔证书'
? '宝塔证书是新国产证书品牌,支持 ECC、RSA 及我国商用密码 SM2 等标准算法,兼容国密浏览器'
: `${props.product.brand}是知名的证书颁发机构提供高质量的SSL证书解决方案`}
</p>
</div>
</div>
@@ -133,13 +133,15 @@ export default defineComponent({
<div class="flex mb-[1rem] leading-relaxed whitespace-nowrap overflow-hidden text-ellipsis text-gray-500">
<span class="font-medium text-gray-500 flex-none w-[9rem]"></span>
<span class="flex-1 text-gray-600 whitespace-nowrap overflow-hidden text-ellipsis">
{isWildcard.value
? isMultiDomain.value
? '*.bt.cn、*.btnode.cn'
: '*.bt.cn'
: isMultiDomain.value
? 'bt.cn、btnode.cn'
: 'www.bt.cn、bt.cn'}
{props.product?.ipssl
? '支持IP SSL证书'
: isWildcard.value
? isMultiDomain.value
? '*.bt.cn、*.btnode.cn'
: '*.bt.cn'
: isMultiDomain.value
? 'bt.cn、btnode.cn'
: 'www.bt.cn、bt.cn'}
</span>
</div>
</div>

View File

@@ -88,6 +88,7 @@ export const useCertApplyStore = defineStore('cert-apply-store', () => {
num: number
price: number
discount: number
ipssl?: number
state: number
install_price: number
src_price: number
@@ -103,64 +104,50 @@ export const useCertApplyStore = defineStore('cert-apply-store', () => {
const products = ref<ProductsType>({
dv: [
{
pid: 8001,
brand: 'Positive',
pid: 0,
brand: '宝塔证书',
type: '域名型(DV)',
add_price: 0,
other_price: 398,
title: 'PositiveSSL 单域名SSL证书',
other_price: 128.66,
title: '宝塔证书 单域名SSL证书',
code: 'comodo-positivessl',
num: 1,
price: 159,
discount: 1,
state: 1,
install_price: 150,
src_price: 159,
},
{
pid: 8002,
brand: 'Positive',
type: '域名型(DV)',
add_price: 98,
other_price: 1194,
title: 'PositiveSSL 多域名SSL证书',
code: 'comodo-positive-multi-domain',
num: 3,
price: 589,
price: 128.66,
discount: 1,
state: 1,
install_price: 200,
src_price: 589,
src_price: 128.66,
},
{
pid: 8008,
brand: 'Positive',
pid: 0,
brand: '宝塔证书',
type: '域名型(DV)',
add_price: 0,
other_price: 2100,
title: 'PositiveSSL 通配符SSL证书',
other_price: 1688,
title: '宝塔证书 通配符SSL证书',
code: 'comodo-positivessl-wildcard',
num: 1,
price: 1289,
price: 1688,
discount: 1,
state: 1,
install_price: 200,
src_price: 1289,
src_price: 1688,
},
{
pid: 8009,
brand: 'Positive',
pid: 0,
brand: '宝塔证书',
type: '域名型(DV)',
add_price: 880,
other_price: 4500,
title: 'PositiveSSL 多域名通配符SSL证书',
code: 'comodo-positive-multi-domain-wildcard',
num: 2,
price: 3789,
add_price: 98,
other_price: 180,
title: '宝塔证书 IP-SSL证书',
code: 'comodo-positive-multi-domain',
num: 1,
price: 180,
discount: 1,
ipssl: 1,
state: 1,
install_price: 200,
src_price: 3789,
src_price: 180,
},
],
ov: [