done with the connecting of coze

This commit is contained in:
Ebenezer
2026-03-30 18:30:09 +08:00
parent 8c0e327115
commit adde023647
619 changed files with 8987 additions and 46206 deletions

View File

@@ -8,6 +8,7 @@
<div class="nav-menu">
<router-link to="/" class="nav-item" :class="{ active: $route.path === '/' }">首页</router-link>
<router-link to="/ai" class="nav-item" :class="{ active: $route.path === '/ai' }">AI智能体</router-link>
<button class="nav-item nav-link-btn" type="button" @click="openCozeWorkspace">Coze工作台</button>
<div class="nav-item">学习中心</div>
<div class="nav-item">校友社群</div>
</div>
@@ -167,6 +168,7 @@ import { useUserStore } from '@/stores/user'
const router = useRouter()
const userStore = useUserStore()
const AUTH_API_BASE = 'http://localhost:3010/api'
// 用户菜单
const isUserMenuOpen = ref(false)
@@ -200,6 +202,27 @@ const goToMembership = () => {
router.push('/?tab=membership')
}
const openCozeWorkspace = async () => {
const email = String(userStore.currentUser || '').trim()
if (!email) {
alert('请先登录')
return
}
try {
const response = await fetch(`${AUTH_API_BASE}/coze/space-url?user=${encodeURIComponent(email)}`)
const result = await response.json()
if (!response.ok || !result?.url) {
throw new Error(result?.message || '未找到对应空间')
}
window.open(result.url, '_blank')
} catch (error) {
alert((error as Error).message || '打开Coze工作台失败')
}
}
// 搜索和筛选
const searchQuery = ref('')
const currentFilter = ref('全部')
@@ -494,6 +517,12 @@ const scrollToBottom = () => {
text-decoration: none;
}
.nav-link-btn {
border: none;
background: transparent;
font: inherit;
}
.nav-item:hover {
background: #f8fafc;
color: #1e293b;

View File

@@ -8,6 +8,7 @@
<div class="nav-menu">
<router-link to="/" class="nav-item" :class="{ active: $route.path === '/' }">首页</router-link>
<router-link to="/ai" class="nav-item" :class="{ active: $route.path === '/ai' }">AI智能体</router-link>
<button class="nav-item nav-link-btn" type="button" @click="openCozeWorkspace">Coze工作台</button>
<div class="nav-item">学习中心</div>
<div class="nav-item">校友社群</div>
</div>
@@ -283,6 +284,7 @@ import { useUserStore } from '@/stores/user'
const router = useRouter()
const userStore = useUserStore()
const AUTH_API_BASE = 'http://localhost:3010/api'
// Tab 相关
const currentTab = ref('overview')
@@ -328,6 +330,28 @@ const goToMembership = () => {
isUserMenuOpen.value = false
}
const openCozeWorkspace = async () => {
const email = String(userStore.currentUser || '').trim()
if (!email) {
alert('请先登录')
return
}
try {
const response = await fetch(`${AUTH_API_BASE}/coze/space-url?user=${encodeURIComponent(email)}`)
const result = await response.json()
if (!response.ok || !result?.url) {
throw new Error(result?.message || '未找到对应空间')
}
// 后端返回 /space/<id>/developCoze 会根据是否已登录决定是否先让用户登录
window.open(result.url, '_blank')
} catch (error) {
alert((error as Error).message || '打开Coze工作台失败')
}
}
// 课程数据
const courses = [
{ name: '商业模式设计', icon: '📊', desc: '掌握商业画布、价值主张设计,构建可持续的商业模式', hours: 32, students: '1.2k', bg: '#EDE9FE' },
@@ -521,6 +545,12 @@ const scrollToBottom = () => {
text-decoration: none;
}
.nav-link-btn {
border: none;
background: transparent;
font: inherit;
}
.nav-item:hover {
background: #f8fafc;
color: #1e293b;