Commit b88e3a1f authored by zydgitboox's avatar zydgitboox

Track 16 files into repository.

- untracked assets/mvn_archetype_plugin.png
- modified codeStyle.md
- modified git-guide.md
- modified liquibase-use.md
- modified project-create.md
- removed 前端组件/grid.md
- modified 前端组件/hlsDataSource.md
- modified 前端组件/hlsDatePicker.md
- untracked 前端组件/hlsGrid.md
- modified 前端组件/hlsMaskedTextBox.md
- modified 前端组件/hlsPage.md
- modified 前端组件/hlsTlEdit.md
- untracked 后端开发/database-config.md
- untracked 后端开发/database-init.md
- modified 框架功能描述/jad.md
- modified 融租易开发手册.md

Auto commit by GitBook Editor
parent a0edb5e8
......@@ -67,9 +67,9 @@ if(user.getStatus() == EXPIRED_USER_STATUS){
- **HlsClassName**
- **HlsNormalClass**
2. 数据库实体类一般与数据表名称相同并改为Pascal命名规则,**DTO**结尾,如:
- **SysUserDTO**
- **SysRoleDTO**
2. 数据库实体类一般与数据表名称相同并改为Pascal命名规则,如:
- **SysUser**
- **SysRole**
3. 抽象类命名使用**Abstract**开头,接口一般以 **I** 开头,Mybatis的mapper对象可不用 **I** 开头但必须使用**Mapper**结尾,如:
- **AbstractClass**
......
......@@ -30,7 +30,7 @@ git对文件的操作都是在四大域上进行的,文件可以在四大域
### 2. `clone`命令
***
- `git clone git@github.com:lavor-zl/Github-Git.git`:从远程服务器克隆一个仓库到本地
- `git clone git@github.com:lavor-zl/Github-Git.git`:从远程服务器克隆一个仓库到本地**如果gitlab发现pull或者push出现SSL问题,先在cmd执行git config --global http.sslVerify false**
## 3. 基本操作
***
......
......@@ -55,11 +55,100 @@ Liquibase 使用手册
> TL 表均为联合主键,没有自增长、sequence 等
参考示例:
在groovy中创建一张表
```groovy
import com.hand.hap.liquibase.MigrationHelper
def mhi = MigrationHelper.getInstance()
databaseChangeLog(logicalFilePath: "2016-09-26-init-migration.groovy") {
changeSet(author: "作者名", id: "日期-作者-表名") {
createTable(tableName: "HR_EMPLOYEE") {
column(autoIncrement: "true", startWith: "10001", name: "EMPLOYEE_ID", type: "BIGINT", remarks: "员工ID") {
constraints(nullable: "false", primaryKey: "true", primaryKeyName: "HR_EMPLOYEE_PK")
}
column(name: "EMPLOYEE_CODE", remarks: "员工编码", type: "VARCHAR(30)") {
constraints(nullable: "false", unique: "true", uniqueConstraintName: "HR_EMPLOYEE_U1")
}
column(name: "NAME", remarks: "员工姓名", type: "VARCHAR(50)") { constraints(nullable: "false") }
column(name: "BORN_DATE", remarks: "出生日期", type: "DATE")
column(name: "EMAIL", remarks: "电子邮件", type: "VARCHAR(50)")
column(name: "MOBIL", remarks: "移动电话", type: "VARCHAR(50)")
column(name: "JOIN_DATE", remarks: "入职日期", type: "DATE")
column(name: "GENDER", remarks: "性别", type: "VARCHAR(1)")
column(name: "CERTIFICATE_ID", remarks: "ID", type: "VARCHAR(100)") {
constraints(nullable: "false", unique: "true", uniqueConstraintName: "HR_EMPLOYEE_U2")
}
column(name: "STATUS", remarks: "状态", type: "VARCHAR(50)") { constraints(nullable: "false") }
column(name: "ENABLED_FLAG", remarks: "启用状态", type: "VARCHAR(1)", defaultValue: "Y") {
constraints(nullable: "false")
}
column(name: "OBJECT_VERSION_NUMBER", type: "BIGINT", defaultValue: "1")
column(name: "REQUEST_ID", type: "BIGINT", defaultValue: "-1")
column(name: "PROGRAM_ID", type: "BIGINT", defaultValue: "-1")
column(name: "CREATED_BY", type: "BIGINT", defaultValue: "-1")
column(name: "CREATION_DATE", type: "DATETIME", defaultValueComputed: "CURRENT_TIMESTAMP")
column(name: "LAST_UPDATED_BY", type: "BIGINT", defaultValue: "-1")
column(name: "LAST_UPDATE_DATE", type: "DATETIME", defaultValueComputed: "CURRENT_TIMESTAMP")
column(name: "LAST_UPDATE_LOGIN", type: "BIGINT", defaultValue: "-1")
}
}
}
```
**请注意保持脚本格式工整**
## 修改表结构
也是通过添加 changeSet, 顺序添加
修改表结构参考示例:
```groovy
package com.hand.hap.db
import com.hand.hap.liquibase.MigrationHelper
def mhi = MigrationHelper.getInstance()
dbType = MigrationHelper.getInstance().dbType()
databaseChangeLog(logicalFilePath: "patch.groovy") {
changeSet(author: "作者", id: "日期-作者-编号") {
/**
* 新增一列
*/
addColumn(tableName: "SYS_USER") {
column(name: "LAST_LOGIN_DATE", type: "datetime", remarks: "最后一次登录时间")
}
/**
* 修改列名
*/
renameColumn(tableName: "SYS_IF_CONFIG_LINE_TL", columnDataType: "VARCHAR(255)", oldColumnName: "HEADER_ID", newColumnName: "LINE_ID")
/**
* 添加唯一约束
*/
addUniqueConstraint(tableName: "SYS_IF_CONFIG_HEADER_B", columnNames: "INTERFACE_CODE", constraintName: "SYS_IF_CONFIG_HEADER_U1")
/**
* 添加默认值
*/
addDefaultValue(tableName: "SYS_USER", columnName: "FIRST_LOGIN", columnDataType: "varchar", defaultValue: "Y")
/**
* 添加索引
*/
createIndex(tableName: "SYS_RESOURCE_B", indexName: "SYS_RESOURCE_B_N1") {
column(name: "TYPE", type: "varchar(15)")
}
/**
* 可以使用groovy语句进行条件判断
* 修改数据类型
*/
if (true) {
modifyDataType(tableName: "FND_COMPANY_B", columnName: "COMPANY_FULL_NAME", newDataType: "varchar(250)")
}
}
}
```
## 初始数据
......@@ -135,6 +224,6 @@ patch.groovy 中即可以写 liquibase 命令, 也可以执行 sql 语句.
编写完毕以后,将补丁配置到 patch.groovy 中。
> 补丁将会是用的比较多的方式,主要是增加新的数据,由于主键是手动指定的,请注意不要与他人的重复,必须在本地测试过之后再commit。
*补丁数据的脚本编写可参考修改数据库的脚本*
......@@ -2,18 +2,69 @@
本章节将引导您从零开始,创建一个可以运行的 Demo 工程。此工程基于HEL融租易标准版,包含一个 demo 实例。
## 后端项目
### 确定项目信息
## 开发工具准备
- JDK 1.8 及以上
- IntelliJ IDEA 或 Eclipse
- Git
- redis 3.0 及以上
- maven 3.3 及以上
- Tomcat 7+ (**不支持 Tomcat 6**)
- 数据库(任选)
- Mysql server 5.6 及以上
- SqlServer 2012 及以上
- Oracle 9 以上
- Navicat Premium(或其他)
### 软件安装
#### Java 安装
1.[Oracle 官网 ](https://nodejs.orghttp://www.oracle.com/technetwork/cn/java/javase/downloads/index.html)下载对应平台的 JDK 1.8 以上的环境。
2. 本地执行安装文件,安装 JDK 环境。
3. Win 在环境变量系统变量中 path 配置 JDK 的环境变量指向 JDK 安装目录下 ` JDK/bin `
4. 配置完成后打开 cmd 执行 ` javac `,有提示则说明环境安装成功。
> eclipse 中 JRE 的配置需要指定 JDK 目录,不能是 JRE。(maven 需要 JDK)
#### Git 安装
1.[Git 官网 ](https://git-scm.com/download/)下载对应平台的 Git。
2. 本地执行安装文件, 安装 Git 环境。
3. Win 在环境变量中系统变量的 path 配置 Git 的环境变量指向 Git 安装目录下的 ` /bin `
4. 配置完成后打开 cmd 执行 ` git `,有提示则说明环境安装成功。
[Git简明教程](git_guide.md)
> 对于 Windows,安装 Git 以后,你可以在任意目录右键,`Git Bash Here`
> 打开的 MINGW 命令窗口可以执行 **兼容 linux 系统** 的命令,如`rm`,`ls` 等
#### Maven 安装
1.[Maven 官网 ](http://mirror.bit.edu.cn/apache/maven/)下载对应平台的合适的 maven 版本的压缩包。
2. 本地解压压缩包。
3. Win 在环境变量中系统变量的 path 配置 maven 的环境变量指向 maven 解压目录下的 ` /bin `
4. 配置完成后打开 cmd 执行 ` mvn -v `,有提示则说明环境安装成功。
#### Redis 安装
1.[Redis win 官网 ](https://github.com/MSOpenTech/redis/releases)下载最新的 redis 版本的压缩包。
2. 本地解压压缩包。
3. Win 在解压目录下打开 cmd 执行 ` redis-server.exe redis.windows.conf `,有提示则说明 Redis 已经启动。
4. Win 平台下如果启动失败,修改 redis.windows.conf 文件中的 maxheap 为 ` maxheap 1024000000 `
**注:** 开发需要依赖 Redis 环境,所以在启动后台程序时,请确保 Redis 已经启动,如redis需配置集群,[请参考Redis集群部署](/后端开发/redis.md)
* redis GUI 客户端下载 :http://redisdesktop.com/
* redis 命令手册:http://doc.redisfans.com/
* redis 清空缓存命令:flushall
> Mac, Linux 用户, 请到 http://redis.io 下载源码,编译安装
### 新建项目 (依赖融租易HEL1.0)
#### 确定项目信息
1. groupId 本项目的代号,比如融租易项目,代号为 hel
2. artifactId 本项目的顶层目录名称,使用项目代号(第一个字母大写) +Parent,如 HelParent
3. package 包名称,使用项目代号 + core ,如 Hel.core
4. archetypeVersion 是指模板项目的版本,可以使用以下版本号
> 1.0-RELEASE
### 新建项目 (融租易HEL1.0)
确定上述信息后,可以使用如下命令新建项目:
`注意` maven-archetype-plugin `2.4`及以下版本可以正常使用下面命令
......@@ -78,10 +129,12 @@ mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -D archetypeGr
### 确定本项目使用的数据库
> 目前已经测试过支持的数据库有Mysql,Oracle,SqlServer
> 按照[创建数据库](/后端开发/database-init.md)中的步骤创建数据库
> 请修改 `HelParent/core/src/main/java/hel/core/db/liquibase.groovy` 以适配不同的数据库
确定好数据库后,按照 [Oracle,MySql,Sqlserver数据库配置](database-config.md) 修改项目配置文件。
修改配置文件后,按照[创建数据库](database-init.md) 中的步骤创建数据库
### 修改项目配置文件
[修改项目配置文件](/后端开发/database-config.md)
### 编译整个项目
......@@ -90,8 +143,6 @@ mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -D archetypeGr
mvn clean install -Dmaven.test.skip=true
```
<a name="liquibase"> </a>
### 初始化数据库表结构及基础数据
在 HelParent 项目录下执行:
......@@ -109,11 +160,7 @@ mvn clean install -Dmaven.test.skip=true
```
mvn eclipse:eclipse
```
3. 将所有工程导入 IDE 工具(Eclipse,IntelliJ IDEA)中
4. 配置 Server ,配置 JNDI 数据源,参照[多数据库配置](chapter1.1.md)
- 需要 Tomcat 7+, 不支持 Tomcat 6
5. 将 hel 工程发布到 tomcat/webapps,运行
2. 将项目工程导入 IDE 工具(Eclipse,IntelliJ IDEA)中,并配置服务(tomcat等)后启动运行。
### 更新HEL依赖
......
# hlsDataSource标签
# hlsDataSource标签(数据源控件)
数据源组件hlsDataSource
......
# hlsDatePicker标签
# hlsDatePicker标签(时间控件)
日期选择器(不包含时分秒)
......
## Grid
## hlsGrid
#### 表格
......@@ -8,19 +8,19 @@
```xml
<!--h:为命名空间,必须要加的,grid为组件名;id可写可不写-->
<h:grid id="grid"/>
<h:hlsGrid id="grid"/>
```
```xml
<!--grid-->
<h:grid dataSource="dataSource" selectable="multiple, rowbox" editable="true">
<h:hlsGrid dataSource="dataSource" selectable="multiple, rowbox" editable="true">
<h:pageable pageSizes="5, 10, 20, 50" buttonCount="5" refresh="true">
</h:pageable>
<h:columns>
<h:column field="moduleCode" title='' width="100"/>
<h:column field="functionCode" title='' width="180"/>
</h:columns>
</h:grid>
</h:hlsGrid>
```
---
......@@ -137,17 +137,17 @@ function rowTemplate(){
```xml
<!--delimeter是Object类型-->
<h:grid>
<h:hlsGrid>
<h:allowCopy>
<h:delimeter />
</h:allowCopy>
</h:grid>
</h:hlsGrid>
<!--delimeter是String类型-->
<h:grid>
<h:hlsGrid>
<h:allowCopy delimeter=",">
</h:allowCopy>
</h:grid>
</h:hlsGrid>
```
#### **columns**子标签
......@@ -187,20 +187,20 @@ function rowTemplate(){
**attributes**用法:
```xml
<h:grid>
<h:hlsGrid>
<h:columns>
<h:column>
<h:attributes "style"="text-align:center"/>
</h:column>
</h:columns>
</h:grid>
</h:hlsGrid>
```
**command**用法:
```xml
<!--对于数组来说,有两种形式,一种是直接用逗号分隔,放在标签上的,如 aggregates;另一种是创建子标签,再创建item子标签,再将数组内的内容整合到item子标签上,如command,先创建command子标签,再创建item子标签,再将数组中的每一个集合放在item标签上-->
<h:grid>
<h:hlsGrid>
<h:columns aggregates="count,min,max">
<h:column template="fn:template"/>
<h:column field="functionId" width="30px/>
......@@ -211,7 +211,7 @@ function rowTemplate(){
</h:command>
</h:column>
</h:columns>
</h:grid>
</h:hlsGrid>
```
**editor**用法:
......@@ -223,19 +223,19 @@ function editor(){
```
```xml
<h:grid>
<h:hlsGrid>
<h:columns>
<h:column editor="editor">
</h:column>
</h:coulmns>
</h:grid>
</h:hlsGrid>
```
**filterable**用法:
```xml
<!--以filterable举例 遇到对象就向下添加子标签-->
<h:grid>
<h:hlsGrid>
<h:columns>
<h:column>
<h:filterable>
......@@ -243,19 +243,19 @@ function editor(){
</h:filterable>
</h:column>
</h:columns>
</h:grid>
</h:hlsGrid>
```
**headerAtrributes**用法:
```xml
<h:grid>
<h:hlsGrid>
<h:columns>
<h:column>
<h:headerAttributes "style"="color:red">
</h:column>
</h:columns>
</h:grid>
</h:hlsGrid>
```
#### **ColumnMenu**子标签
......@@ -270,11 +270,11 @@ function editor(){
用法:
```xml
<h:grid id="grid">
<h:hlsGrid id="grid">
<h:columnMenu columns="true" fileterable="false">
<h:messages columns="choose columns"/>
</h:columnMenu>
</h:grid >
</h:hlsGrid >
```
#### **editable**子标签
......@@ -292,11 +292,11 @@ function editor(){
用法:
```xml
<h:grid id="grid">
<h:hlsGrid id="grid">
<h:columnMenu columns="true" fileterable="false">
<h:messages columns="choose columns"/>
</h:columnMenu>
</h:grid >
</h:hlsGrid >
```
#### **pageable**子标签
......@@ -317,11 +317,11 @@ function editor(){
```xml
<!--pageSizes 为array时-->
<h:grid>
<h:hlsGrid>
<h:pageable pageSizes="all,5,10,20,50" buttonCount="5" refresh="true">
<h:messages display="show"/>
</h:pageable>
</h:grid>
</h:hlsGrid>
```
#### **messages**子标签
......@@ -334,11 +334,11 @@ function editor(){
用法:
```xml
<h:grid>
<h:hlsGrid>
<h:messages noRecords="no data">
<h:commands cancel="cancel"/>
</h:messages >
</h:grid>
</h:hlsGrid>
```
#### **noRecords**子标签
......@@ -350,10 +350,10 @@ function editor(){
用法:
```xml
<h:grid>
<h:hlsGrid>
<h:noRecords template="no records">
</h:noRecords>
</h:grid>
</h:hlsGrid>
```
#### **scrollable**子标签
......@@ -365,9 +365,9 @@ function editor(){
用法:
```xml
<h:grid>
<h:hlsGrid>
<h:scrollable virtual="true"/>
</h:grid>
</h:hlsGrid>
```
#### **sortable**子标签
......@@ -380,9 +380,9 @@ function editor(){
用法:
```xml
<h:grid>
<h:hlsGrid>
<h:sortable allowUnsort="true" mode="multiple"/>
</h:grid>
</h:hlsGrid>
```
#### **toolbar**子标签
......@@ -401,7 +401,7 @@ function template(){
```xml
<!--toolbar是数组 所以属性都是针对于数组内的集合来说的-->
<h:grid>
<h:hlsGrid>
<h:toolbar>
<h:item name="create">
<!--当template为String时,由于xml会对标签的封闭符号敏感,所以可以采取下面的方式-->
......@@ -410,7 +410,7 @@ function template(){
</h:template>
</h:item>
</h:toolbar>
</h:grid>
</h:hlsGrid>
```
> **提示**:
......
......@@ -50,8 +50,8 @@ function rules(){
```
```xml
<h:hlsMaskedTextBox id="hlsMaskedtTextBox" placeholder="hlsMaskedTextBox" prompt="hlsMaskedTextBox"
bind="model" bind="enabled: isEnabled, value:data.textBox">
<h:hlsMaskedTextBox id="hlsMaskedtTextBox" name="hlsMaskedtTextBox" placeholder="hlsMaskedTextBox" prompt="hlsMaskedTextBox"
bind="enabled: isEnabled, value:data.hlsMaskedtTextBox">
</h:hlsMaskedTextBox>
```
......
# hlsPage
# hlsPage(分页控件)
代码示例
......
## hlsTlEdit
## hlsTlEdit(多语言控件)
多语言编辑
......
# Oracle,MySql,Sqlserver数据库配置
## 配置文件
1. 服务数据源配置
* 融租易默认使用 JNDI 来配置数据源。数据源的配置独立于项目配置
* 默认使用的 JNDI name 为 `jdbc/hel_dev`
* tomcat 需要配置 context.xml:
- Mysql
```
<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hel" name="jdbc/hel_dev" type="javax.sql.DataSource" username="hel_dev" password="hel_dev"/>
```
- Oracle
```
<Resource auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" name="jdbc/hel_dev" type="javax.sql.DataSource" url="jdbc:oracle:thin:@127.0.0.1:1521:hel" username="hel_dev" password="hel_dev"/>
```
- SqlServer
```
<Resource auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1:1433; DatabaseName=hel" name="jdbc/hel_dev" type="javax.sql.DataSource" username="hel_dev" password="hel_dev"/>
```
* 其他[应用服务器weblogic](/框架功能描述/deployment.md)等,需要按其配置方法 配置 JNDI
2. 数据库数据源配置
> 融租易项目根目录的pom.xml中默认包含了 `Oracle`,`Mysql`,`SqlServer` 的 JDBC 驱动,一般不需要改动
* 修改 resources/config.properties
* 当数据库为 oracle 时
```
db.type=oracle
db.jndiName=java:comp/env/jdbc/hel_dev
mybatis.identity=SEQUENCE
```
* 当数据库为mysql时
```
db.type=mysql
db.jndiName=java:comp/env/jdbc/hel_dev
```
* 修改完毕后复制一份放到 resources/profiles/dev (覆盖)
3. redis服务配置
修改resources/config.properties:
* 配置单个redis的时候只需配置
```
redis.ip=172.20.0.115
redis.port=6379
redis.db=1
```
* 当配置redis集群时需配置
```
redis.useSentinel=true --为true时单个redis配置熟悉失效
redis.sentinel=\
10.86.20.183:26379,\
10.86.20.184:26379
```
# 新建数据库
# 1. 创建数据库-Mysql
> 在开始之前最好修改一下 MySQL的配置文件 my.cnf (or my.ini)
,在 [mysqld] 下添加
```
lower_case_table_names=1
character_set_server=utf8
max_connections=500
```
* 用管理员登陆mysql
* 创建数据库hel_dev
```sql
create schema hel_dev default character set utf8;
```
* 创建用户hel_dev,并将密码设置为hel_dev
```sql
CREATE USER hel_dev@'%' IDENTIFIED BY 'hel_dev';
CREATE USER hel_dev@'localhost' IDENTIFIED BY 'hel_dev';
```
* 将上面新建的hel_dev权限赋予用户hel
```sql
GRANT ALL PRIVILEGES ON hel_dev.* TO hel_dev@'%';
GRANT ALL PRIVILEGES ON hel_dev.* TO hel_dev@'localhost';
flush privileges;
```
# 2. 创建数据库-Oracle
* 使用管理员登陆
* 创建表空间
```sql
CREATE BIGFILE TABLESPACE tbs_perm_hel
DATAFILE 'tbs_perm_hel.dat'
SIZE 200M
AUTOEXTEND ON NEXT 20M MAXSIZE 500M;
```
```sql
CREATE TEMPORARY TABLESPACE tbs_temp_hel
TEMPFILE 'tbs_temp_hel.dbf'
SIZE 200M
AUTOEXTEND ON NEXT 20M MAXSIZE 500M;
```
* 创建用户 schema
```sql
CREATE USER hel_dev
IDENTIFIED BY hel_dev
DEFAULT TABLESPACE tbs_perm_hel
TEMPORARY TABLESPACE tbs_temp_hel
QUOTA 200M on tbs_perm_hel;
```
* 授权
```sql
GRANT create session TO hel_dev;
GRANT create table TO hel_dev;
GRANT create view TO hel_dev;
GRANT create any trigger TO hel_dev;
GRANT create any procedure TO hel_dev;
GRANT create sequence TO hel_dev;
GRANT create synonym TO hel_dev;
```
# 3. 创建数据库-sql server
* 使用管理员登陆
* 创建数据库
```sql
CREATE DATABASE hel_dev COLLATE Chinese_PRC_CI_AS;
```
* 创建用户 hel 并授权
```sql
sp_addlogin 'hel','hel_dev';
use hel_dev
go
sp_adduser 'hel_dev','hel_dev'
go
sp_addrolemember 'db_owner','hel'
go
```
\ No newline at end of file
......@@ -28,7 +28,7 @@
本系统支持Excel文件导出排队处理,支持超大数据量,能实时查询文件生成情况,支持取消导出。
#### 前端使用方法
调用js方法
* 方法一(针对grid)
```javascript
Hel.exportExcel=function(opts){
var contextPath =opts.contextPath,
......@@ -53,6 +53,32 @@
| dataSourceId | 数据源id |
| _csrf_token | 防跨域的token |
* 方式二(针对hlsPage)
```javascript
Hel.exportPageExcel({
contextPath:basePath,
param:{},
controller:"/acr/inf/index/excel/export",
fileName:"产品线",
pageConfig:[
{"name":"documentNumber","title":"单据编 号","width":260,"align":"","type":"string"},
{"name":"invoiceDate","title":"开票日期","align":"","type":"string"},
{"name":"invoiceKindDesc","title":"发票种类","width":160,"align":"center","type":"boolean"},
{"name":"bpName","title":"购货单位"},
]
});
```
| 参数名 | 描述 |
| --- | --- |
| contextPath | 项目上的url |
| param| 配合controller添加查询条件 |
| controller | 对应查询url |
| fileName | 文件名 |
| pageConfig | 导出字段名称及样式|
#### 后端使用方法
1. 在代码中注入Excel导出Service
......
......@@ -3,6 +3,7 @@
* [GitBook使用](/gitbook.md)
---
* I. 开发环境准备
* [1.1 Git 使用](/git-guide.md "git指令")
......@@ -18,13 +19,15 @@
* 2.3 Checkstyle
* III. 后端开发
* [3.1 后端开发说明(1.0)](/后端开发/dev-flow.md)
* [3.1 后端开发说明\(1.0\)](/后端开发/dev-flow.md)
* [3.2 用户安全策略](/后端开发/user-security-strategy.md)
* [3.3 审计](/后端开发/audit.md)
* [3.4 锁机制](/后端开发/lock.md)
* [3.5 日志管理](/后端开发/elk.md)
* [3.6 代码生成器](/后端开发/code-generator.md)
* [3.7 跨域访问](/后端开发/3.24-cors.md)
* [3.8 消息机制](/后端开发/消息机制.md)
* IV. 前端JavaScript开发
......@@ -35,34 +38,39 @@
* V. 前端UI开发
* [5.1 hlsCombobox(下拉框)](/前端组件/hlsCombobox.md)
* [5.2 hlsDataSource](/前端组件/hlsDataSource.md)
* [5.3 hlsMaskedTextBox](/前端组件/hlsMaskedTextBox.md)
* [5.4 hlsPage](/前端组件/hlsPage.md)
* [5.5 hlsTextArea](/前端组件/hlsTextArea.md)
* [5.6 hlsTlEdit](/前端组件/hlsTlEdit.md)
* [5.7 hlsDatePicker(日期选择框)](/前端组件/hlsDatePicker.md)
* [5.8 hlsDateTimePicker(时间选择框)](/前端组件/HlsDateTimePicker.md)
* [5.9 hlsLov(lov选择框)](/前端组件/HlsLov.md)
* [5.10 hlsToolBar(底部菜单栏)](/前端组件/HlsToolBar.md)
* [5.11 TabStrip(sheet页切换卡)](/前端组件/TabStrip.md)
* [5.12 hlsForm(表单)](/前端组件/hlsForm.md)
* [5.13 hlsCombobox](/前端组件/HlsCombobox.md)
* [5.14 hlsCheckBox(复选框)](/前端组件/HlsCheckBox.md)
* [5.15 Grid](/前端组件/Grid.md)
* [5.16 DataSource](/前端组件/DataSource.md)
* [5.17 hlsGridBox](/前端组件/hlsGridBox.md)
* [5.18 NumericTextBx](/前端组件/NumericTextBox.md)
* [5.19 HlsNavigationBar](/前端组件/HlsNavigationBar.md)
* [5.1 hlsCombobox\(下拉框\)](/前端组件/hlsCombobox.md)
* [5.2 hlsDataSource\(数据源\)](/前端组件/hlsDataSource.md)
* [5.3 hlsMaskedTextBox\(文本框\)](/前端组件/hlsMaskedTextBox.md)
* [5.4 hlsPage\(分页控件\)](/前端组件/hlsPage.md)
* [5.5 hlsTextArea\(文本域\)](/前端组件/hlsTextArea.md)
* [5.6 hlsTlEdit\(多语言\)](/前端组件/hlsTlEdit.md)
* [5.7 hlsDatePicker\(日期选择框\)](/前端组件/hlsDatePicker.md)
* [5.8 hlsDateTimePicker\(时间选择框\)](/前端组件/hlsDateTimePicker.md)
* [5.9 hlsLov\(lov选择框\)](/前端组件/hlsLov.md)
* [5.10 hlsToolBar\(底部菜单栏\)](/前端组件/hlsToolBar.md)
* [5.11 TabStrip\(sheet页切换卡\)](/前端组件/tabStrip.md)
* [5.12 hlsForm\(表单\)](/前端组件/hlsForm.md)
* [5.13 hlsCombobox\(下拉框\)](/前端组件/hlsCombobox.md)
* [5.14 hlsCheckBox\(复选框\)](/前端组件/hlsCheckBox.md)
* [5.15 hlsGrid\(表格\)](/前端组件/hlsGrid.md)
* [5.16 dataSource\(数据源\)](/前端组件/dataSource.md)
* [5.17 hlsGridBox\(表格\)](/前端组件/hlsGridBox.md)
* [5.18 hlsNumericTextBox\(数字框\)](/前端组件/hlsNumericTextBox.md)
* [5.19 hlsNavigationBar\(导航栏\)](/前端组件/hlsNavigationBar.md)
* VI. 框架功能描述
* [6.1 计划任务](/框架功能描述/计划任务.md)
* [6.2 RabbitMq消息队列](/后端开发/RabbitMq消息队列.md)
* [6.3 应用服务部署(tomcat/weblogic)](/框架功能描述/deployment.md)
* [6.3 应用服务部署\(tomcat/weblogic\)](/框架功能描述/deployment.md)
* [6.4 合同文本生成](/框架功能描述/docx4j.md)
* [6.5 Excel导入导出](/框架功能描述/jad.md)
* [6.6 redis安装和部署](/后端开发/redis.md)
* [6.7 工作流功能说明](/后端开发/activiti-helper.md)
* [6.8 工作流开发指南](/后端开发/activiti.md)
* [6.9 工作流demo](/后端开发/activiti_demo.md)
* [6.10 流程设计](/后端开发/activiti_editor_helper.md)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment