feat(app): 初始化项目配置和页面结构
- 添加 .dockerignore 和 .env.example 配置文件 - 添加 .gitignore 忽略规则配置 - 创建服务端代理API路由(_file、_modules、_server) - 集成 Ant Design Vue 组件库并配置SSR样式提取 - 定义API响应类型封装 - 创建基础布局组件(blank、console) - 实现应用中心页面和组件(AppsCenter) - 添加文章列表测试页面 - 配置控制台导航菜单结构 - 实现控制台头部组件 - 创建联系页面表单
This commit is contained in:
13
app/pages/developer/apps.vue
Normal file
13
app/pages/developer/apps.vue
Normal file
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<a-page-header title="应用中心" sub-title="订阅应用与交付入口" />
|
||||
<AppsCenter />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import AppsCenter from '@/components/developer/AppsCenter.vue'
|
||||
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
34
app/pages/developer/git.vue
Normal file
34
app/pages/developer/git.vue
Normal file
@@ -0,0 +1,34 @@
|
||||
<template>
|
||||
<div class="space-y-4">
|
||||
<a-page-header title="Git 账号绑定" sub-title="用于开通 Gitea 仓库访问权限" />
|
||||
|
||||
<a-card :bordered="false" class="card">
|
||||
<a-alert
|
||||
type="info"
|
||||
show-icon
|
||||
message="待接入接口:保存你的 Gitea 用户名(或邮箱),用于运营加组。"
|
||||
/>
|
||||
|
||||
<a-form class="mt-4" layout="vertical">
|
||||
<a-form-item label="Gitea 用户名">
|
||||
<a-input placeholder="例如:lily" />
|
||||
</a-form-item>
|
||||
<a-form-item label="备注(可选)">
|
||||
<a-textarea :rows="3" placeholder="例如:公司/项目/联系方式" />
|
||||
</a-form-item>
|
||||
<a-button type="primary" disabled>保存</a-button>
|
||||
</a-form>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
49
app/pages/developer/index.vue
Normal file
49
app/pages/developer/index.vue
Normal file
@@ -0,0 +1,49 @@
|
||||
<template>
|
||||
<div class="space-y-4">
|
||||
<a-page-header title="概览" sub-title="开发者能力与交付入口" />
|
||||
|
||||
<a-row :gutter="[16, 16]">
|
||||
<a-col :xs="24" :md="12" :lg="8">
|
||||
<a-card :bordered="false" class="card">
|
||||
<div class="text-gray-500">可开发应用</div>
|
||||
<div class="text-2xl font-semibold mt-1">-</div>
|
||||
<div class="text-gray-400 mt-2">订阅有效且已购买源码权益</div>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :xs="24" :md="12" :lg="8">
|
||||
<a-card :bordered="false" class="card">
|
||||
<div class="text-gray-500">待处理申请</div>
|
||||
<div class="text-2xl font-semibold mt-1">-</div>
|
||||
<div class="text-gray-400 mt-2">Git 加组申请处理状态</div>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :xs="24" :md="12" :lg="8">
|
||||
<a-card :bordered="false" class="card">
|
||||
<div class="text-gray-500">教程更新</div>
|
||||
<div class="text-2xl font-semibold mt-1">-</div>
|
||||
<div class="text-gray-400 mt-2">后续接入教程内容源</div>
|
||||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-card title="快捷入口" :bordered="false" class="card">
|
||||
<div class="flex flex-wrap gap-3">
|
||||
<a-button type="primary" @click="navigateTo('/developer/apps')">应用中心</a-button>
|
||||
<a-button @click="navigateTo('/developer/source')">源码与仓库</a-button>
|
||||
<a-button @click="navigateTo('/developer/tutorial')">开发教程</a-button>
|
||||
<a-button @click="navigateTo('/developer/git')">Git 账号绑定</a-button>
|
||||
<a-button @click="navigateTo('/developer/requests')">权限申请记录</a-button>
|
||||
</div>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
20
app/pages/developer/requests.vue
Normal file
20
app/pages/developer/requests.vue
Normal file
@@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<div class="space-y-4">
|
||||
<a-page-header title="权限申请记录" sub-title="Git 加组申请与处理状态" />
|
||||
|
||||
<a-card :bordered="false" class="card">
|
||||
<a-empty description="待接入:/developer/git-access-requests" />
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
40
app/pages/developer/source.vue
Normal file
40
app/pages/developer/source.vue
Normal file
@@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<div class="space-y-4">
|
||||
<a-page-header title="源码与仓库" sub-title="Gitea 仓库访问与源码交付" />
|
||||
|
||||
<a-alert
|
||||
type="info"
|
||||
show-icon
|
||||
message="当前版本为页面骨架:后续将接入“订阅有效 + 已购买源码权益”的可见性与申请流程。"
|
||||
/>
|
||||
|
||||
<a-card title="仓库访问" :bordered="false" class="card">
|
||||
<a-steps :current="1" size="small">
|
||||
<a-step title="绑定 Git 账号" />
|
||||
<a-step title="提交加组申请" />
|
||||
<a-step title="运营处理加组" />
|
||||
<a-step title="获得仓库访问权限" />
|
||||
</a-steps>
|
||||
|
||||
<div class="mt-4 flex flex-wrap gap-3">
|
||||
<a-button type="primary" @click="navigateTo('/developer/git')">去绑定 Git 账号</a-button>
|
||||
<a-button @click="navigateTo('/developer/requests')">查看申请记录</a-button>
|
||||
</div>
|
||||
</a-card>
|
||||
|
||||
<a-card title="我的源码列表" :bordered="false" class="card">
|
||||
<a-empty description="待接入:按 templateId 映射仓库 + 权益校验" />
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
24
app/pages/developer/support.vue
Normal file
24
app/pages/developer/support.vue
Normal file
@@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div class="space-y-4">
|
||||
<a-page-header title="支持与反馈" sub-title="开发相关问题、工单与联系渠道" />
|
||||
|
||||
<a-card :bordered="false" class="card">
|
||||
<a-descriptions bordered :column="1">
|
||||
<a-descriptions-item label="常见问题">待补充</a-descriptions-item>
|
||||
<a-descriptions-item label="工单/反馈">待接入</a-descriptions-item>
|
||||
<a-descriptions-item label="联系方式">待补充</a-descriptions-item>
|
||||
</a-descriptions>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
43
app/pages/developer/tutorial.vue
Normal file
43
app/pages/developer/tutorial.vue
Normal file
@@ -0,0 +1,43 @@
|
||||
<template>
|
||||
<div class="space-y-4">
|
||||
<a-page-header title="开发教程" sub-title="快速开始、二次开发与部署" />
|
||||
|
||||
<a-row :gutter="[16, 16]">
|
||||
<a-col :xs="24" :md="12" :lg="8">
|
||||
<a-card title="快速开始" :bordered="false" class="card">
|
||||
<p class="text-gray-600">拉代码、安装依赖、配置环境变量、本地运行。</p>
|
||||
<a-button type="link" class="px-0" disabled>查看</a-button>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :xs="24" :md="12" :lg="8">
|
||||
<a-card title="二次开发" :bordered="false" class="card">
|
||||
<p class="text-gray-600">扩展点、模块/插件机制、权限/菜单接入规范。</p>
|
||||
<a-button type="link" class="px-0" disabled>查看</a-button>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :xs="24" :md="12" :lg="8">
|
||||
<a-card title="部署上线" :bordered="false" class="card">
|
||||
<p class="text-gray-600">Docker/PM2、域名 HTTPS、升级回滚。</p>
|
||||
<a-button type="link" class="px-0" disabled>查看</a-button>
|
||||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<a-alert
|
||||
type="warning"
|
||||
show-icon
|
||||
message="教程内容源待接入:可先用 Markdown/远端 CMS/静态页面三选一实现。"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
definePageMeta({ layout: 'developer' })
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
border-radius: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user