Administrator há 2 anos atrás
commit
80601a8feb
100 ficheiros alterados com 4572 adições e 0 exclusões
  1. 15 0
      .gitignore
  2. 3 0
      .idea/.gitignore
  3. 122 0
      .idea/codeStyles/Project.xml
  4. 5 0
      .idea/codeStyles/codeStyleConfig.xml
  5. 6 0
      .idea/compiler.xml
  6. 23 0
      .idea/gradle.xml
  7. 30 0
      .idea/jarRepositories.xml
  8. 160 0
      .idea/misc.xml
  9. 6 0
      .idea/render.experimental.xml
  10. 6 0
      .idea/vcs.xml
  11. 1 0
      app/.gitignore
  12. 89 0
      app/build.gradle
  13. BIN
      app/gxuser.jks
  14. 21 0
      app/proguard-rules.pro
  15. BIN
      app/release/app-release.apk
  16. 20 0
      app/release/output-metadata.json
  17. 24 0
      app/src/androidTest/java/com/hdl/xl/ExampleInstrumentedTest.kt
  18. 79 0
      app/src/main/AndroidManifest.xml
  19. 61 0
      app/src/main/java/com/hdl/xl/MyApp.java
  20. 20 0
      app/src/main/java/com/hdl/xl/bean/AddressListBean.kt
  21. 16 0
      app/src/main/java/com/hdl/xl/bean/BankCardBean.kt
  22. 13 0
      app/src/main/java/com/hdl/xl/bean/BannerBean.kt
  23. 15 0
      app/src/main/java/com/hdl/xl/bean/CategoryBean.kt
  24. 20 0
      app/src/main/java/com/hdl/xl/bean/ChildBean.kt
  25. 19 0
      app/src/main/java/com/hdl/xl/bean/ChildXBean.kt
  26. 10 0
      app/src/main/java/com/hdl/xl/bean/CommodityBean.kt
  27. 19 0
      app/src/main/java/com/hdl/xl/bean/GoodsBean.kt
  28. 30 0
      app/src/main/java/com/hdl/xl/bean/GoodsDetailBean.kt
  29. 19 0
      app/src/main/java/com/hdl/xl/bean/HomeBean.kt
  30. 10 0
      app/src/main/java/com/hdl/xl/bean/InnerPurchaseBean.kt
  31. 19 0
      app/src/main/java/com/hdl/xl/bean/LoginEntity.kt
  32. 19 0
      app/src/main/java/com/hdl/xl/bean/MiaoshaBean.kt
  33. 18 0
      app/src/main/java/com/hdl/xl/bean/PersonalBean.kt
  34. 15 0
      app/src/main/java/com/hdl/xl/bean/ShopBean.kt
  35. 21 0
      app/src/main/java/com/hdl/xl/bean/SortBean.kt
  36. 26 0
      app/src/main/java/com/hdl/xl/bean/SpecBean.kt
  37. 193 0
      app/src/main/java/com/hdl/xl/service/HttpApi_xie.kt
  38. 42 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityAbout.kt
  39. 114 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityAddShippingAddress.kt
  40. 49 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityApplyAfterSale.kt
  41. 54 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityCityList.kt
  42. 60 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityCollectionDetail.kt
  43. 77 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityDetailsFirst.kt
  44. 81 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityEditBankCard.kt
  45. 65 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityEditPassword.kt
  46. 126 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityForgetPassword.kt
  47. 48 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityGiveAway.kt
  48. 65 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityInputReturn.kt
  49. 151 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityLimitedTimePurchase.kt
  50. 81 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyBankCard.kt
  51. 53 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyCollect.kt
  52. 75 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyInfo.kt
  53. 86 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyOrder.kt
  54. 55 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyWallet.kt
  55. 200 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityProductCategory.kt
  56. 71 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityQuickReplenishment.kt
  57. 63 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityRecharge.kt
  58. 58 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityRedBagRecording.kt
  59. 137 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityRegistration.kt
  60. 48 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityResale.kt
  61. 49 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityResaleSuccess.kt
  62. 102 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivitySearchCommdity.kt
  63. 68 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivitySelectRefundCommodity.kt
  64. 73 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityShippingAddress.kt
  65. 77 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivitySubmitRefund.kt
  66. 58 0
      app/src/main/java/com/hdl/xl/ui/activitys/ActivityWithdraw.kt
  67. 87 0
      app/src/main/java/com/hdl/xl/ui/activitys/LoginActivity.kt
  68. 140 0
      app/src/main/java/com/hdl/xl/ui/activitys/MainActivity.kt
  69. 43 0
      app/src/main/java/com/hdl/xl/ui/activitys/SplashActivity.kt
  70. 27 0
      app/src/main/java/com/hdl/xl/ui/adapter/BrandAdapter.kt
  71. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/CategroyAdapter.kt
  72. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/CityAdapter.kt
  73. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/CollectAdapter.kt
  74. 25 0
      app/src/main/java/com/hdl/xl/ui/adapter/CommodityAdapter.kt
  75. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/CommodityFenAdapter.kt
  76. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/CommodityRecommendAdapter.kt
  77. 51 0
      app/src/main/java/com/hdl/xl/ui/adapter/ImageAdapter.java
  78. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/InnerDouSaleAdapter.kt
  79. 31 0
      app/src/main/java/com/hdl/xl/ui/adapter/InnerOrderAdapter.kt
  80. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/InnerPurchaseAdapter.kt
  81. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/InnerSaleAdapter.kt
  82. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/LimitedTimeAdapter.kt
  83. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/OutSaleAdapter.kt
  84. 30 0
      app/src/main/java/com/hdl/xl/ui/adapter/OuterOrderAdapter.kt
  85. 28 0
      app/src/main/java/com/hdl/xl/ui/adapter/OuterPurchaseAdapter.kt
  86. 27 0
      app/src/main/java/com/hdl/xl/ui/adapter/ProductSpecificationAdapter.kt
  87. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/RecommendAdapter.kt
  88. 30 0
      app/src/main/java/com/hdl/xl/ui/adapter/RedBagRecordingAdapter.kt
  89. 25 0
      app/src/main/java/com/hdl/xl/ui/adapter/SearchRecordingAdapter.kt
  90. 27 0
      app/src/main/java/com/hdl/xl/ui/adapter/ShippingAddressAdapter.kt
  91. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/ShopAdapter.kt
  92. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/SpikeAdapter.kt
  93. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/VoucherPictureAdapter.kt
  94. 25 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/BrandHolder.kt
  95. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/CategroyHolder.kt
  96. 21 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/CityHolder.kt
  97. 21 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/CollectHolder.kt
  98. 35 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/CommodityFenHolder.kt
  99. 24 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/CommodityHolder.kt
  100. 26 0
      app/src/main/java/com/hdl/xl/ui/adapter/holder/CommodityRecommendHolder.kt

+ 15 - 0
.gitignore

@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties

+ 3 - 0
.idea/.gitignore

@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml

+ 122 - 0
.idea/codeStyles/Project.xml

@@ -0,0 +1,122 @@
+<component name="ProjectCodeStyleConfiguration">
+  <code_scheme name="Project" version="173">
+    <JetCodeStyleSettings>
+      <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
+    </JetCodeStyleSettings>
+    <codeStyleSettings language="XML">
+      <indentOptions>
+        <option name="CONTINUATION_INDENT_SIZE" value="4" />
+      </indentOptions>
+      <arrangement>
+        <rules>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:android</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>xmlns:.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:id</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*:name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>name</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>style</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>^$</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>ANDROID_ATTRIBUTE_ORDER</order>
+            </rule>
+          </section>
+          <section>
+            <rule>
+              <match>
+                <AND>
+                  <NAME>.*</NAME>
+                  <XML_ATTRIBUTE />
+                  <XML_NAMESPACE>.*</XML_NAMESPACE>
+                </AND>
+              </match>
+              <order>BY_NAME</order>
+            </rule>
+          </section>
+        </rules>
+      </arrangement>
+    </codeStyleSettings>
+    <codeStyleSettings language="kotlin">
+      <option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
+    </codeStyleSettings>
+  </code_scheme>
+</component>

+ 5 - 0
.idea/codeStyles/codeStyleConfig.xml

@@ -0,0 +1,5 @@
+<component name="ProjectCodeStyleConfiguration">
+  <state>
+    <option name="USE_PER_PROJECT_SETTINGS" value="true" />
+  </state>
+</component>

+ 6 - 0
.idea/compiler.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="11" />
+  </component>
+</project>

+ 23 - 0
.idea/gradle.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="GRADLE" />
+        <option name="disableWrapperSourceDistributionNotification" value="true" />
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleJvm" value="Embedded JDK" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+            <option value="$PROJECT_DIR$/base" />
+            <option value="$PROJECT_DIR$/basekt" />
+          </set>
+        </option>
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>

+ 30 - 0
.idea/jarRepositories.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RemoteRepositoriesConfiguration">
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="jboss.community" />
+      <option name="name" value="JBoss Community repository" />
+      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="BintrayJCenter" />
+      <option name="name" value="BintrayJCenter" />
+      <option name="url" value="https://jcenter.bintray.com/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="Google" />
+      <option name="name" value="Google" />
+      <option name="url" value="https://dl.google.com/dl/android/maven2/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven" />
+      <option name="name" value="maven" />
+      <option name="url" value="https://jitpack.io" />
+    </remote-repository>
+  </component>
+</project>

+ 160 - 0
.idea/misc.xml

@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DesignSurface">
+    <option name="filePathToZoomLevelMap">
+      <map>
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/app/src/main/res/drawable/home_selector.xml" value="0.2985" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/app/src/main/res/layout/activity_edit_password.xml" value="0.36041666666666666" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/app/src/main/res/layout/activity_forget_password.xml" value="0.3619791666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/app/src/main/res/layout/activity_login.xml" value="0.35280797101449274" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/app/src/main/res/layout/activity_main.xml" value="0.358695652173913" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/app/src/main/res/layout/activity_registration.xml" value="0.3619791666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_home_top.xml" value="0.3755" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_input_frame.xml" value="0.3755" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_limited_time_purchase.xml" value="0.296" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_login_btn.xml" value="0.296" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_login_frame.xml" value="0.296" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_manjian_background.xml" value="0.296" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_purchase_top.xml" value="0.2625" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/drawable/bg_search_background.xml" value="0.2565" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/activity_city_list.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/activity_product_category.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/activity_search_commdity.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/dialog_manjian.xml" value="0.2653985507246377" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/fragment_commidity.xml" value="0.3619791666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/home_fragment.xml" value="0.2115036231884058" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/include_title_bar_text.xml" value="0.3619791666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/item_commodity.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/item_commodity_fen.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/item_commodity_recommend.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/home/src/main/res/layout/item_spike.xml" value="0.358695652173913" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/drawable/bg_dialog_edit_infor_sel.xml" value="0.298" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_about.xml" value="0.3619791666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_add_shipping_address.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_apply_after_sale.xml" value="0.28894927536231885" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_edit_bank_card.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_my_bank_card.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_my_collect.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_my_info.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_my_order.xml" value="0.3619791666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_my_wallet.xml" value="0.28894927536231885" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_quick_replenishment.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/activity_recharge.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/dialog_edit_info.xml" value="0.375" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/dialog_select_bank.xml" value="0.2942708333333333" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/item_purchase_outer.xml" value="0.3463541666666667" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/mine/src/main/res/layout/mine_fragment.xml" value="0.358695652173913" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/purchase_order/src/main/res/layout/item_purchase_order.xml" value="0.401268115942029" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/purchase_order/src/main/res/layout/item_purchase_order_inner.xml" value="0.401268115942029" />
+        <entry key="..\:/AndroidWorkPlace/GXMallUser/sort/src/main/res/layout/sort_fragment.xml" value="0.358695652173913" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_back_white_frame.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_city_frame.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_collect_bg_frame.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_collection_top.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_comment_bottom.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_consignment.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_dialog_edit_infor_sel.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_finish_button.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_home_second_pwd.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_home_top.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_input_frame.xml" value="0.347" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_input_second_pwd.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_item_num_frame.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_mine_copy.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_mine_withdraw_button.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_mine_withdraw_copy.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/bg_red_select_refund.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/brand_selector.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/classification_selector.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/home_select_color_home.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/home_selector.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/ic_launcher_background.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/mine_selector.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/purchase_order_selector.xml" value="0.3845" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/drawable/selector_track.xml" value="0.347" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_collection_detail.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_details_first.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_edit_password.xml" value="0.3828125" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_give_away.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_input_return.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_main.xml" value="0.327445652173913" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_refund_detail.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_resale.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_resale_success.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/activity_splash.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/brand_fragment.xml" value="0.2834544677212484" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/dialog_edit_info.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/dialog_give_away.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/dialog_give_away_success.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/dialog_second_password.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/dialog_select_product_specifications.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/fragment_recommend.xml" value="0.2834544677212484" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/home_fragment.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/include_title_bar.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/include_title_bar_text.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/include_title_bar_tran.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_brand.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_city.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_commodity.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_commodity_recommend.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_inner_dou_sale.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_inner_sale.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_order_outer.xml" value="0.3059836808703536" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_out_sale.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_recommend.xml" value="0.3185121846943138" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/item_voucher_picture.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/mine_fragment.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/app/src/main/res/layout/sort_fragment.xml" value="0.2834544677212484" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/base/src/main/res/drawable/bg_gray_frame.xml" value="0.3485" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/base/src/main/res/drawable/bg_mine_gray.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/base/src/main/res/drawable/bg_order_num.xml" value="0.3505" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/base/src/main/res/drawable/custom_progress_dialog_bg.xml" value="0.3485" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/base/src/main/res/drawable/ic_load_img.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/base/src/main/res/drawable/input_border.xml" value="0.3505" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/basekt/src/main/res/drawable/tab_layout_point.xml" value="0.3485" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/brand/src/main/res/layout/brand_fragment.xml" value="0.2851646002565199" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_collection_top.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_consignment.xml" value="0.3605" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_finish_button.xml" value="0.3375" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_home_top.xml" value="0.3375" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_inner_sale.xml" value="0.3645" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_limited_time_purchase.xml" value="0.3375" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_login_btn.xml" value="0.3645" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_manjian_background.xml" value="0.3645" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_purchase_top.xml" value="0.3485" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_recommend.xml" value="0.3485" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_search_background.xml" value="0.3505" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/bg_time_black.xml" value="0.3645" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/drawable/ic_search.xml" value="0.3645" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/activity_details_first.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/dialog_select_product_specifications.xml" value="0.23557075673364686" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/fragment_commidity.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/fragment_detail.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/fragment_recommend.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/home_fragment.xml" value="0.327445652173913" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_brand.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_categroy.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_city.xml" value="0.2702009405728944" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_commodity.xml" value="0.264" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_commodity_recommend.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_inner_dou_sale.xml" value="0.31637451902522445" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_inner_sale.xml" value="0.31637451902522445" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_out_sale.xml" value="0.31637451902522445" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_recommend.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_shop.xml" value="0.31637451902522445" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/home/src/main/res/layout/item_spike.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/mine/src/main/res/drawable/bg_red_order_frame.xml" value="0.3485" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/mine/src/main/res/layout/activity_edit_bank_card.xml" value="0.33133817870884996" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/purchase_order/src/main/res/layout/p_order_fragment.xml" value="0.33016304347826086" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/sort/src/main/res/layout/fragment_collection.xml" value="0.31637451902522445" />
+        <entry key="..\:/AndroidWorkPlace/XiangLian/sort/src/main/res/layout/sort_fragment.xml" value="0.33133817870884996" />
+      </map>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>

