|
|
7 tháng trước cách đây | |
|---|---|---|
| client | 7 tháng trước cách đây | |
| server | 7 tháng trước cách đây | |
| test | 7 tháng trước cách đây | |
| .gitignore | 7 tháng trước cách đây | |
| README.md | 7 tháng trước cách đây | |
| deno.json | 8 tháng trước cách đây | |
| deno.lock | 8 tháng trước cách đây |
这是一个基于 Deno 和 Hono 框架开发的管理系统与移动端应用启动模板,提供了完整的用户认证、权限管理、系统设置、文件上传、地图组件、图表组件等功能,可以快速构建企业级应用。
asset/ - 前端资源文件
admin/ - 管理端资源mobile/ - 移动端资源share/ - 共享资源和类型定义routes_*.ts - 各模块路由定义文件app.tsx - 应用主入口migrations.ts - 数据库迁移deno.json - Deno配置文件本应用在 D8D(多八多)开发者平台 上可以直接运行,无需复杂部署:
在D8D(多八多)平台运行时,可以通过平台的"应用配置"面板设置以下内容:
在启动应用前,可配置以下环境变量:
# 应用配置
APP_NAME=应用名称
ENV=development
JWT_SECRET=your-jwt-secret-key
# OSS配置
OSS_TYPE=aliyun # 可选值: aliyun, minio
OSS_BASE_URL=https://your-oss-url.com
# 地图配置
MAP_MODE=online # 可选值: online, offline
AMAP_KEY=您的地图API密钥
# API客户端配置
SERVER_URL=https://app-server.d8d.fun
WORKSPACE_KEY=您的工作空间密钥 # 在多八多(www.d8d.fun)平台注册开通工作空间后获取
要在本地运行此应用,需要创建一个启动文件:
run_app.ts的新文件(文件名可自定义)将下面的代码复制到该文件中:
// 导入所需模块
import { Hono } from 'hono'
import { APIClient } from '@d8d-appcontainer/api'
import debug from "debug"
import { cors } from 'hono/cors'
// 初始化debug实例
const log = {
app: debug('app:server'),
auth: debug('auth:server'),
api: debug('api:server'),
debug: debug('debug:server')
}
// 启用所有日志
Object.values(log).forEach(logger => logger.enabled = true)
// 初始化 API Client
const getApiClient = async (workspaceKey: string, serverUrl?: string) => {
try {
log.api('正在初始化API Client实例')
const apiClient = await APIClient.getInstance({
scope: 'user',
config: {
serverUrl: serverUrl || Deno.env.get('SERVER_URL') || 'https://app-server.d8d.fun',
workspaceKey: workspaceKey,
type: 'http',
}
})
log.api('API Client初始化成功')
return apiClient
} catch (error) {
log.api('API Client初始化失败:', error)
throw error
}
}
// 创建Hono应用实例
const app = new Hono()
// 注册CORS中间件
app.use('/*', cors())
// 动态加载并运行模板
const runTemplate = async () => {
try {
// 创建基础app实例
const moduleApp = new Hono()
// 初始化API Client
// 注意:WORKSPACE_KEY 需要在 多八多(www.d8d.fun) 平台注册并开通工作空间后获取
const workspaceKey = Deno.env.get('WORKSPACE_KEY') || ''
if (!workspaceKey) {
console.warn('未设置WORKSPACE_KEY,请前往 多八多(www.d8d.fun) 注册并开通工作空间以获取密钥')
}
const apiClient = await getApiClient(workspaceKey)
// 导入模板主模块
const templateModule = await import('./app.tsx')
if (templateModule.default) {
// 传入必要参数并初始化应用
const appInstance = templateModule.default({
apiClient: apiClient,
app: moduleApp,
moduleDir: './admin-mobile-starter'
})
// 启动服务器
Deno.serve({ port: 8080 }, appInstance.fetch)
console.log('应用已启动,监听端口: 8080')
}
} catch (error) {
console.error('模板加载失败:', error)
}
}
// 执行模板
runTemplate()
运行该文件:
deno run -A run_app.ts
注意:上述代码用于本地运行app.tsx。SERVER_URL默认值为
app-server.d8d.fun,WORKSPACE_KEY需要在 多八多(www.d8d.fun) 平台注册并开通工作空间后获取。
系统配置可通过环境变量或数据库中的系统设置进行管理,支持以下配置项:
系统首次启动时会自动执行数据库迁移,创建必要的表结构和初始数据。
在 routes_*.ts 文件中定义新的路由处理函数,然后在 app.tsx 中引入并注册。
前端资源位于 asset/ 目录下,区分为管理端和移动端,可根据需要进行修改和扩展。
[License] - 请参阅LICENSE文件了解详情
© 2025 多八多(D8D). 保留所有权利。