88 changed files with 653 additions and 6146 deletions
@ -1,38 +0,0 @@ |
|||
:doctype: book |
|||
:backend: html5 |
|||
:toc: right |
|||
:toc-title: 目录 |
|||
:toclevels: 5 |
|||
:sectnums: |
|||
:sectnumlevels: 5 |
|||
:sectanchors: |
|||
:appendix-caption: 附录 |
|||
|
|||
:linkcss: |
|||
:webfonts!: |
|||
|
|||
:icons: font |
|||
:iconfont-remote!: |
|||
|
|||
:source-highlighter: highlightjs |
|||
:highlightjsdir: ./resources/highlightjs |
|||
|
|||
:imagesdir: ./resources/images |
|||
:stylesdir: ./resources/styles |
|||
:scriptsdir: ./resources/javascript |
|||
|
|||
:docinfodir: ./resources/docinfo |
|||
:docinfo: shared |
|||
|
|||
= 示例文档 |
|||
author <author@163.com> |
|||
2023-08-01 : 迭代中 |
|||
|
|||
|
|||
本文档是一个示例文档。 |
|||
|
|||
include::introduction/introduction.adoc[leveloffset=+1] |
|||
|
|||
|
|||
|
|||
|
@ -1,2 +0,0 @@ |
|||
= 简介 |
|||
这是一个示例文档 |
@ -1,3 +0,0 @@ |
|||
pre code, pre pre { |
|||
font-size: 13px; |
|||
} |
@ -1,8 +0,0 @@ |
|||
<script src="./resources/javascript/tocbot.min.js"></script> |
|||
<script> |
|||
tocbot.init({ |
|||
tocSelector: '#toc', |
|||
contentSelector: '#content', |
|||
headingSelector: 'h1, h2, h3, h4, h5' |
|||
}); |
|||
</script> |
@ -1,5 +0,0 @@ |
|||
<link rel="stylesheet" href="./resources/styles/tocbot.css"/> |
|||
<link rel="stylesheet" href="./resources/styles/framework.css"/> |
|||
<!-- 自定义样式 --> |
|||
<link rel="stylesheet" href="./resources/css/customize.css"/> |
|||
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -1,99 +0,0 @@ |
|||
/* |
|||
|
|||
github.com style (c) Vasily Polovnyov <vast@whiteants.net> |
|||
|
|||
*/ |
|||
|
|||
.hljs { |
|||
display: block; |
|||
overflow-x: auto; |
|||
padding: 0.5em; |
|||
color: #333; |
|||
background: #f8f8f8; |
|||
} |
|||
|
|||
.hljs-comment, |
|||
.hljs-quote { |
|||
color: #998; |
|||
font-style: italic; |
|||
} |
|||
|
|||
.hljs-keyword, |
|||
.hljs-selector-tag, |
|||
.hljs-subst { |
|||
color: #333; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.hljs-number, |
|||
.hljs-literal, |
|||
.hljs-variable, |
|||
.hljs-template-variable, |
|||
.hljs-tag .hljs-attr { |
|||
color: #008080; |
|||
} |
|||
|
|||
.hljs-string, |
|||
.hljs-doctag { |
|||
color: #d14; |
|||
} |
|||
|
|||
.hljs-title, |
|||
.hljs-section, |
|||
.hljs-selector-id { |
|||
color: #900; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.hljs-subst { |
|||
font-weight: normal; |
|||
} |
|||
|
|||
.hljs-type, |
|||
.hljs-class .hljs-title { |
|||
color: #458; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.hljs-tag, |
|||
.hljs-name, |
|||
.hljs-attribute { |
|||
color: #000080; |
|||
font-weight: normal; |
|||
} |
|||
|
|||
.hljs-regexp, |
|||
.hljs-link { |
|||
color: #009926; |
|||
} |
|||
|
|||
.hljs-symbol, |
|||
.hljs-bullet { |
|||
color: #990073; |
|||
} |
|||
|
|||
.hljs-built_in, |
|||
.hljs-builtin-name { |
|||
color: #0086b3; |
|||
} |
|||
|
|||
.hljs-meta { |
|||
color: #999; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.hljs-deletion { |
|||
background: #fdd; |
|||
} |
|||
|
|||
.hljs-addition { |
|||
background: #dfd; |
|||
} |
|||
|
|||
.hljs-emphasis { |
|||
font-style: italic; |
|||
} |
|||
|
|||
.hljs-strong { |
|||
font-weight: bold; |
|||
} |
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
@ -1,8 +0,0 @@ |
|||
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{color:black;} |
|||
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:black;} |
|||
p{text-indent: 0em;} |
|||
li p,td p{text-indent: 0em;} |
|||
table tr td{padding:4px;} |
|||
td.tableblock>.content>:last-child { |
|||
margin-bottom: 0em; |
|||
} |
@ -1 +0,0 @@ |
|||
.toc{overflow-y:auto}.toc>ul{overflow:hidden;position:relative}.toc>ul li{list-style:none}.toc-list{margin:0;padding-left:10px}a.toc-link{color:currentColor;height:100%}.is-collapsible{max-height:1000px;overflow:hidden;transition:all 300ms ease-in-out}.is-collapsed{max-height:0}.is-position-fixed{position:fixed !important;top:0}.is-active-link{font-weight:700}.toc-link::before{background-color:#EEE;content:' ';display:inline-block;height:inherit;left:0;margin-top:-1px;position:absolute;width:2px}.is-active-link::before{background-color:#54BC4B} |
@ -1 +0,0 @@ |
|||
sourceSets.main.resources.srcDir 'dist' |
@ -1,45 +0,0 @@ |
|||
欢迎使用应用平台 gradle 插件! |
|||
|
|||
用法: gradle [taskName] [args...] |
|||
|
|||
其中 args 格式: --argName1=argValue1 --argName2=argValue2 |
|||
|
|||
其中 taskName 包括: |
|||
use 显示帮助信息 |
|||
setup 安装根项目(适用: 根项目) |
|||
createApp 创建应用(适用: 根项目) |
|||
--group 所属组名称 (可选,默认: io.sc) |
|||
--name 应用名称 (必选) |
|||
示例: gradle createApp --group=org.group --name=app.sample |
|||
|
|||
createModule 创建子模块(适用: 根项目) |
|||
--group 所属组名称 (可选,默认: io.sc) |
|||
--name 模块名称 (必选) |
|||
示例: gradle createModule --name=io.sc.sample.commons |
|||
|
|||
createDoc 创建 asciidoc 文档子模块(适用: 根项目) |
|||
--group 所属组名称 (可选,默认: io.sc) |
|||
--name 模块名称 (必选) |
|||
示例: gradle createDoc --name=io.sc.sample.doc |
|||
|
|||
addDoc 为当前子模块添加 asciidoc 文档功能(适用: 子模块) |
|||
示例: gradle addDoc |
|||
|
|||
updateDoc 更新 asciidoc 的默认配置和资源(适用: 根项目) |
|||
示例: gradle updateDoc |
|||
|
|||
createWs 创建 webservice 子模块(适用: 根项目) |
|||
--group 所属组名称 (可选,默认: io.sc) |
|||
--name 模块名称 (必选) |
|||
示例: gradle createWs --name=io.sc.sample.ws |
|||
|
|||
createFrontEnd 创建前端子模块(适用: 根项目) |
|||
--group 所属组名称 (可选,默认: io.sc) |
|||
--name 模块名称 (必选) |
|||
示例: gradle createFrontEnd --name=io.sc.sample.frontend |
|||
|
|||
addEntity 为当前子模块添加数据库实体类(适用: 子模块) |
|||
--package 实体类所在包名称 (可选,默认: 子模块名称) |
|||
--name 实体类名称 (必选) |
|||
--cname 实体类中文名称 (可选,默认: 实体类名称) |
|||
示例: gradle addEntity --package=io.sc.sample.entity --name=User --cname=用户 |
@ -1,5 +0,0 @@ |
|||
dependencies { |
|||
api( |
|||
"io.sc:io.sc.platform.mvc:${platform_version}", |
|||
) |
|||
} |
@ -1,25 +0,0 @@ |
|||
/* |
|||
* 应用属性插件配置 |
|||
* 功能: 该插件配置为框架提供 application.properties 中的配置项, 这样可以让配置项分散到各个子模块中。 |
|||
* 使用说明: |
|||
* module: 配置项所属模块,通常为模块的名称 |
|||
* order: 配置项顺序 |
|||
* description: 配置项描述, 在 application.properties 文件中以注释体现 |
|||
* properties: 属性配置列表 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
[ |
|||
{ |
|||
"module" : "io.sc.platform.coe", |
|||
"order" : 150, |
|||
"description": "application configuration", |
|||
"properties": [ |
|||
"application.audit-log-mode = none", |
|||
"#application.audit-log-mode = log", |
|||
"#application.audit-log-mode = database" |
|||
] |
|||
} |
|||
] |
|||
*/ |
@ -1,16 +0,0 @@ |
|||
/* |
|||
* 自动组件扫描插件配置 |
|||
* 功能: 该插件配置为框架提供自动扫描组件的包名,配置的包名将会自动被 spring 进行扫描 |
|||
* 使用说明: |
|||
* includes: 包含自动扫描的包名列表 |
|||
* excludes: 排除自动扫描的包名列表 |
|||
* 注意: 当一个包名同时存在于 includes 和 excludes 中, excludes 优先, 即该包不会被自动扫描 |
|||
*/ |
|||
|
|||
{ |
|||
"includes":[ |
|||
"${appName}.controller", |
|||
"${appName}.service.impl" |
|||
], |
|||
"excludes":[] |
|||
} |
@ -1,17 +0,0 @@ |
|||
/* |
|||
* 自动创建目录插件配置 |
|||
* 功能: 该插件配置为框架提供自动创建目录功能 |
|||
* 使用说明: |
|||
* name : 目录的名称, 开发者可通过 DirectoryManager.getInstance().getByName(name) 获取实际目录 |
|||
* path : 目录的相对路径,相对于应用 home 目录 |
|||
* autoCreate : 是否自动创建 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
[ |
|||
{"name":"dir.config" ,"path":"/config" ,"autoCreate":true}, |
|||
{"name":"dir.log" ,"path":"/logs" ,"autoCreate":true}, |
|||
{"name":"dir.work" ,"path":"/work" ,"autoCreate":true} |
|||
] |
|||
*/ |
@ -1,25 +0,0 @@ |
|||
/* |
|||
* json 序列化器和反序列化器插件配置 |
|||
* 功能: 该插件配置为框架提供 json 序列化器和反序列化器插件配置 |
|||
* 使用说明: |
|||
* className: 目标类名 |
|||
* serializer: 序列化器类名 |
|||
* deserializer: 反序列化器类名 |
|||
*/ |
|||
|
|||
|
|||
/* 示例 */ |
|||
/* |
|||
[ |
|||
{ |
|||
"className" : "java.util.Date", |
|||
"serializer" : "io.sc.platform.coe.autoconfigure.support.DateJsonSerializer", |
|||
"deserializer" : "io.sc.platform.coe.autoconfigure.support.DateJsonDeserializer" |
|||
}, |
|||
{ |
|||
"className" : "java.time.Instant", |
|||
"serializer" : "io.sc.platform.coe.autoconfigure.support.InstantJsonSerializer", |
|||
"deserializer" : "io.sc.platform.coe.autoconfigure.support.InstantJsonDeserializer" |
|||
} |
|||
] |
|||
*/ |
@ -1,25 +0,0 @@ |
|||
/* |
|||
* 数据库建表 Liquibase ChangeLog XML 插件配置 |
|||
* 功能: 该插件配置为框架提供数据库无关的建表脚本 |
|||
* 使用说明: |
|||
* category: 建表脚本分类,可能的值包括: |
|||
* install : 系统安装时自动执行 |
|||
* order: 执行顺序 |
|||
* description: 描述信息 |
|||
* locations: 建表 liquibase changelog xml 文件位置 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
[ |
|||
{ |
|||
"category" : "install", |
|||
"order" : 100, |
|||
"description":"授权与认证相关数据库表结构", |
|||
"locations":[ |
|||
"liquibase/PF_9.0.0_20230222__Security_DDL.xml", |
|||
"liquibase/PF_9.0.0_20230223__Security_DDL.xml" |
|||
] |
|||
} |
|||
] |
|||
*/ |
@ -1,16 +0,0 @@ |
|||
/* |
|||
* 国际化消息源插件配置 |
|||
* 功能: 该插件配置为框架提供国际化消息资源 |
|||
* 使用说明: |
|||
* includes: 包含国际化消息资源列表 |
|||
* excludes: 排除国际化消息资源列表 |
|||
* 注意: 当一个包名同时存在于 includes 和 excludes 中, excludes 优先, 即该包不会被自动扫描 |
|||
*/ |
|||
|
|||
|
|||
{ |
|||
"includes":[ |
|||
"${packagePath}/i18n/messages" |
|||
], |
|||
"excludes":[] |
|||
} |
@ -1,15 +0,0 @@ |
|||
/* |
|||
* p6spy 插件配置 |
|||
* 功能: 该插件配置为框架提供 p6spy 配置 |
|||
* 使用说明: |
|||
* ignoredPatterns: 忽略显示 jdbc 输出信息正则表达式列表 |
|||
*/ |
|||
|
|||
/* 以下示例将不显示 p6spy 输出的 commit */ |
|||
/* |
|||
{ |
|||
"ignoredPatterns":[ |
|||
"commit" |
|||
] |
|||
} |
|||
*/ |
@ -1,37 +0,0 @@ |
|||
/* |
|||
* 系统参数插件配置 |
|||
* 功能说明: 该插件配置为框架提供系统参数配置 |
|||
* 使用说明: |
|||
* id: 参数唯一标识 |
|||
* parentId: 父唯一标识, 用于进行参数分类 |
|||
* code: 参数代码, 应用可通过该代码获取参数值 |
|||
* defaultValue: 默认值 |
|||
* order: 排序 |
|||
* options: 选项值 map, key 表示值, value 表示显示值 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
[ |
|||
{"id":"parameter.system","order":0}, |
|||
{ |
|||
"id" : "parameter.system.indexPageTemplate", |
|||
"parentId" : "parameter.system", |
|||
"code" : "parameter.system.indexPageTemplate", |
|||
"defaultValue" : "io.sc.platform.mvc.frontend.html", |
|||
"order" : 200 |
|||
}, |
|||
{"id":"parameter.system.ui","parentId":"parameter.system","order":1000}, |
|||
{ |
|||
"id" : "parameter.system.ui.theme", |
|||
"parentId" : "parameter.system.ui", |
|||
"code" : "parameter.system.ui.theme", |
|||
"defaultValue" : "light", |
|||
"order" : 800, |
|||
"options" :{ |
|||
"light" : "#{parameter.system.ui.theme.light}", |
|||
"dark" : "#{parameter.system.ui.theme.dark}" |
|||
} |
|||
} |
|||
] |
|||
*/ |
@ -1,16 +0,0 @@ |
|||
/* |
|||
* 自动 JPA 扫描插件配置 |
|||
* 功能: 该插件配置为框架提供自动扫描 JPA 组件的包名 |
|||
* 使用说明: |
|||
* includes: 包含自动扫描的包名成列表 |
|||
* excludes: 排除自动扫描的包名成列表 |
|||
* 注意: 当一个包名同时存在于 includes 和 excludes 中, excludes 优先, 即该包不会被自动扫描 |
|||
*/ |
|||
|
|||
{ |
|||
"includes":[ |
|||
"${appName}.jpa.entity", |
|||
"${appName}.jpa.repository" |
|||
], |
|||
"excludes":[] |
|||
} |
@ -1,20 +0,0 @@ |
|||
/* |
|||
* 自动重启属性插件配置 |
|||
* 功能: 当配置的属性发生变化时,系统会自动重启(如果应用运行在独立的 web 容器中时, 需手工重启) |
|||
* 使用说明: |
|||
* 匹配规则: startWith |
|||
* container: 在容器中运行时需要重启的属性列表 |
|||
* jar: 通过 jar 直接运行时需要重启的属性列表 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
{ |
|||
"container":[ |
|||
"spring.security." |
|||
], |
|||
"jar": [ |
|||
"spring.security." |
|||
] |
|||
} |
|||
*/ |
@ -1,15 +0,0 @@ |
|||
/* |
|||
* 认证插件配置 |
|||
* 功能: 该插件配置为框架提供不对某些资源进行认证的功能 |
|||
* 使用说明: |
|||
* permitPatterns : 不进行安全认证检查的 url 模式, 采用 ant path 格式配置 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
{ |
|||
"permitPatterns":[ |
|||
"/io.sc.platform.coe/**" |
|||
] |
|||
} |
|||
*/ |
@ -1,19 +0,0 @@ |
|||
/** |
|||
* swagger 配置 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
[ |
|||
{ |
|||
"groupName" : "io.sc.platform.mvc", |
|||
"title" : "平台 MVC", |
|||
"description": "平台 MVC 文档", |
|||
"termsOfServiceUrl" : "", |
|||
"version": "1.0", |
|||
"basePackages":[ |
|||
"io.sc.platform.mvc.controller" |
|||
] |
|||
} |
|||
] |
|||
*/ |
@ -1,14 +0,0 @@ |
|||
/* |
|||
* 系统属性插件配置 |
|||
* 功能: 该插件配置为框架提供在启动时自动注册系统属性功能(执行 System.setProperty()) |
|||
* 使用说明: |
|||
* key : 属性名 |
|||
* value : 属性值 |
|||
*/ |
|||
|
|||
/* 示例 */ |
|||
/* |
|||
{ |
|||
"h2.dbname.default" : "DB_PLATFORM" |
|||
} |
|||
*/ |
@ -1,5 +0,0 @@ |
|||
dependencies { |
|||
api( |
|||
"io.sc:io.sc.platform.webservice.ws.cxf:${platform_version}" |
|||
) |
|||
} |
@ -1,16 +0,0 @@ |
|||
package ${packageName}.service; |
|||
|
|||
import javax.jws.WebMethod; |
|||
import javax.jws.WebParam; |
|||
import javax.jws.WebResult; |
|||
import javax.jws.WebService; |
|||
|
|||
import ${packageName}.service.vo.Greeting; |
|||
|
|||
@WebService(serviceName = "InfoService") |
|||
public interface InfoService { |
|||
@WebMethod() |
|||
@WebResult(name = "Greeting") |
|||
public Greeting sayHello(@WebParam(name = "GreetingsRequest") String name); |
|||
} |
|||
|
@ -1,24 +0,0 @@ |
|||
package ${packageName}.service.impl; |
|||
|
|||
import java.util.Date; |
|||
import java.util.Locale; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.context.MessageSource; |
|||
import org.springframework.stereotype.Service; |
|||
import ${packageName}.service.InfoService; |
|||
import ${packageName}.service.vo.Greeting; |
|||
|
|||
@Service |
|||
public class InfoServiceImpl implements InfoService{ |
|||
//注入 spring bean |
|||
@Autowired MessageSource messageSource; |
|||
|
|||
@Override |
|||
public Greeting sayHello(String name) { |
|||
Greeting greeting = new Greeting(); |
|||
greeting.setMessage("Hello " + name + "! welcome to use " + messageSource.getMessage("application.title", null, Locale.getDefault())); |
|||
greeting.setDate(new Date()); |
|||
return greeting; |
|||
} |
|||
} |
@ -1,27 +0,0 @@ |
|||
package ${packageName}.service.vo; |
|||
|
|||
import java.util.Date; |
|||
|
|||
import javax.xml.bind.annotation.XmlAccessType; |
|||
import javax.xml.bind.annotation.XmlAccessorType; |
|||
import javax.xml.bind.annotation.XmlRootElement; |
|||
|
|||
@XmlAccessorType(XmlAccessType.FIELD) |
|||
@XmlRootElement(name="Greeting") |
|||
public class Greeting { |
|||
private String message; |
|||
private Date date; |
|||
|
|||
public String getMessage() { |
|||
return message; |
|||
} |
|||
public void setMessage(String message) { |
|||
this.message = message; |
|||
} |
|||
public Date getDate() { |
|||
return date; |
|||
} |
|||
public void setDate(Date date) { |
|||
this.date = date; |
|||
} |
|||
} |
@ -1,6 +0,0 @@ |
|||
{ |
|||
"includes":[ |
|||
"${appName}.service.impl" |
|||
], |
|||
"excludes":[] |
|||
} |
@ -1,18 +0,0 @@ |
|||
/* |
|||
* jax-ws webservice贡献项配置示例 |
|||
* 功能: 该贡献项配置为框架提供基于 jax-ws 形式的 webservice 服务 |
|||
* 使用说明: |
|||
* publish: webservice 发布URL,以"/" 开头,最终的发布 url 为: application.properties 中配置的 cxf.path + publish |
|||
* 例如: 假设 publish=/InfoService,cxf.path=/webservices |
|||
* 那么最终的 webservice url 为: /webservices/InfoService |
|||
* wsdl url 为: /webservices/InfoService?wsdl |
|||
* beanName: webservice 服务实现的 spring bean 名,如果同时指定 beanName 和 beanClass,那么 beanName 优先 |
|||
* beanClass: webservice 服务实现的 spring bean 类名(可以是接口,也可以是实现类) |
|||
*/ |
|||
[ |
|||
{ |
|||
"publish":"/InfoService", |
|||
"beanClass":"${appName}.service.impl.InfoServiceImpl" |
|||
} |
|||
] |
|||
|
Loading…
Reference in new issue