+ 6 - 0
.idea/render.experimental.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RenderSettings">
+    <option name="showDecorations" value="true" />
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>

+ 1 - 0
app/.gitignore

@@ -0,0 +1 @@
+/build

+ 89 - 0
app/build.gradle

@@ -0,0 +1,89 @@
+apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-android-extensions'
+android {
+    compileSdkVersion rootProject.android.compileSdkVersion
+    buildToolsVersion rootProject.android.buildToolsVersion
+
+    defaultConfig {
+        minSdkVersion rootProject.android.minSdkVersion
+        targetSdkVersion rootProject.android.targetSdkVersion
+        versionCode rootProject.android.versionCode
+        versionName rootProject.android.versionName
+        applicationId rootProject.android.applicationId
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+
+        ndk {
+            //设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
+            abiFilters "armeabi-v7a"
+
+            abiFilters 'armeabi'
+        }
+        manifestPlaceholders = [
+                JPUSH_PKGNAME: applicationId,
+                JPUSH_APPKEY : "34c5229d512f977af41b022a",//值来自开发者平台取得的AppKey
+                JPUSH_CHANNEL: "default_developer",
+        ]
+    }
+
+    signingConfigs {
+        /**
+         * 设置你的keystore相关
+         * demo中只是一个示例,使用时请根据实际情况进行配置
+         */
+        debug {
+            keyAlias 'key0'
+            keyPassword 'gxuser123'
+            storeFile file('gxuser.jks')
+            storePassword 'gxuser123'
+        }
+        release {
+            keyAlias 'key0'
+            keyPassword 'gxuser123'
+            storeFile file('gxuser.jks')
+            storePassword 'gxuser123'
+        }
+    }
+
+    kotlinOptions {
+        jvmTarget = "1.8"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+    buildFeatures {
+        dataBinding = true
+        // for view binding :
+        // viewBinding = true
+    }
+}
+
+dependencies {
+
+    implementation fileTree(dir: "libs", include: ["*.jar"])
+
+    implementation rootProject.dependLibs.navigation_ui
+    implementation rootProject.dependLibs.navigation_fragment
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
+
+
+    /*debugImplementation rootProject.dependLibs.leakcanary
+    implementation rootProject.dependLibs.leakcanary_watcher*/
+
+    /*compile 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
+    compile 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0*/
+
+    implementation project(path: ':base')
+    implementation project(path: ':basekt')
+    api rootProject.dependLibs.danikula
+}

BIN
app/gxuser.jks


+ 21 - 0
app/proguard-rules.pro

@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile

BIN
app/release/app-release.apk


+ 20 - 0
app/release/output-metadata.json

@@ -0,0 +1,20 @@
+{
+  "version": 1,
+  "artifactType": {
+    "type": "APK",
+    "kind": "Directory"
+  },
+  "applicationId": "com.hdl.xl",
+  "variantName": "release",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "properties": [],
+      "versionCode": 13,
+      "versionName": "1.1.3",
+      "enabled": true,
+      "outputFile": "app-release.apk"
+    }
+  ]
+}

+ 24 - 0
app/src/androidTest/java/com/hdl/xl/ExampleInstrumentedTest.kt

@@ -0,0 +1,24 @@
+package com.hdl.xl
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+    @Test
+    fun useAppContext() {
+        // Context of the app under test.
+        val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+        assertEquals("com.hdl.xl", appContext.packageName)
+    }
+}

+ 79 - 0
app/src/main/AndroidManifest.xml

@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.hdl.xl">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+
+    <application
+        android:name="com.hdl.xl.MyApp"
+        android:allowBackup="true"
+        android:icon="@mipmap/logo"
+        android:label="@string/app_name"
+        android:roundIcon="@mipmap/logo"
+        android:supportsRtl="true"
+        android:theme="@style/AppTheme">
+        <activity
+            android:name=".ui.activitys.SplashActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize|fontScale"
+            android:theme="@style/FullscreenTheme"
+            android:windowSoftInputMode="adjustPan">
+
+        </activity>
+        <activity
+            android:name=".ui.activitys.MainActivity"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:launchMode="singleTask"
+            android:screenOrientation="portrait"
+            android:windowSoftInputMode="adjustPan">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        <activity
+            android:name="com.hdl.xl.ui.activitys.LoginActivity"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name="com.hdl.xl.ui.activitys.ActivityRegistration"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name="com.hdl.xl.ui.activitys.ActivityForgetPassword"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="portrait" />
+        <activity
+            android:name="com.hdl.xl.ui.activitys.ActivityEditPassword"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="portrait" />
+        <activity android:name=".ui.activitys.ActivityCollectionDetail"/>
+        <activity android:name=".ui.activitys.ActivityResale"/>
+        <activity android:name=".ui.activitys.ActivityResaleSuccess"/>
+        <activity android:name=".ui.activitys.ActivityGiveAway"/>
+
+
+
+
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityMyInfo"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityMyWallet"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityMyCollect"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityMyBankCard"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityEditBankCard"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityShippingAddress"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityAddShippingAddress"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityRedBagRecording"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityAbout"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityMyOrder"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityRecharge"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityWithdraw"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityDetailsFirst"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityApplyAfterSale"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityQuickReplenishment"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivitySelectRefundCommodity"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivitySubmitRefund"/>
+        <activity android:name="com.hdl.xl.ui.activitys.ActivityInputReturn"/>
+    </application>
+</manifest>

+ 61 - 0
app/src/main/java/com/hdl/xl/MyApp.java

@@ -0,0 +1,61 @@
+package com.hdl.xl;
+
+
+import android.content.Context;
+
+import com.danikula.videocache.HttpProxyCacheServer;
+import com.laike.basekt.BaseApplication;
+
+/**
+ * 要想使用BaseApplication,必须在组件中实现自己的Application,并且继承BaseApplication;
+ * 组件中实现的Application必须在debug包中的AndroidManifest.xml中注册,否则无法使用;
+ * 组件的Application需置于java/debug文件夹中,不得放于主代码;
+ * 组件中获取Context的方法必须为:Utils.getContext(),不允许其他写法;
+ *
+ * @name BaseApplication
+ */
+public class MyApp extends BaseApplication {
+
+    public static final String ROOT_PACKAGE = "com.laike";
+
+    private static MyApp sInstance;
+
+    public static MyApp getInstance() {
+        return sInstance;
+    }
+
+    /*private IWXAPI wxapi;
+
+    public static IWXAPI getWxapi() {
+        return MyApp.getInstance().wxapi;
+    }*/
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        sInstance = this;
+        //regToWx();
+    }
+
+    /**
+     * 注册到微信
+     */
+    /*private void regToWx() {
+        wxapi = WXAPIFactory.createWXAPI(this.getApplicationContext(), HawkConstant.WX_APP_ID, false);
+        wxapi.registerApp(HawkConstant.WX_APP_ID);
+    }*/
+
+    /**
+     * 边播边缓存
+     */
+    private HttpProxyCacheServer proxy;
+    public static HttpProxyCacheServer getProxy(Context context) {
+        MyApp app = (MyApp) context.getApplicationContext();
+        return app.proxy == null ? (app.proxy = app.newProxy()) : app.proxy;
+    }
+
+    private HttpProxyCacheServer newProxy() {
+        return new HttpProxyCacheServer(this);
+    }
+
+}

+ 20 - 0
app/src/main/java/com/hdl/xl/bean/AddressListBean.kt

@@ -0,0 +1,20 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/17 11:51
+ */
+class AddressListBean:Serializable,Observable() {
+    var addr: String?=""
+    var address_id: Int?=0
+    var city: String?=""
+    var district: String?=""
+    var is_default: Int?=0
+    var person: String?=""
+    var phone: String?=""
+    var province: String?=""
+}

+ 16 - 0
app/src/main/java/com/hdl/xl/bean/BankCardBean.kt

@@ -0,0 +1,16 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/15 16:02
+ */
+class BankCardBean:Serializable,Observable() {
+    var bankcard_id: Int?=0
+    var bankcard_number: String?=""
+    var bankname: String?=""
+    var name: String?=""
+}

+ 13 - 0
app/src/main/java/com/hdl/xl/bean/BannerBean.kt

@@ -0,0 +1,13 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/16 16:24
+ */
+class BannerBean:Serializable,Observable() {
+    var image: String?=""
+}

+ 15 - 0
app/src/main/java/com/hdl/xl/bean/CategoryBean.kt

@@ -0,0 +1,15 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/16 16:24
+ */
+class CategoryBean:Serializable,Observable() {
+    var category_id: Int?=0
+    var img: String?=""
+    var name: String?=""
+}

+ 20 - 0
app/src/main/java/com/hdl/xl/bean/ChildBean.kt

@@ -0,0 +1,20 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/11 11:34
+ */
+class ChildBean:Serializable,Observable() {
+    var child: MutableList<ChildXBean>?=null
+    var create_time: String?=""
+    var id: Int?=0
+    var img: String?=""
+    var level: Int?=0
+    var name: String?=""
+    var pid: Int?=0
+    var sort: Int?=0
+}

+ 19 - 0
app/src/main/java/com/hdl/xl/bean/ChildXBean.kt

@@ -0,0 +1,19 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/11 11:35
+ */
+class ChildXBean:Serializable,Observable() {
+    var create_time: String?=""
+    var id: Int?=0
+    var img: String?=""
+    var level: Int?=0
+    var name: String?=""
+    var pid: Int?=0
+    var sort: Int?=0
+}

+ 10 - 0
app/src/main/java/com/hdl/xl/bean/CommodityBean.kt

@@ -0,0 +1,10 @@
+package com.hdl.xl.bean
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/25 15:28
+ */
+class CommodityBean {
+    var isSelected:Boolean=false
+}

+ 19 - 0
app/src/main/java/com/hdl/xl/bean/GoodsBean.kt

@@ -0,0 +1,19 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/16 16:24
+ */
+class GoodsBean:Serializable,Observable() {
+    var good_number: String?=""
+    var huodong: String?=""
+    var id: Int?=0
+    var image: String?=""
+    var name: String?=""
+    var price: String?=""
+    var sale: Int?=0
+}

+ 30 - 0
app/src/main/java/com/hdl/xl/bean/GoodsDetailBean.kt

@@ -0,0 +1,30 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/16 9:26
+ */
+class GoodsDetailBean:Serializable,Observable() {
+    var company: String?=""
+    var content: String?=""
+    var good_number: String?=""
+    var id: Int?=0
+    var image: String?=""
+    var imgs: MutableList<BannerBean>?=null
+    var is_collect: Int?=0
+    var kucun: String?=""
+    var maidian: String?=""
+    var ms_activity_id: String?=""
+    var ms_end_time: String?=""
+    var name: String?=""
+    var now_time: Int?=0
+    var price: String?=""
+    var sale: Int?=0
+    var shop_id: Int?=0
+    var specs: MutableList<SpecBean>?=null
+    var video: String?=""
+}

+ 19 - 0
app/src/main/java/com/hdl/xl/bean/HomeBean.kt

@@ -0,0 +1,19 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/10 14:00
+ */
+class HomeBean:Serializable,Observable() {
+    var banner: MutableList<BannerBean>?=null
+    var category: MutableList<CategoryBean>?=null
+    var goods: MutableList<GoodsBean>?=null
+    var miaosha: MutableList<MiaoshaBean>?=null
+    var miaosha_end_time:Long?=0L
+    var now_time:Long?=0L
+    var shop: MutableList<ShopBean>?=null
+}

+ 10 - 0
app/src/main/java/com/hdl/xl/bean/InnerPurchaseBean.kt

@@ -0,0 +1,10 @@
+package com.hdl.xl.bean
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/25 15:28
+ */
+class InnerPurchaseBean {
+    var isSelected:Boolean=false
+}

+ 19 - 0
app/src/main/java/com/hdl/xl/bean/LoginEntity.kt

@@ -0,0 +1,19 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/16 17:29
+ */
+class LoginEntity:Serializable,Observable() {
+    var head: String?=""
+    var name: String?=""
+    var phone: String?=""
+    var token: String?=""
+    var id:Int?=0
+    var role:Int?=0
+    var agent_role:Int?=0
+}

+ 19 - 0
app/src/main/java/com/hdl/xl/bean/MiaoshaBean.kt

@@ -0,0 +1,19 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/16 16:24
+ */
+class MiaoshaBean:Serializable,Observable() {
+    var del_price: String?=""
+    var goods_id: Int?=0
+    var image: String?=""
+    var image_thumb: String?=""
+    var name: String?=""
+    var price: String?=""
+    var id:Int?=0
+}

+ 18 - 0
app/src/main/java/com/hdl/xl/bean/PersonalBean.kt

@@ -0,0 +1,18 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/10 17:14
+ */
+class PersonalBean:Serializable,Observable() {
+    var head: String?=""
+    var id: Int?=0
+    var money: String?=""
+    var money_red: String?=""
+    var name: String?=""
+    var phone: String?=""
+}

+ 15 - 0
app/src/main/java/com/hdl/xl/bean/ShopBean.kt

@@ -0,0 +1,15 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/16 16:24
+ */
+class ShopBean:Serializable,Observable() {
+    var logo: String?=""
+    var name: String?=""
+    var shop_id: Int?=0
+}

+ 21 - 0
app/src/main/java/com/hdl/xl/bean/SortBean.kt

@@ -0,0 +1,21 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/11 11:33
+ */
+class SortBean:Serializable,Observable() {
+    var child: MutableList<ChildBean>?=null
+    var create_time: String?=""
+    var id: Int?=0
+    var img: String?=""
+    var level: Int?=0
+    var name: String?=""
+    var pid: String?=""
+    var sort: Int?=0
+
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/bean/SpecBean.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.bean
+
+import java.io.Serializable
+import java.util.*
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/3/16 9:28
+ */
+class SpecBean:Serializable,Observable() {
+    var batch_min: Int?=0
+    var goods_id: Int?=0
+    var id: String?=""
+    var image: String?=""
+    var kucun: Int?=0
+    var on_sale: Int?=0
+    var price: String?=""
+    var price_pt: String?=""
+    var price_yj: String?=""
+    var shop_id: Int?=0
+    var specs: String?=""
+    var weight: String?=""
+    var specs_name:String?=""
+    var select_num:Int?=0
+}

+ 193 - 0
app/src/main/java/com/hdl/xl/service/HttpApi_xie.kt

@@ -0,0 +1,193 @@
+package com.hdl.xl.service
+
+import com.hdl.xl.bean.GoodsBean
+import com.laike.basekt.bean.CommonResultEntity2
+import com.laike.basekt.bean.CommonResultStatusEntity
+import com.hdl.xl.bean.LoginEntity
+import com.hdl.xl.bean.MiaoshaBean
+import com.laike.basekt.bean.CommonResultEntity
+import io.reactivex.Observable
+import retrofit2.http.Field
+import retrofit2.http.FormUrlEncoded
+import retrofit2.http.POST
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 15:15
+ */
+interface HttpApi_xie {
+    /**
+     * 用户个人中心
+     */
+    @FormUrlEncoded
+    @POST("api/User/index")
+    fun searchPersonalCenter(
+        @Field("token") token: String
+    ): Observable<CommonResultEntity2<com.hdl.xl.bean.PersonalBean>>
+
+    /**
+     * 用户银行卡
+     */
+    @FormUrlEncoded
+    @POST("api/User/user_bankcark")
+    fun searchBankCard(
+        @Field("token") token: String
+    ): Observable<CommonResultEntity<com.hdl.xl.bean.BankCardBean>>
+
+    /**
+     * 用户添加银行卡
+     */
+    @FormUrlEncoded
+    @POST("api/User/user_bankcark_add")
+    fun addBankCard(
+        @Field("token") token: String,
+        @Field("name") name: String,
+        @Field("bankname") bankname: String,
+        @Field("bankcard_number") bankcard_number: String
+    ): Observable<CommonResultStatusEntity>
+
+    /**
+     * 添加收货地址
+     */
+    @FormUrlEncoded
+    @POST("api/User/address_add")
+    fun addAddr(
+        @Field("token") token: String,
+        @Field("person") person: String,
+        @Field("phone") phone: String,
+        @Field("province") province: String,
+        @Field("city") city: String,
+        @Field("district") district: String,
+        @Field("addr") addr: String,
+        @Field("is_default") is_default: Int
+    ): Observable<CommonResultStatusEntity>
+
+    /**
+     * 收货地址列表
+     */
+    @FormUrlEncoded
+    @POST("api/User/address_add")
+    fun addraList(
+        @Field("token") token: String
+    ): Observable<CommonResultEntity<com.hdl.xl.bean.AddressListBean>>
+
+    /**
+     * 删除收货地址
+     */
+    @FormUrlEncoded
+    @POST("api/User/address_add")
+    fun deleteAddr(
+        @Field("token") token: String,
+        @Field("address_id") address_id: Int
+    ): Observable<CommonResultStatusEntity>
+    /**
+     * 登录接口
+     */
+    @FormUrlEncoded
+    @POST("api/login/login")
+    fun phoneLogin(
+        @Field("phone") phone: String,
+        @Field("pwd") pwd: String
+    ): Observable<CommonResultEntity2<LoginEntity>>
+
+    /**
+     * 注册发送验证码
+     */
+    @FormUrlEncoded
+    @POST("api/Login/register_yzm")
+    fun codeRegistered(
+        @Field("phone") phone: String
+    ): Observable<CommonResultStatusEntity>
+
+    /**
+     * 忘记密码发送验证码
+     */
+    @FormUrlEncoded
+    @POST("api/Login/forget_yzm")
+    fun codeForgetPassword(
+        @Field("phone") phone: String
+    ): Observable<CommonResultStatusEntity>
+
+    /**
+     * 用户注册
+     */
+    @FormUrlEncoded
+    @POST("api/Login/register")
+    fun registered(
+        @Field("phone") phone: String,
+        @Field("pwd") pwd: String,
+        @Field("pwd_cf") pwd_cf: String,
+        @Field("check_code") check_code: String,
+        @Field("code") code: String
+    ): Observable<CommonResultStatusEntity>
+
+    /**
+     * 用户忘记密码
+     */
+    @FormUrlEncoded
+    @POST("api/Login/forget")
+    fun forgetPassword(
+        @Field("phone") phone: String,
+        @Field("pwd") pwd: String,
+        @Field("pwd_cf") pwd_cf: String,
+        @Field("code") code: String
+    ): Observable<CommonResultStatusEntity>
+
+    /**
+     * 用户首页
+     */
+    @FormUrlEncoded
+    @POST("api/Index/index")
+    fun searchHome(
+        @Field("token") token: String
+    ): Observable<CommonResultEntity2<com.hdl.xl.bean.HomeBean>>
+
+    /**
+     * 秒杀商品列表
+     */
+    @FormUrlEncoded
+    @POST("api/Index/miaosha_list")
+    fun searchMiaoSha(
+        @Field("page") page: Int,
+        @Field("limit") limit: Int
+    ): Observable<CommonResultEntity<MiaoshaBean>>
+
+    /**
+     * 商品列表
+     */
+    @FormUrlEncoded
+    @POST("api/Index/goods_list")
+    fun searchGoodsList(
+        @Field("key_word") key_word: String,
+        @Field("category") category: String,
+        @Field("shop_id") shop_id: String,
+        @Field("user_id") user_id: Int,
+        @Field("sort") sort: Int,
+        @Field("page") page: Int,
+        @Field("limit") limit: Int
+    ): Observable<CommonResultEntity<GoodsBean>>
+
+    /**
+     * 商品详情
+     */
+    @FormUrlEncoded
+    @POST("api/Index/goods_info")
+    fun searchGoodsDetail(
+        @Field("goods_id") goods_id: String,
+        @Field("user_id") user_id: Int
+    ): Observable<CommonResultEntity2<com.hdl.xl.bean.GoodsDetailBean>>
+
+    /**
+     * 添加购物车(添加进货单)
+     */
+    @FormUrlEncoded
+    @POST("api/Cart/intocart")
+    fun joinPurchaseOrder(
+        @Field("token") token: String,
+        @Field("goods_id") goods_id: String,
+        @Field("shop_id") shop_id: String,
+        @Field("specs_info") specs_info: String
+    ): Observable<CommonResultStatusEntity>
+
+}

+ 42 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityAbout.kt

@@ -0,0 +1,42 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityAboutBinding
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityAbout : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityAboutBinding? = null
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_about)
+        mBinding?.run {
+            clickListener = this@ActivityAbout
+            includeTitle?.run {
+                textTitleTitle.text = "关于"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+        }
+    }
+
+
+
+}

+ 114 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityAddShippingAddress.kt

@@ -0,0 +1,114 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.util.Log
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityAddShippingAddressBinding
+import com.hdl.xl.service.HttpApi_xie
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.utils.DialogUtil
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.StatusBarCommon
+
+
+import com.orhanobut.hawk.Hawk
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityAddShippingAddress : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityAddShippingAddressBinding? = null
+    var type: Int? = 0
+    var person = ""
+    var phone = ""
+    var province = ""
+    var city = ""
+    var district = ""
+    var addr = ""
+    var is_default = 0
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        type = intent.getIntExtra("type", 0)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_add_shipping_address)
+        mBinding?.run {
+            clickListener = this@ActivityAddShippingAddress
+            includeTitle?.run {
+                if (type == 1) {
+                    textTitleTitle.text = "新增收货地址"
+                } else if (type == 2) {
+                    textTitleTitle.text = "修改收货地址"
+                }
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    //新增收货地址
+    @SuppressLint("CheckResult")
+    fun addShouAddr() {
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .addAddr(
+                Hawk.get(HawkConstant.TOKEN),
+                person,
+                phone,
+                province,
+                city,
+                district,
+                addr,
+                is_default
+            )
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                ToastUtils.toast(it.msg)
+                if (it.code == 200) {
+                    finish()
+                }
+            }, {
+                Log.e("addShouAddr", it.message.toString())
+            })
+    }
+
+    override fun onClick(v: View?) {
+        if (mBinding?.switchBtn?.isChecked == true){
+            is_default=1
+        }else{
+            is_default=0
+        }
+        person = mBinding?.inputUserName?.text.toString()
+        phone = mBinding?.inputPhone?.text.toString()
+        addr = mBinding?.inputAddress?.text.toString()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.select_address -> {
+                DialogUtil.with(mContext).showCityPicker { citys, _ ->
+                    mBinding?.address?.text =
+                        citys[0].name + "-" + citys[1].name + "-" + citys[2].name
+
+                    province = citys[0].name
+                    city = citys[1].name
+                    district = citys[2].name
+                }
+            }
+            R.id.confirm_button -> {
+                if (person.isNullOrEmpty() || phone.isNullOrEmpty() || addr.isNullOrEmpty() || province.isNullOrEmpty()) {
+                    ToastUtils.toast("请将信息填写完整")
+                }else{
+                    if (type==1){
+                        addShouAddr()
+                    }
+                }
+            }
+        }
+    }
+}

+ 49 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityApplyAfterSale.kt

@@ -0,0 +1,49 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityApplyAfterSaleBinding
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.StatusBarCommon
+
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/31 16:42
+ */
+
+class ActivityApplyAfterSale : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityApplyAfterSaleBinding? = null
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_apply_after_sale)
+        mBinding?.run {
+            clickListener = this@ActivityApplyAfterSale
+            includeTitle?.run {
+                textTitleTitle.text = "申请售后"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.only_refund->{
+                finish()
+            }
+            R.id.refunds_1->{
+                startKtActivityOrForResult<ActivitySelectRefundCommodity>()
+            }
+            R.id.refunds_2->{
+                startKtActivityOrForResult<ActivitySelectRefundCommodity>()
+            }
+        }
+    }
+}

+ 54 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityCityList.kt

@@ -0,0 +1,54 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.GridLayoutManager
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.bean.CommodityBean
+import com.hdl.xl.databinding.ActivityCityListBinding
+import com.hdl.xl.ui.adapter.CityAdapter
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/26 16:42
+ */
+class ActivityCityList:BaseActivity(),View.OnClickListener {
+    var mBinding: ActivityCityListBinding?=null
+
+    var mAdapter= CityAdapter()
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding=DataBindingUtil.setContentView(mActivity, R.layout.activity_city_list)
+        mBinding?.run {
+            clickListener=this@ActivityCityList
+            includeTitle?.run {
+                textTitleTitle.text="选择定位"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity),0,0)
+            }
+
+            recycleView.layoutManager=GridLayoutManager(mActivity,2)
+            recycleView.adapter=mAdapter
+            var commodityBean :MutableList<CommodityBean> = arrayListOf()
+            for (i in 0..21){
+                commodityBean.add(i, CommodityBean())
+            }
+            mAdapter.addDataAll(commodityBean)
+            mAdapter.notifyDataSetChanged()
+
+            mAdapter.addOnItemClickListener { view, entity, position ->
+                finish()
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        when(v?.id){
+            R.id.go_back->{finish()}
+        }
+    }
+
+}

+ 60 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityCollectionDetail.kt

@@ -0,0 +1,60 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.GridLayoutManager
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityCollectionDetailBinding
+import com.hdl.xl.ui.adapter.VoucherPictureAdapter
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.StatusBarCommon
+
+/**
+ * @Description:藏品详情
+ * @Author: wuxing
+ * @Date: 2022/7/12 19:42
+ */
+
+class ActivityCollectionDetail : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityCollectionDetailBinding? = null
+    var mAdapter = VoucherPictureAdapter()
+    var type = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        type = intent?.getStringExtra("type").toString()
+        mBinding =
+            DataBindingUtil.setContentView(mActivity, R.layout.activity_collection_detail)
+        mBinding?.run {
+            clickListener = this@ActivityCollectionDetail
+            includeTitle?.run {
+                textTitleTitle.text = "藏品详情"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+
+            if ("fragmentCollect" == type) {
+                linearZhuanshou.visibility = View.VISIBLE
+            }else if ("fragmentConsignment"==type){
+
+            } else {
+                linearNoStart.visibility = View.VISIBLE
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle = Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.give_away -> {
+                startKtActivityOrForResult<ActivityGiveAway>()
+            }
+            R.id.resale_button -> {
+                startKtActivityOrForResult<ActivityResale>()
+            }
+        }
+    }
+}

+ 77 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityDetailsFirst.kt

@@ -0,0 +1,77 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.FragmentAdapter
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityDetailsFirstBinding
+import com.hdl.xl.ui.fragments.FragmentCommidity
+import com.hdl.xl.ui.fragments.FragmentDetail
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/30 14:42
+ */
+
+class ActivityDetailsFirst : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityDetailsFirstBinding? = null
+    var type = 0  //1限时秒杀   2普通
+    lateinit var titles: Array<String>
+    val fragments: MutableList<Fragment> = ArrayList()
+    var mFragmentOrder = FragmentCommidity()
+    var mFragmentDetail= FragmentDetail()
+
+    var goods_id:String?=""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        type = intent.getIntExtra("type", 0)
+        goods_id = intent.getStringExtra("goods_id")
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_details_first)
+        mBinding?.run {
+            clickListener = this@ActivityDetailsFirst
+            layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            titles= arrayOf("商品","详情")
+            loadFragment(type,goods_id?:"")
+            loadFragmentDetail(goods_id?:"")
+            val fragmentAdapter = FragmentAdapter(supportFragmentManager, fragments, titles)
+            viewPagerId.adapter = fragmentAdapter
+            tabLayout.setupWithViewPager(viewPagerId)
+            viewPagerId.offscreenPageLimit = 2
+            viewPagerId.currentItem = 0
+        }
+    }
+
+    fun loadFragmentDetail(id:String) {
+        fragments.add(FragmentDetail().apply {
+            mFragmentDetail=this
+            arguments=Bundle().apply {
+                putString(FragmentDetail.AGRS_GOODS_ID,id)
+            }
+        })
+    }
+
+    fun loadFragment(key:Int,id:String) {
+        fragments.add(FragmentCommidity().apply {
+            mFragmentOrder = this
+            arguments = Bundle().apply {
+                putInt(FragmentCommidity.AGRS_KEY_TYPE, key)
+                putString(FragmentCommidity.AGRS_GOODS_ID,id)
+            }
+        })
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+        }
+    }
+
+
+}

