diff --git a/README.md b/README.md index b1c21bf..0af1778 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # demo-web-resource -10.0中标准的前端开发入口的插件接口demo。 -1、包含所有可扩展组件的demo; -2、包含所有文件类型、解析类型的demo; \ No newline at end of file +10.0中标准的前端开发入口的插件接口demo。 +####1、包含所有可扩展组件的demo; +####2、包含所有文件类型、解析类型的demo; \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..3d3e2c4 --- /dev/null +++ b/build.gradle @@ -0,0 +1,124 @@ + +apply plugin: 'java' + +[compileJava,compileTestJava]*.options*.encoding = 'UTF-8' + +ext { + /** + * 项目中依赖的jar的路径 + * 1.如果依赖的jar需要打包到zip中,放置在lib根目录下 + * 2.如果依赖的jar仅仅是编译时需要,防止在lib下子目录下即可 + */ + libPath = "$projectDir/../webroot/WEB-INF/lib" + + /** + * 是否对插件的class进行加密保护,防止反编译 + */ + guard = false + + def pluginInfo = getPluginInfo() + pluginPre = "fine-plugin" + pluginName = pluginInfo.id + pluginVersion = pluginInfo.version + + outputPath = "$projectDir/../webroot/WEB-INF/plugins/plugin-" + pluginName + "-1.0/classes" +} + +group = 'com.fr.plugin' +version = '10.0' +sourceCompatibility = '8' + +sourceSets { + main { + java.outputDir = file(outputPath) + output.resourcesDir = file(outputPath) + } +} + +ant.importBuild("encrypt.xml") +//定义ant变量 +ant.projectDir = projectDir +ant.references["compile.classpath"] = ant.path { + fileset(dir: libPath, includes: '**/*.jar') + fileset(dir: ".",includes:"**/*.jar" ) +} + +classes.dependsOn('clean') + +task copyFiles(type: Copy,dependsOn: 'classes'){ + from outputPath + into "$projectDir/classes" +} + +task preJar(type:Copy,dependsOn: guard ? 'compile_encrypt_javas' : 'compile_plain_javas'){ + from "$projectDir/classes" + into "$projectDir/transform-classes" + include "**/*.*" +} +jar.dependsOn("preJar") + +task makeJar(type: Jar,dependsOn: preJar){ + from fileTree(dir: "$projectDir/transform-classes") + baseName pluginPre + appendix pluginName + version pluginVersion + destinationDir = file("$buildDir/libs") + + doLast(){ + delete file("$projectDir/classes") + delete file("$projectDir/transform-classes") + } +} + +task copyFile(type: Copy,dependsOn: ["makeJar"]){ + from "$buildDir/libs" + from("$projectDir/lib") { + include "*.jar" + } + from "$projectDir/plugin.xml" + into file("$buildDir/temp/plugin") +} + +task zip(type:Zip,dependsOn:["copyFile"]){ + from "$buildDir/temp/plugin" + destinationDir file("$buildDir/install") + baseName pluginPre + appendix pluginName + version pluginVersion +} + +//控制build时包含哪些文件,排除哪些文件 +processResources { +// exclude everything +// 用*.css没效果 +// exclude '**/*.css' +// except this file +// include 'xx.xml' +} + +/*读取plugin.xml中的version*/ +def getPluginInfo(){ + def xmlFile = file("plugin.xml") + if (!xmlFile.exists()) { + return ["id":"none", "version":"1.0.0"] + } + def plugin = new XmlParser().parse(xmlFile) + def version = plugin.version[0].text() + def id = plugin.id[0].text() + return ["id":id,"version":version] +} + +repositories { + mavenLocal() + maven { + url = uri('http://mvn.finedevelop.com/repository/maven-public/') + } +} + +dependencies { + //使用本地jar + implementation fileTree(dir: 'lib', include: ['**/*.jar']) + implementation fileTree(dir: libPath, include: ['**/*.jar']) +} + + diff --git a/encrypt.xml b/encrypt.xml new file mode 100644 index 0000000..1401cd1 --- /dev/null +++ b/encrypt.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugin.xml b/plugin.xml new file mode 100644 index 0000000..ed9504d --- /dev/null +++ b/plugin.xml @@ -0,0 +1,32 @@ + + com.tptj.demo.hg.web.resource.v10 + + yes + 1.0 + 10.0 + tptj + 2019-07-18 + + + com.tptj.demo.hg.web.resource + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/tptj/demo/hg/web/resource/CommonDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/CommonDemo.java new file mode 100644 index 0000000..a843f34 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/CommonDemo.java @@ -0,0 +1,31 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.CommonComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 1.登录页访问时,在login.js加载之前会加载(即在 Material.KEY 之后 ) + * 2.进入平台主页面时加载,在平台自身主体JS加载之前(即在 Material.KEY 之后 ) + * 3.进入平台地图配置时加载,在地图编辑自身主体JS加载之前(即在 Material.KEY 之后 ) + * 4.http://localhost:8075/webroot/decision/directory + * 5.http://localhost:8075/webroot/decision/user + * 6.http://localhost:8075/webroot/decision/privilege + * 7.http://localhost:8075/webroot/decision/timer + * 8.http://localhost:8075/webroot/decision/workflow/authority + * 9.http://localhost:8075/webroot/decision/v10/migration/page + **/ +public class CommonDemo extends Demo { + + @Override + public Atom attach() { + return CommonComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("common"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/ConnectionDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/ConnectionDemo.java new file mode 100644 index 0000000..36b9ed7 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/ConnectionDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.ConnectionComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 数据源连接web组件扩展 + * 1.进入平台主页面时加载,在平台自身主体JS加载之后(即在 CommonComponent.KEY 之后 ) + **/ +public class ConnectionDemo extends Demo { + + @Override + public Atom attach() { + return ConnectionComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("connection"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/DataSetDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/DataSetDemo.java new file mode 100644 index 0000000..963fa3e --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/DataSetDemo.java @@ -0,0 +1,25 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.DataSetComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 服务器数据集web组件扩展 + * 1.进入平台主页面时加载,在平台自身主体JS加载之后(即在 CommonComponent.KEY 之后 ) + **/ +public class DataSetDemo extends Demo { + + @Override + public Atom attach() { + return DataSetComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("dataset"); + } +} + diff --git a/src/main/java/com/tptj/demo/hg/web/resource/DecisionDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/DecisionDemo.java new file mode 100644 index 0000000..3192f66 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/DecisionDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.MainComponent; +import com.fr.stable.ArrayUtils; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 1.进入平台主页面时加载,在平台自身主体JS加载之后(即在 CommonComponent.KEY 之后 ) + **/ +public class DecisionDemo extends Demo { + + @Override + public Atom attach() { + return MainComponent.KEY; + } + + @Override + public Atom[] clients() { + return ArrayUtils.addAll(demo("decision"),demoDynamic()); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/Demo.java b/src/main/java/com/tptj/demo/hg/web/resource/Demo.java new file mode 100644 index 0000000..b122da5 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/Demo.java @@ -0,0 +1,86 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.fun.impl.AbstractWebResourceProvider; +import com.fr.intelli.record.Focus; +import com.fr.record.analyzer.EnableMetrics; +import com.fr.web.struct.Atom; +import com.fr.web.struct.Component; +import com.fr.web.struct.browser.RequestClient; +import com.fr.web.struct.category.FileType; +import com.fr.web.struct.category.ParserType; +import com.fr.web.struct.category.ScriptPath; +import com.fr.web.struct.category.StylePath; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +@EnableMetrics +public abstract class Demo extends AbstractWebResourceProvider { + //Atom client() 接口已废弃,通过clients()兼容,以后的插件中全部都以clients实现 + + @Focus(id = "com.tptj.demo.hg.web.resource.v10",text = "WEB组件资源") + protected Atom[] demo(String ... names ){ + List rt = new ArrayList(names.length); + for( String name : names ){ + rt.add(new Component() { + @Override + public ScriptPath script(RequestClient client) { + return ScriptPath.build("com/tptj/demo/hg/web/resource/"+name+".js"); + } + @Override + public StylePath style(RequestClient client) { + return StylePath.build("com/tptj/demo/hg/web/resource/demo.css"); + } + }); + } + return rt.toArray(new Atom[names.length]); + } + + /** + * 组件中包含${}表达式的解析示例 + * @return + */ + protected Atom demoDynamic(){ + return new Component() { + @Override + public ScriptPath script(RequestClient client) { + return ScriptPath.build( "com/tptj/demo/hg/web/resource/dynamic.js", ParserType.DYNAMIC ); + } + @Override + public StylePath style(RequestClient client) { + return StylePath.build("com/tptj/demo/hg/web/resource/dynamic.css",ParserType.DYNAMIC); + } + }; + } + + /** + * 通过class把一个java类转换成js脚本的示例 + * @return + */ + protected Atom demoClass(){ + return new Component() { + @Override + public ScriptPath script(RequestClient client) { + return ScriptPath.build( JsClassDemo.class.getName(), FileType.CLASS ); + } + }; + } + + /** + * 通过class生成js脚本的简单示例 + * @return + */ + protected Atom demoSimpleClass(){ + return new Component() { + @Override + public ScriptPath script(RequestClient client) { + return ScriptPath.build( JsClassSimpleDemo.class.getName(), FileType.CLASS ); + } + }; + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/DeployDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/DeployDemo.java new file mode 100644 index 0000000..f6229c0 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/DeployDemo.java @@ -0,0 +1,23 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.DeployComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 服务器启动失效,部署失败时才有用的界面,没有什么插件场景会覆盖到。 + **/ +public class DeployDemo extends Demo { + + @Override + public Atom attach() { + return DeployComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("deploy"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/DirectoryDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/DirectoryDemo.java new file mode 100644 index 0000000..1391419 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/DirectoryDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.DirectoryComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * http://localhost:8075/webroot/decision/directory + **/ +public class DirectoryDemo extends Demo { + + @Override + public Atom attach() { + return DirectoryComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("directory"); + } +} + diff --git a/src/main/java/com/tptj/demo/hg/web/resource/EncryptionDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/EncryptionDemo.java new file mode 100644 index 0000000..91b318e --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/EncryptionDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.EncryptionComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 平台切换国密的时候才可能会用到,主要用于提示异常。绝大部分情况下应该是没啥用处的。 + * 1.http://localhost:8075/webroot/decision/v10/encryption/page + **/ +public class EncryptionDemo extends Demo { + + @Override + public Atom attach() { + return EncryptionComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("encryption"); + } +} \ No newline at end of file diff --git a/src/main/java/com/tptj/demo/hg/web/resource/FormDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/FormDemo.java new file mode 100644 index 0000000..5e66ee1 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/FormDemo.java @@ -0,0 +1,23 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.form.web.FormMainComponent; +import com.fr.stable.ArrayUtils; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 决策报表访问时生效 + **/ +public class FormDemo extends Demo { + @Override + public Atom attach() { + return FormMainComponent.KEY; + } + + @Override + public Atom[] clients() { + return ArrayUtils.addAll(demo("form"),demoDynamic()); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/InitializationDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/InitializationDemo.java new file mode 100644 index 0000000..c42023a --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/InitializationDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.InitializationComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 如果系统没有初始化的情况下,才会执行。 + * http://localhost:8075/webroot/decision/login/initialization + **/ +public class InitializationDemo extends Demo { + + @Override + public Atom attach() { + return InitializationComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("initialization"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/JsClassDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/JsClassDemo.java new file mode 100644 index 0000000..9e669e2 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/JsClassDemo.java @@ -0,0 +1,28 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.util.JavaScriptWriter; +import com.fr.gen.TextGenerator; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-10 + **/ +public class JsClassDemo implements TextGenerator { + @Override + public String text(HttpServletRequest request, HttpServletResponse response) throws Exception { + //可以将一个class里面的静态变量转换成JS配置的代码 + StringBuilder sb = JavaScriptWriter.write(new Class[]{JsConfigClass.class}, + "DemoCfg", + "Demo=window.Demo||{};Demo.Config=DemoCfg={};"); + return sb.toString(); + } + + @Override + public String mimeType() { + return "text/javascript"; + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/JsClassSimpleDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/JsClassSimpleDemo.java new file mode 100644 index 0000000..37eae68 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/JsClassSimpleDemo.java @@ -0,0 +1,25 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.gen.TextGenerator; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-10 + **/ +public class JsClassSimpleDemo implements TextGenerator { + @Override + public String text(HttpServletRequest request, HttpServletResponse response) throws Exception { + return "!(function () {\n" + + " console.info(\"JsClassSimpleDemo JS Running!\");\n" + + "})();"; + } + + @Override + public String mimeType() { + return "text/javascript"; + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/JsConfigClass.java b/src/main/java/com/tptj/demo/hg/web/resource/JsConfigClass.java new file mode 100644 index 0000000..3f1147f --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/JsConfigClass.java @@ -0,0 +1,21 @@ +package com.tptj.demo.hg.web.resource; + +import java.util.Date; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-10 + **/ +public class JsConfigClass { + public static String key1 = "asd"; + public static boolean key2 = false; + public static int key3 = 100; + public static class key4{ + public static String key1 = "asd"; + public static boolean key2 = false; + public static int key3 = 100; + //日期类的需要转换成文本或者数字存储! + public static long date = System.currentTimeMillis(); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/LoginDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/LoginDemo.java new file mode 100644 index 0000000..8dbe689 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/LoginDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.LoginComponent; +import com.fr.stable.ArrayUtils; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 1.登录页访问时,在login.js加载之后会加载(即在 CommonComponent.KEY 之后 ) + **/ +public class LoginDemo extends Demo { + + @Override + public Atom attach() { + return LoginComponent.KEY; + } + + @Override + public Atom[] clients() { + return ArrayUtils.addAll(demo("login"),demoDynamic(),demoClass(),demoSimpleClass()); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/MapEditDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/MapEditDemo.java new file mode 100644 index 0000000..7807ed5 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/MapEditDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.MapEditComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 地图编辑web组件扩展 + * 1.地图编辑打开时,在CommonComponent.KEY 之后执行MapEditComponent.KEY 再执行MapEditDemo + **/ +public class MapEditDemo extends Demo { + + @Override + public Atom attach() { + return MapEditComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("map.edit"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/MigrationDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/MigrationDemo.java new file mode 100644 index 0000000..fd3ea87 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/MigrationDemo.java @@ -0,0 +1,25 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.MigrationComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 数据库迁移组件web资源扩展 + * http://localhost:8075/webroot/decision/v10/migration/page + * 迁移过程中的效果页面可以修改 + **/ +public class MigrationDemo extends Demo { + + @Override + public Atom attach() { + return MigrationComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("migration"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/PrivilegeDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/PrivilegeDemo.java new file mode 100644 index 0000000..8fdcbfc --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/PrivilegeDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.PrivilegeComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 权限管理web组件扩展 + * 1.http://localhost:8075/webroot/decision/privilege + **/ +public class PrivilegeDemo extends Demo { + + @Override + public Atom attach() { + return PrivilegeComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("privilege"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/ReportDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/ReportDemo.java new file mode 100644 index 0000000..eb24f53 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/ReportDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.report.web.ReportMainComponent; +import com.fr.stable.ArrayUtils; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * cpt报表访问时引入JS + **/ +public class ReportDemo extends Demo { + + @Override + public Atom attach() { + return ReportMainComponent.KEY; + } + + @Override + public Atom[] clients() { + return ArrayUtils.addAll(demo("report"),demoDynamic()); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/ScheduleDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/ScheduleDemo.java new file mode 100644 index 0000000..52a0e3a --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/ScheduleDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.schedule.feature.ScheduleComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 定时调度WEB组件扩展——单独集成 + * http://localhost:8075/webroot/decision/timer + **/ +public class ScheduleDemo extends Demo { + + @Override + public Atom attach() { + return ScheduleComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("schedule"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/UserDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/UserDemo.java new file mode 100644 index 0000000..96b9da3 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/UserDemo.java @@ -0,0 +1,23 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.UserComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 1.http://localhost:8075/webroot/decision/user + **/ +public class UserDemo extends Demo { + + @Override + public Atom attach() { + return UserComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("user"); + } +} diff --git a/src/main/java/com/tptj/demo/hg/web/resource/WorkflowDemo.java b/src/main/java/com/tptj/demo/hg/web/resource/WorkflowDemo.java new file mode 100644 index 0000000..befc393 --- /dev/null +++ b/src/main/java/com/tptj/demo/hg/web/resource/WorkflowDemo.java @@ -0,0 +1,24 @@ +package com.tptj.demo.hg.web.resource; + +import com.fr.decision.web.WorkflowComponent; +import com.fr.web.struct.Atom; + +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + * 多级上报权限控制单独集成时有效 + * http://localhost:8075/webroot/decision/workflow/authority + **/ +public class WorkflowDemo extends Demo { + + @Override + public Atom attach() { + return WorkflowComponent.KEY; + } + + @Override + public Atom[] clients() { + return demo("workflow"); + } +} \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/common.js b/src/main/resources/com/tptj/demo/hg/web/resource/common.js new file mode 100644 index 0000000..e626f7d --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/common.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Common JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/connection.js b/src/main/resources/com/tptj/demo/hg/web/resource/connection.js new file mode 100644 index 0000000..9607725 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/connection.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Connection JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/dataset.js b/src/main/resources/com/tptj/demo/hg/web/resource/dataset.js new file mode 100644 index 0000000..91e9ff5 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/dataset.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("DataSet JS Is Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/decision.js b/src/main/resources/com/tptj/demo/hg/web/resource/decision.js new file mode 100644 index 0000000..6a86431 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/decision.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Decision JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/demo.css b/src/main/resources/com/tptj/demo/hg/web/resource/demo.css new file mode 100644 index 0000000..e69de29 diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/demo.png b/src/main/resources/com/tptj/demo/hg/web/resource/demo.png new file mode 100644 index 0000000..8986667 Binary files /dev/null and b/src/main/resources/com/tptj/demo/hg/web/resource/demo.png differ diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/deploy.js b/src/main/resources/com/tptj/demo/hg/web/resource/deploy.js new file mode 100644 index 0000000..fdb42ed --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/deploy.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Deploy JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/directory.js b/src/main/resources/com/tptj/demo/hg/web/resource/directory.js new file mode 100644 index 0000000..9eba43e --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/directory.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Directory JS Is Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/dynamic.css b/src/main/resources/com/tptj/demo/hg/web/resource/dynamic.css new file mode 100644 index 0000000..b6a4b8f --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/dynamic.css @@ -0,0 +1,3 @@ +body{ + background: url('${fineServletURL}/view/report?op=resource&resource=/com/tptj/demo/hg/web/resource/demo.png') +} \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/dynamic.js b/src/main/resources/com/tptj/demo/hg/web/resource/dynamic.js new file mode 100644 index 0000000..f91fd3f --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/dynamic.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-16 + **/ +!(function () { + console.info("${fineServletURL}"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/encryption.js b/src/main/resources/com/tptj/demo/hg/web/resource/encryption.js new file mode 100644 index 0000000..da11bd6 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/encryption.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Encryption JS Is Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/form.js b/src/main/resources/com/tptj/demo/hg/web/resource/form.js new file mode 100644 index 0000000..2372c31 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/form.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Form JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/initialization.js b/src/main/resources/com/tptj/demo/hg/web/resource/initialization.js new file mode 100644 index 0000000..35c1746 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/initialization.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Initialization JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/login.js b/src/main/resources/com/tptj/demo/hg/web/resource/login.js new file mode 100644 index 0000000..c8211eb --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/login.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Login JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/map.edit.js b/src/main/resources/com/tptj/demo/hg/web/resource/map.edit.js new file mode 100644 index 0000000..95c7439 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/map.edit.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Map.Edit JS Is Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/migration.js b/src/main/resources/com/tptj/demo/hg/web/resource/migration.js new file mode 100644 index 0000000..7469ae4 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/migration.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Migration JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/privilege.js b/src/main/resources/com/tptj/demo/hg/web/resource/privilege.js new file mode 100644 index 0000000..a6cf1ae --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/privilege.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Privilege JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/report.js b/src/main/resources/com/tptj/demo/hg/web/resource/report.js new file mode 100644 index 0000000..10285c3 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/report.js @@ -0,0 +1,10 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-08 + **/ +!(function () { + FR.test = function(){ + }; + console.info("Report JS Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/schedule.js b/src/main/resources/com/tptj/demo/hg/web/resource/schedule.js new file mode 100644 index 0000000..2fa5013 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/schedule.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Schedule JS Is Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/user.js b/src/main/resources/com/tptj/demo/hg/web/resource/user.js new file mode 100644 index 0000000..e45b022 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/user.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("User JS Is Running!"); +})(); \ No newline at end of file diff --git a/src/main/resources/com/tptj/demo/hg/web/resource/workflow.js b/src/main/resources/com/tptj/demo/hg/web/resource/workflow.js new file mode 100644 index 0000000..abd45f6 --- /dev/null +++ b/src/main/resources/com/tptj/demo/hg/web/resource/workflow.js @@ -0,0 +1,8 @@ +/** + * @author 秃破天际 + * @version 10.0 + * Created by 秃破天际 on 2021-03-09 + **/ +!(function () { + console.info("Workflow JS Is Running!"); +})(); \ No newline at end of file