diff --git a/.gitignore b/.gitignore
index 7b249e0..d91e065 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,48 +1,5 @@
-# ---> JetBrains
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
-
*.iml
-
-## Directory-based project format:
.idea/
-# if you remove the above rule, at least ignore the following:
-
-# User-specific stuff:
-# .idea/workspace.xml
-# .idea/tasks.xml
-# .idea/dictionaries
-
-# Sensitive or high-churn files:
-# .idea/dataSources.ids
-# .idea/dataSources.xml
-# .idea/sqlDataSources.xml
-# .idea/dynamic.xml
-# .idea/uiDesigner.xml
-
-# Gradle:
-# .idea/gradle.xml
-# .idea/libraries
-
-# Mongo Explorer plugin:
-# .idea/mongoSettings.xml
-
-## File-based project format:
-*.ipr
-*.iws
-
-## Plugin-specific files:
-
-# IntelliJ
-/out/
-
-# mpeltonen/sbt-idea plugin
-.idea_modules/
-
-# JIRA plugin
-atlassian-ide-plugin.xml
-
-# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
-crashlytics.properties
-crashlytics-build.properties
-
+lib/report/*.jar
+.DS_Store
+.classpath
\ No newline at end of file
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..31bb36d
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/lib/report/.gitkeep b/lib/report/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/plugin.xml b/plugin.xml
new file mode 100644
index 0000000..768103f
--- /dev/null
+++ b/plugin.xml
@@ -0,0 +1,21 @@
+
+
+ com.fr.plugin.login.event
+
+ yes
+ 1.0
+ 10.0~
+ 2018-12-14
+ author
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..0dad20e
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,18 @@
+
+
+ 4.0.0
+
+
+ com.fr.plugin
+ starter
+ 10.0
+
+ jar
+ demo-simple-config
+
+
+ ${project.basedir}/../webroot/WEB-INF/plugins/plugin-com.fr.plugin.login.event-1.0/classes
+
+
\ No newline at end of file
diff --git a/src/main/resources/com/fr/plugin/decision/demo.js b/src/main/resources/com/fr/plugin/decision/demo.js
new file mode 100644
index 0000000..30875e4
--- /dev/null
+++ b/src/main/resources/com/fr/plugin/decision/demo.js
@@ -0,0 +1,138 @@
+!(function () {
+ BI.config("dec.user.setting.authentications", function (items) {
+ items.push({
+ value: "Enterprise_WeChat", // value 值
+ text: "企业微信认证", // 认证方式名,需国际化
+ "@class": "com.fr.decision.webservice.bean.authentication.EnterpriseWeChatAuthentication", // 不知干什么的,反正要有啦
+ component: {
+ type: "dec.plugin.enterprise_weChat_authentication"
+ }
+ });
+ return items;
+ });
+ // 自定义的component组件接受configs props,需要实现getValue方法读取配置
+
+ var WIDTH = 125;
+
+ var Demo = BI.inherit(BI.Widget, {
+
+ props: {
+ baseCls: "",
+ configs: {
+ CorpID: "",
+ secret: "",
+ showWay: ""
+ }
+ },
+
+ render: function () {
+ var self = this, o = this.options;
+ return {
+ type: "bi.vertical",
+ bgap: 15,
+ items: [
+ {
+ type: "bi.vertical_adapt",
+ items: [
+ {
+ type: "bi.layout",
+ width: WIDTH
+ }, {
+ type: "bi.label",
+ textAlign: "left",
+ cls: "dec-font-weight-bold",
+ text: "CorpID:",
+ width: 100
+ }, {
+ type: "bi.editor",
+ ref: function (_ref) {
+ self.CorpID = _ref;
+ },
+ width: 400,
+ height: 24,
+ watermark: "",
+ value: o.configs.CorpID
+ }
+ ]
+ }, {
+ type: "bi.htape",
+ height: 300,
+ items: [
+ {
+ type: "bi.layout",
+ width: WIDTH
+ }, {
+ type: "bi.vertical",
+ items: [
+ {
+ type: "bi.label",
+ textAlign: "left",
+ cls: "dec-font-weight-bold",
+ text: "secret:"
+ }
+ ],
+ width: 100
+ }, {
+ type: "bi.textarea_editor",
+ cls: "bi-border",
+ ref: function (_ref) {
+ self.secret = _ref;
+ },
+ width: 400,
+ height: 300,
+ watermark: "",
+ value: o.configs.secret
+ }
+ ]
+ }, {
+ type: "bi.htape",
+ height: 300,
+ items: [
+ {
+ type: "bi.layout",
+ width: WIDTH
+ }, {
+ type: "bi.vertical",
+ items: [
+ {
+ type: "bi.label",
+ textAlign: "left",
+ cls: "dec-font-weight-bold",
+ text: "显示方式:"
+ }
+ ],
+ width: 100
+ }, {
+ type: "bi.text_value_combo",
+ ref: function (_ref) {
+ self.showWay = _ref;
+ },
+ items: [
+ {
+ text: "1",
+ value: "1"
+ }, {
+ text: "2",
+ value: "2"
+ }
+ ],
+ width: 400,
+ value: o.configs.showWay
+ }
+ ]
+ }
+ ]
+
+ };
+ },
+
+ getValue: function () {
+ return {
+ CorpID: this.CorpID.getValue(),
+ secret: this.secret.getValue(),
+ showWay: this.showWay.getValue()[0]
+ };
+ }
+ });
+ BI.shortcut("dec.plugin.enterprise_weChat_authentication", Demo);
+})();
\ No newline at end of file