+ 81 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityEditBankCard.kt

@@ -0,0 +1,81 @@
+package com.hdl.xl.ui.activitys
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityEditBankCardBinding
+import com.hdl.xl.service.HttpApi_xie
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.extension.newKtDialogFragmentAndShow
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.StatusBarCommon
+import com.orhanobut.hawk.Hawk
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityEditBankCard : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityEditBankCardBinding? = null
+    var bank_name: String? = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_edit_bank_card)
+        mBinding?.run {
+            clickListener = this@ActivityEditBankCard
+            includeTitle?.run {
+                textTitleTitle.text = "编辑银行卡"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    fun addBankCard() {
+        mBinding?.run {
+            HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+                .addBankCard(
+                    Hawk.get(HawkConstant.TOKEN),
+                    inputUserName?.text.toString(),
+                    bank_name ?: "",
+                    inputBankCardNum?.text.toString()
+                )
+                .compose(RxSchedulers.applySchedulers())
+                .subscribe({
+                    ToastUtils.toast(it.msg)
+                    if (it.code == 200) {
+                        finish()
+                    }
+                }, {
+                    Log.e("addBankCard", it.message.toString())
+                })
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var intent = Intent()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.select_bank -> {
+                newKtDialogFragmentAndShow<com.hdl.xl.ui.dialogs.SelectBankDialog>().onSelected { s, i ->
+                    bank_name = s
+                    mBinding?.bank?.text = s
+                }
+            }
+            R.id.confirm_button -> {
+                this.setResult(Activity.RESULT_OK, intent)
+                addBankCard()
+            }
+        }
+    }
+}

+ 65 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityEditPassword.kt

@@ -0,0 +1,65 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import android.widget.Toast
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityEditPasswordBinding
+
+
+/**
+ * @Description:修改密码
+ * @Author: xieshenghua
+ * @Date: 2020/6/28 14:54
+ */
+class ActivityEditPassword : BaseActivity(), View.OnClickListener {
+    private var mBinding: ActivityEditPasswordBinding? = null
+
+    private var old: String = ""
+    private var newPassword: String = ""
+    private var newPassword2: String = ""
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding=DataBindingUtil.setContentView(mActivity, R.layout.activity_edit_password)
+        mBinding?.run {
+            clickListener = this@ActivityEditPassword
+            includeTitle.textTitleTitle.text = "修改密码"
+            includeTitle.layoutTitle.setPadding(
+                0,
+                StatusBarCommon.findStatusBarHeight(mActivity),
+                0,
+                0
+            )
+        }
+    }
+
+    override fun onClick(v: View?) {
+        old=mBinding?.inputOldPassword?.text.toString()
+        newPassword=mBinding?.password?.text.toString()
+        newPassword2=mBinding?.password2?.text.toString()
+
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.forget_password->{
+                startKtActivityOrForResult<ActivityForgetPassword>()
+            }
+            R.id.button_finish->{
+                if (newPassword!=newPassword2){
+                    Toast.makeText(mContext, "两次密码输入不同", Toast.LENGTH_SHORT).show()
+                }else{
+                    finish()
+                    ToastUtils.toast("修改成功")
+                }
+            }
+        }
+    }
+
+}

+ 126 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityForgetPassword.kt

@@ -0,0 +1,126 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.os.Handler
+import android.util.Log
+import android.view.View
+import android.widget.Toast
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityForgetPasswordBinding
+import com.hdl.xl.service.HttpApi_xie
+
+/**
+ * @Description:忘记密码
+ * @Author: xieshenghua
+ * @Date: 2020/6/28 14:54
+ */
+class ActivityForgetPassword : BaseActivity(), View.OnClickListener {
+    private val TAG = ActivityForgetPassword::class.java.simpleName
+    private var mBinding: ActivityForgetPasswordBinding? = null
+    private val handler = Handler()
+    private var mCountNum = 60
+    private var phone: String = ""
+    private var code: String = ""
+    private var newPassword: String = ""
+    private var newPassword2: String = ""
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_forget_password)
+        mBinding?.run {
+            clickListener = this@ActivityForgetPassword
+            includeTitle.textTitleTitle.text = "忘记密码"
+            includeTitle.layoutTitle.setPadding(
+                0,
+                StatusBarCommon.findStatusBarHeight(mActivity),
+                0,
+                0
+            )
+        }
+    }
+
+    override fun onClick(v: View?) {
+        phone = mBinding?.inputPhone?.text.toString()
+        code = mBinding?.inputCode?.text.toString()
+        newPassword = mBinding?.password?.text.toString()
+        newPassword2 = mBinding?.password2?.text.toString()
+
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.get_captcha -> {
+                if (phone?.length != 11) {
+                    Toast.makeText(mContext, "请输入11位手机号", Toast.LENGTH_SHORT).show()
+                } else {
+                    HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+                        .codeForgetPassword(phone)
+                        .compose(RxSchedulers.applySchedulers())
+                        .subscribe({
+                            Toast.makeText(mContext, it.msg, Toast.LENGTH_SHORT).show()
+                            if (it.code == 200) {
+                                handler.postDelayed(countDown, 0)
+                            }
+                        }, { error ->
+                            Log.d(TAG, "验证码--忘记密码:${error.message}")
+                            Toast.makeText(mContext, "获取失败!", Toast.LENGTH_SHORT).show()
+                        })
+                }
+            }
+            R.id.button_finish -> {
+                if (phone.length != 11) {
+                    Toast.makeText(mContext, "请输入11位手机号", Toast.LENGTH_SHORT).show()
+                } else if (code == null || code.isEmpty()) {
+                    Toast.makeText(mContext, "请输入短信验证码", Toast.LENGTH_SHORT).show()
+                } else if (newPassword != newPassword2) {
+                    Toast.makeText(mContext, "两次密码输入不同", Toast.LENGTH_SHORT).show()
+                } else {
+                    editPhone(phone, newPassword, code)
+                }
+            }
+        }
+    }
+
+    /**
+     * 修改手机号
+     */
+    @SuppressLint("CheckResult")
+    fun editPhone(phone: String,pwd: String,code: String) {
+            HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+                .forgetPassword( phone, pwd,pwd,code)
+                .compose(RxSchedulers.applySchedulers())
+                .subscribe({
+                    Log.d(TAG,"修改手机号${it}")
+                    ToastUtils.toast(it.msg)
+                    if (it.code==200){
+                        finish()
+                    }
+                }, {
+                    Log.d(TAG,"修改手机号${it.message}")
+                    ToastUtils.toast(it.message)
+                })
+
+    }
+
+    private val countDown = object : Runnable {
+        override fun run() {
+            mBinding?.getCaptcha?.text = "" + mCountNum + "S"
+            mBinding?.getCaptcha?.isEnabled = false
+            if (mCountNum > 0) {
+                handler.postDelayed(this, 1000)
+            } else {
+                mBinding?.getCaptcha?.text = "获取验证码"
+                mBinding?.getCaptcha?.isEnabled = true
+                mCountNum = 60
+            }
+            mCountNum--
+        }
+    }
+}

+ 48 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityGiveAway.kt

@@ -0,0 +1,48 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityGiveAwayBinding
+import com.hdl.xl.ui.dialogs.DialogGiveAway
+import com.hdl.xl.ui.dialogs.DialogSecondPassword
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.newKtDialogFragmentAndShow
+import com.laike.basekt.utils.StatusBarCommon
+
+/**
+ * @Description:转赠(藏品详情)
+ * @Author: wuxing
+ * @Date: 2022/7/12 19:42
+ */
+
+class ActivityGiveAway : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityGiveAwayBinding? = null
+    var type = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        //type = intent?.getStringExtra("type").toString()
+        mBinding =
+            DataBindingUtil.setContentView(mActivity, R.layout.activity_give_away)
+        mBinding?.run {
+            clickListener = this@ActivityGiveAway
+            includeTitle?.run {
+                textTitleTitle.text = "藏品详情"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle = Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.confirm_button -> {
+                newKtDialogFragmentAndShow<DialogGiveAway>()
+            }
+        }
+    }
+}

+ 65 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityInputReturn.kt

@@ -0,0 +1,65 @@
+package com.hdl.xl.ui.activitys
+
+import android.content.Intent
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityInputReturnBinding
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.ImageSelectUtil
+import com.laike.basekt.utils.StatusBarCommon
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/31 20:42
+ */
+
+class ActivityInputReturn : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityInputReturnBinding? = null
+    var imagePath: String? = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_input_return)
+        mBinding?.run {
+            clickListener = this@ActivityInputReturn
+            includeTitle?.run {
+                textTitleTitle.text = "录入退件"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+
+        }
+    }
+
+    override fun onClick(v: View?) {
+        mBinding?.run {
+            var jine = inputKuaidiNum?.text?.toString()
+            when (v?.id) {
+                R.id.go_back -> {
+                    finish()
+                }
+
+                R.id.confirm_button -> {
+                    if (jine.isNullOrEmpty()) {
+                        ToastUtils.toast("请输入快递单号")
+                    } else {
+                        ToastUtils.toast("提交成功!")
+                        finish()
+                    }
+                }
+                else -> {
+                }
+            }
+        }
+
+    }
+    var callback: ImageSelectUtil.ResultCallback? = null
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        ImageSelectUtil.OnResult(requestCode, resultCode, data, callback)
+    }
+
+
+}

+ 151 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityLimitedTimePurchase.kt

@@ -0,0 +1,151 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.os.Handler
+import android.os.Message
+import android.util.Log
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.bean.CommodityBean
+import com.hdl.xl.databinding.ActivityLimitedTimePurchaseBinding
+import com.hdl.xl.service.HttpApi_xie
+import com.hdl.xl.ui.adapter.LimitedTimeAdapter
+import com.scwang.smartrefresh.layout.SmartRefreshLayout
+
+/**
+ * @Description:限时购
+ * @Author: wuxing
+ * @Date: 2021/1/26 16:42
+ */
+class ActivityLimitedTimePurchase : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityLimitedTimePurchaseBinding? = null
+    var commodityBean: MutableList<CommodityBean> = arrayListOf()
+    var mAdapter = LimitedTimeAdapter()
+    var curPage=0
+    var leftTime=0L
+    var handler = Handler()
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        leftTime=intent.getLongExtra("limit_time",0L)
+        mBinding =
+            DataBindingUtil.setContentView(mActivity, R.layout.activity_limited_time_purchase)
+        mBinding?.run {
+            clickListener = this@ActivityLimitedTimePurchase
+            layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+
+            handler.postDelayed(update_thread, 1000)
+
+            recycleView.layoutManager = LinearLayoutManager(mActivity)
+            recycleView.adapter = mAdapter
+
+            smartRefreshLayout.setOnRefreshListener {
+                curPage=0
+                mAdapter.getData().clear()
+                mAdapter.notifyDataSetChanged()
+                searchLimitBuy(smartRefreshLayout)
+            }
+            smartRefreshLayout.setOnLoadMoreListener {
+                searchLimitBuy(smartRefreshLayout)
+            }
+            smartRefreshLayout.autoRefresh()
+
+            mAdapter.addOnItemClickListener { view, entity, position ->
+                var bundle = Bundle()
+                bundle.putInt("type", 1)
+                startKtActivityOrForResult<ActivityDetailsFirst>(bundle = bundle)
+            }
+        }
+    }
+
+    var update_thread: Runnable = object : Runnable {
+        override fun run() {
+            leftTime--
+            Log.e("", "leftTime=$leftTime")
+            if (leftTime > 0) {
+                //倒计时效果展示
+                val formatLongToTimeStr = formatLongToTimeStr(leftTime)
+                mBinding?.limitedTime?.text = formatLongToTimeStr
+                //每一秒执行一次
+                handler.postDelayed(this, 1000)
+            } else { //倒计时结束
+                //处理业务流程
+
+                //发送消息,结束倒计时
+                val message = Message()
+                message.what = 1
+                handlerStop.sendMessage(message)
+            }
+        }
+    }
+    val handlerStop: Handler = object : Handler() {
+        override fun handleMessage(msg: Message) {
+            when (msg.what) {
+                1 -> {
+                    leftTime = 0
+                    handler.removeCallbacks(update_thread)
+                }
+            }
+            super.handleMessage(msg)
+        }
+    }
+
+    fun formatLongToTimeStr(l: Long): String {
+        var hour = 0
+        var minute = 0
+        var second = 0
+        second = l.toInt()
+        if (second > 60) {
+            minute = second / 60 //取整
+            second %= 60 //取余
+        }
+        if (minute > 60) {
+            hour = minute / 60
+            minute %= 60
+        }
+        return  ""+hour + "时" + minute + "分" + second + "秒"
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        leftTime = 0
+        handler.removeCallbacks(update_thread)
+    }
+
+    @SuppressLint("CheckResult")
+    fun searchLimitBuy(smartRefreshLayout: SmartRefreshLayout) {
+        curPage++
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .searchMiaoSha(curPage,10)
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                smartRefreshLayout.finishRefresh()
+                smartRefreshLayout.finishLoadMore()
+                if (it.code==200){
+                    it.data?.let { it1 -> mAdapter.addDataAll(it1) }
+                    mAdapter.notifyDataSetChanged()
+                }
+            },{
+                smartRefreshLayout.finishRefresh()
+                smartRefreshLayout.finishLoadMore()
+                Log.e("searchLimitBuy",it.message.toString())
+            })
+
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+        }
+    }
+
+}

+ 81 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyBankCard.kt

@@ -0,0 +1,81 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityMyBankCardBinding
+import com.hdl.xl.service.HttpApi_xie
+
+import com.orhanobut.hawk.Hawk
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityMyBankCard : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityMyBankCardBinding? = null
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_my_bank_card)
+        mBinding?.run {
+            clickListener = this@ActivityMyBankCard
+            includeTitle?.run {
+                textTitleTitle.text = "银行卡"
+                textSet.text = "编辑"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+            searchBankCard()
+        }
+    }
+
+    @SuppressLint("CheckResult")
+    fun searchBankCard() {
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .searchBankCard(Hawk.get(HawkConstant.TOKEN))
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                if (it.code == 200) {
+                    var data = it.data?.get(0)
+                    mBinding?.run {
+                        userName.text = data?.name
+                        bank.text = data?.bankname
+                        bankCardNum.text = data?.bankcard_number
+                    }
+                }
+            }, {
+                Log.e("searchBankCard", it.message.toString())
+            })
+    }
+
+    override fun onClick(v: View?) {
+        var intent = Intent()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.text_set -> {
+                intent.setClass(mContext, ActivityEditBankCard::class.java)
+                startActivityForResult(intent, 1)
+            }
+        }
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (requestCode == 1) {
+            searchBankCard()
+        }
+    }
+}

