修复了注册前API没有实例化的问题(在设置新IP后要求用户重新启动APP);修复了注册后新用户首次登录时反复加载通知的BUG【注册时使用getNews将通知状态全部修改成已阅】
No files matched your search
@@ -6,7 +6,12 @@
|
||||
</artifacts-to-build>
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="f2ca1002-1ec5-49f3-ab6f-fb7dec9c9e4d" name="Default Changelist" comment="" />
|
||||
<list default="true" id="f2ca1002-1ec5-49f3-ab6f-fb7dec9c9e4d" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/ndn/pib.db" beforeDir="false" afterPath="$PROJECT_DIR$/ndn/pib.db" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/out/production/classes/cn/minoa/view/login/RegisterOverviewController.class" beforeDir="false" afterPath="$PROJECT_DIR$/out/production/classes/cn/minoa/view/login/RegisterOverviewController.class" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java" afterDir="false" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<ignored path="$PROJECT_DIR$/.gradle/" />
|
||||
<ignored path="$PROJECT_DIR$/build/" />
|
||||
@@ -80,18 +85,19 @@
|
||||
<session id="-17715935">
|
||||
<usages-collector id="statistics.lifecycle.project">
|
||||
<counts>
|
||||
<entry key="project.closed" value="11" />
|
||||
<entry key="project.closed" value="12" />
|
||||
<entry key="project.open.time.15" value="2" />
|
||||
<entry key="project.open.time.17" value="1" />
|
||||
<entry key="project.open.time.18" value="4" />
|
||||
<entry key="project.open.time.19" value="2" />
|
||||
<entry key="project.open.time.2" value="1" />
|
||||
<entry key="project.open.time.20" value="4" />
|
||||
<entry key="project.open.time.21" value="2" />
|
||||
<entry key="project.open.time.22" value="1" />
|
||||
<entry key="project.open.time.22" value="2" />
|
||||
<entry key="project.open.time.24" value="1" />
|
||||
<entry key="project.open.time.26" value="1" />
|
||||
<entry key="project.open.time.3" value="1" />
|
||||
<entry key="project.opened" value="18" />
|
||||
<entry key="project.opened" value="21" />
|
||||
</counts>
|
||||
</usages-collector>
|
||||
<usages-collector id="statistics.file.extensions.open">
|
||||
@@ -101,9 +107,9 @@
|
||||
<entry key="css" value="14" />
|
||||
<entry key="fxml" value="23" />
|
||||
<entry key="gradle" value="7" />
|
||||
<entry key="java" value="181" />
|
||||
<entry key="java" value="189" />
|
||||
<entry key="png" value="5" />
|
||||
<entry key="properties" value="7" />
|
||||
<entry key="properties" value="8" />
|
||||
<entry key="txt" value="2" />
|
||||
<entry key="xml" value="1" />
|
||||
</counts>
|
||||
@@ -114,10 +120,10 @@
|
||||
<entry key="CSS" value="14" />
|
||||
<entry key="Groovy" value="7" />
|
||||
<entry key="Image" value="5" />
|
||||
<entry key="JAVA" value="181" />
|
||||
<entry key="JAVA" value="189" />
|
||||
<entry key="Manifest" value="1" />
|
||||
<entry key="PLAIN_TEXT" value="2" />
|
||||
<entry key="Properties" value="7" />
|
||||
<entry key="Properties" value="8" />
|
||||
<entry key="XML" value="24" />
|
||||
</counts>
|
||||
</usages-collector>
|
||||
@@ -126,18 +132,18 @@
|
||||
<entry key="MF" value="92" />
|
||||
<entry key="fxml" value="4" />
|
||||
<entry key="gradle" value="438" />
|
||||
<entry key="java" value="16501" />
|
||||
<entry key="properties" value="87" />
|
||||
<entry key="java" value="17779" />
|
||||
<entry key="properties" value="91" />
|
||||
<entry key="txt" value="89" />
|
||||
</counts>
|
||||
</usages-collector>
|
||||
<usages-collector id="statistics.file.types.edit">
|
||||
<counts>
|
||||
<entry key="Groovy" value="438" />
|
||||
<entry key="JAVA" value="16501" />
|
||||
<entry key="JAVA" value="17779" />
|
||||
<entry key="Manifest" value="92" />
|
||||
<entry key="PLAIN_TEXT" value="89" />
|
||||
<entry key="Properties" value="87" />
|
||||
<entry key="Properties" value="91" />
|
||||
<entry key="XML" value="4" />
|
||||
</counts>
|
||||
</usages-collector>
|
||||
@@ -151,39 +157,72 @@
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="344">
|
||||
<caret line="518" selection-start-line="517" selection-end-line="518" />
|
||||
<state relative-caret-position="414">
|
||||
<caret line="67" column="19" lean-forward="true" selection-start-line="67" selection-start-column="19" selection-end-line="67" selection-end-column="19" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="25">
|
||||
<caret line="482" column="4" lean-forward="true" selection-start-line="482" selection-start-column="4" selection-end-line="482" selection-end-column="4" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="25">
|
||||
<caret line="241" column="37" lean-forward="true" selection-start-line="241" selection-start-column="37" selection-end-line="241" selection-end-column="37" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#12524#14633#0" expanded="true" />
|
||||
<element signature="e#14632#14633#0" expanded="true" />
|
||||
<element signature="e#16114#18988#0" expanded="true" />
|
||||
<element signature="e#18987#18988#0" expanded="true" />
|
||||
<element signature="e#19260#19261#0" expanded="true" />
|
||||
<element signature="e#19327#19328#0" expanded="true" />
|
||||
<element signature="e#22979#22980#0" expanded="true" />
|
||||
<element signature="e#23004#23005#0" expanded="true" />
|
||||
<element signature="e#45500#45501#0" expanded="true" />
|
||||
<element signature="e#45556#45557#0" expanded="true" />
|
||||
<element signature="e#45995#45996#0" expanded="true" />
|
||||
<element signature="e#46021#46022#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="344">
|
||||
<caret line="40" column="14" lean-forward="true" selection-start-line="40" selection-start-column="14" selection-end-line="40" selection-end-column="14" />
|
||||
<state>
|
||||
<caret line="94" column="12" lean-forward="true" selection-start-line="94" selection-start-column="12" selection-end-line="94" selection-end-column="13" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#7117#7118#0" expanded="true" />
|
||||
<element signature="e#7155#7156#0" expanded="true" />
|
||||
<element signature="e#7249#7250#0" expanded="true" />
|
||||
<element signature="e#7295#7296#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/DateUtil.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="750">
|
||||
<caret line="34" selection-start-line="34" selection-end-line="34" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/StringByteLengthUtil.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="625">
|
||||
<caret line="25" column="5" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
@@ -196,10 +235,6 @@
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>初始化</find>
|
||||
<find>详细信息</find>
|
||||
<find>201</find>
|
||||
<find>getReim</find>
|
||||
<find>getDataSlice</find>
|
||||
<find>6</find>
|
||||
<find>通知</find>
|
||||
@@ -226,6 +261,10 @@
|
||||
<find>uploadFileDialogStage</find>
|
||||
<find>下载</find>
|
||||
<find>上传</find>
|
||||
<find>getData</find>
|
||||
<find>new Min</find>
|
||||
<find>关闭</find>
|
||||
<find>getNewsJ</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
@@ -681,15 +720,15 @@
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyEmailController.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/fxml/login/SetttingOverview.fxml" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/db/settings.properties" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java" />
|
||||
<option value="$PROJECT_DIR$/ndn/settings.properties" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/SettingOverviewController.java" />
|
||||
<option value="$PROJECT_DIR$/build.gradle" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/util/StringByteLengthUtil.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyCloudFileController.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/SettingOverviewController.java" />
|
||||
<option value="$PROJECT_DIR$/ndn/settings.properties" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -757,7 +796,6 @@
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="AndroidView" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
@@ -776,6 +814,11 @@
|
||||
<item name="build" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="libs" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Demo_gradle_javafx11_01" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="Demo_gradle_javafx11_01" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="ndn" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Demo_gradle_javafx11_01" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="Demo_gradle_javafx11_01" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
@@ -809,17 +852,28 @@
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="minoa" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="dataRequestInterface" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="view" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Demo_gradle_javafx11_01" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="Demo_gradle_javafx11_01" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="minoa" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="view" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="login" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="AndroidView" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="SearchEverywhereHistoryKey" value="reformat	ACTION	ReformatCode file	ACTION	ChangeFileEncodingAction" />
|
||||
<property name="SearchEverywhereHistoryKey" value="format	ACTION	ReformatCode reformat	ACTION	ReformatCode file	ACTION	ChangeFileEncodingAction" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1584199200309" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib/sqlite-jdbc-3.30.1.jar" />
|
||||
@@ -863,6 +917,7 @@
|
||||
</component>
|
||||
<component name="RunManager" selected="Application.Main">
|
||||
<configuration name="Main" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
<output_file path="$PROJECT_DIR$/../Log_IDEA_consoleOutput" is_save="true" />
|
||||
<option name="MAIN_CLASS_NAME" value="cn.minoa.Main" />
|
||||
<module name="Demo_gradle_javafx11_01_main" />
|
||||
<extension name="coverage">
|
||||
@@ -987,17 +1042,19 @@
|
||||
<workItem from="1584098799418" duration="56000" />
|
||||
<workItem from="1584099184067" duration="17334000" />
|
||||
<workItem from="1584165733316" duration="27492000" />
|
||||
<workItem from="1584207475214" duration="960000" />
|
||||
<workItem from="1584250295185" duration="5980000" />
|
||||
<workItem from="1584256348421" duration="8218000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="214054000" />
|
||||
<option name="totallyTimeSpent" value="229212000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.4977029" visible="true" weight="0.3494705" />
|
||||
<window_info content_ui="combo" id="Project" order="0" sideWeight="0.4977029" visible="true" weight="0.21255673" />
|
||||
<window_info id="Structure" order="1" sideWeight="0.5022971" side_tool="true" weight="0.30542988" />
|
||||
<window_info id="Designer" order="2" />
|
||||
<window_info id="Image Layers" order="3" />
|
||||
@@ -1006,7 +1063,7 @@
|
||||
<window_info id="Capture Tool" order="6" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" weight="0.32874617" />
|
||||
<window_info anchor="bottom" id="Run" order="2" visible="true" weight="0.27093595" />
|
||||
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.63054186" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.39901477" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
@@ -1023,7 +1080,7 @@
|
||||
<window_info anchor="right" id="Palette" order="3" />
|
||||
<window_info anchor="right" id="Capture Analysis" order="4" />
|
||||
<window_info anchor="right" id="Maven Projects" order="5" weight="0.3295626" />
|
||||
<window_info anchor="right" id="Gradle" order="6" visible="true" weight="0.15885022" />
|
||||
<window_info anchor="right" id="Gradle" order="6" weight="0.15885022" />
|
||||
<window_info anchor="right" id="Database" order="7" weight="0.18683812" />
|
||||
<window_info anchor="right" id="Palette	" order="8" />
|
||||
<window_info anchor="right" id="Theme Preview" order="9" />
|
||||
@@ -1072,20 +1129,13 @@
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/message/MessageListController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="475">
|
||||
<caret line="29" column="31" selection-start-line="29" selection-start-column="31" selection-end-line="29" selection-end-column="31" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/ReimbursementApplyOverview.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
<caret line="8" selection-start-line="8" selection-end-line="8" />
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/ReimbursementApply.css">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -1102,12 +1152,12 @@
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/WrittenReimbursementDetails.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="164">
|
||||
<caret line="23" column="127" lean-forward="true" selection-start-line="23" selection-start-column="127" selection-end-line="23" selection-end-column="127" />
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/ReimbursementDeal.css">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -1117,12 +1167,12 @@
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/ReimbursementDealOverview.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="250">
|
||||
<caret line="10" column="45" lean-forward="true" selection-start-line="10" selection-start-column="45" selection-end-line="10" selection-end-column="45" />
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/home/HomeListController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -1132,16 +1182,16 @@
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/SingleReimbursementDetails.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="313">
|
||||
<caret line="20" column="23" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/home/DealSingleReimbursement.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/OrderInfo.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
@@ -1192,13 +1242,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/DateUtil.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="265">
|
||||
<caret line="17" column="43" selection-start-line="17" selection-start-column="43" selection-end-line="17" selection-end-column="43" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/Tool.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="150">
|
||||
@@ -1269,55 +1312,27 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenNoticeController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="25">
|
||||
<caret line="43" column="30" lean-forward="true" selection-start-line="43" selection-start-column="30" selection-end-line="43" selection-end-column="30" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/login/SetttingOverview.fxml" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/login/SettingOverview.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="137">
|
||||
<caret line="36" column="30" selection-start-line="36" selection-start-column="30" selection-end-line="36" selection-end-column="30" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyNoticeController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="102">
|
||||
<caret line="54" column="20" lean-forward="true" selection-start-line="54" selection-start-column="20" selection-end-line="54" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/fxml/login/RegisterOverview.fxml">
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="275">
|
||||
<caret line="11" column="31" lean-forward="true" selection-start-line="11" selection-start-column="31" selection-end-line="11" selection-end-column="31" />
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="JavaFX-Scene-Builder" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/resources/images/setting_gear.png">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/out/production/resources/db/settings.properties" />
|
||||
<entry file="file://$PROJECT_DIR$/ndn/settings.properties">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="125">
|
||||
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/SettingOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="263">
|
||||
<caret line="13" column="7" lean-forward="true" selection-start-line="13" selection-start-column="7" selection-end-line="13" selection-end-column="7" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/Main.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="200">
|
||||
@@ -1325,20 +1340,10 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="750">
|
||||
<caret line="42" column="8" selection-start-line="42" selection-start-column="8" selection-end-line="42" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyEmailController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="9000">
|
||||
<caret line="380" column="24" selection-start-line="380" selection-start-column="24" selection-end-line="380" selection-end-column="24" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -1356,13 +1361,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/StringByteLengthUtil.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="249">
|
||||
<caret line="22" column="60" selection-start-line="22" selection-start-column="60" selection-end-line="22" selection-end-column="60" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/NewFolderDialogController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="150">
|
||||
@@ -1374,10 +1372,6 @@
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="130">
|
||||
<caret line="554" column="18" selection-start-line="554" selection-start-column="18" selection-end-line="554" selection-end-column="18" />
|
||||
<folding>
|
||||
<element signature="e#22927#22928#0" expanded="true" />
|
||||
<element signature="e#22966#22967#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
@@ -1388,16 +1382,6 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="116">
|
||||
<caret line="336" column="10" selection-start-line="336" selection-start-column="10" selection-end-line="336" selection-end-column="10" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/DataCacheQueue.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="246">
|
||||
@@ -1420,38 +1404,104 @@
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/ndn/settings.properties">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="100">
|
||||
<caret line="4" column="22" selection-start-line="4" selection-start-column="22" selection-end-line="4" selection-end-column="22" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/WrittenNoticeController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2350">
|
||||
<caret line="112" column="24" selection-start-line="112" selection-start-column="24" selection-end-line="112" selection-end-column="24" />
|
||||
<folding>
|
||||
<element signature="e#3115#3116#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/MyNoticeController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1075">
|
||||
<caret line="47" selection-start-line="47" selection-end-line="47" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/DateUtil.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="750">
|
||||
<caret line="34" selection-start-line="34" selection-end-line="34" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/util/StringByteLengthUtil.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="625">
|
||||
<caret line="25" column="5" selection-start-line="25" selection-start-column="5" selection-end-line="25" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/MainApp.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="344">
|
||||
<caret line="518" selection-start-line="517" selection-end-line="518" />
|
||||
<state relative-caret-position="414">
|
||||
<caret line="67" column="19" lean-forward="true" selection-start-line="67" selection-start-column="19" selection-end-line="67" selection-end-column="19" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/mine/SingleNoticeDetailsController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="87">
|
||||
<caret line="36" selection-start-line="36" selection-end-line="36" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/SettingOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="32">
|
||||
<caret line="241" column="28" selection-start-line="241" selection-start-column="28" selection-end-line="241" selection-end-column="28" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#12524#14633#0" expanded="true" />
|
||||
<element signature="e#14632#14633#0" expanded="true" />
|
||||
<element signature="e#16114#18988#0" expanded="true" />
|
||||
<element signature="e#18987#18988#0" expanded="true" />
|
||||
<element signature="e#19260#19261#0" expanded="true" />
|
||||
<element signature="e#19327#19328#0" expanded="true" />
|
||||
<element signature="e#22979#22980#0" expanded="true" />
|
||||
<element signature="e#23004#23005#0" expanded="true" />
|
||||
<element signature="e#45500#45501#0" expanded="true" />
|
||||
<element signature="e#45556#45557#0" expanded="true" />
|
||||
<element signature="e#45995#45996#0" expanded="true" />
|
||||
<element signature="e#46021#46022#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/dataRequestInterface/MinoaDataAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="344">
|
||||
<caret line="40" column="14" lean-forward="true" selection-start-line="40" selection-start-column="14" selection-end-line="40" selection-end-column="14" />
|
||||
<state relative-caret-position="25">
|
||||
<caret line="241" column="37" lean-forward="true" selection-start-line="241" selection-start-column="37" selection-end-line="241" selection-end-column="37" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/LoginOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="25">
|
||||
<caret line="482" column="4" lean-forward="true" selection-start-line="482" selection-start-column="4" selection-end-line="482" selection-end-column="4" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/cn/minoa/view/login/RegisterOverviewController.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret line="94" column="12" lean-forward="true" selection-start-line="94" selection-start-column="12" selection-end-line="94" selection-end-column="13" />
|
||||
<folding>
|
||||
<element signature="e#7117#7118#0" expanded="true" />
|
||||
<element signature="e#7155#7156#0" expanded="true" />
|
||||
<element signature="e#7249#7250#0" expanded="true" />
|
||||
<element signature="e#7295#7296#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#\u4FEE\u6539\u914D\u7F6E\u6587\u4EF6
|
||||
#Sat Mar 14 22:37:55 CST 2020
|
||||
#Sun Mar 15 14:23:27 CST 2020
|
||||
ServerIPAddress=121.15.171.89
|
||||
DataPackagePrefix=/ndn/edu/pkusz/OA
|
||||
ServerPortAddress=6363
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
@@ -38,7 +38,6 @@ import javafx.fxml.FXMLLoader;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Group;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.ProgressBar;
|
||||
@@ -146,7 +145,7 @@ public class MainApp extends Application {
|
||||
loadSettingProperties();
|
||||
// 初始化一些数据
|
||||
dataReqId = (long) 0;
|
||||
// minoaDataAPI = new MinoaDataAPI(this);
|
||||
minoaDataAPI = new MinoaDataAPI(this);
|
||||
messageLogMap = new TreeMap<String, ObservableList<SingleMessage>>();
|
||||
iniNotReadMessageListWhenLogin = new NotReadMessageList();
|
||||
notReadMessageList = new NotReadMessageList();
|
||||
|
||||
@@ -882,7 +882,7 @@ public class MinoaDataAPI {
|
||||
@Override
|
||||
public void onData(Interest interest, Data data) {
|
||||
int contentSize = data.getContent().size();
|
||||
System.out.println("该通知的数据块分片长度为:" + contentSize);
|
||||
System.out.println("该大数据传输的数据块分片长度为:" + contentSize);
|
||||
byte[] content = new byte[contentSize];
|
||||
for (int i = 0; i < contentSize; i++) {
|
||||
content[i] = data.getContent().buf().get(i);
|
||||
|
||||
@@ -89,7 +89,7 @@ public class LoginOverviewController {
|
||||
@FXML
|
||||
private void handleLogin() {
|
||||
// 实例化
|
||||
mainApp.minoaDataAPI = new MinoaDataAPI(mainApp);
|
||||
// mainApp.minoaDataAPI = new MinoaDataAPI(mainApp);
|
||||
// 登录验证
|
||||
String loginString = getLoginJsonString();
|
||||
boolean isRight = checkPass(loginString);
|
||||
|
||||
@@ -11,168 +11,303 @@ import javafx.scene.control.TextField;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.stage.Stage;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
public class RegisterOverviewController {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private MainApp mainApp;
|
||||
@SuppressWarnings("unused")
|
||||
private Stage dialogStage;
|
||||
|
||||
@FXML
|
||||
private TextField nickname;
|
||||
@FXML
|
||||
private PasswordField passwordField1;
|
||||
@FXML
|
||||
private PasswordField passwordField2;
|
||||
@FXML
|
||||
private TextField phoneNumber;
|
||||
@FXML
|
||||
private TextField verifyCode;
|
||||
@FXML
|
||||
private ImageView miniLogo;
|
||||
@SuppressWarnings("unused")
|
||||
private MainApp mainApp;
|
||||
@SuppressWarnings("unused")
|
||||
private Stage dialogStage;
|
||||
|
||||
public RegisterOverviewController() {
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void initialize() {
|
||||
@FXML
|
||||
private TextField nickname;
|
||||
@FXML
|
||||
private PasswordField passwordField1;
|
||||
@FXML
|
||||
private PasswordField passwordField2;
|
||||
@FXML
|
||||
private TextField phoneNumber;
|
||||
@FXML
|
||||
private TextField verifyCode;
|
||||
@FXML
|
||||
private ImageView miniLogo;
|
||||
|
||||
public RegisterOverviewController() {
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void initialize() {
|
||||
// 在fxml被载入时候被自动调用
|
||||
miniLogo.setImage(new Image("file:resources/images/logo_mini.png"));
|
||||
nickname.setPromptText("请输入一个系统新昵称...");
|
||||
phoneNumber.setPromptText("请输入白名单中的手机号...");
|
||||
verifyCode.setPromptText("预留功能,不需要输入。");
|
||||
}
|
||||
miniLogo.setImage(new Image("file:resources/images/logo_mini.png"));
|
||||
nickname.setPromptText("请输入一个系统新昵称...");
|
||||
phoneNumber.setPromptText("请输入白名单中的手机号...");
|
||||
verifyCode.setPromptText("预留功能,不需要输入。");
|
||||
verifyCode.setDisable(true);
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
@FXML
|
||||
private void handleRegister(){
|
||||
if(isRightContent()) {
|
||||
// 请求数据
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
ResponseData responseData = new ResponseData();
|
||||
Long seqLong = mainApp.getNewDataReqId();
|
||||
orderInfo.setSeq(seqLong);
|
||||
orderInfo.setJsonString(getRegisterJson());
|
||||
System.out.println("getRegisterJson: " + orderInfo.getJsonString());
|
||||
mainApp.minoaDataAPI.executeOrder("/register", orderInfo);
|
||||
responseData = mainApp.minoaDataAPI.dataCacheQueue.getResponseDataBySeq(seqLong);
|
||||
JSONObject jsonObject = responseData.praseRequestData();
|
||||
responseData.printSelf();
|
||||
// 解析数据
|
||||
Integer codeInteger = null;
|
||||
try {
|
||||
codeInteger = jsonObject.getInt("code");
|
||||
} catch (JSONException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (codeInteger == 200) {
|
||||
// 提交表单
|
||||
@FXML
|
||||
private void handleRegister() {
|
||||
if (isRightContent()) {
|
||||
// 请求数据
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
ResponseData responseData = new ResponseData();
|
||||
Long seqLong = mainApp.getNewDataReqId();
|
||||
orderInfo.setSeq(seqLong);
|
||||
orderInfo.setJsonString(getRegisterJson());
|
||||
System.out.println("getRegisterJson: " + orderInfo.getJsonString());
|
||||
mainApp.minoaDataAPI.executeOrder("/register", orderInfo);
|
||||
responseData = mainApp.minoaDataAPI.dataCacheQueue.getResponseDataBySeq(seqLong);
|
||||
JSONObject jsonObject = responseData.praseRequestData();
|
||||
responseData.printSelf();
|
||||
// 解析数据
|
||||
Integer codeInteger = null;
|
||||
try {
|
||||
codeInteger = jsonObject.getInt("code");
|
||||
} catch (JSONException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (codeInteger == 200) {
|
||||
// 注册之后,使用getNews消耗掉新通知
|
||||
makeNoticesBeRead();
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("注册成功");
|
||||
alert.setHeaderText("注册发送成功");
|
||||
alert.setContentText("你已成功注册一个账号。");
|
||||
alert.showAndWait();
|
||||
}else {
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("注册成功");
|
||||
alert.setHeaderText("注册发送成功");
|
||||
alert.setContentText("你已成功注册一个账号。");
|
||||
alert.showAndWait();
|
||||
dialogStage.close();
|
||||
} else {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("注册失败");
|
||||
alert.setHeaderText("注册失败");
|
||||
alert.setContentText("请确保你输入的手机号在系统白名单中,且登录名/账户/昵称并没有被注册。");
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* @param mainApp
|
||||
*/
|
||||
public void setMainApp(MainApp mainApp) {
|
||||
this.mainApp = mainApp;
|
||||
}
|
||||
|
||||
/*
|
||||
* @param dialogStage
|
||||
*/
|
||||
public void setDialogStage(Stage dialogStage) {
|
||||
this.dialogStage = dialogStage;
|
||||
}
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("注册失败");
|
||||
alert.setHeaderText("注册失败");
|
||||
alert.setContentText("请确保你输入的手机号在系统白名单中,且登录名/账户/昵称并没有被注册。");
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 获取注册请求字符串
|
||||
private String getRegisterJson() {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String mPubKey = "Bv0CsQcuCAR3Z2gwCANLRVkICH9+4yjVUHZaCAxjZXJ0LXJlcXVlc3QICf0AAAFv\nEUSBehQJGAECGQQANu6AFf0BJjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBANbFutCAZqFjHEa16tYvy4lBgi9/zixKWQzE9I72vaG2Imym+6KR30qkAQOK\nh0uE5RD2YsGhRK99rde+JOqIfk2/sunhp4nctOS5f4DeuOty58ekrO+Co9ZFmNBI\nmyk5i/hakjBEd/vdD7b1VadDRep5mWs3rgCinZOUfVaZ4oKqSws7ZWMvOSlRMOOi\nVzj53P4poY109S6aWmi3xKw/D76vfJapjdOB9Dg7S3rz0Rve1F/ajHCXWLt4XU3k\nUCiBn3Qmt6UD/MyDBaaUCfOvHTN6yVPtN6aOtYJVBAWt/P1ahLYhWkSm6KvrwMt0\nRzy2lw/lPriT99REItc/0wK6XwkCAwEAARZGGwEBHBcHFQgEd2doMAgDS0VZCAh/\nfuMo1VB2Wv0A/Sb9AP4PMjAxOTEyMTdUMDAzMTQw/QD/DzIwMTkxMjI3VDAwMzEz\nORf9AQCM+8WROXfi8WD9DydfLuSUxV0v3KW/Gn422/puDrkwwi1R2ogsAUc2O8pp\npuMLjWrQOTgE6ZTg80uWoDSUjjk44aMjkL2SAfp62vHRbGFx7+dckHAtF+DS6NH7\nX2vojFHOg6fksOE1M7XqLHmEEctZrFVSnQO7nB3DfRg+BqzZC/iy+8YAvTIvqA1c\nNsKYkmNITB80aM1v2H7fKnV4ZJpZnW71G5vbaPUseeklalQ2vEuBgWdd/1PL/0Ml\nI52npzqoeKAEpLp+vBwGN5ryGtWKB12nNimpMfevQAn/9BVIg59lZ7DIlE0sWmgW\nnwDxIXKebdViOejHlKwNAykxRRWw";
|
||||
String commandString = "/register";
|
||||
String userNameString = nickname.getText().trim();
|
||||
String passWordString = passwordField1.getText().trim();
|
||||
String phoneString = phoneNumber.getText().trim();
|
||||
Integer levelInteger = 0;
|
||||
try {
|
||||
jsonObject.put("command", commandString);
|
||||
jsonObject.put("username", userNameString);
|
||||
jsonObject.put("password", passWordString);
|
||||
jsonObject.put("phone", phoneString);
|
||||
jsonObject.put("publicKey", mPubKey);
|
||||
jsonObject.put("level", levelInteger);
|
||||
} catch (Exception e) {
|
||||
System.out.println("exception: " + e.getMessage());
|
||||
}
|
||||
return jsonObject.toString();
|
||||
}
|
||||
// 将注册用户成功之前的所有通知状态修改为已阅
|
||||
//【目的是减少注册后第一次登录时由于getNews到通知而反复请求通知数据带来的卡顿】
|
||||
//【后台机制不是使用任何接口拿到通知都会变成已阅,而只能getNews可以这样,所以出此下策】
|
||||
// 突然发现没有拿到总通知数目的数据接口,所以先用getNews修改50条【上限】通知状态吧
|
||||
public void makeNoticesBeRead() {
|
||||
//先登录,再修改通知的阅读状态
|
||||
boolean flag = fakeLogin(getLoginJsonString());
|
||||
if (flag) {
|
||||
for(int i=0;i<10;i++){
|
||||
if(getNewsButDoNothing()){
|
||||
System.out.println("已成功修改"+(i+1)+"个数据片大小的通知的阅读状态。用户:"+mainApp.loginer.getUserName());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
System.out.println("假登录失败,通知状态未被修改为已阅。");
|
||||
}
|
||||
}
|
||||
|
||||
// 从前端界面获得登录数据并转换成json格式
|
||||
private String getLoginJsonString() {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String commandString = "/login";
|
||||
String userNameString = nickname.getText().trim();
|
||||
String passWordString = passwordField1.getText().trim();
|
||||
mainApp.loginer.setUserName(userNameString);
|
||||
mainApp.loginer.setPassWord(passWordString);
|
||||
try {
|
||||
jsonObject.put("command", commandString);
|
||||
jsonObject.put("username", userNameString);
|
||||
jsonObject.put("password", passWordString);
|
||||
} catch (Exception e) {
|
||||
System.out.println("exception: " + e.getMessage());
|
||||
}
|
||||
return jsonObject.toString();
|
||||
}
|
||||
|
||||
private boolean fakeLogin(String loginJsonString) {
|
||||
System.out.println("beginning fake login ...");
|
||||
boolean flag = false;
|
||||
// 发送数据请求
|
||||
Long seqLong = mainApp.getNewDataReqId();
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
orderInfo.setSeq(seqLong);
|
||||
orderInfo.setJsonString(loginJsonString);
|
||||
mainApp.minoaDataAPI.executeOrder("/login", orderInfo);
|
||||
// 根据结果判断是否登录成功
|
||||
ResponseData responseData = mainApp.minoaDataAPI.dataCacheQueue.getResponseDataBySeq(seqLong);
|
||||
// responseData.printSelf();
|
||||
JSONObject jsonObject = responseData.praseRequestData();
|
||||
Integer codeInteger = null;
|
||||
try {
|
||||
codeInteger = jsonObject.getInt("code");
|
||||
} catch (JSONException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (codeInteger == 200) {
|
||||
System.out.println("fake login 200");
|
||||
flag = true;
|
||||
updateLoginer(jsonObject);
|
||||
// 打印输出
|
||||
System.out.println("****注册后假登录【修改通知状态为已阅】****");
|
||||
mainApp.loginer.printSelf();
|
||||
System.out.println("****注册后假登录【修改通知状态为已阅】****");
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// 根据请求到的json数据更新loginer的信息
|
||||
private void updateLoginer(JSONObject loginerJsonObject) {
|
||||
String dataString;
|
||||
try {
|
||||
dataString = loginerJsonObject.getString("data");
|
||||
JSONObject dataJsonObject = new JSONObject(dataString);
|
||||
String uuid = dataJsonObject.getString("uuid");
|
||||
mainApp.loginer.setUuid(uuid);
|
||||
} catch (JSONException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
// 获取是否有新的[消息/通知/审批]产生的json字符串
|
||||
private String getGetNewsJson() {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String commandString = "/getNews";
|
||||
String userNameString = mainApp.loginer.getUserName();
|
||||
String uuidString = mainApp.loginer.getUuid();
|
||||
try {
|
||||
jsonObject.put("command", commandString);
|
||||
jsonObject.put("username", userNameString);
|
||||
jsonObject.put("uuid", uuidString);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
System.out.println("exception: " + e.getMessage());
|
||||
}
|
||||
return jsonObject.toString();
|
||||
}
|
||||
|
||||
//发送getNews请求
|
||||
public boolean getNewsButDoNothing() {
|
||||
// 发送数据请求
|
||||
Long seqLong = mainApp.getNewDataReqId();
|
||||
OrderInfo orderInfo = new OrderInfo();
|
||||
orderInfo.setSeq(seqLong);
|
||||
orderInfo.setJsonString(getGetNewsJson());
|
||||
mainApp.minoaDataAPI.executeOrder("/getNews", orderInfo);
|
||||
// 获取回复消息
|
||||
ResponseData responseData = mainApp.minoaDataAPI.dataCacheQueue.getResponseDataBySeq(seqLong);
|
||||
// System.out.println("getNews-responseData: "+responseData.getResponseJsonDataString());
|
||||
JSONObject jsonObject = responseData.praseRequestData();
|
||||
Integer codeInteger = null;
|
||||
try {
|
||||
codeInteger = jsonObject.getInt("code");
|
||||
} catch (JSONException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (codeInteger == 200) {
|
||||
try {
|
||||
if(!jsonObject.getString("data").equals("")){
|
||||
return true;
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* @param mainApp
|
||||
*/
|
||||
public void setMainApp(MainApp mainApp) {
|
||||
this.mainApp = mainApp;
|
||||
}
|
||||
|
||||
/*
|
||||
* @param dialogStage
|
||||
*/
|
||||
public void setDialogStage(Stage dialogStage) {
|
||||
this.dialogStage = dialogStage;
|
||||
}
|
||||
|
||||
// 获取注册请求字符串
|
||||
private String getRegisterJson() {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
String mPubKey = "Bv0CsQcuCAR3Z2gwCANLRVkICH9+4yjVUHZaCAxjZXJ0LXJlcXVlc3QICf0AAAFv\nEUSBehQJGAECGQQANu6AFf0BJjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBANbFutCAZqFjHEa16tYvy4lBgi9/zixKWQzE9I72vaG2Imym+6KR30qkAQOK\nh0uE5RD2YsGhRK99rde+JOqIfk2/sunhp4nctOS5f4DeuOty58ekrO+Co9ZFmNBI\nmyk5i/hakjBEd/vdD7b1VadDRep5mWs3rgCinZOUfVaZ4oKqSws7ZWMvOSlRMOOi\nVzj53P4poY109S6aWmi3xKw/D76vfJapjdOB9Dg7S3rz0Rve1F/ajHCXWLt4XU3k\nUCiBn3Qmt6UD/MyDBaaUCfOvHTN6yVPtN6aOtYJVBAWt/P1ahLYhWkSm6KvrwMt0\nRzy2lw/lPriT99REItc/0wK6XwkCAwEAARZGGwEBHBcHFQgEd2doMAgDS0VZCAh/\nfuMo1VB2Wv0A/Sb9AP4PMjAxOTEyMTdUMDAzMTQw/QD/DzIwMTkxMjI3VDAwMzEz\nORf9AQCM+8WROXfi8WD9DydfLuSUxV0v3KW/Gn422/puDrkwwi1R2ogsAUc2O8pp\npuMLjWrQOTgE6ZTg80uWoDSUjjk44aMjkL2SAfp62vHRbGFx7+dckHAtF+DS6NH7\nX2vojFHOg6fksOE1M7XqLHmEEctZrFVSnQO7nB3DfRg+BqzZC/iy+8YAvTIvqA1c\nNsKYkmNITB80aM1v2H7fKnV4ZJpZnW71G5vbaPUseeklalQ2vEuBgWdd/1PL/0Ml\nI52npzqoeKAEpLp+vBwGN5ryGtWKB12nNimpMfevQAn/9BVIg59lZ7DIlE0sWmgW\nnwDxIXKebdViOejHlKwNAykxRRWw";
|
||||
String commandString = "/register";
|
||||
String userNameString = nickname.getText().trim();
|
||||
String passWordString = passwordField1.getText().trim();
|
||||
String phoneString = phoneNumber.getText().trim();
|
||||
Integer levelInteger = 0;
|
||||
try {
|
||||
jsonObject.put("command", commandString);
|
||||
jsonObject.put("username", userNameString);
|
||||
jsonObject.put("password", passWordString);
|
||||
jsonObject.put("phone", phoneString);
|
||||
jsonObject.put("publicKey", mPubKey);
|
||||
jsonObject.put("level", levelInteger);
|
||||
} catch (Exception e) {
|
||||
System.out.println("exception: " + e.getMessage());
|
||||
}
|
||||
return jsonObject.toString();
|
||||
}
|
||||
|
||||
// 验证输入内容格式
|
||||
private boolean isRightContent() {
|
||||
//验证昵称是否为空
|
||||
if (nickname.getText().trim().equals("")) {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("账号错误");
|
||||
alert.setHeaderText("你的账号错误");
|
||||
alert.setContentText("请确保你输入的账号(昵称)不为空。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
//验证两次密码
|
||||
if (passwordField1.getText().trim().equals("")) {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("密码错误");
|
||||
alert.setHeaderText("你设置的密码错误");
|
||||
alert.setContentText("请确保你设置的密码不为空。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
if (!passwordField1.getText().trim().equals(passwordField2.getText().trim())) {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("密码错误");
|
||||
alert.setHeaderText("你的设置的密码错误");
|
||||
alert.setContentText("请确保你输入的两次密码是一致的。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
if (phoneNumber.getText().trim().equals("")) {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("手机号错误");
|
||||
alert.setHeaderText("你的输入的手机号错误");
|
||||
alert.setContentText("请确保你输入的手机号不为空。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
if (!StringByteLengthUtil.isAllNumber(phoneNumber.getText().trim())) {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("手机号错误");
|
||||
alert.setHeaderText("你的设置的手机号错误");
|
||||
alert.setContentText("请确保你输入的手机号的格式是正确的。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// 验证输入内容格式
|
||||
private boolean isRightContent(){
|
||||
//验证昵称是否为空
|
||||
if(nickname.getText().trim().equals("")){
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("账号错误");
|
||||
alert.setHeaderText("你的账号错误");
|
||||
alert.setContentText("请确保你输入的账号(昵称)不为空。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
//验证两次密码
|
||||
if(passwordField1.getText().trim().equals("")){
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("密码错误");
|
||||
alert.setHeaderText("你设置的密码错误");
|
||||
alert.setContentText("请确保你设置的密码不为空。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
if(!passwordField1.getText().trim().equals(passwordField2.getText().trim())){
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("密码错误");
|
||||
alert.setHeaderText("你的设置的密码错误");
|
||||
alert.setContentText("请确保你输入的两次密码是一致的。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
if(phoneNumber.getText().trim().equals("")){
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("手机号错误");
|
||||
alert.setHeaderText("你的输入的手机号错误");
|
||||
alert.setContentText("请确保你输入的手机号不为空。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
if(!StringByteLengthUtil.isAllNumber(phoneNumber.getText().trim())){
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("手机号错误");
|
||||
alert.setHeaderText("你的设置的手机号错误");
|
||||
alert.setContentText("请确保你输入的手机号的格式是正确的。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -53,9 +53,10 @@ public class SettingOverviewController {
|
||||
// 弹窗参考:https://code.makery.ch/blog/javafx-dialogs-official/
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("设置成功");
|
||||
alert.setHeaderText("IP/包前缀已设置成功");
|
||||
alert.setContentText("您已成功设置服务器IP/包前缀");
|
||||
alert.setHeaderText("服务器地址/包前缀修改成功");
|
||||
alert.setContentText("您已成功修改服务器IP/包前缀。\n请重新启动应用以生效新设置!");
|
||||
alert.showAndWait();
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,6 +110,7 @@ public class SettingOverviewController {
|
||||
ipAddress.setText(mainApp.minoaServerIpString);
|
||||
portAddress.setText(mainApp.minoaServerPortInteger.toString());
|
||||
packetPrefix.setText(mainApp.globalPrefixString);
|
||||
packetPrefix.setDisable(true);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -202,9 +204,29 @@ public class SettingOverviewController {
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
//判断是否与原内容一致
|
||||
if(isNotChange()){
|
||||
Alert alert = new Alert(Alert.AlertType.WARNING);
|
||||
alert.setTitle("设置未变");
|
||||
alert.setHeaderText("设置未变");
|
||||
alert.setContentText("请确保新配置信息与旧配置信息是不同的。");
|
||||
alert.showAndWait();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// 判断新设置的参数是否与原参数一致
|
||||
public boolean isNotChange(){
|
||||
if(ipAddress.getText().trim().equals(mainApp.minoaServerIpString)&&
|
||||
portAddress.getText().trim().equals(mainApp.minoaServerPortInteger.toString())&&
|
||||
packetPrefix.getText().trim().equals(mainApp.globalPrefixString)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 判断ip和端口号是否可以连接
|
||||
public static boolean isHostConnectable(String host, int port) {
|
||||
Socket socket = new Socket();
|
||||
|
||||