服务打包初步结构
This commit is contained in:
@@ -1,229 +0,0 @@
|
||||
# 管理后台路由架构说明
|
||||
|
||||
## 三层架构设计
|
||||
|
||||
### 第一层:外层主 Sidebar (platform 服务)
|
||||
显示在平台主界面的侧边栏,包含用户应用和管理后台入口。
|
||||
|
||||
**布局**: `SidebarLayout`
|
||||
**服务**: `platform`
|
||||
|
||||
#### 用户应用入口
|
||||
- 泰豪AI助手 (`/aichat`)
|
||||
- 全部应用 (`/agents`)
|
||||
- 智能体编排 (`/app/workflow`) - iframe
|
||||
- 招标助手 (`/app/bidding`) - iframe
|
||||
- 泰豪小电 (`/app/workcase`) - iframe
|
||||
|
||||
#### 管理后台入口(iframe类型)
|
||||
1. **平台管理后台** (`/admin/platform`)
|
||||
- iframe_url: `/platform/admin`
|
||||
- 权限: `perm_platform_admin`
|
||||
|
||||
2. **智能标书管理后台** (`/admin/bidding`)
|
||||
- iframe_url: `/bidding/admin`
|
||||
- 权限: `perm_bidding_admin`
|
||||
|
||||
3. **泰豪小电管理后台** (`/admin/workcase`)
|
||||
- iframe_url: `/workcase/admin`
|
||||
- 权限: `perm_workcase_admin`
|
||||
|
||||
---
|
||||
|
||||
### 第二层:SubSidebarLayout (各服务内部)
|
||||
每个管理后台的内部二级菜单,使用 `SubSidebarLayout` 布局。
|
||||
|
||||
**布局**: `SubSidebarLayout`
|
||||
**类型**: `route`(非 iframe)
|
||||
|
||||
---
|
||||
|
||||
## Platform 管理后台(第二层)
|
||||
|
||||
**服务**: `platform`
|
||||
**布局**: `SubSidebarLayout`
|
||||
|
||||
### 视图列表
|
||||
|
||||
| 序号 | 视图名称 | URL | 组件路径 | 权限 |
|
||||
|------|---------|-----|----------|------|
|
||||
| 1 | 数据概览 | `/admin/overview` | `admin/overview/OverviewView.vue` | `perm_platform_admin_overview` |
|
||||
| 2 | 用户管理 | `/admin/user` | `admin/user/UserView.vue` | `perm_platform_admin_user` |
|
||||
| 3 | 知识库 | `/admin/knowledge` | `admin/knowledge/KnowledgeView.vue` | `perm_platform_admin_knowledge` |
|
||||
| 4 | 系统配置 | `/admin/config` | `admin/config/ConfigView.vue` | `perm_platform_admin_config` |
|
||||
|
||||
### 权限配置
|
||||
```sql
|
||||
-- 管理后台入口权限
|
||||
PERM-0601: perm_platform_admin (platform:admin:view)
|
||||
|
||||
-- 内部功能权限
|
||||
PERM-0602: perm_platform_admin_overview (platform:admin:overview)
|
||||
PERM-0603: perm_platform_admin_user (platform:admin:user)
|
||||
PERM-0604: perm_platform_admin_knowledge (platform:admin:knowledge)
|
||||
PERM-0605: perm_platform_admin_config (platform:admin:config)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Bidding 管理后台(第二层)
|
||||
|
||||
**服务**: `bidding`
|
||||
**布局**: `SubSidebarLayout`
|
||||
|
||||
### 权限配置
|
||||
```sql
|
||||
-- 管理后台入口权限
|
||||
PERM-0611: perm_bidding_admin (bidding:admin:view)
|
||||
```
|
||||
|
||||
*注: bidding 管理后台的具体视图需要后续配置*
|
||||
|
||||
---
|
||||
|
||||
## Workcase 管理后台(第二层)
|
||||
|
||||
**服务**: `workcase`
|
||||
**布局**: `SubSidebarLayout`
|
||||
|
||||
### 视图列表
|
||||
|
||||
| 序号 | 视图名称 | URL | 组件路径 | 权限 |
|
||||
|------|---------|-----|----------|------|
|
||||
| 1 | 数据概览 | `/admin/overview` | `admin/overview/OverviewView.vue` | `perm_workcase_overview` |
|
||||
| 2 | 知识库管理 | `/admin/knowledge` | `admin/knowledge/KnowLedgeView.vue` | `perm_workcase_knowledge` |
|
||||
| 3 | 工单管理 | `/admin/workcase` | `admin/workcase/WorkcaseView.vue` | `perm_workcase_tickets` |
|
||||
| 4 | 对话数据 | `/admin/customerChat` | `admin/customerChat/CustomerChatView.vue` | `perm_workcase_conversation` |
|
||||
| 5 | 智能体管理 | `/admin/agent` | `admin/agent/AgentView.vue` | `perm_workcase_agent` |
|
||||
| 6 | 日志管理 | `/admin/log` | *(目录)* | `perm_workcase_log` |
|
||||
| 6.1 | └ 知识库日志 | `/admin/log/knowledge` | `admin/log/knowledgeLog/KnowledgeLogView.vue` | `perm_workcase_log` |
|
||||
| 6.2 | └ 工单日志 | `/admin/log/workcase` | `admin/log/workcaseLog/WorkcaseLogView.vue` | `perm_workcase_log` |
|
||||
| 6.3 | └ 系统日志 | `/admin/log/system` | `admin/log/systemLog/SystemLogView.vue` | `perm_workcase_log` |
|
||||
|
||||
### 权限配置
|
||||
```sql
|
||||
-- 管理后台入口权限
|
||||
PERM-0621: perm_workcase_admin (workcase:admin:view)
|
||||
|
||||
-- 内部功能权限
|
||||
PERM-0622: perm_workcase_overview (workcase:overview:view)
|
||||
PERM-0623: perm_workcase_knowledge (workcase:knowledge:view)
|
||||
PERM-0624: perm_workcase_tickets (workcase:tickets:view)
|
||||
PERM-0625: perm_workcase_conversation (workcase:conversation:view)
|
||||
PERM-0626: perm_workcase_agent (workcase:agent:view)
|
||||
PERM-0627: perm_workcase_log (workcase:log:view)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 路由过滤规则
|
||||
|
||||
### 外层主 Sidebar (platform/SidebarLayout)
|
||||
显示所有 `service='platform'` 且 `layout='SidebarLayout'` 的视图:
|
||||
- 用户应用入口(普通路由和iframe)
|
||||
- 管理后台入口(iframe类型)
|
||||
|
||||
### 内层 SubSidebarLayout
|
||||
各服务内部,显示 `layout='SubSidebarLayout'` 且 `url.startsWith('/admin')` 的视图:
|
||||
|
||||
#### Platform AdminSidebar
|
||||
```typescript
|
||||
service === 'platform' &&
|
||||
layout === 'SubSidebarLayout' &&
|
||||
url.startsWith('/admin')
|
||||
```
|
||||
|
||||
#### Bidding AdminSidebar
|
||||
```typescript
|
||||
service === 'bidding' &&
|
||||
layout === 'SubSidebarLayout' &&
|
||||
url.startsWith('/admin')
|
||||
```
|
||||
|
||||
#### Workcase AdminSidebar
|
||||
```typescript
|
||||
service === 'workcase' &&
|
||||
layout === 'SubSidebarLayout' &&
|
||||
url.startsWith('/admin')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 数据库表关系
|
||||
|
||||
### 视图类型说明
|
||||
| type | view_type | 说明 | 示例 |
|
||||
|------|-----------|------|------|
|
||||
| 1 | route | 普通路由视图 | 数据概览、用户管理 |
|
||||
| 1 | iframe | iframe嵌入视图 | 管理后台入口、Dify编排 |
|
||||
| 0 | route | 目录(不可点击) | 日志管理 |
|
||||
| 3 | route | 默认首页(隐藏) | 智能客服首页 |
|
||||
|
||||
### 视图权限关联
|
||||
每个视图通过 `tb_sys_view_permission` 表关联到对应权限:
|
||||
- 一个视图可以关联多个权限(AND 逻辑)
|
||||
- 用户需要拥有所有关联权限才能访问该视图
|
||||
|
||||
### 角色权限继承
|
||||
- **超级管理员**: 自动拥有所有权限
|
||||
- **系统管理员**: 拥有所有 module 的管理权限(除删除外)
|
||||
- **普通用户**: 基础查看权限 + 平台基础菜单访问
|
||||
- **访客**: 仅查看权限 + 部分平台菜单访问
|
||||
|
||||
---
|
||||
|
||||
## 前端实现注意事项
|
||||
|
||||
### 1. Layout 组件
|
||||
- **SidebarLayout**: 外层主侧边栏(platform 主界面)
|
||||
- **SubSidebarLayout**: 内层管理侧边栏(各管理后台内部)
|
||||
- **BlankLayout**: 空白布局(如智能客服首页)
|
||||
|
||||
### 2. iframe 嵌套
|
||||
- 外层 platform 的 iframe 菜单 → 加载各服务的管理后台
|
||||
- 各服务内部使用 SubSidebarLayout 渲染二级菜单
|
||||
- iframe_url 必须正确指向实际服务地址
|
||||
|
||||
### 3. 路由配置
|
||||
所有 `/admin/*` 路径统一用于管理后台:
|
||||
- platform: `/admin/overview`, `/admin/user` 等
|
||||
- bidding: `/admin/*` (待定义)
|
||||
- workcase: `/admin/overview`, `/admin/knowledge` 等
|
||||
|
||||
### 4. 权限验证
|
||||
前端需要根据 `loginDomain.userViews` 动态渲染菜单:
|
||||
- 检查 `layout` 字段匹配当前布局
|
||||
- 检查 `service` 字段匹配当前服务
|
||||
- 检查用户是否拥有关联的权限
|
||||
|
||||
---
|
||||
|
||||
## 迁移说明
|
||||
|
||||
如果从旧的单层架构迁移到三层架构:
|
||||
|
||||
1. **视图迁移**
|
||||
- 将原 platform 的管理视图改为 `layout='SubSidebarLayout'`
|
||||
- URL 统一改为 `/admin/*` 格式
|
||||
- 在 platform 主侧边栏添加 iframe 入口
|
||||
|
||||
2. **权限迁移**
|
||||
- 保留原有权限定义
|
||||
- 新增管理后台入口权限(如 `perm_platform_admin`)
|
||||
- 更新视图权限关联
|
||||
|
||||
3. **前端组件**
|
||||
- 创建 SubSidebarLayout 组件(参考 workcase 实现)
|
||||
- 更新 platform 路由配置支持 `/admin/*` 路径
|
||||
- 配置 iframe 路由指向各服务管理后台
|
||||
|
||||
---
|
||||
|
||||
## 总结
|
||||
|
||||
这个三层架构设计实现了:
|
||||
- ✅ **统一入口**: 所有管理后台统一在 platform 主侧边栏
|
||||
- ✅ **独立管理**: 各服务管理后台相互独立,便于维护
|
||||
- ✅ **权限细分**: 入口权限 + 功能权限双重控制
|
||||
- ✅ **灵活扩展**: 新增服务只需添加 iframe 入口和内部视图
|
||||
- ✅ **用户体验**: 统一的导航风格,清晰的层级结构
|
||||
@@ -1,130 +0,0 @@
|
||||
# Workcase 管理端路由配置总结
|
||||
|
||||
## 已配置的管理端视图
|
||||
|
||||
### 1. 数据概览 (Overview)
|
||||
- **view_id**: `view_workcase_admin_overview`
|
||||
- **URL**: `/admin/overview`
|
||||
- **组件**: `admin/overview/OverviewView.vue`
|
||||
- **图标**: DataLine
|
||||
- **权限**: `perm_workcase_overview` (workcase:overview:view)
|
||||
- **描述**: 泰豪小电数据概览
|
||||
|
||||
### 2. 知识库管理 (Knowledge)
|
||||
- **view_id**: `view_workcase_admin_knowledge`
|
||||
- **URL**: `/admin/knowledge`
|
||||
- **组件**: `admin/knowledge/KnowLedgeView.vue`
|
||||
- **图标**: Document
|
||||
- **权限**: `perm_workcase_knowledge` (workcase:knowledge:view)
|
||||
- **描述**: 知识库文档管理
|
||||
|
||||
### 3. 工单管理 (Tickets)
|
||||
- **view_id**: `view_workcase_admin_tickets`
|
||||
- **URL**: `/admin/workcase`
|
||||
- **组件**: `admin/workcase/WorkcaseView.vue`
|
||||
- **图标**: Tickets
|
||||
- **权限**: `perm_workcase_tickets` (workcase:tickets:view)
|
||||
- **描述**: 客服工单管理
|
||||
|
||||
### 4. 对话数据 (Conversation)
|
||||
- **view_id**: `view_workcase_admin_conversation`
|
||||
- **URL**: `/admin/customerChat`
|
||||
- **组件**: `admin/customerChat/CustomerChatView.vue`
|
||||
- **图标**: ChatDotRound
|
||||
- **权限**: `perm_workcase_conversation` (workcase:conversation:view)
|
||||
- **描述**: 客户对话数据管理
|
||||
|
||||
### 5. 智能体管理 (Agent)
|
||||
- **view_id**: `view_workcase_admin_agent`
|
||||
- **URL**: `/admin/agent`
|
||||
- **组件**: `admin/agent/AgentView.vue`
|
||||
- **图标**: Service
|
||||
- **权限**: `perm_workcase_agent` (workcase:agent:view)
|
||||
- **描述**: 智能体配置管理
|
||||
|
||||
### 6. 日志管理 (Logs)
|
||||
#### 6.1 日志管理目录
|
||||
- **view_id**: `view_workcase_admin_log`
|
||||
- **URL**: `/admin/log`
|
||||
- **组件**: NULL (目录类型)
|
||||
- **图标**: List
|
||||
- **type**: 0 (目录)
|
||||
- **权限**: `perm_workcase_log` (workcase:log:view)
|
||||
- **描述**: 日志管理目录
|
||||
|
||||
#### 6.2 知识库日志
|
||||
- **view_id**: `view_workcase_admin_log_knowledge`
|
||||
- **parent_id**: `view_workcase_admin_log`
|
||||
- **URL**: `/admin/log/knowledge`
|
||||
- **组件**: `admin/log/knowledgeLog/KnowledgeLogView.vue`
|
||||
- **图标**: Document
|
||||
- **权限**: `perm_workcase_log` (workcase:log:view)
|
||||
- **描述**: 知识库操作日志
|
||||
|
||||
#### 6.3 工单日志
|
||||
- **view_id**: `view_workcase_admin_log_workcase`
|
||||
- **parent_id**: `view_workcase_admin_log`
|
||||
- **URL**: `/admin/log/workcase`
|
||||
- **组件**: `admin/log/workcaseLog/WorkcaseLogView.vue`
|
||||
- **图标**: Tickets
|
||||
- **权限**: `perm_workcase_log` (workcase:log:view)
|
||||
- **描述**: 工单操作日志
|
||||
|
||||
#### 6.4 系统日志
|
||||
- **view_id**: `view_workcase_admin_log_system`
|
||||
- **parent_id**: `view_workcase_admin_log`
|
||||
- **URL**: `/admin/log/system`
|
||||
- **组件**: `admin/log/systemLog/SystemLogView.vue`
|
||||
- **图标**: Setting
|
||||
- **权限**: `perm_workcase_log` (workcase:log:view)
|
||||
- **描述**: 系统运行日志
|
||||
|
||||
## 权限配置
|
||||
|
||||
### 新增权限
|
||||
1. **PERM-0601**: `perm_workcase_overview` - 数据概览
|
||||
2. **PERM-0602**: `perm_workcase_knowledge` - 知识库管理
|
||||
3. **PERM-0603**: `perm_workcase_tickets` - 工单管理
|
||||
4. **PERM-0604**: `perm_workcase_conversation` - 对话数据
|
||||
5. **PERM-0605**: `perm_workcase_agent` - 智能体管理
|
||||
6. **PERM-0606**: `perm_workcase_log` - 日志管理
|
||||
|
||||
### 视图权限关联
|
||||
- VP-W101 ~ VP-W105: 管理端主功能视图
|
||||
- VP-W106 ~ VP-W109: 日志管理视图(含父级和3个子级)
|
||||
|
||||
## 布局配置
|
||||
- **Layout**: `SubSidebarLayout`
|
||||
- **Service**: `workcase`
|
||||
- **Type**: 1 (菜单项) / 0 (目录)
|
||||
- **View Type**: `route`
|
||||
|
||||
## Order Number 排序
|
||||
- 110: 数据概览
|
||||
- 120: 知识库管理
|
||||
- 130: 工单管理
|
||||
- 140: 对话数据
|
||||
- 150: 智能体管理
|
||||
- 160: 日志管理(父级)
|
||||
- 161: 知识库日志
|
||||
- 162: 工单日志
|
||||
- 163: 系统日志
|
||||
|
||||
## 路由过滤规则
|
||||
在 `SubSidebarLayout.vue` 的 `loadMenuFromStorage()` 中:
|
||||
```typescript
|
||||
const sidebarViews = userViews.filter((view: any) =>
|
||||
view.layout === 'SidebarLayout' && // 使用 SidebarLayout 布局
|
||||
!view.parentId && // 顶级菜单
|
||||
view.type === 1 && // 菜单类型
|
||||
view.service === 'workcase' && // workcase 服务
|
||||
view.url?.startsWith('/admin') // admin 路由
|
||||
)
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
1. 所有管理端路由都以 `/admin/` 开头
|
||||
2. 日志管理使用父子级结构(type=0 的目录 + type=1 的子菜单)
|
||||
3. 所有视图都使用 `SubSidebarLayout` 布局
|
||||
4. 权限都归属于 `module_workcase` 模块
|
||||
5. 超级管理员和系统管理员默认拥有所有 workcase 管理端权限
|
||||
@@ -1,98 +0,0 @@
|
||||
# ================== Server ==================
|
||||
server:
|
||||
port: 8090
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/agent
|
||||
|
||||
# ================== Auth ====================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
whitelist:
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
- /favicon.ico
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
- /ai/chat/** # AI对话,有非系统用户对话的接口,无登录状态
|
||||
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: ai-service
|
||||
# 文件上传配置
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 500MB
|
||||
max-request-size: 500MB
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
database: 0
|
||||
# password: ""
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: 'AI代理服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-agent
|
||||
qos-enable: false
|
||||
protocol:
|
||||
payload: 110100480
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.ai.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
@@ -1,10 +1,17 @@
|
||||
# ================== Server ==================
|
||||
# ================== AI 服务配置 ==================
|
||||
server:
|
||||
port: 8190
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/agent # 微服务架构下,context-path由Gateway管理
|
||||
port: 8090
|
||||
|
||||
# ================== Auth ====================
|
||||
spring:
|
||||
application:
|
||||
name: ai-service
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 500MB
|
||||
max-request-size: 500MB
|
||||
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
@@ -17,79 +24,21 @@ auth:
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
- /ai/chat/** # AI对话,有非系统用户对话的接口,无登录状态
|
||||
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: ai-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
- /ai/chat/**
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: 'AI代理服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-agent
|
||||
qos-enable: false
|
||||
protocol:
|
||||
payload: 110100480
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
payload: 110100480
|
||||
scan:
|
||||
base-packages: org.xyzh.ai.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
|
||||
@@ -1,97 +1,35 @@
|
||||
# ================== Server ==================
|
||||
# ================== Auth 认证服务配置 ==================
|
||||
server:
|
||||
port: 8181
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/auth # 微服务架构下,context-path由Gateway管理,服务本身不需要设置
|
||||
port: 8081
|
||||
|
||||
# ================== Auth ====================
|
||||
auth:
|
||||
enabled: false # 认证服务自己不需要认证
|
||||
gateway-mode: false # 不使用gateway模式(auth服务作为独立服务)
|
||||
whitelist:
|
||||
- /** # 认证服务的所有接口都放行
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: auth-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: false # 认证服务自己不需要认证
|
||||
gateway-mode: false
|
||||
whitelist:
|
||||
- /**
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
try-it-out-enabled: true
|
||||
show-common-extensions: true
|
||||
show-extensions: true
|
||||
show-request-duration: true
|
||||
filter: true
|
||||
tags-sorter: alpha
|
||||
operations-sorter: alpha
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '认证服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-auth
|
||||
qos-enable: false
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.auth.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== JWT Configuration ==================
|
||||
# ================== JWT ==================
|
||||
jwt:
|
||||
secret: urban-lifeline-secret-key-2025-xyzh
|
||||
secret: ${JWT_SECRET:urban-lifeline-secret-key-2025-xyzh}
|
||||
expiration: 86400 # 24小时(秒)
|
||||
refresh-expiration: 604800 # 7天(秒)
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
|
||||
@@ -1,89 +1,36 @@
|
||||
# ================== Server ==================
|
||||
# ================== Bidding 招投标服务配置 ==================
|
||||
server:
|
||||
port: 8186
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/bidding # 微服务架构下,context-path由Gateway管理
|
||||
port: 8087
|
||||
|
||||
# ================== Auth ====================
|
||||
urban-lifeline:
|
||||
auth:
|
||||
enabled: true
|
||||
whitelist:
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
- /favicon.ico
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
|
||||
security:
|
||||
aes:
|
||||
secret-key: 1234567890qwer
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: bidding-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
whitelist:
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
- /favicon.ico
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '招投标服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-bidding
|
||||
qos-enable: false
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.bidding.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
# ================================================
|
||||
# Urban Lifeline - 通用 Bootstrap 配置
|
||||
# 所有微服务共享的基础配置
|
||||
# ================================================
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
|
||||
namespace: ${NACOS_NAMESPACE:dev}
|
||||
group: ${NACOS_GROUP:DEFAULT_GROUP}
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: ${DB_URL:jdbc:postgresql://127.0.0.1:5432/urban_lifeline}
|
||||
username: ${DB_USERNAME:postgres}
|
||||
password: ${DB_PASSWORD:postgres}
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
port: ${REDIS_PORT:6379}
|
||||
database: ${REDIS_DATABASE:0}
|
||||
password: ${REDIS_PASSWORD:}
|
||||
|
||||
# ================== Security AES ==================
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: ${AES_SECRET_KEY:MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=}
|
||||
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://${NACOS_SERVER_ADDR:127.0.0.1:8848}
|
||||
|
||||
# ================== MyBatis-Plus ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== SpringDoc 基础配置 ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
@@ -1,80 +1,35 @@
|
||||
# ================== Server ==================
|
||||
# ================== Crontab 定时任务服务配置 ==================
|
||||
server:
|
||||
port: 8189
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/crontab # 微服务架构下,context-path由Gateway管理
|
||||
port: 8086
|
||||
|
||||
# ================== Auth ====================
|
||||
urban-lifeline:
|
||||
auth:
|
||||
enabled: false # 定时任务服务通常不需要认证
|
||||
|
||||
security:
|
||||
aes:
|
||||
secret-key: 1234567890qwer
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: crontab-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: false # 定时任务服务不需要认证
|
||||
whitelist:
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
- /favicon.ico
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '定时任务服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-crontab
|
||||
qos-enable: false
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.crontab.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
# ================== Server ==================
|
||||
# ================== File 文件服务配置 ==================
|
||||
server:
|
||||
port: 8184
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/file # 微服务架构下,context-path由Gateway管理
|
||||
port: 8084
|
||||
|
||||
# ================== Auth ====================
|
||||
spring:
|
||||
application:
|
||||
name: file-service
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 500MB
|
||||
max-request-size: 500MB
|
||||
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
@@ -19,83 +26,19 @@ auth:
|
||||
- /actuator/info
|
||||
- /file/download/**
|
||||
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: file-service
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
|
||||
# ================== 文件上传配置 ==================
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 500MB
|
||||
max-request-size: 500MB
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '文件服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-file
|
||||
qos-enable: false
|
||||
protocol:
|
||||
payload: 110100480
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
payload: 110100480
|
||||
scan:
|
||||
base-packages: org.xyzh.file.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# 开发环境专用配置
|
||||
# 注意:不要在这里配置routes,会覆盖application.yml的配置
|
||||
# 路由配置统一在application.yml中管理
|
||||
|
||||
# 开发环境日志
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
@@ -1,50 +1,40 @@
|
||||
# ================== Gateway 服务配置 ==================
|
||||
server:
|
||||
port: 8180
|
||||
port: 8080
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: gateway-service
|
||||
|
||||
# Gateway 必须使用 reactive 模式(WebFlux),不能使用 Spring MVC
|
||||
# Gateway 必须使用 reactive 模式
|
||||
main:
|
||||
web-application-type: reactive
|
||||
|
||||
# 配置中心
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
config:
|
||||
enabled: false # 禁用Nacos配置中心,使用本地配置
|
||||
server-addr: ${NACOS_SERVER_ADDR:localhost:8848}
|
||||
file-extension: yml
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
enabled: false
|
||||
|
||||
# Gateway 路由配置
|
||||
gateway:
|
||||
# 服务发现路由(自动路由)
|
||||
discovery:
|
||||
locator:
|
||||
enabled: false # 关闭自动路由,使用手动配置
|
||||
enabled: false
|
||||
|
||||
# 手动配置路由
|
||||
routes:
|
||||
# ==================== 认证服务路由 ====================
|
||||
# 认证服务
|
||||
- id: auth-service
|
||||
uri: lb://auth-service
|
||||
predicates:
|
||||
- Path=/urban-lifeline/auth/**
|
||||
filters:
|
||||
- StripPrefix=1 # 去掉前缀:/urban-lifeline/auth/login → /auth/login
|
||||
- StripPrefix=1
|
||||
- name: RequestRateLimiter
|
||||
args:
|
||||
redis-rate-limiter.replenishRate: 100
|
||||
redis-rate-limiter.burstCapacity: 200
|
||||
|
||||
# ==================== 系统服务路由 ====================
|
||||
# 系统服务
|
||||
- id: system-service
|
||||
uri: lb://system-service
|
||||
predicates:
|
||||
@@ -52,7 +42,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 日志服务路由 ====================
|
||||
# 日志服务
|
||||
- id: log-service
|
||||
uri: lb://log-service
|
||||
predicates:
|
||||
@@ -60,7 +50,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 文件服务路由 ====================
|
||||
# 文件服务
|
||||
- id: file-service
|
||||
uri: lb://file-service
|
||||
predicates:
|
||||
@@ -68,7 +58,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 消息服务路由 ====================
|
||||
# 消息服务
|
||||
- id: message-service
|
||||
uri: lb://message-service
|
||||
predicates:
|
||||
@@ -76,7 +66,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 招投标服务路由 ====================
|
||||
# 招投标服务
|
||||
- id: bidding-service
|
||||
uri: lb://bidding-service
|
||||
predicates:
|
||||
@@ -84,7 +74,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 平台服务路由 ====================
|
||||
# 平台服务
|
||||
- id: platform-service
|
||||
uri: lb://platform-service
|
||||
predicates:
|
||||
@@ -92,7 +82,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 工单服务 WebSocket 路由 ====================
|
||||
# 工单服务 WebSocket
|
||||
- id: workcase-websocket
|
||||
uri: lb:ws://workcase-service
|
||||
predicates:
|
||||
@@ -100,7 +90,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 工单服务路由 ====================
|
||||
# 工单服务
|
||||
- id: workcase-service
|
||||
uri: lb://workcase-service
|
||||
predicates:
|
||||
@@ -108,7 +98,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== 定时任务服务路由 ====================
|
||||
# 定时任务服务
|
||||
- id: crontab-service
|
||||
uri: lb://crontab-service
|
||||
predicates:
|
||||
@@ -116,7 +106,7 @@ spring:
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
# ==================== AI 服务路由 ====================
|
||||
# AI 服务
|
||||
- id: ai-service
|
||||
uri: lb://ai-service
|
||||
predicates:
|
||||
@@ -129,28 +119,14 @@ spring:
|
||||
cors-configurations:
|
||||
'[/**]':
|
||||
allowedOriginPatterns: "*"
|
||||
allowedMethods:
|
||||
- GET
|
||||
- POST
|
||||
- PUT
|
||||
- DELETE
|
||||
- OPTIONS
|
||||
allowedMethods: [GET, POST, PUT, DELETE, OPTIONS]
|
||||
allowedHeaders: "*"
|
||||
allowCredentials: true
|
||||
maxAge: 3600
|
||||
datasource:
|
||||
# 按你的实际库名改一下,比如 urban-lifeline_system
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline # 换成你的 PG 库名
|
||||
username: postgres # PG 用户
|
||||
password: postgres # PG 密码
|
||||
driver-class-name: org.postgresql.Driver
|
||||
# Redis 配置(用于限流、缓存)
|
||||
|
||||
# Redis 连接池配置(Gateway 限流用)
|
||||
data:
|
||||
redis:
|
||||
host: ${REDIS_HOST:localhost}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: 123456
|
||||
database: 0
|
||||
timeout: 5000ms
|
||||
lettuce:
|
||||
pool:
|
||||
@@ -159,18 +135,15 @@ spring:
|
||||
max-idle: 10
|
||||
min-idle: 5
|
||||
|
||||
# 认证配置
|
||||
# ================== Gateway 认证配置 ==================
|
||||
auth:
|
||||
enabled: true
|
||||
# gateway-mode 是给下游微服务用的,gateway本身不需要此配置
|
||||
token-header: Authorization
|
||||
token-prefix: "Bearer "
|
||||
# 认证接口白名单(login/logout/captcha/refresh)
|
||||
login-path: /urban-lifeline/auth/login
|
||||
logout-path: /urban-lifeline/auth/logout
|
||||
captcha-path: /urban-lifeline/auth/captcha
|
||||
refresh-path: /urban-lifeline/auth/refresh
|
||||
# 通用白名单(Swagger、健康检查等)
|
||||
whitelist:
|
||||
- /actuator/**
|
||||
- /v3/api-docs/**
|
||||
@@ -180,20 +153,14 @@ auth:
|
||||
- /doc.html
|
||||
- /favicon.ico
|
||||
- /error
|
||||
# 各服务的 Swagger 文档
|
||||
- /urban-lifeline/*/v3/api-docs/**
|
||||
- /urban-lifeline/*/swagger-ui/**
|
||||
# file 服务白名单
|
||||
- /urban-lifeline/file/download/**
|
||||
# ai 服务白名单
|
||||
- /urban-lifeline/ai/chat/**
|
||||
- /urban-lifeline/system/guest/identify
|
||||
# workcase 会议入口白名单(支持URL参数token认证)
|
||||
- /urban-lifeline/workcase/meeting/*/entry
|
||||
security:
|
||||
aes:
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI= # Base64 编码,32字节(256位)
|
||||
# Actuator 监控端点
|
||||
|
||||
# ================== Actuator ==================
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
@@ -202,12 +169,3 @@ management:
|
||||
endpoint:
|
||||
health:
|
||||
show-details: always
|
||||
|
||||
# 日志配置(详细配置见 log4j2.xml)
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
@@ -1,11 +1,12 @@
|
||||
# ================== Server ==================
|
||||
# ================== Message 消息服务配置 ==================
|
||||
server:
|
||||
port: 8185
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/message # 微服务架构下,context-path由Gateway管理
|
||||
port: 8085
|
||||
|
||||
# ================== Auth ====================
|
||||
spring:
|
||||
application:
|
||||
name: message-service
|
||||
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
@@ -18,74 +19,18 @@ auth:
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
|
||||
security:
|
||||
aes:
|
||||
secret-key: 1234567890qwer
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: message-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '消息服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-message
|
||||
qos-enable: false
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.message.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# ================== Server ==================
|
||||
# ================== Platform 平台服务配置 ==================
|
||||
server:
|
||||
port: 8187
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/platform # 微服务架构下,context-path由Gateway管理
|
||||
port: 8089
|
||||
|
||||
# ================== Auth ====================
|
||||
spring:
|
||||
application:
|
||||
name: platform-service
|
||||
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
@@ -19,74 +20,17 @@ auth:
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
|
||||
security:
|
||||
aes:
|
||||
secret-key: 1234567890qwer
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: platform-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '平台服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-platform
|
||||
qos-enable: false
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.platform.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
|
||||
@@ -1,124 +0,0 @@
|
||||
# ================== Server ==================
|
||||
server:
|
||||
port: 8182
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/system # 微服务架构下,context-path由Gateway管理
|
||||
# ================== Auth ====================
|
||||
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
# 认证接口:可以按服务自定义
|
||||
login-path: /urban-lifeline/auth/login
|
||||
logout-path: /urban-lifeline/auth/logout
|
||||
captcha-path: /urban-lifeline/auth/captcha
|
||||
refresh-path: /urban-lifeline/auth/refresh
|
||||
|
||||
# 通用白名单(非认证接口)
|
||||
whitelist:
|
||||
# Swagger/OpenAPI 文档相关(建议不带 context-path)
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
|
||||
# 静态资源
|
||||
- /favicon.ico
|
||||
- /error
|
||||
|
||||
# 健康检查
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
- /system/guest/identify
|
||||
# 其他需要放行的路径
|
||||
# - /public/**
|
||||
# - /api/public/**
|
||||
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: system-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
# 按你的实际库名改一下,比如 urban-lifeline_system
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline # 换成你的 PG 库名
|
||||
username: postgres # PG 用户
|
||||
password: postgres # PG 密码
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
try-it-out-enabled: true
|
||||
show-common-extensions: true
|
||||
show-extensions: true
|
||||
show-request-duration: true
|
||||
filter: true
|
||||
tags-sorter: alpha
|
||||
operations-sorter: alpha
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '系统服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos 注册中心 ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-system
|
||||
qos-enable: false
|
||||
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1 # -1 表示随机端口,避免端口冲突;也可以写死一个端口
|
||||
|
||||
registry:
|
||||
# Nacos 注册中心地址:使用 docker-compose 中映射到宿主机的 8848 端口
|
||||
address: nacos://127.0.0.1:8848
|
||||
# 如果 Nacos 有用户名密码,可以加上:
|
||||
# username: nacos
|
||||
# password: nacos
|
||||
|
||||
# Dubbo 服务扫描包(你 @DubboService 标注的位置)
|
||||
scan:
|
||||
base-packages: org.xyzh.system.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
@@ -1,83 +1,32 @@
|
||||
# ================== Server ==================
|
||||
# ================== System 系统服务配置 ==================
|
||||
server:
|
||||
port: 8182
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/system # 微服务架构下,context-path由Gateway管理
|
||||
# ================== Auth ====================
|
||||
port: 8082
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: system-service
|
||||
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
# 认证接口:可以按服务自定义
|
||||
login-path: /urban-lifeline/auth/login
|
||||
logout-path: /urban-lifeline/auth/logout
|
||||
captcha-path: /urban-lifeline/auth/captcha
|
||||
refresh-path: /urban-lifeline/auth/refresh
|
||||
|
||||
# 通用白名单(非认证接口)
|
||||
whitelist:
|
||||
# Swagger/OpenAPI 文档相关(建议不带 context-path)
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
|
||||
# 静态资源
|
||||
- /favicon.ico
|
||||
- /error
|
||||
|
||||
# 健康检查
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
- /system/guest/identify
|
||||
# 其他需要放行的路径
|
||||
# - /public/**
|
||||
# - /api/public/**
|
||||
|
||||
security:
|
||||
aes:
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: system-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
# 按你的实际库名改一下,比如 urban-lifeline_system
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline # 换成你的 PG 库名
|
||||
username: postgres # PG 用户
|
||||
password: postgres # PG 密码
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
try-it-out-enabled: true
|
||||
show-common-extensions: true
|
||||
show-extensions: true
|
||||
show-request-duration: true
|
||||
filter: true
|
||||
tags-sorter: alpha
|
||||
operations-sorter: alpha
|
||||
@@ -86,37 +35,10 @@ springdoc:
|
||||
display-name: '系统服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos 注册中心 ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-system
|
||||
qos-enable: false
|
||||
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1 # -1 表示随机端口,避免端口冲突;也可以写死一个端口
|
||||
|
||||
registry:
|
||||
# Nacos 注册中心地址:使用 docker-compose 中映射到宿主机的 8848 端口
|
||||
address: nacos://127.0.0.1:8848
|
||||
# 如果 Nacos 有用户名密码,可以加上:
|
||||
# username: nacos
|
||||
# password: nacos
|
||||
|
||||
# Dubbo 服务扫描包(你 @DubboService 标注的位置)
|
||||
scan:
|
||||
base-packages: org.xyzh.system.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
@@ -1,117 +0,0 @@
|
||||
# ================== Server ==================
|
||||
server:
|
||||
port: 8088
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/workcase
|
||||
|
||||
# ================== Auth ====================
|
||||
auth:
|
||||
enabled: true
|
||||
gate-way: true
|
||||
whitelist:
|
||||
- /swagger-ui/**
|
||||
- /swagger-ui.html
|
||||
- /v3/api-docs/**
|
||||
- /webjars/**
|
||||
- /favicon.ico
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
# 微信客服回调接口(无需鉴权)
|
||||
- /workcase/chat/kefu/callback
|
||||
# CRM回调接口(无需鉴权,但需签名验证)
|
||||
- /workcase/receive/crm
|
||||
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: workcase-service
|
||||
# 文件上传配置
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 500MB
|
||||
max-request-size: 500MB
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
database: 0
|
||||
# password: ""
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '工单服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-workcase
|
||||
qos-enable: false
|
||||
protocol:
|
||||
payload: 110100480
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
scan:
|
||||
base-packages: org.xyzh.workcase.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
|
||||
# ================== Jitsi Meet 视频会议配置 ==================
|
||||
jitsi:
|
||||
app:
|
||||
# 应用ID(必须与Docker配置中的JWT_APP_ID一致)
|
||||
id: urbanLifeline
|
||||
# JWT密钥(必须与Docker配置中的JWT_APP_SECRET一致)
|
||||
# 警告:生产环境请修改为强随机字符串,并妥善保管
|
||||
# 注意:HS256算法要求密钥长度至少32字节(256 bits)
|
||||
secret: urbanLifeline-jitsi-secret-key-2025-production-safe-hs256
|
||||
server:
|
||||
# Jitsi Meet服务器地址(独立子域名)
|
||||
url: https://org.xyzh.yslg.jitsi
|
||||
token:
|
||||
# JWT Token有效期(毫秒)- 默认2小时
|
||||
expiration: 7200000
|
||||
@@ -1,10 +1,17 @@
|
||||
# ================== Server ==================
|
||||
# ================== Workcase 工单服务配置 ==================
|
||||
server:
|
||||
port: 8188
|
||||
# servlet:
|
||||
# context-path: /urban-lifeline/workcase # 微服务架构下,context-path由Gateway管理
|
||||
port: 8088
|
||||
|
||||
# ================== Auth ====================
|
||||
spring:
|
||||
application:
|
||||
name: workcase-service
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 500MB
|
||||
max-request-size: 500MB
|
||||
|
||||
# ================== Auth ==================
|
||||
auth:
|
||||
enabled: true
|
||||
gateway-mode: true
|
||||
@@ -17,81 +24,32 @@ auth:
|
||||
- /error
|
||||
- /actuator/health
|
||||
- /actuator/info
|
||||
# 微信客服回调接口(无需鉴权)
|
||||
- /workcase/chat/kefu/callback
|
||||
# CRM回调接口(无需鉴权,但需签名验证)
|
||||
- /workcase/receive/crm
|
||||
|
||||
security:
|
||||
aes:
|
||||
# AES-256 密钥(Base64编码,必须与所有服务保持一致)
|
||||
# 警告:这是开发环境密钥,生产环境请使用密钥管理系统
|
||||
secret-key: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
|
||||
|
||||
# ================== Spring ==================
|
||||
spring:
|
||||
application:
|
||||
name: workcase-service
|
||||
|
||||
# ================== Spring Cloud Nacos ==================
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
namespace: dev
|
||||
group: DEFAULT_GROUP
|
||||
|
||||
# ================== DataSource ==================
|
||||
datasource:
|
||||
url: jdbc:postgresql://127.0.0.1:5432/urban_lifeline
|
||||
username: postgres
|
||||
password: postgres
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
# ================== Redis ==================
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1 # 如果是 docker 跑的 redis,按实际 host / 端口改
|
||||
port: 6379
|
||||
database: 0
|
||||
password: 123456 # 如果有密码就填上,没密码可以去掉这一行
|
||||
|
||||
# ================== SpringDoc ==================
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
path: /v3/api-docs
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /swagger-ui.html
|
||||
group-configs:
|
||||
- group: 'default'
|
||||
display-name: '工单服务 API'
|
||||
paths-to-match: '/**'
|
||||
|
||||
# ================== Dubbo + Nacos ==================
|
||||
# ================== Dubbo ==================
|
||||
dubbo:
|
||||
application:
|
||||
name: urban-lifeline-workcase
|
||||
qos-enable: false
|
||||
protocol:
|
||||
name: dubbo
|
||||
port: -1
|
||||
registry:
|
||||
address: nacos://127.0.0.1:8848
|
||||
payload: 110100480
|
||||
scan:
|
||||
base-packages: org.xyzh.workcase.service.impl
|
||||
|
||||
# ================== MyBatis ==================
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mapper/**/*.xml
|
||||
type-aliases-package: org.xyzh.common.dto, org.xyzh.api
|
||||
|
||||
# ================== Logging ==================
|
||||
logging:
|
||||
config: classpath:log4j2.xml
|
||||
charset:
|
||||
console: UTF-8
|
||||
file: UTF-8
|
||||
level:
|
||||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||||
# ================== Jitsi Meet 视频会议配置 ==================
|
||||
jitsi:
|
||||
app:
|
||||
id: ${JITSI_APP_ID:urbanLifeline}
|
||||
secret: ${JITSI_APP_SECRET:urbanLifeline-jitsi-secret-key-2025-production-safe-hs256}
|
||||
server:
|
||||
url: ${JITSI_SERVER_URL:https://org.xyzh.yslg.jitsi}
|
||||
token:
|
||||
expiration: 7200000
|
||||
|
||||
Reference in New Issue
Block a user