+ 53 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyCollect.kt

@@ -0,0 +1,53 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityMyCollectBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityMyCollect : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityMyCollectBinding? = null
+    var mAdapter= com.hdl.xl.ui.adapter.CollectAdapter()
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_my_collect)
+        mBinding?.run {
+            clickListener = this@ActivityMyCollect
+            includeTitle?.run {
+                textTitleTitle.text = "我的收藏"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+            recycleView.layoutManager=LinearLayoutManager(mContext)
+            recycleView.adapter=mAdapter
+            var commodityBean :MutableList<com.hdl.xl.bean.CommodityBean> = arrayListOf()
+            for (i in 0..21){
+                commodityBean.add(i, com.hdl.xl.bean.CommodityBean())
+            }
+            mAdapter.addDataAll(commodityBean)
+            mAdapter.notifyDataSetChanged()
+        }
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+
+        }
+    }
+
+
+
+}

+ 75 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyInfo.kt

@@ -0,0 +1,75 @@
+package com.hdl.xl.ui.activitys
+
+import android.content.Intent
+import android.os.Bundle
+import android.view.View
+import android.widget.ImageView
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.loadImageForUrl
+import com.laike.basekt.extension.newKtDialogFragmentAndShow
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.ImageSelectUtil
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityMyInfoBinding
+import com.orhanobut.hawk.Hawk
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+class ActivityMyInfo : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityMyInfoBinding? = null
+    var imagePath: String? = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_my_info)
+        mBinding?.run {
+            clickListener = this@ActivityMyInfo
+            includeTitle?.run {
+                textTitleTitle.text = "我的资料"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var intent=Intent()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.select_photo -> {
+                callback = ImageSelectUtil.ResultCallback { path ->
+                    loadImageForUrl(v as ImageView, path)
+                    imagePath = path
+                }
+                ImageSelectUtil.SelectImg(this)
+            }
+            R.id.edit_username -> {
+                newKtDialogFragmentAndShow<com.hdl.xl.ui.dialogs.DialogEditInfo>().onSelected {
+                    mBinding?.userName?.text=it
+                }
+            }
+            R.id.edit_password -> {
+                intent.setClassName(mContext,"com.hdl.xl.ui.ActivityEditPassword")
+                startActivity(intent)
+            }
+            R.id.drop_out_btn->{
+                Hawk.delete(HawkConstant.TOKEN)
+                intent.setClassName(mContext,"com.hdl.xl.ui.LoginActivity")
+                startActivity(intent)
+            }
+        }
+    }
+
+    var callback: ImageSelectUtil.ResultCallback? = null
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        ImageSelectUtil.OnResult(requestCode, resultCode, data, callback)
+    }
+
+}

+ 86 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyOrder.kt

@@ -0,0 +1,86 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityMyOrderBinding
+import com.laike.basekt.FragmentAdapter
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityMyOrder : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityMyOrderBinding? = null
+    var type=0
+    lateinit var titles: Array<String>
+    var mFragmentOrder= com.hdl.xl.ui.fragments.FragmentOrder()
+    val fragments: MutableList<Fragment> = ArrayList()
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        type=intent.getIntExtra("type",0)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_my_order)
+        mBinding?.run {
+            clickListener = this@ActivityMyOrder
+            includeTitle?.layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+
+            if (type==5){//退货售后
+                includeTitle?.textTitleTitle.text = "售后订单"
+                titles = arrayOf("待审核", "已审核","已完成","已取消")
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_NO_REVIEW) //待审核
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_REVIEW) //已审核
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_FINISH_RETURN) //已完成
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_CANCEL_RETURN) //已取消
+            }else{//订单
+                includeTitle?.textTitleTitle.text = "订单管理"
+                titles = arrayOf("待付款", "已付款","已发货","已完成","已取消")
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_NO_PAY) //待付款
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_PAY) //已付款
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_SHIP) //已发货
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_FINISH) //已完成
+                loadFragment(com.hdl.xl.ui.fragments.FragmentOrder.KEY_HAVED_CANCEL) //已取消
+            }
+
+            val fragmentAdapter = FragmentAdapter(
+                supportFragmentManager,
+                fragments,
+                titles
+            )
+            viewPagerId.adapter = fragmentAdapter
+            tabLayout.setupWithViewPager(viewPagerId)
+            viewPagerId.offscreenPageLimit = 2
+            if (type==5){
+                viewPagerId.currentItem = 0
+            }else{
+                viewPagerId.currentItem = type
+            }
+        }
+    }
+
+    fun loadFragment(key:Int){
+        fragments.add(com.hdl.xl.ui.fragments.FragmentOrder().apply {
+            mFragmentOrder = this
+            arguments = Bundle().apply {
+                putInt(com.hdl.xl.ui.fragments.FragmentOrder.AGRS_KEY_TYPE, key)
+            }
+        })
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+        }
+    }
+
+
+
+}

+ 55 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityMyWallet.kt

@@ -0,0 +1,55 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityMyWalletBinding
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.StatusBarCommon
+
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+class ActivityMyWallet : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityMyWalletBinding? = null
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_my_wallet)
+        mBinding?.run {
+            clickListener = this@ActivityMyWallet
+            includeTitle?.run {
+                textTitleTitle.text = "我的钱包"
+                textSet.text="账单"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle=Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.red_bag_recording->{
+                bundle.putInt("type",1)
+                startKtActivityOrForResult<ActivityRedBagRecording>(bundle = bundle)
+            }
+            R.id.text_set->{
+                bundle.putInt("type",2)
+                startKtActivityOrForResult<ActivityRedBagRecording>(bundle = bundle)
+            }
+            R.id.recharge_btn->{
+                startKtActivityOrForResult<ActivityRecharge>()
+            }
+            R.id.withdraw_btn->{
+                startKtActivityOrForResult<ActivityWithdraw>()
+            }
+        }
+    }
+}

+ 200 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityProductCategory.kt

@@ -0,0 +1,200 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.GridLayoutManager
+import cn.leyihang.base.Launcher
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.bumptech.glide.Glide
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityProductCategoryBinding
+import com.hdl.xl.service.HttpApi_xie
+import com.hdl.xl.ui.adapter.CommodityRecommendAdapter
+import com.orhanobut.hawk.Hawk
+import com.scwang.smartrefresh.layout.SmartRefreshLayout
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/26 17:11
+ */
+class ActivityProductCategory : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityProductCategoryBinding? = null
+    var mAdapter = CommodityRecommendAdapter()
+    var intType = 0
+    var type: String? = ""
+    var curPage = 0
+    var category: String? = ""
+    var shop_id: String? = ""
+    var key_word: String? = ""
+    var title:String?=""
+
+    companion object {
+        @JvmStatic
+        fun START(context: Context?,type:String,shop_id:String,title:String?,category_id:String) {
+            Launcher.with(context).add("type",type)
+                .add("shop_id",shop_id)
+                .add("title",title)
+                .add("category_id",category_id)
+                .target(ActivityProductCategory::class.java).go()
+        }
+    }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        type = intent.getStringExtra("type")
+        shop_id= intent.getStringExtra("shop_id")
+        title = intent.getStringExtra("title")
+        category=intent.getStringExtra("category_id")
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_product_category)
+        mBinding?.run {
+            clickListener = this@ActivityProductCategory
+            layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            if (type == "search") {
+
+            } else if (type == "sort") {
+                layoutTitle.visibility = View.GONE
+                includeTitle.run {
+                    layoutTitle.visibility = View.VISIBLE
+                    textTitleTitle.text = title
+                    layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+                    Glide.with(mContext).load(R.drawable.ic_search).into(imgSet)
+                }
+            } else if (type == "tuijian_1") {
+                shopName.visibility = View.VISIBLE
+                shopName.text=title
+            } else if (type == "tuijian_2") {
+                shopName.visibility = View.VISIBLE
+                shopName.text=title
+                manJian.visibility = View.VISIBLE
+            }
+
+            recycleView.layoutManager = GridLayoutManager(mActivity, 2)
+            recycleView.adapter = mAdapter
+
+            smart(key_word?:"",0)
+
+            mAdapter.addOnItemClickListener { view, entity, position ->
+                var bundle = Bundle()
+                bundle.putInt("type", 2)
+                startKtActivityOrForResult<ActivityDetailsFirst>(bundle = bundle)
+            }
+        }
+    }
+
+    fun smart(key_wo:String,ty: Int) {
+        mBinding?.run {
+            smartRefreshLayout.setOnRefreshListener {
+                curPage = 0
+                mAdapter.getData().clear()
+                mAdapter.notifyDataSetChanged()
+                searchGoodsList(smartRefreshLayout,key_wo, ty)
+            }
+            smartRefreshLayout.setOnLoadMoreListener {
+                searchGoodsList(smartRefreshLayout,key_wo, ty)
+            }
+            smartRefreshLayout.autoRefresh()
+        }
+    }
+
+    @SuppressLint("CheckResult")
+    fun searchGoodsList(smartRefreshLayout: SmartRefreshLayout,key_wo:String, ty: Int) {
+        curPage++
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .searchGoodsList(
+                key_wo,
+                category ?: "",
+                shop_id ?: "",
+                Hawk.get(HawkConstant.USER_ID),
+                ty,
+                curPage,
+                10
+            )
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                smartRefreshLayout.finishRefresh()
+                smartRefreshLayout.finishLoadMore()
+                if (it.code == 200) {
+                    it.data?.let { it1 -> mAdapter.addDataAll(it1) }
+                    mAdapter.notifyDataSetChanged()
+                }
+            }, {
+                smartRefreshLayout.finishRefresh()
+                smartRefreshLayout.finishLoadMore()
+                Log.e("searchGoodsList", it.message.toString())
+            })
+    }
+
+    override fun onClick(v: View?) {
+        var intent = Intent()
+        mBinding?.run {
+            when (v?.id) {
+                R.id.go_back -> {
+                    finish()
+                }
+                R.id.complex_button -> {
+                    complexView.visibility = View.VISIBLE
+                    priceView.visibility = View.GONE
+                    priceSelect.visibility = View.GONE
+                    salesView.visibility = View.GONE
+                    intType = 0
+                    smart(key_word?:"",intType)
+                }
+                R.id.price_button -> {
+                    complexView.visibility = View.GONE
+                    priceView.visibility = View.VISIBLE
+                    priceSelect.visibility = View.VISIBLE
+                    salesView.visibility = View.GONE
+                    if (intType == 2) {
+                        Glide.with(mContext).load(R.mipmap.xia_sanjiao).into(priceSelect)
+                        intType = 1
+                    } else {
+                        Glide.with(mContext).load(R.mipmap.shang_sanjiao).into(priceSelect)
+                        intType = 2
+                    }
+                    smart(key_word?:"",intType)
+                }
+                R.id.sales_button -> {
+                    complexView.visibility = View.GONE
+                    priceView.visibility = View.GONE
+                    priceSelect.visibility = View.GONE
+                    salesView.visibility = View.VISIBLE
+                    salesSelect.visibility = View.VISIBLE
+                    if (intType == 4) {
+                        Glide.with(mContext).load(R.mipmap.xia_sanjiao).into(salesSelect)
+                        intType = 3
+                    } else {
+                        Glide.with(mContext).load(R.mipmap.shang_sanjiao).into(salesSelect)
+                        intType = 4
+                    }
+                    smart(key_word?:"",intType)
+                }
+                R.id.search_btn -> {
+                    intent.setClass(mContext, ActivitySearchCommdity::class.java)
+                    startActivityForResult(intent, 666)
+                }
+                else -> {
+                }
+            }
+        }
+    }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        if (requestCode == 666) {
+            key_word = data?.extras?.getString("key_word")
+            mBinding?.searchBtn?.text = key_word
+            smart(key_word?:"",intType)
+        }
+    }
+}

+ 71 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityQuickReplenishment.kt

@@ -0,0 +1,71 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityQuickReplenishmentBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/31 16:42
+ */
+
+class ActivityQuickReplenishment : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityQuickReplenishmentBinding? = null
+    var isSelelct = false
+    lateinit var mAdapter: com.hdl.xl.ui.adapter.OuterPurchaseAdapter
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_quick_replenishment)
+        mBinding?.run {
+            clickListener = this@ActivityQuickReplenishment
+            includeTitle?.run {
+                textTitleTitle.text = "快速补货"
+                textSet.text = "全选"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+            mAdapter = com.hdl.xl.ui.adapter.OuterPurchaseAdapter()
+            recyclerView.layoutManager = LinearLayoutManager(mActivity)
+            recyclerView.adapter = mAdapter
+            var commodityBean: MutableList<com.hdl.xl.bean.CommodityBean> = arrayListOf()
+            for (i in 0..15) {
+                commodityBean.add(i, com.hdl.xl.bean.CommodityBean())
+            }
+            mAdapter.addDataAll(commodityBean)
+            mAdapter.notifyDataSetChanged()
+        }
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.only_refund -> {
+                finish()
+            }
+            R.id.text_set -> {
+                if (isSelelct) {
+                    mBinding?.includeTitle?.textSet?.text = "全选"
+                    isSelelct=false
+                    mAdapter.getData().forEach {
+                        it.isSelected=false
+                    }
+                }else{
+                    mBinding?.includeTitle?.textSet?.text = "取消全选"
+                    isSelelct=true
+                    mAdapter.getData().forEach {
+                        it.isSelected=true
+                    }
+                }
+                mAdapter.notifyDataSetChanged()
+            }
+        }
+    }
+}

+ 63 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityRecharge.kt

@@ -0,0 +1,63 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.bumptech.glide.Glide
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityRechargeBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+class ActivityRecharge : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityRechargeBinding? = null
+    var type=1
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_recharge)
+        mBinding?.run {
+            clickListener = this@ActivityRecharge
+            includeTitle?.run {
+                textTitleTitle.text = "充值"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle=Bundle()
+        var jine=mBinding?.inputJine?.text.toString()
+        mBinding?.run {
+            when (v?.id) {
+                R.id.go_back -> {
+                    finish()
+                }
+                R.id.wx_btn->{
+                    Glide.with(mContext).load(R.mipmap.selected_img).into(wxImg)
+                    Glide.with(mContext).load(R.mipmap.unselect_img).into(zfbImg)
+                    type=1
+                }
+                R.id.zfb_btn->{
+                    Glide.with(mContext).load(R.mipmap.unselect_img).into(wxImg)
+                    Glide.with(mContext).load(R.mipmap.selected_img).into(zfbImg)
+                    type=2
+                }
+                R.id.confirm_button->{
+                    if (jine.isNullOrEmpty()){
+                        ToastUtils.toast("请输入充值金额!")
+                    }else{
+                        ToastUtils.toast("充值成功!")
+                        finish()
+                    }
+                }
+            }
+        }
+    }
+}

