feat: 完成细节调整

This commit is contained in:
ccnetcore
2025-06-30 21:08:32 +08:00
parent 01a5ad5302
commit ee53b3d9c4
4 changed files with 51 additions and 26 deletions

View File

@@ -20,7 +20,7 @@ const userStore = useUserStore();
const modelStore = useModelStore();
// 检查模型是否可用
function isModelAvailable(item: GetSessionListVO) {
return isUserRoleVip.value || item.modelName === 'DeepSeek-R1';
return isUserRoleVip.value || item.modelName === 'DeepSeek-R1' || userStore.userInfo?.user?.userName === 'cc';
}
onMounted(async () => {
@@ -68,7 +68,7 @@ function handleModelClick(item: GetSessionListVO) {
<p class="mb-2">
${
isUserRoleVip.value
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢您的支持!'
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢支持!'
: '解锁所有 AI 模型,无限加速,专属客服,尽享尊贵体验。'
}
</p>

View File

@@ -19,7 +19,7 @@ const userRole = computed(() => {
// () => userStore.userInfo?.avatar ?? 'https://avatars.githubusercontent.com/u/76239030',
// );
const src = computed(
() => userStore.userInfo.user.icon ? `${import.meta.env.VITE_WEB_BASE_API}/file/${userStore.userInfo.user.icon}` : `@/assets/images/logo.png`,
() => userStore.userInfo?.user?.icon ? `${import.meta.env.VITE_WEB_BASE_API}/file/${userStore.userInfo.user.icon}` : `@/assets/images/logo.png`,
);
/* 弹出面板 开始 */
@@ -99,8 +99,7 @@ function handleClick(item: any) {
}
function openVipGuide() {
const isVip = userRole.value === 'vip';
const isVip = userRole.value === 'vip' || userStore.userInfo?.user?.userName === 'cc';
ElMessageBox.confirm(
`
<div class="text-center leading-relaxed">
@@ -108,7 +107,7 @@ function openVipGuide() {
<p class="mb-2">
${
isVip
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢您的支持!'
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢支持!'
: '解锁所有 AI 模型,无限加速,专属客服,尽享尊贵体验。'
}
</p>

View File

@@ -7,22 +7,25 @@ const pricing = [
{
name: 'VIP',
price: 49.9,
period: '终身',
newPrice: 29.9,
period: '每月',
isPopular: false,
features: [
'基础+高级模型访问',
'AI超级加速',
'无限制使用',
'售后微信群支持',
'可用20元优惠券',
'可用优惠券,使用后29.9元',
],
},
{
name: 'VIP + 邀请1人',
price: 29.9,
period: '每人',
price: 49.9,
newPrice: 29.9,
period: '每人每月',
isPopular: true,
features: [
'需两人同时购买',
'基础+高级模型访问',
'AI超级加速',
'无限制使用',
@@ -32,15 +35,15 @@ const pricing = [
{
name: 'VIP + 支持站长',
price: 69.9,
period: '终身',
newPrice: 49.9,
period: '每月',
isPopular: false,
features: [
'基础+高级模型访问',
'AI超级加速',
'无限制使用',
'售后微信群支持',
'售后微信群优先处理',
'可用20元优惠券',
'可用优惠券,使用后49.9元',
],
},
];
@@ -56,9 +59,33 @@ const faqs = [
},
{
question: '平台是直连的吗?',
answer: '是的我们不是通过其他平台转发而是与各大AI服务官方API直接对接。',
answer: '是的我们不是通过其他平台转发而是与各大AI服务官方API直接对接。售后可查',
},
{
question: '价格如此低?不会亏本吗?',
answer: '是的,血亏,基本都是靠大家充值才能回点血,如没必要,建议不要经常使用高级模型,价格真的。。。太贵了',
},
{
question: '我用这些高级模型和免费的模型有什么区别?',
answer: '就比如,猴子和人类的区别,不是不能用,一杯咖啡钱,更好用,不香吗?',
},
{
question: '我每次都用最贵的模型,越贵不是越好吗?',
answer: '并不是的得根据实际场景来通常贵的模型带思考返回时间也会较长日常推荐使用mini',
},
{
question: '后续会新增或者删除一些模型吗?',
answer: '我们会根据各方面进行分析,后续有任何情况微信群内会反馈,最终解释说明由本站为主',
},
{
question: '除了对话还有其他功能吗?',
answer: '当然目前只是第一期后续图片、开放接口、ide集成等都会持续更新上线',
},
];
const wxSrc = computed(
() => `${import.meta.env.VITE_WEB_BASE_API}/wwwroot/aihub/wx.png`,
);
function openContact() {
ElMessageBox.alert(
`
@@ -66,7 +93,7 @@ function openContact() {
<h3 class="text-lg font-bold mb-3">请扫码或搜索微信号添加站长微信<br>
获取专属客服支持,完成充值</h3>
<div class="mb-4 flex items-center justify-center space-x-2">
<span class="font-semibold">微信账号:</span>
<span class="font-semibold">站长微信账号:</span>
<span class="text-blue-600 font-mono select-text" id="wechat-id">chengzilaoge520</span>
<span class="cursor-pointer" onclick="navigator.clipboard.writeText('chengzilaoge520').then(() => { window.parent.ElMessage({
message: '微信号已复制到剪贴板',
@@ -84,7 +111,7 @@ function openContact() {
<div class="flex justify-center mb-4">
<img
src="/wx_chengzilaoge520.png"
src="${wxSrc.value}"
class="w-50 h-70 border border-gray-200 rounded-lg shadow-md cursor-pointer hover:shadow-lg transition-transform hover:scale-105"
onclick="document.getElementById('wechat-qrcode-fullscreen').style.display = 'flex'"
alt="微信二维码"
@@ -92,7 +119,7 @@ function openContact() {
</div>
<div class="text-sm text-gray-600">
<p class="mb-1">请备注 <span class="inline-block bg-yellow-100 text-yellow-800 px-2 py-0.5 rounded text-xs">AI</span> 快速通过验证</p>
<p class="mb-1">请备注 <span class="inline-block bg-yellow-100 text-yellow-800 px-2 py-0.5 rounded text-xs">ai</span> 快速通过验证</p>
</div>
<!-- 全屏放大二维码 -->
@@ -102,7 +129,7 @@ function openContact() {
onclick="this.style.display='none'"
>
<img
src="/wx_chengzilaoge520.png"
src="${wxSrc.value}"
style="max-width:90%; max-height:90%; border:8px solid white; border-radius:16px; box-shadow:0 0 40px rgba(255,255,255,0.2);"
/>
</div>
@@ -125,7 +152,7 @@ function openContact() {
<template>
<div class="px-6 py-10 max-w-7xl mx-auto">
<h1 class="text-4xl font-bold text-center mb-6">
<h1 class="text-4xl font-bold text-center mb-6" style="color: #444444">
意心AI 订阅套餐
</h1>
<p class="text-center text-lg text-gray-600 mb-10">
@@ -142,8 +169,8 @@ function openContact() {
<h2 class="text-2xl font-semibold mb-2">
{{ plan.name }}
</h2>
<p class="text-3xl font-bold text-blue-600 mb-2">
{{ plan.price }}
<p class="text-3xl font-bold text-blue-600 mb-2" style="color: #E8CB96">
<span>优惠后</span>{{ plan.newPrice }} <del style="color: #889F9F;font-size: 16px">{{ plan.price }}</del>
</p>
<p class="text-sm text-gray-500 mb-4">
{{ plan.period }}
@@ -159,6 +186,7 @@ function openContact() {
class="mt-6 w-full"
type="primary"
size="large"
style="background: #D7BD8D;color: #191919;border: #191919"
@click="openContact"
>
立即订阅
@@ -176,10 +204,11 @@ function openContact() {
</h3>
<ol class="list-decimal list-inside space-y-2 text-gray-700">
<li>注册意社区账号手机验证码如收不到可联系站长</li>
<li>添加站长微信备注AI</li>
<li>完成充值后重新登录即可解锁全部功能</li>
<li>添加站长微信备注ai现通微信联系站长可直接获取优惠券</li>
<li>完成充值后重新登录即可解锁全部功能</li>
</ol>
<el-alert
style="margin-top: 20px"
class="mt-6"
type="warning"
title="请勿滥用,勿共享账号,系统将自动检测"

View File

@@ -26,9 +26,6 @@ declare module 'vue' {
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
ElMain: typeof import('element-plus/es')['ElMain']
ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTag: typeof import('element-plus/es')['ElTag']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
FilesSelect: typeof import('./../src/components/FilesSelect/index.vue')['default']
IconSelect: typeof import('./../src/components/IconSelect/index.vue')['default']