feat: 完成细节调整
This commit is contained in:
@@ -20,7 +20,7 @@ const userStore = useUserStore();
|
|||||||
const modelStore = useModelStore();
|
const modelStore = useModelStore();
|
||||||
// 检查模型是否可用
|
// 检查模型是否可用
|
||||||
function isModelAvailable(item: GetSessionListVO) {
|
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 () => {
|
onMounted(async () => {
|
||||||
@@ -68,7 +68,7 @@ function handleModelClick(item: GetSessionListVO) {
|
|||||||
<p class="mb-2">
|
<p class="mb-2">
|
||||||
${
|
${
|
||||||
isUserRoleVip.value
|
isUserRoleVip.value
|
||||||
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢您的支持!'
|
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢支持!'
|
||||||
: '解锁所有 AI 模型,无限加速,专属客服,尽享尊贵体验。'
|
: '解锁所有 AI 模型,无限加速,专属客服,尽享尊贵体验。'
|
||||||
}
|
}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ const userRole = computed(() => {
|
|||||||
// () => userStore.userInfo?.avatar ?? 'https://avatars.githubusercontent.com/u/76239030',
|
// () => userStore.userInfo?.avatar ?? 'https://avatars.githubusercontent.com/u/76239030',
|
||||||
// );
|
// );
|
||||||
const src = computed(
|
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() {
|
function openVipGuide() {
|
||||||
const isVip = userRole.value === 'vip';
|
const isVip = userRole.value === 'vip' || userStore.userInfo?.user?.userName === 'cc';
|
||||||
|
|
||||||
ElMessageBox.confirm(
|
ElMessageBox.confirm(
|
||||||
`
|
`
|
||||||
<div class="text-center leading-relaxed">
|
<div class="text-center leading-relaxed">
|
||||||
@@ -108,7 +107,7 @@ function openVipGuide() {
|
|||||||
<p class="mb-2">
|
<p class="mb-2">
|
||||||
${
|
${
|
||||||
isVip
|
isVip
|
||||||
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢您的支持!'
|
? '您已是尊贵会员,享受全部 AI 模型与专属服务。感谢支持!'
|
||||||
: '解锁所有 AI 模型,无限加速,专属客服,尽享尊贵体验。'
|
: '解锁所有 AI 模型,无限加速,专属客服,尽享尊贵体验。'
|
||||||
}
|
}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -7,22 +7,25 @@ const pricing = [
|
|||||||
{
|
{
|
||||||
name: 'VIP',
|
name: 'VIP',
|
||||||
price: 49.9,
|
price: 49.9,
|
||||||
period: '终身',
|
newPrice: 29.9,
|
||||||
|
period: '每月',
|
||||||
isPopular: false,
|
isPopular: false,
|
||||||
features: [
|
features: [
|
||||||
'基础+高级模型访问',
|
'基础+高级模型访问',
|
||||||
'AI超级加速',
|
'AI超级加速',
|
||||||
'无限制使用',
|
'无限制使用',
|
||||||
'售后微信群支持',
|
'售后微信群支持',
|
||||||
'可用20元优惠券',
|
'可用优惠券,使用后29.9元',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'VIP + 邀请1人',
|
name: 'VIP + 邀请1人',
|
||||||
price: 29.9,
|
price: 49.9,
|
||||||
period: '每人',
|
newPrice: 29.9,
|
||||||
|
period: '每人每月',
|
||||||
isPopular: true,
|
isPopular: true,
|
||||||
features: [
|
features: [
|
||||||
|
'需两人同时购买',
|
||||||
'基础+高级模型访问',
|
'基础+高级模型访问',
|
||||||
'AI超级加速',
|
'AI超级加速',
|
||||||
'无限制使用',
|
'无限制使用',
|
||||||
@@ -32,15 +35,15 @@ const pricing = [
|
|||||||
{
|
{
|
||||||
name: 'VIP + 支持站长',
|
name: 'VIP + 支持站长',
|
||||||
price: 69.9,
|
price: 69.9,
|
||||||
period: '终身',
|
newPrice: 49.9,
|
||||||
|
period: '每月',
|
||||||
isPopular: false,
|
isPopular: false,
|
||||||
features: [
|
features: [
|
||||||
'基础+高级模型访问',
|
'基础+高级模型访问',
|
||||||
'AI超级加速',
|
'AI超级加速',
|
||||||
'无限制使用',
|
'无限制使用',
|
||||||
'售后微信群支持',
|
|
||||||
'售后微信群优先处理',
|
'售后微信群优先处理',
|
||||||
'可用20元优惠券',
|
'可用优惠券,使用后49.9元',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@@ -56,9 +59,33 @@ const faqs = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
question: '平台是直连的吗?',
|
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() {
|
function openContact() {
|
||||||
ElMessageBox.alert(
|
ElMessageBox.alert(
|
||||||
`
|
`
|
||||||
@@ -66,7 +93,7 @@ function openContact() {
|
|||||||
<h3 class="text-lg font-bold mb-3">请扫码或搜索微信号添加站长微信<br>
|
<h3 class="text-lg font-bold mb-3">请扫码或搜索微信号添加站长微信<br>
|
||||||
获取专属客服支持,完成充值</h3>
|
获取专属客服支持,完成充值</h3>
|
||||||
<div class="mb-4 flex items-center justify-center space-x-2">
|
<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="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({
|
<span class="cursor-pointer" onclick="navigator.clipboard.writeText('chengzilaoge520').then(() => { window.parent.ElMessage({
|
||||||
message: '微信号已复制到剪贴板',
|
message: '微信号已复制到剪贴板',
|
||||||
@@ -84,7 +111,7 @@ function openContact() {
|
|||||||
|
|
||||||
<div class="flex justify-center mb-4">
|
<div class="flex justify-center mb-4">
|
||||||
<img
|
<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"
|
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'"
|
onclick="document.getElementById('wechat-qrcode-fullscreen').style.display = 'flex'"
|
||||||
alt="微信二维码"
|
alt="微信二维码"
|
||||||
@@ -92,7 +119,7 @@ function openContact() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="text-sm text-gray-600">
|
<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>
|
</div>
|
||||||
|
|
||||||
<!-- 全屏放大二维码 -->
|
<!-- 全屏放大二维码 -->
|
||||||
@@ -102,7 +129,7 @@ function openContact() {
|
|||||||
onclick="this.style.display='none'"
|
onclick="this.style.display='none'"
|
||||||
>
|
>
|
||||||
<img
|
<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);"
|
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>
|
</div>
|
||||||
@@ -125,7 +152,7 @@ function openContact() {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="px-6 py-10 max-w-7xl mx-auto">
|
<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 订阅套餐
|
意心AI 订阅套餐
|
||||||
</h1>
|
</h1>
|
||||||
<p class="text-center text-lg text-gray-600 mb-10">
|
<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">
|
<h2 class="text-2xl font-semibold mb-2">
|
||||||
{{ plan.name }}
|
{{ plan.name }}
|
||||||
</h2>
|
</h2>
|
||||||
<p class="text-3xl font-bold text-blue-600 mb-2">
|
<p class="text-3xl font-bold text-blue-600 mb-2" style="color: #E8CB96">
|
||||||
¥{{ plan.price }}
|
<span>优惠后:</span>¥{{ plan.newPrice }} <del style="color: #889F9F;font-size: 16px">¥{{ plan.price }}</del>
|
||||||
</p>
|
</p>
|
||||||
<p class="text-sm text-gray-500 mb-4">
|
<p class="text-sm text-gray-500 mb-4">
|
||||||
{{ plan.period }}
|
{{ plan.period }}
|
||||||
@@ -159,6 +186,7 @@ function openContact() {
|
|||||||
class="mt-6 w-full"
|
class="mt-6 w-full"
|
||||||
type="primary"
|
type="primary"
|
||||||
size="large"
|
size="large"
|
||||||
|
style="background: #D7BD8D;color: #191919;border: #191919"
|
||||||
@click="openContact"
|
@click="openContact"
|
||||||
>
|
>
|
||||||
立即订阅
|
立即订阅
|
||||||
@@ -176,10 +204,11 @@ function openContact() {
|
|||||||
</h3>
|
</h3>
|
||||||
<ol class="list-decimal list-inside space-y-2 text-gray-700">
|
<ol class="list-decimal list-inside space-y-2 text-gray-700">
|
||||||
<li>注册意社区账号(手机验证码,如收不到可联系站长)</li>
|
<li>注册意社区账号(手机验证码,如收不到可联系站长)</li>
|
||||||
<li>添加站长微信,备注“AI”</li>
|
<li>添加站长微信,备注“ai”(现通微信联系站长,可直接获取优惠券!)</li>
|
||||||
<li>完成充值后,重新登录,即可解锁全部功能</li>
|
<li>完成充值后,请重新登录,即可解锁全部功能</li>
|
||||||
</ol>
|
</ol>
|
||||||
<el-alert
|
<el-alert
|
||||||
|
style="margin-top: 20px"
|
||||||
class="mt-6"
|
class="mt-6"
|
||||||
type="warning"
|
type="warning"
|
||||||
title="请勿滥用,勿共享账号,系统将自动检测"
|
title="请勿滥用,勿共享账号,系统将自动检测"
|
||||||
|
|||||||
3
Yi.Ai.Vue3/types/components.d.ts
vendored
3
Yi.Ai.Vue3/types/components.d.ts
vendored
@@ -26,9 +26,6 @@ declare module 'vue' {
|
|||||||
ElImage: typeof import('element-plus/es')['ElImage']
|
ElImage: typeof import('element-plus/es')['ElImage']
|
||||||
ElInput: typeof import('element-plus/es')['ElInput']
|
ElInput: typeof import('element-plus/es')['ElInput']
|
||||||
ElMain: typeof import('element-plus/es')['ElMain']
|
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']
|
ElTooltip: typeof import('element-plus/es')['ElTooltip']
|
||||||
FilesSelect: typeof import('./../src/components/FilesSelect/index.vue')['default']
|
FilesSelect: typeof import('./../src/components/FilesSelect/index.vue')['default']
|
||||||
IconSelect: typeof import('./../src/components/IconSelect/index.vue')['default']
|
IconSelect: typeof import('./../src/components/IconSelect/index.vue')['default']
|
||||||
|
|||||||
Reference in New Issue
Block a user