+ 58 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityRedBagRecording.kt

@@ -0,0 +1,58 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityMyCollectBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityRedBagRecording : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityMyCollectBinding? = null
+    var type:Int?=0
+    lateinit var mAdapter : com.hdl.xl.ui.adapter.RedBagRecordingAdapter
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        type=intent.getIntExtra("type",0)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_my_collect)
+        mBinding?.run {
+            clickListener = this@ActivityRedBagRecording
+            includeTitle?.run {
+                if (type==1){
+                    textTitleTitle.text = "红包纪录"
+                    mAdapter= com.hdl.xl.ui.adapter.RedBagRecordingAdapter(1)
+                }else if (type==2){
+                    textTitleTitle.text = "账单"
+                    mAdapter= com.hdl.xl.ui.adapter.RedBagRecordingAdapter(2)
+                }
+
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+            recycleView.layoutManager=LinearLayoutManager(mContext)
+            recycleView.adapter=mAdapter
+            var commodityBean :MutableList<com.hdl.xl.bean.CommodityBean> = arrayListOf()
+            for (i in 0..21){
+                commodityBean.add(i, com.hdl.xl.bean.CommodityBean())
+            }
+            mAdapter.addDataAll(commodityBean)
+            mAdapter.notifyDataSetChanged()
+        }
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+        }
+    }
+}

+ 137 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityRegistration.kt

@@ -0,0 +1,137 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.os.Handler
+import android.util.Log
+import android.view.View
+import android.widget.Toast
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityRegistrationBinding
+import com.hdl.xl.service.HttpApi_xie
+
+/**
+ * @Description:注册
+ * @Author: xieshenghua
+ * @Date: 2020/7/17 9:52
+ */
+
+class ActivityRegistration : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityRegistrationBinding? = null
+    var phone: String? = ""
+    var code: String? = ""
+    var password: String? = ""
+    var password_cf: String? = ""
+    var yao_code: String? = ""
+    val handler = Handler()
+    var mCountNum = 60
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_registration)
+        mBinding?.run {
+            clickListener = this@ActivityRegistration
+            includeTitle.textTitleTitle.text = "注册"
+            includeTitle.layoutTitle.setPadding(
+                0,
+                StatusBarCommon.findStatusBarHeight(mActivity),
+                0,
+                0
+            )
+        }
+    }
+
+    override fun onClick(v: View?) {
+        phone = mBinding?.inputPhone?.text.toString()
+        code = mBinding?.inputCode?.text.toString()
+        password = mBinding?.inputPassword?.text.toString()
+        password_cf = mBinding?.inputPasswordCf?.text.toString()
+        yao_code = mBinding?.inputYaoqing?.text.toString()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.get_captcha -> {
+                if (phone?.length != 11) {
+                    Toast.makeText(mContext, "请输入11位手机号", Toast.LENGTH_SHORT).show()
+                } else {
+                    codeRegistered(phone?:"")
+                }
+            }
+            R.id.button_registered -> {
+                if (phone?.length != 11) {
+                    Toast.makeText(mContext, "请输入11位手机号", Toast.LENGTH_SHORT).show()
+                } else if (code == null || code?.length == 0) {
+                    Toast.makeText(mContext, "请输入短信验证码", Toast.LENGTH_SHORT).show()
+                } else if (password == null || password?.length == 0) {
+                    Toast.makeText(mContext, "请输入密码", Toast.LENGTH_SHORT).show()
+                }else if (password_cf == null || password_cf?.length == 0) {
+                    Toast.makeText(mContext, "请再次输入密码", Toast.LENGTH_SHORT).show()
+                }
+                else if (password!=password_cf) {
+                    Toast.makeText(mContext, "两次输入的密码不一样", Toast.LENGTH_SHORT).show()
+                }
+                else if (yao_code == null || yao_code?.length == 0) {
+                    Toast.makeText(mContext, "请输入注册邀请码", Toast.LENGTH_SHORT).show()
+                }else {
+                    registered(phone?:"", password?:"", yao_code?:"",code?:"")
+                }
+            }
+        }
+    }
+
+    //--通过验证码注册
+    @SuppressLint("CheckResult")
+    fun codeRegistered(phone: String) {
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .codeRegistered(phone)
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                Toast.makeText(application, it.msg, Toast.LENGTH_SHORT).show()
+                if (it.code==200){
+                    handler.postDelayed(countDown, 0)
+                }
+            }, { error ->
+                Log.d("codeRegistered", "验证码注册:${error.message}")
+                Toast.makeText(application, "获取失败!", Toast.LENGTH_SHORT).show()
+            })
+    }
+
+    //--注册
+    @SuppressLint("CheckResult")
+    fun registered(
+        phone: String, password: String, yao:String,code: String
+    ) {
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .registered(phone, password,password, yao,code)
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                Toast.makeText(application, it.msg, Toast.LENGTH_SHORT).show()
+                if (it.code == 0) {
+                    finish()
+                }
+            }, { error ->
+                Log.d("registered" ,"注册:${error.message}")
+                Toast.makeText(application, "注册失败!", Toast.LENGTH_SHORT).show()
+            })
+    }
+
+    private val countDown = object : Runnable {
+        override fun run() {
+            mBinding?.getCaptcha?.text = "" + mCountNum + "S"
+            mBinding?.getCaptcha?.isEnabled = false
+            if (mCountNum > 0) {
+                handler.postDelayed(this, 1000)
+            } else {
+                mBinding?.getCaptcha?.text = "获取验证码"
+                mBinding?.getCaptcha?.isEnabled = true
+                mCountNum = 60
+            }
+            mCountNum--
+        }
+    }
+}

+ 48 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityResale.kt

@@ -0,0 +1,48 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityResaleBinding
+import com.hdl.xl.ui.dialogs.DialogSecondPassword
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.newKtDialogFragmentAndShow
+import com.laike.basekt.utils.StatusBarCommon
+
+/**
+ * @Description:转售
+ * @Author: wuxing
+ * @Date: 2022/7/12 19:42
+ */
+
+class ActivityResale : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityResaleBinding? = null
+    var type = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        //type = intent?.getStringExtra("type").toString()
+        mBinding =
+            DataBindingUtil.setContentView(mActivity, R.layout.activity_resale)
+        mBinding?.run {
+            clickListener = this@ActivityResale
+            includeTitle?.run {
+                textTitleTitle.text = "转售"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle = Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.confirm_button -> {
+                bundle.putInt("type",1)
+                newKtDialogFragmentAndShow<DialogSecondPassword>(bundle=bundle)
+            }
+        }
+    }
+}

+ 49 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityResaleSuccess.kt

@@ -0,0 +1,49 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityResaleSuccessBinding
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+/**
+ * @Description:转售成功
+ * @Author: wuxing
+ * @Date: 2022/7/13 19:42
+ */
+
+class ActivityResaleSuccess : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityResaleSuccessBinding? = null
+    var mAdapter = com.hdl.xl.ui.adapter.VoucherPictureAdapter()
+    var type = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        //type = intent?.getStringExtra("type").toString()
+        mBinding =
+            DataBindingUtil.setContentView(mActivity, R.layout.activity_resale_success)
+        mBinding?.run {
+            clickListener = this@ActivityResaleSuccess
+            includeTitle?.run {
+                textTitleTitle.text = "转售成功"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle = Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.back_button->{
+                finish()
+            }
+            R.id.confirm_button -> {
+
+            }
+        }
+    }
+}

+ 102 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivitySearchCommdity.kt

@@ -0,0 +1,102 @@
+package com.hdl.xl.ui.activitys
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.text.Editable
+import android.text.TextWatcher
+import android.view.View
+import android.view.inputmethod.EditorInfo
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.StatusBarCommon
+import com.hdl.xl.R
+import com.hdl.xl.bean.CommodityBean
+import com.hdl.xl.databinding.ActivitySearchCommdityBinding
+import com.hdl.xl.ui.adapter.SearchRecordingAdapter
+import com.orhanobut.hawk.Hawk
+
+/**
+ * @Description:搜索商品
+ * @Author: wuxing
+ * @Date: 2021/1/26 16:42
+ */
+class ActivitySearchCommdity : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivitySearchCommdityBinding? = null
+    var commodityBean: MutableList<CommodityBean> = arrayListOf()
+    var mAdapter = SearchRecordingAdapter()
+    var list: MutableList<String>? = ArrayList()
+    var str = ""
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_search_commdity)
+        var intent = Intent()
+        mBinding?.run {
+            clickListener = this@ActivitySearchCommdity
+            layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+
+            recycleView.layoutManager = LinearLayoutManager(mActivity)
+            recycleView.adapter = mAdapter
+
+            list = Hawk.get(HawkConstant.HISTORY_RECORD, null)
+            if (list == null)
+                list = ArrayList<String>()
+            list?.let { mAdapter.addDataAll(it) }
+            mAdapter.notifyDataSetChanged()
+
+            inputSearch.addTextChangedListener(object : TextWatcher {
+                override fun afterTextChanged(s: Editable?) {
+                    str = s.toString()
+                    if (str != "") {
+                        inputSearch.setOnEditorActionListener { v, actionId, event ->
+                            if (actionId == EditorInfo.IME_ACTION_SEARCH) {
+                                if (!(list!!.contains(str))) {
+                                    recordHistory(str)
+                                }
+                                intent.putExtra("key_word", str)
+                                mActivity.setResult(Activity.RESULT_OK, intent)
+                                finish()
+                            }
+                            false
+                        }
+                    }
+                }
+                override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
+                override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
+            })
+
+
+            mAdapter.addOnItemClickListener { view, entity, position ->
+                intent.putExtra("key_word", entity)
+                mActivity.setResult(Activity.RESULT_OK, intent)
+                finish()
+            }
+        }
+    }
+
+    /**
+     * 把搜索记录存储到本地
+     */
+    fun recordHistory(str: String) {
+        list?.add(str)
+        Hawk.put(HawkConstant.HISTORY_RECORD, list)
+        mAdapter.notifyDataSetChanged()
+    }
+
+    override fun onClick(v: View?) {
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.clear_search_history->{
+                Hawk.delete(HawkConstant.HISTORY_RECORD)
+                list=ArrayList<String>()
+                mAdapter.getData().clear()
+                mAdapter.notifyDataSetChanged()
+            }
+        }
+    }
+}

+ 68 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivitySelectRefundCommodity.kt

@@ -0,0 +1,68 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import cn.leyihang.base.utils.ToastUtils
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivitySelectRefundCommodityBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/31 19:42
+ */
+
+class ActivitySelectRefundCommodity : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivitySelectRefundCommodityBinding? = null
+    var mAdapter = com.hdl.xl.ui.adapter.InnerOrderAdapter(3)
+    var selectInt = -1
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding =
+            DataBindingUtil.setContentView(mActivity, R.layout.activity_select_refund_commodity)
+        mBinding?.run {
+            clickListener = this@ActivitySelectRefundCommodity
+            includeTitle?.run {
+                textTitleTitle.text = "选择退货商品"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+            recycleView.layoutManager = LinearLayoutManager(mContext)
+            recycleView.adapter = mAdapter
+            var commodityBean: MutableList<com.hdl.xl.bean.CommodityBean> = arrayListOf()
+            for (i in 0..21) {
+                commodityBean.add(i, com.hdl.xl.bean.CommodityBean())
+            }
+            mAdapter.addDataAll(commodityBean)
+            mAdapter.notifyDataSetChanged()
+
+            mAdapter.addOnItemClickListener { view, entity, position ->
+                selectInt = position
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle = Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.confirm_button -> {
+                if (selectInt < 0) {
+                    ToastUtils.toast("请选择退货商品")
+                } else {
+                    startKtActivityOrForResult<ActivitySubmitRefund>()
+                }
+            }
+
+        }
+    }
+
+
+}

+ 73 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityShippingAddress.kt

@@ -0,0 +1,73 @@
+package com.hdl.xl.ui.activitys
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import android.util.Log
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.coremodel.datemodel.client.HttpRetrofitRequest
+import com.laike.basekt.coremodel.datemodel.client.RxSchedulers
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityShippingAddressBinding
+import com.hdl.xl.service.HttpApi_xie
+
+import com.orhanobut.hawk.Hawk
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+
+class ActivityShippingAddress : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityShippingAddressBinding? = null
+    var mAdapter= com.hdl.xl.ui.adapter.ShippingAddressAdapter()
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_shipping_address)
+        mBinding?.run {
+            clickListener = this@ActivityShippingAddress
+            includeTitle?.run {
+                textTitleTitle.text = "我的地址"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+            recycleView.layoutManager=LinearLayoutManager(mContext)
+            recycleView.adapter=mAdapter
+            searchAddress()
+        }
+    }
+
+    @SuppressLint("CheckResult")
+    fun searchAddress(){
+        HttpRetrofitRequest.retrofit(HttpApi_xie::class.java)
+            .addraList(Hawk.get(HawkConstant.TOKEN))
+            .compose(RxSchedulers.applySchedulers())
+            .subscribe({
+                if (it.code==200){
+                    it.data?.let { it1 -> mAdapter.addDataAll(it1) }
+                    mAdapter.notifyDataSetChanged()
+                }
+            },{
+                Log.e("searchAddress", it.message.toString())
+            })
+    }
+
+    override fun onClick(v: View?) {
+        var bundle=Bundle()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.add_address->{
+                bundle.putInt("type",1)
+                startKtActivityOrForResult<ActivityAddShippingAddress>(bundle = bundle)
+            }
+        }
+    }
+}

+ 77 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivitySubmitRefund.kt

@@ -0,0 +1,77 @@
+package com.hdl.xl.ui.activitys
+
+import android.content.Intent
+import android.os.Bundle
+import android.view.View
+import android.widget.ImageView
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.extension.loadImageForUrl
+import com.laike.basekt.utils.ImageSelectUtil
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivitySubmitRefundBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/31 20:42
+ */
+
+class ActivitySubmitRefund : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivitySubmitRefundBinding? = null
+    var imagePath: String? = ""
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_submit_refund)
+        mBinding?.run {
+            clickListener = this@ActivitySubmitRefund
+            includeTitle?.run {
+                textTitleTitle.text = "申请售后"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+
+        }
+    }
+
+    override fun onClick(v: View?) {
+        mBinding?.run {
+            var num = inputRefundNum?.text?.toString()
+            var jine = inputRefundJine?.text?.toString()
+            when (v?.id) {
+                R.id.go_back -> {
+                    finish()
+                }
+                R.id.add_img->{
+                    callback = ImageSelectUtil.ResultCallback() { path ->
+                        loadImageForUrl(v as ImageView, path)
+                        imagePath = path
+                    }
+                    ImageSelectUtil.SelectImg(this@ActivitySubmitRefund)
+                }
+                R.id.confirm_button -> {
+                    if (num.isNullOrEmpty()) {
+                        ToastUtils.toast("请输入退货数量")
+                    } else if (jine.isNullOrEmpty()) {
+                        ToastUtils.toast("请输入退款金额")
+                    } else {
+                        ToastUtils.toast("提交成功!")
+                        finish()
+                    }
+                }
+                else -> {
+                }
+            }
+        }
+
+    }
+    var callback: ImageSelectUtil.ResultCallback? = null
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+        ImageSelectUtil.OnResult(requestCode, resultCode, data, callback)
+    }
+
+
+}

+ 58 - 0
app/src/main/java/com/hdl/xl/ui/activitys/ActivityWithdraw.kt

@@ -0,0 +1,58 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.StatusBarCommon
+
+import com.hdl.xl.databinding.ActivityWithdrawBinding
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/27 16:42
+ */
+class ActivityWithdraw : BaseActivity(), View.OnClickListener {
+    var mBinding: ActivityWithdrawBinding? = null
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_withdraw)
+        mBinding?.run {
+            clickListener = this@ActivityWithdraw
+            includeTitle?.run {
+                textTitleTitle.text = "提现"
+                layoutTitle.setPadding(0, StatusBarCommon.findStatusBarHeight(mActivity), 0, 0)
+            }
+        }
+    }
+
+    override fun onClick(v: View?) {
+        var bundle=Bundle()
+        var allJine=mBinding?.allJine?.text.toString()
+        when (v?.id) {
+            R.id.go_back -> {
+                finish()
+            }
+            R.id.all_btn->{
+                mBinding?.run {
+                    inputJine.setText(allJine)
+                }
+            }
+            R.id.confirm_button->{
+                var withdrawJine=mBinding?.inputJine?.text.toString()
+                if (withdrawJine.isNullOrEmpty()){
+                    ToastUtils.toast("提现金额不能为空!")
+                }else if (withdrawJine.toDouble()>allJine.toDouble()){
+                    ToastUtils.toast("可提现金额不足!")
+                }else{
+                    ToastUtils.toast("提现成功!")
+                    finish()
+                }
+
+            }
+        }
+    }
+}

+ 87 - 0
app/src/main/java/com/hdl/xl/ui/activitys/LoginActivity.kt

@@ -0,0 +1,87 @@
+package com.hdl.xl.ui.activitys
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import cn.leyihang.base.utils.ToastUtils
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.SessionUtil
+import com.laike.basekt.coremodel.viewmodel.ViewModelProviders
+import com.laike.basekt.extension.startKtActivityOrForResult
+import com.hdl.xl.R
+import com.hdl.xl.bean.LoginEntity
+import com.hdl.xl.databinding.ActivityLoginBinding
+import com.hdl.xl.viewModels.LoginViewModel
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
+import org.greenrobot.eventbus.ThreadMode
+
+/**
+ * @Description:登录
+ * @Author: xieshenghua
+ * @Date: 2020/6/24 16:08
+ */
+class LoginActivity : BaseActivity(), View.OnClickListener {
+    private var mBinding: ActivityLoginBinding? = null
+    private val mViewModel: LoginViewModel by lazy {
+        ViewModelProviders.of(this).get(LoginViewModel::class.java)
+    }
+    companion object {
+        fun start(context: Context) {
+            val intent = Intent(context, LoginActivity::class.java)
+            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
+            context.startActivity(intent)
+        }
+    }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        EventBus.getDefault().register(this)
+
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_login)
+        supportActionBar?.hide()
+        mBinding?.clickListener = this
+        SessionUtil.get().update(null,null)
+        mBinding?.run { }
+    }
+
+    override fun onClick(v: View) {
+        var bundle = Bundle()
+        when (v.id) {
+            R.id.go_login -> {
+                var phone = mBinding?.inputTelNumber?.text.toString()
+                var password = mBinding?.inputPwd?.text.toString()
+                if (phone.isNullOrEmpty() || password.isNullOrEmpty()) {
+                    ToastUtils.toast("输入信息不正确!")
+                    return
+                }
+                mViewModel.phoneLogin(phone, password)
+            }
+            R.id.goto_reg -> {//注册
+                startKtActivityOrForResult<ActivityRegistration>()
+            }
+            R.id.forget_password -> {//忘记密码
+                startKtActivityOrForResult<ActivityForgetPassword>()
+            }
+        }
+    }
+
+    /**
+     * 接收登录成功消息
+     */
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    fun eventBusLogin(loginEntity: LoginEntity) {
+        if (loginEntity != null) {
+            var bundle = Bundle()
+            mActivity.startKtActivityOrForResult<MainActivity>(bundle = bundle)
+            finish()
+        }
+    }
+
+    override fun onDestroy() {
+        EventBus.getDefault().unregister(this)
+        super.onDestroy()
+    }
+}

+ 140 - 0
app/src/main/java/com/hdl/xl/ui/activitys/MainActivity.kt

@@ -0,0 +1,140 @@
+package com.hdl.xl.ui.activitys
+
+import android.content.Context
+import android.content.Intent
+import android.graphics.Rect
+import android.os.Bundle
+import android.widget.RadioButton
+import android.widget.RadioGroup
+import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.FragmentManager
+import androidx.fragment.app.FragmentTransaction
+import com.hdl.xl.R
+import com.hdl.xl.databinding.ActivityMainBinding
+import com.hdl.xl.ui.fragments.BrandFragment
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.HawkConstant
+import com.hdl.xl.ui.fragments.HomeFragment
+import com.hdl.xl.ui.fragments.MineFragment
+import com.hdl.xl.ui.fragments.SortFragment
+import com.orhanobut.hawk.Hawk
+
+
+class MainActivity : BaseActivity(), RadioGroup.OnCheckedChangeListener {
+    var mBinding: ActivityMainBinding? = null
+    var fg1: HomeFragment? = null
+    var fg2: SortFragment? = null
+    var fg3: BrandFragment? = null
+    var fg5: MineFragment? = null
+    var fManager: FragmentManager? = null
+
+    companion object {
+        fun start(context: Context) {
+            val intent = Intent(context, MainActivity::class.java)
+            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
+            context.startActivity(intent)
+        }
+    }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        Hawk.put(HawkConstant.TOKEN, "2dsdsdfsdfsdfsdfsdf")
+        mBinding = DataBindingUtil.setContentView(mActivity, R.layout.activity_main)
+        fManager = supportFragmentManager
+        mBinding?.mainRgroupTabMenu?.setOnCheckedChangeListener(this)
+        setStyle()
+        mBinding?.run {
+            mainRbtnHome.isChecked=true
+        }
+    }
+
+    override fun onCheckedChanged(group: RadioGroup?, checkedId: Int) {
+        var fTransaction=fManager?.beginTransaction()
+        fTransaction?.let { hideAllFragment(it) }
+        when(checkedId){
+            R.id.main_rbtnHome -> {
+                if (fg1 == null) {
+                    fg1 = HomeFragment()
+                    fTransaction?.add(R.id.ly_content, fg1!!)
+                } else {
+                    fTransaction?.show(fg1!!)
+                }
+            }
+            R.id.main_rbtnSort -> {
+                if (fg2 == null) {
+                    fg2 = SortFragment()
+                    fTransaction?.add(R.id.ly_content, fg2!!)
+                } else {
+                    fTransaction?.show(fg2!!)
+                }
+            }
+            R.id.main_rbtnBrand -> {
+                if (fg3 == null) {
+                    fg3 = BrandFragment()
+                    fTransaction?.add(R.id.ly_content, fg3!!)
+                } else {
+                    fTransaction?.show(fg3!!)
+                }
+            }
+
+            R.id.main_rbtnMine -> {
+                if (fg5 == null) {
+                    fg5 = MineFragment()
+                    fTransaction?.add(R.id.ly_content, fg5!!)
+                } else {
+                    fTransaction?.show(fg5!!)
+                }
+            }
+        }
+        fTransaction?.commit()
+    }
+
+    //隐藏所有Fragment
+    private fun hideAllFragment(fragmentTransaction: FragmentTransaction) {
+        if (fg1 != null) fragmentTransaction.hide(fg1!!)
+        if (fg2 != null) fragmentTransaction.hide(fg2!!)
+        if (fg3 != null) fragmentTransaction.hide(fg3!!)
+        if (fg5 != null) fragmentTransaction.hide(fg5!!)
+    }
+
+    //设置底部样式
+    fun setStyle() {
+        mBinding?.run {
+            var rbs = arrayListOf<RadioButton>()
+            rbs.add(mainRbtnHome)
+            rbs.add(mainRbtnSort)
+            rbs.add(mainRbtnBrand)
+            rbs.add(mainRbtnMine)
+
+            for (rb in rbs) {
+                /*var x1=rb.getPaint().measureText(rb.getText().toString());//测量文本 宽度
+                var y1=rb.getPaint().getTextSize();//测量文本 高度
+                var c1= Color.RED//初始颜色值
+                var c2= Color.BLUE//结束颜色值
+
+                var leftToRightLG = LinearGradient(0f, 0f, x1, 0f,c1, c2, Shader.TileMode.CLAMP)//从左到右渐变
+                rb.getPaint().setShader(leftToRightLG)
+                rb.invalidate()*/
+
+
+
+
+                //挨着给每个RadioButton加入drawable限制边距以控制显示大小
+                var drawables = rb.compoundDrawables
+                //获取drawables
+                var r = Rect(
+                    0, 0,
+                    drawables[1].minimumWidth * 5 / 8,
+                    drawables[1].minimumHeight * 5 / 8
+                )
+                //定义一个Rect边界
+                drawables[1].bounds = r
+                //添加限制给控件
+                rb.setCompoundDrawables(null, drawables[1], null, null)
+            }
+        }
+    }
+
+
+
+}

+ 43 - 0
app/src/main/java/com/hdl/xl/ui/activitys/SplashActivity.kt

@@ -0,0 +1,43 @@
+package com.hdl.xl.ui.activitys
+
+import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
+import com.hdl.xl.R
+import com.laike.basekt.BaseActivity
+import com.laike.basekt.utils.HawkConstant
+import com.laike.basekt.utils.SessionUtil
+import com.orhanobut.hawk.Hawk
+
+
+class SplashActivity : BaseActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setContentView(R.layout.activity_splash)
+
+        /*if (Hawk.get(HawkConstant.USER_FIRST,0)!=1){
+            newKtDialogFragmentAndShow<DialogServicePrivacy>()
+        }else{
+            var runnable = Runnable {}
+            runnable = if (SessionUtil.get().loginInfo == null) {
+                Runnable {
+                    LoginActivity.start(this@SplashActivity)
+                }
+            } else {
+                Runnable { MainActivity.start(this@SplashActivity) }
+            }
+            Handler(Looper.getMainLooper()).postDelayed(runnable, 800)
+        }*/
+        var runnable = Runnable {}
+        runnable = if (SessionUtil.get().loginInfo == null) {
+            /*Runnable {
+                LoginActivity.start(this@SplashActivity)
+            }*/
+            Hawk.put(HawkConstant.TOKEN, "2dsdsdfsdfsdfsdfsdf")
+            Runnable { MainActivity.start(this@SplashActivity) }
+        } else {
+            Runnable { MainActivity.start(this@SplashActivity) }
+        }
+        Handler(Looper.getMainLooper()).postDelayed(runnable, 800)
+    }
+}

+ 27 - 0
app/src/main/java/com/hdl/xl/ui/adapter/BrandAdapter.kt

@@ -0,0 +1,27 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.bean.BankCardBean
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.ui.adapter.holder.BrandHolder
+
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class BrandAdapter : BaseRecyclerViewAdapterKt<BankCardBean, BrandHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): BrandHolder =
+        BrandHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_brand,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/CategroyAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.CategoryBean
+import com.hdl.xl.ui.adapter.holder.CategroyHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class CategroyAdapter : BaseRecyclerViewAdapterKt<CategoryBean, CategroyHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): CategroyHolder =
+        CategroyHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_categroy,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/CityAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.ui.adapter.holder.CityHolder
+import com.hdl.xl.bean.CommodityBean
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class CityAdapter : BaseRecyclerViewAdapterKt<CommodityBean, CityHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): CityHolder =
+        CityHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_city,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/CollectAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.CollectHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class CollectAdapter : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.CommodityBean, CollectHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): CollectHolder =
+        CollectHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_collect,
+                parent,
+                false
+            ), this
+        )
+}

+ 25 - 0
app/src/main/java/com/hdl/xl/ui/adapter/CommodityAdapter.kt

@@ -0,0 +1,25 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class CommodityAdapter : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.ChildXBean, com.hdl.xl.ui.adapter.holder.CommodityHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): com.hdl.xl.ui.adapter.holder.CommodityHolder =
+        com.hdl.xl.ui.adapter.holder.CommodityHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_commodity,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/CommodityFenAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.ChildBean
+import com.hdl.xl.ui.adapter.holder.CommodityFenHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class CommodityFenAdapter : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.ChildBean, com.hdl.xl.ui.adapter.holder.CommodityFenHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): com.hdl.xl.ui.adapter.holder.CommodityFenHolder =
+        com.hdl.xl.ui.adapter.holder.CommodityFenHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_commodity_fen,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/CommodityRecommendAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.ui.adapter.holder.CommodityRecommendHolder
+import com.hdl.xl.bean.GoodsBean
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class CommodityRecommendAdapter : BaseRecyclerViewAdapterKt<GoodsBean, CommodityRecommendHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): CommodityRecommendHolder =
+        CommodityRecommendHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_commodity_recommend,
+                parent,
+                false
+            ), this
+        )
+}

+ 51 - 0
app/src/main/java/com/hdl/xl/ui/adapter/ImageAdapter.java

@@ -0,0 +1,51 @@
+package com.hdl.xl.ui.adapter;
+
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+import com.bumptech.glide.Glide;
+import com.hdl.xl.bean.BannerBean;
+import com.youth.banner.adapter.BannerAdapter;
+import java.util.List;
+
+/**
+ * 自定义布局,下面是常见的图片样式,更多实现可以看demo,可以自己随意发挥
+ */
+public class ImageAdapter extends BannerAdapter<BannerBean, ImageAdapter.BannerViewHolder> {
+    public ImageAdapter(List<BannerBean> mDatas) {
+        //设置数据,也可以调用banner提供的方法,或者自己在adapter中实现
+        super(mDatas);
+    }
+
+    //创建ViewHolder,可以用viewType这个字段来区分不同的ViewHolder
+    @Override
+    public BannerViewHolder onCreateHolder(ViewGroup parent, int viewType) {
+        ImageView imageView = new ImageView(parent.getContext());
+        //注意,必须设置为match_parent,这个是viewpager2强制要求的
+        imageView.setLayoutParams(new ViewGroup.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT,
+                ViewGroup.LayoutParams.MATCH_PARENT));
+        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
+        return new BannerViewHolder(imageView);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull BannerViewHolder holder, int position, @NonNull List<Object> payloads) {
+        super.onBindViewHolder(holder, position, payloads);
+    }
+
+    @Override
+    public void onBindView(BannerViewHolder holder, BannerBean data, int position, int size) {
+        Glide.with(holder.imageView.getContext()).load(data.getImage()).into(holder.imageView);
+    }
+
+    class BannerViewHolder extends RecyclerView.ViewHolder {
+        ImageView imageView;
+
+        public BannerViewHolder(@NonNull ImageView view) {
+            super(view);
+            this.imageView = view;
+        }
+    }
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/InnerDouSaleAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.GoodsBean
+import com.hdl.xl.ui.adapter.holder.InnerDouSaleHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2022/7/7 11:26
+ */
+class InnerDouSaleAdapter : BaseRecyclerViewAdapterKt<GoodsBean, InnerDouSaleHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): InnerDouSaleHolder =
+        InnerDouSaleHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_inner_dou_sale,
+                parent,
+                false
+            ), this
+        )
+}

+ 31 - 0
app/src/main/java/com/hdl/xl/ui/adapter/InnerOrderAdapter.kt

@@ -0,0 +1,31 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.InnerOrderHolder
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/29 11:28
+ */
+class InnerOrderAdapter(type:Int) : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.CommodityBean, InnerOrderHolder>() {
+    var type=0
+    var lastSelect = -1
+    override fun onCreateView(parent: ViewGroup, viewType: Int): InnerOrderHolder =
+        InnerOrderHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_order_inner,
+                parent,
+                false
+            ), this
+        )
+    init {
+        this.type=type
+    }
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/InnerPurchaseAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.InnerPurchaseHolder
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/29 11:28
+ */
+class InnerPurchaseAdapter: BaseRecyclerViewAdapterKt<com.hdl.xl.bean.InnerPurchaseBean, InnerPurchaseHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): InnerPurchaseHolder =
+        InnerPurchaseHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_purchase_inner,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/InnerSaleAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.GoodsBean
+import com.hdl.xl.ui.adapter.holder.InnerSaleHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2022/7/7 11:26
+ */
+class InnerSaleAdapter : BaseRecyclerViewAdapterKt<GoodsBean, InnerSaleHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): InnerSaleHolder =
+        InnerSaleHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_inner_sale,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/LimitedTimeAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.MiaoshaBean
+import com.hdl.xl.ui.adapter.holder.LimitedTimeHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class LimitedTimeAdapter : BaseRecyclerViewAdapterKt<MiaoshaBean, LimitedTimeHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): LimitedTimeHolder =
+        LimitedTimeHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_limited_time,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/OutSaleAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.GoodsBean
+import com.hdl.xl.ui.adapter.holder.OutSaleHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2022/7/7 11:26
+ */
+class OutSaleAdapter : BaseRecyclerViewAdapterKt<GoodsBean, OutSaleHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): OutSaleHolder =
+        OutSaleHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_out_sale,
+                parent,
+                false
+            ), this
+        )
+}

+ 30 - 0
app/src/main/java/com/hdl/xl/ui/adapter/OuterOrderAdapter.kt

@@ -0,0 +1,30 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.OuterOrderHolder
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/29 11:26
+ */
+class OuterOrderAdapter(type:Int) : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.CommodityBean, OuterOrderHolder>() {
+    var type=0
+    override fun onCreateView(parent: ViewGroup, viewType: Int): OuterOrderHolder =
+        OuterOrderHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_order_outer,
+                parent,
+                false
+            ), this
+        )
+    init {
+        this.type=type
+    }
+}

+ 28 - 0
app/src/main/java/com/hdl/xl/ui/adapter/OuterPurchaseAdapter.kt

@@ -0,0 +1,28 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.OuterPurchaseHolder
+
+/**
+ * @Description:
+ * @Author: wuxing
+ * @Date: 2021/1/29 11:26
+ */
+class OuterPurchaseAdapter:
+    BaseRecyclerViewAdapterKt<com.hdl.xl.bean.CommodityBean, OuterPurchaseHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): OuterPurchaseHolder =
+        OuterPurchaseHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_purchase_outer,
+                parent,
+                false
+            ), this
+        )
+
+}

+ 27 - 0
app/src/main/java/com/hdl/xl/ui/adapter/ProductSpecificationAdapter.kt

@@ -0,0 +1,27 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.SpecBean
+import com.hdl.xl.ui.adapter.holder.ProductSpecificationHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class ProductSpecificationAdapter : BaseRecyclerViewAdapterKt<SpecBean, ProductSpecificationHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): ProductSpecificationHolder =
+        ProductSpecificationHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_purduct_specification,
+                parent,
+                false
+            ), this
+        )
+
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/RecommendAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.GoodsBean
+import com.hdl.xl.ui.adapter.holder.RecommendHolder
+
+/**
+ * @Description:
+ * @Author: WUXING
+ * @Date: 2022/7/7 11:26
+ */
+class RecommendAdapter : BaseRecyclerViewAdapterKt<GoodsBean, RecommendHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): RecommendHolder =
+        RecommendHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_recommend,
+                parent,
+                false
+            ), this
+        )
+}

+ 30 - 0
app/src/main/java/com/hdl/xl/ui/adapter/RedBagRecordingAdapter.kt

@@ -0,0 +1,30 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.RedBagRecordingHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class RedBagRecordingAdapter(type:Int) : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.CommodityBean, RedBagRecordingHolder>() {
+    var type=0
+    override fun onCreateView(parent: ViewGroup, viewType: Int): RedBagRecordingHolder =
+        RedBagRecordingHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_red_bag_recording,
+                parent,
+                false
+            ), this
+        )
+    init {
+       this.type=type
+    }
+}

+ 25 - 0
app/src/main/java/com/hdl/xl/ui/adapter/SearchRecordingAdapter.kt

@@ -0,0 +1,25 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.ui.adapter.holder.SearchRecordingHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class SearchRecordingAdapter : BaseRecyclerViewAdapterKt<String, SearchRecordingHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): SearchRecordingHolder =
+        SearchRecordingHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_search_recording,
+                parent,
+                false
+            ), this
+        )
+}

+ 27 - 0
app/src/main/java/com/hdl/xl/ui/adapter/ShippingAddressAdapter.kt

@@ -0,0 +1,27 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.bean.AddressListBean
+import com.hdl.xl.ui.adapter.holder.ShippingAddressHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class ShippingAddressAdapter : BaseRecyclerViewAdapterKt<AddressListBean, ShippingAddressHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): ShippingAddressHolder =
+        ShippingAddressHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_shipping_address,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/ShopAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.ShopBean
+import com.hdl.xl.ui.adapter.holder.ShopHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class ShopAdapter : BaseRecyclerViewAdapterKt<ShopBean, ShopHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): ShopHolder =
+        ShopHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_shop,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/SpikeAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+import com.hdl.xl.R
+import com.hdl.xl.bean.MiaoshaBean
+import com.hdl.xl.ui.adapter.holder.SpikeHolder
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:26
+ */
+class SpikeAdapter : BaseRecyclerViewAdapterKt<MiaoshaBean, SpikeHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): SpikeHolder =
+        SpikeHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_spike,
+                parent,
+                false
+            ), this
+        )
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/VoucherPictureAdapter.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import com.hdl.xl.R
+import com.laike.basekt.BaseRecyclerViewAdapterKt
+
+import com.hdl.xl.ui.adapter.holder.VoucherPictureHolder
+
+/**
+ * @Description:
+ * @Author: W
+ * @Date: 2021/1/31 22:28
+ */
+class VoucherPictureAdapter : BaseRecyclerViewAdapterKt<com.hdl.xl.bean.CommodityBean, VoucherPictureHolder>() {
+    override fun onCreateView(parent: ViewGroup, viewType: Int): VoucherPictureHolder =
+        VoucherPictureHolder(
+            DataBindingUtil.inflate(
+                LayoutInflater.from(mContext),
+                R.layout.item_voucher_picture,
+                parent,
+                false
+            ), this
+        )
+}

+ 25 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/BrandHolder.kt

@@ -0,0 +1,25 @@
+package com.hdl.xl.ui.adapter.holder
+
+import com.hdl.xl.bean.BankCardBean
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.databinding.ItemBrandBinding
+
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class BrandHolder(
+    var mBinding: ItemBrandBinding,
+    var mAdapter: com.hdl.xl.ui.adapter.BrandAdapter
+) : BaseRecyclerViewHolderKt<BankCardBean, ItemBrandBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: BankCardBean, position: Int) {
+        mBinding?.run {
+            /*Glide.with(mContext).load(entity.logo).into(ivPhoto)
+            brandName.text=entity.name*/
+        }
+    }
+
+    override fun onDataBindingClickListener(entity: BankCardBean, position: Int) {}
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/CategroyHolder.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter.holder
+
+import com.bumptech.glide.Glide
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.bean.CategoryBean
+import com.hdl.xl.databinding.ItemCategroyBinding
+import com.hdl.xl.ui.adapter.CategroyAdapter
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class CategroyHolder(
+    var mBinding: ItemCategroyBinding,
+    var mAdapter: CategroyAdapter
+) : BaseRecyclerViewHolderKt<CategoryBean, ItemCategroyBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: CategoryBean, position: Int) {
+        mBinding?.run {
+            bean=entity
+            Glide.with(mContext).load(entity.img).into(ivPhoto)
+        }
+    }
+
+    override fun onDataBindingClickListener(entity: CategoryBean, position: Int) {}
+}

+ 21 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/CityHolder.kt

@@ -0,0 +1,21 @@
+package com.hdl.xl.ui.adapter.holder
+
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.ui.adapter.CityAdapter
+import com.hdl.xl.bean.CommodityBean
+import com.hdl.xl.databinding.ItemCityBinding
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class CityHolder(
+    var mBinding: ItemCityBinding,
+    var mAdapter: CityAdapter
+) : BaseRecyclerViewHolderKt<CommodityBean, ItemCityBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: CommodityBean, position: Int) {
+    }
+
+    override fun onDataBindingClickListener(entity: CommodityBean, position: Int) {}
+}

+ 21 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/CollectHolder.kt

@@ -0,0 +1,21 @@
+package com.hdl.xl.ui.adapter.holder
+
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.bean.CommodityBean
+import com.hdl.xl.databinding.ItemCollectBinding
+import com.hdl.xl.ui.adapter.CollectAdapter
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class CollectHolder(
+    var mBinding: ItemCollectBinding,
+    var mAdapter: com.hdl.xl.ui.adapter.CollectAdapter
+) : BaseRecyclerViewHolderKt<com.hdl.xl.bean.CommodityBean, ItemCollectBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: com.hdl.xl.bean.CommodityBean, position: Int) {
+    }
+
+    override fun onDataBindingClickListener(entity: com.hdl.xl.bean.CommodityBean, position: Int) {}
+}

+ 35 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/CommodityFenHolder.kt

@@ -0,0 +1,35 @@
+package com.hdl.xl.ui.adapter.holder
+
+import androidx.recyclerview.widget.GridLayoutManager
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.databinding.ItemCommodityFenBinding
+import com.hdl.xl.ui.adapter.CommodityAdapter
+import com.hdl.xl.ui.adapter.CommodityFenAdapter
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class CommodityFenHolder(
+    var mBinding: ItemCommodityFenBinding,
+    var mAdapter: CommodityFenAdapter
+) : BaseRecyclerViewHolderKt<com.hdl.xl.bean.ChildBean, ItemCommodityFenBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: com.hdl.xl.bean.ChildBean, position: Int) {
+        var mAdapter= CommodityAdapter()
+        mBinding?.run {
+            nameText.text=entity.name
+            recycleView.layoutManager=GridLayoutManager(mContext,3)
+            recycleView.adapter=mAdapter
+            entity.child?.let { mAdapter.addDataAll(it) }
+            mAdapter.notifyDataSetChanged()
+            mAdapter.addOnItemClickListener { view, entity, position ->
+                com.hdl.xl.ui.activitys.ActivityProductCategory.START(mContext,"sort","",entity.name, entity.id.toString())
+            }
+        }
+
+    }
+
+    override fun onDataBindingClickListener(entity: com.hdl.xl.bean.ChildBean, position: Int) {
+    }
+}

+ 24 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/CommodityHolder.kt

@@ -0,0 +1,24 @@
+package com.hdl.xl.ui.adapter.holder
+
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.databinding.ItemCommodityBinding
+import com.hdl.xl.ui.adapter.CommodityAdapter
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class CommodityHolder(
+    var mBinding: ItemCommodityBinding,
+    var mAdapter: CommodityAdapter
+) : BaseRecyclerViewHolderKt<com.hdl.xl.bean.ChildXBean, ItemCommodityBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: com.hdl.xl.bean.ChildXBean, position: Int) {
+        mBinding?.run {
+            /*Glide.with(mContext).load(entity.img).into(ivPhoto)
+            nameText.text=entity.name*/
+        }
+    }
+
+    override fun onDataBindingClickListener(entity: com.hdl.xl.bean.ChildXBean, position: Int) {}
+}

+ 26 - 0
app/src/main/java/com/hdl/xl/ui/adapter/holder/CommodityRecommendHolder.kt

@@ -0,0 +1,26 @@
+package com.hdl.xl.ui.adapter.holder
+
+import com.bumptech.glide.Glide
+import com.laike.basekt.BaseRecyclerViewHolderKt
+import com.hdl.xl.ui.adapter.CommodityRecommendAdapter
+import com.hdl.xl.bean.GoodsBean
+import com.hdl.xl.databinding.ItemCommodityRecommendBinding
+
+/**
+ * @Description:
+ * @Author: xieshenghua
+ * @Date: 2020/7/7 11:28
+ */
+class CommodityRecommendHolder(
+    var mBinding: ItemCommodityRecommendBinding,
+    var mAdapter: CommodityRecommendAdapter
+) : BaseRecyclerViewHolderKt<GoodsBean, ItemCommodityRecommendBinding>(mBinding, mAdapter) {
+    override fun setDataBinding(entity: GoodsBean, position: Int) {
+        mBinding?.run {
+            bean=entity
+            Glide.with(mContext).load(entity.image).into(ivPhoto)
+        }
+    }
+
+    override fun onDataBindingClickListener(entity: GoodsBean, position: Int) {}
+}

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff