Browse Source

腕表。联系人列表草稿OK

allen 4 years ago
parent
commit
2769bfc999
31 changed files with 405 additions and 93 deletions
  1. BIN
      .gradle/4.10.1/fileHashes/fileHashes.bin
  2. BIN
      .gradle/4.10.1/fileHashes/fileHashes.lock
  3. BIN
      .gradle/4.10.1/fileHashes/resourceHashesCache.bin
  4. BIN
      .gradle/4.10.1/javaCompile/javaCompile.lock
  5. BIN
      .gradle/4.10.1/javaCompile/taskHistory.bin
  6. BIN
      .gradle/4.10.1/taskHistory/taskHistory.bin
  7. BIN
      .gradle/4.10.1/taskHistory/taskHistory.lock
  8. BIN
      .gradle/buildOutputCleanup/buildOutputCleanup.lock
  9. BIN
      .gradle/buildOutputCleanup/outputFiles.bin
  10. BIN
      .idea/caches/build_file_checksums.ser
  11. 1 1
      build.gradle
  12. 3 1
      doc/readme.md
  13. 1 0
      home/src/main/AndroidManifest.xml
  14. 110 0
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchContractsActivity.kt
  15. 45 0
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt
  16. 3 0
      home/src/main/code/com/wdkl/ncs/android/component/home/di/HomeComponent.kt
  17. 1 1
      home/src/main/code/com/wdkl/ncs/android/component/home/fragment/HomeFragment.kt
  18. 27 0
      home/src/main/res/layout/watch_contacts_item.xml
  19. 23 0
      home/src/main/res/layout/watch_contacts_lay.xml
  20. 17 15
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/ApiManager.kt
  21. 15 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/DeviceApi.kt
  22. 11 5
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/NetFactory.kt
  23. 9 11
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/UrlManager.kt
  24. 3 58
      middleware/src/main/code/com/wdkl/ncs/android/middleware/config/WdklNcsConfigCenter.kt
  25. 5 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/di/ApiProvides.kt
  26. 2 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/di/ApplicationComponent.kt
  27. 3 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/di/PresenterComponent.kt
  28. 13 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchActivityContract.kt
  29. 59 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchActivityPresenter.kt
  30. 53 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/vo/WatchContactsVO.java
  31. 1 1
      welcome/src/main/code/com/wdkl/ncs/android/component/welcome/activity/WelcomeActivity.kt

BIN
.gradle/4.10.1/fileHashes/fileHashes.bin


BIN
.gradle/4.10.1/fileHashes/fileHashes.lock


BIN
.gradle/4.10.1/fileHashes/resourceHashesCache.bin


BIN
.gradle/4.10.1/javaCompile/javaCompile.lock


BIN
.gradle/4.10.1/javaCompile/taskHistory.bin


BIN
.gradle/4.10.1/taskHistory/taskHistory.bin


BIN
.gradle/4.10.1/taskHistory/taskHistory.lock


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock


BIN
.gradle/buildOutputCleanup/outputFiles.bin


BIN
.idea/caches/build_file_checksums.ser


+ 1 - 1
build.gradle

@@ -27,7 +27,7 @@ buildscript {
     /**
     /**
      * SDK最小支持版本
      * SDK最小支持版本
      */
      */
-    ext.min_sdk_version = 17
+    ext.min_sdk_version = 26
 
 
     /**
     /**
      * SDK目标支持版本
      * SDK目标支持版本

+ 3 - 1
doc/readme.md

@@ -9,7 +9,9 @@
 
 
 ## 操作middleware模块
 ## 操作middleware模块
 ### api包,增加HelloApi类,用于HTTP通讯
 ### api包,增加HelloApi类,用于HTTP通讯
-在ApiManager中增加项
+在ApiManager 中增加项
+在di\ApiProvides 中增加项
+在di\ApplicationComponent 中增加项
 ### model包,如有必要在此包增加对象
 ### model包,如有必要在此包增加对象
 ### logic包
 ### logic包
 #### 两个大包,contract和presenter,分别建立对应hello模块的hello包
 #### 两个大包,contract和presenter,分别建立对应hello模块的hello包

+ 1 - 0
home/src/main/AndroidManifest.xml

@@ -11,6 +11,7 @@
     <activity android:name=".activity.HomeActivity"
     <activity android:name=".activity.HomeActivity"
               android:launchMode="singleTask"
               android:launchMode="singleTask"
         />
         />
+        <activity android:name=".activity.WatchContractsActivity"/>
     </application>
     </application>
 
 
 </manifest>
 </manifest>

+ 110 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchContractsActivity.kt

@@ -0,0 +1,110 @@
+package com.wdkl.ncs.android.component.home.activity
+
+import android.util.Log
+import com.alibaba.android.vlayout.DelegateAdapter
+import com.alibaba.android.vlayout.VirtualLayoutManager
+import com.enation.javashop.android.jrouter.external.annotation.Router
+import com.enation.javashop.net.engine.model.NetState
+import com.scwang.smartrefresh.layout.footer.ClassicsFooter
+import com.wdkl.ncs.android.component.home.R
+import com.wdkl.ncs.android.component.home.adapter.WatchContactsItemAdapter
+import com.wdkl.ncs.android.component.home.databinding.WatchContactsLayBinding
+import com.wdkl.ncs.android.component.home.launch.HomeLaunch
+import com.wdkl.ncs.android.lib.base.BaseActivity
+import com.wdkl.ncs.android.lib.utils.showMessage
+import com.wdkl.ncs.android.middleware.logic.contract.home.WatchActivityContract
+import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchActivityPresenter
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
+import kotlinx.android.synthetic.main.watch_contacts_lay.*
+
+@Router(path = "/watch/contacts")
+class WatchContractsActivity : BaseActivity<WatchActivityPresenter, WatchContactsLayBinding>(), WatchActivityContract.View {
+    override fun bindDagger() {
+        HomeLaunch.component.inject(this)
+    }
+
+    override fun onError(message: String, type: Int) {
+        dismissDialog()
+        showMessage(message)
+    }
+
+    override fun complete(message: String, type: Int) {
+        dismissDialog()
+        showMessage(message)
+    }
+
+    override fun start() {
+        showDialog()
+    }
+
+    override fun networkMonitor(state: NetState) {
+
+    }
+
+    override fun destory() {
+
+    }
+
+    private var page :Int = 1
+    private val adapter = WatchContactsItemAdapter(ArrayList())
+
+    override fun getLayId(): Int {
+        return R.layout.watch_contacts_lay
+    }
+
+    @JvmField var deviceId: Int = 16
+
+    private lateinit var virtualLayoutManager: VirtualLayoutManager
+
+    private lateinit var delegateAdapter: DelegateAdapter
+
+    override fun init() {
+        /**初始化LayoutMannager*/
+        virtualLayoutManager = VirtualLayoutManager(this.activity)
+
+        /**初始化适配器*/
+        delegateAdapter = DelegateAdapter(virtualLayoutManager)
+        delegateAdapter.addAdapter(adapter)
+        mViewBinding.refresh.setRefreshFooter(ClassicsFooter(activity))
+        /**配置到RecycleView*/
+        watch_contacts_list.layoutManager = virtualLayoutManager
+        watch_contacts_list.adapter = delegateAdapter
+        presenter.loadData(deviceId,page)
+    }
+
+    override fun bindEvent() {
+        refresh.setOnLoadMoreListener {
+            page += 1
+            presenter.loadData(deviceId,page)
+        }
+        refresh.setOnRefreshListener{
+            presenter.loadData(deviceId,1)
+        }
+//        adapter.setOnItemClickListener { data, _ ->
+//            push("/shop/detail",{postcard ->
+//                postcard.withInt("shopId", data.shopId)
+//            })
+//        }
+    }
+
+    override fun render(data: ArrayList<WatchContactsVO>) {
+        if (page == 1){
+            refresh.resetNoMoreData()
+            if (data.size >0){
+                adapter.data.clear()
+                adapter.data.addAll(data)
+                Log.i("abc1"," " + data.size);
+                adapter.notifyDataSetChanged()
+            }
+            refresh.finishLoadMore()
+        }else {
+            if (data.size > 0) {
+                adapter.data.addAll(data)
+                adapter.notifyDataSetChanged()
+                refresh.finishLoadMore()
+            }else{
+                refresh.finishLoadMoreWithNoMoreData()
+            }
+        }
+    }
+}

+ 45 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt

@@ -0,0 +1,45 @@
+package com.wdkl.ncs.android.component.home.adapter
+
+import android.util.Log
+import android.view.ViewGroup
+import com.alibaba.android.vlayout.LayoutHelper
+import com.alibaba.android.vlayout.layout.LinearLayoutHelper
+import com.wdkl.ncs.android.component.home.R
+import com.wdkl.ncs.android.component.home.databinding.WatchContactsItemBinding
+import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
+import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
+import kotlinx.android.synthetic.main.floor_item_text_lay.view.*
+import kotlinx.android.synthetic.main.watch_contacts_item.view.*
+
+class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>) : BaseDelegateAdapter<BaseRecyclerViewHolder<WatchContactsItemBinding>, WatchContactsVO>(){
+    override fun dataProvider(): Any {
+        return data
+    }
+
+    override fun itemFilter(position: Int): Boolean {
+        return true
+    }
+
+    override fun getItemCount(): Int {
+        return data.size
+    }
+
+    override fun onCreateLayoutHelper(): LayoutHelper {
+        Log.i("abc",data.toString());
+        return LinearLayoutHelper(0,data.size)
+    }
+
+    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<WatchContactsItemBinding> {
+        return BaseRecyclerViewHolder.build(parent, R.layout.watch_contacts_item)
+    }
+
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<WatchContactsItemBinding>?, position: Int) {
+        holder?.bind {
+            binding ->
+            val itemData = getItem(position)
+            binding.watchContactsItemRoomName.text = itemData.fullName
+            binding.watchContactsItemCustomerName.text = itemData.named
+        }
+    }
+}

+ 3 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/di/HomeComponent.kt

@@ -1,6 +1,7 @@
 package com.wdkl.ncs.android.component.home.di
 package com.wdkl.ncs.android.component.home.di
 
 
 import com.wdkl.ncs.android.component.home.activity.HomeActivity
 import com.wdkl.ncs.android.component.home.activity.HomeActivity
+import com.wdkl.ncs.android.component.home.activity.WatchContractsActivity
 import com.wdkl.ncs.android.component.home.fragment.CategoryFragment
 import com.wdkl.ncs.android.component.home.fragment.CategoryFragment
 import com.wdkl.ncs.android.component.home.fragment.HomeFragment
 import com.wdkl.ncs.android.component.home.fragment.HomeFragment
 import com.wdkl.ncs.android.middleware.di.ApplicationComponent
 import com.wdkl.ncs.android.middleware.di.ApplicationComponent
@@ -20,4 +21,6 @@ interface HomeComponent {
     fun inject(activity: HomeFragment)
     fun inject(activity: HomeFragment)
 
 
     fun inject(activity: CategoryFragment)
     fun inject(activity: CategoryFragment)
+
+    fun inject(activity: WatchContractsActivity)
 }
 }

+ 1 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/fragment/HomeFragment.kt

@@ -217,7 +217,7 @@ class HomeFragment : BaseFragment<HomeFragmentPresenter,HomeFragLayBinding>(),Ho
 
 
     override fun pointMall() {
     override fun pointMall() {
 //        push("/promotion/pointshop/main")
 //        push("/promotion/pointshop/main")
-        push("/hello/main")
+        push("/watch/contacts")
     }
     }
 
 
     override fun secKill() {
     override fun secKill() {

+ 27 - 0
home/src/main/res/layout/watch_contacts_item.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+    <android.support.constraint.ConstraintLayout
+        android:layout_width="match_parent"
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        android:layout_height="50dp">
+        <TextView
+            android:id="@+id/watch_contacts_item_room_name"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintLeft_toLeftOf="parent"
+            android:text="@string/app_name"/>
+        <TextView
+            android:id="@+id/watch_contacts_item_customer_name"
+            android:layout_width="match_parent"
+            android:layout_height="20sp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            android:textSize="15sp"
+            android:gravity="center_vertical"
+            android:textColor="@color/javashop_color_white"
+            android:background="#77000000"
+            />
+    </android.support.constraint.ConstraintLayout>
+</layout>

+ 23 - 0
home/src/main/res/layout/watch_contacts_lay.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+    <android.support.constraint.ConstraintLayout
+        xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        xmlns:bind="http://schemas.android.com/apk/res-auto">
+
+        <com.scwang.smartrefresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh"
+            android:layout_width="match_parent"
+            bind:srlEnableRefresh="true"
+            bind:srlEnableLoadMore="true"
+            android:layout_height="match_parent"
+            >
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/watch_contacts_list"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                ></android.support.v7.widget.RecyclerView>
+        </com.scwang.smartrefresh.layout.SmartRefreshLayout>
+
+    </android.support.constraint.ConstraintLayout>
+</layout>

+ 17 - 15
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/ApiManager.kt

@@ -36,7 +36,7 @@ object ApiManager {
          * @Type  ExtraApi
          * @Type  ExtraApi
          * @Note  其他API
          * @Note  其他API
          */
          */
-        val EXTRA_API :ExtraApi by lazy { apiFactory.createService(ExtraApi::class.java, urlManager.buyer) }
+        val EXTRA_API :ExtraApi by lazy { apiFactory.createService(ExtraApi::class.java, urlManager.device_url) }
 
 
 
 
         /**
         /**
@@ -51,86 +51,88 @@ object ApiManager {
          * @Type  AfterSaleApi
          * @Type  AfterSaleApi
          * @Note  售后API
          * @Note  售后API
          */
          */
-        val API_AFTERSALE : AfterSaleApi by lazy { apiFactory.createService(AfterSaleApi::class.java, urlManager.buyer) }
+        val API_AFTERSALE : AfterSaleApi by lazy { apiFactory.createService(AfterSaleApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_CART
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_CART
          * @Type  CartApi
          * @Type  CartApi
          * @Note  购物车API
          * @Note  购物车API
          */
          */
-        val API_CART: CartApi by lazy { apiFactory.createService(CartApi::class.java, urlManager.buyer) }
+        val API_CART: CartApi by lazy { apiFactory.createService(CartApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_CATEGORY
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_CATEGORY
          * @Type  CategoryApi
          * @Type  CategoryApi
          * @Note  分类API
          * @Note  分类API
          */
          */
-        val API_CATEGORY: CategoryApi by lazy { apiFactory.createService(CategoryApi::class.java, urlManager.buyer) }
+        val API_CATEGORY: CategoryApi by lazy { apiFactory.createService(CategoryApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_GOODS
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_GOODS
          * @Type  GoodsApi
          * @Type  GoodsApi
          * @Note  商品API
          * @Note  商品API
          */
          */
-        val API_GOODS: GoodsApi by lazy { apiFactory.createService(GoodsApi::class.java, urlManager.buyer) }
+        val API_GOODS: GoodsApi by lazy { apiFactory.createService(GoodsApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_MEMBER
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_MEMBER
          * @Type  MemberApi
          * @Type  MemberApi
          * @Note  会员API
          * @Note  会员API
          */
          */
-        val API_MEMBER: MemberApi by lazy { apiFactory.createService(MemberApi::class.java, urlManager.buyer) }
+        val API_MEMBER: MemberApi by lazy { apiFactory.createService(MemberApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_ORDER
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_ORDER
          * @Type  OrderApi
          * @Type  OrderApi
          * @Note  订单API
          * @Note  订单API
          */
          */
-        val API_ORDER: OrderApi by lazy { apiFactory.createService(OrderApi::class.java, urlManager.buyer) }
+        val API_ORDER: OrderApi by lazy { apiFactory.createService(OrderApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_PAYMENT
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_PAYMENT
          * @Type  PaymentApi
          * @Type  PaymentApi
          * @Note  支付API
          * @Note  支付API
          */
          */
-        val API_PAYMENT: PaymentApi by lazy { apiFactory.createService(PaymentApi::class.java, urlManager.buyer) }
+        val API_PAYMENT: PaymentApi by lazy { apiFactory.createService(PaymentApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_PROMOTION
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_PROMOTION
          * @Type  PromotionApi
          * @Type  PromotionApi
          * @Note  促销API
          * @Note  促销API
          */
          */
-        val API_PROMOTION: PromotionApi by lazy { apiFactory.createService(PromotionApi::class.java, urlManager.buyer) }
+        val API_PROMOTION: PromotionApi by lazy { apiFactory.createService(PromotionApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_SHOP
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_SHOP
          * @Type  ShopApi
          * @Type  ShopApi
          * @Note  店铺API
          * @Note  店铺API
          */
          */
-        val API_SHOP: ShopApi by lazy { apiFactory.createService(ShopApi::class.java, urlManager.buyer) }
+        val API_SHOP: ShopApi by lazy { apiFactory.createService(ShopApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_TRADE
          * @Name  com.wdkl.ncs.android.lib.api.ApiManager.Companion.API_TRADE
          * @Type  TradeApi
          * @Type  TradeApi
          * @Note  交易API
          * @Note  交易API
          */
          */
-        val API_TRADE: TradeApi by lazy { apiFactory.createService(TradeApi::class.java, urlManager.buyer) }
+        val API_TRADE: TradeApi by lazy { apiFactory.createService(TradeApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  API_AD
          * @Name  API_AD
          * @Type  AdApi
          * @Type  AdApi
          * @Note  广告API
          * @Note  广告API
          */
          */
-        val API_AD: AdApi by lazy { apiFactory.createService(AdApi::class.java, urlManager.buyer) }
+        val API_AD: AdApi by lazy { apiFactory.createService(AdApi::class.java, urlManager.device_url) }
 
 
         /**
         /**
          * @Name  PASSPORT_API
          * @Name  PASSPORT_API
          * @Type  PassportApi
          * @Type  PassportApi
          * @Note  护照
          * @Note  护照
          */
          */
-        val PASSPORT_API :PassportApi by lazy { apiFactory.createService(PassportApi::class.java, urlManager.buyer) }
+        val PASSPORT_API :PassportApi by lazy { apiFactory.createService(PassportApi::class.java, urlManager.device_url) }
 
 
-        val API_HELLO :HelloApi by lazy { apiFactory.createService(HelloApi::class.java, urlManager.buyer)}
+        val API_HELLO :HelloApi by lazy { apiFactory.createService(HelloApi::class.java, urlManager.device_url)}
+
+        val API_DEVICE :DeviceApi by lazy { apiFactory.createService(DeviceApi::class.java, urlManager.device_url) }
 
 
 
 
         /**
         /**
@@ -145,7 +147,7 @@ object ApiManager {
                 val requestBody = "refrehToken"
                 val requestBody = "refrehToken"
                 val okHttpClient = OkHttpClient()
                 val okHttpClient = OkHttpClient()
                 val getTokenRequest = Request.Builder()
                 val getTokenRequest = Request.Builder()
-                        .url("${urlManager.buyer}passport/token?refersh_token=$refrehToken")
+                        .url("${urlManager.device_url}passport/token?refersh_token=$refrehToken")
                         .post(RequestBody.create(mediaType,requestBody))
                         .post(RequestBody.create(mediaType,requestBody))
                         .addHeader("uuid", UUID.uuid)
                         .addHeader("uuid", UUID.uuid)
                         .build()
                         .build()

+ 15 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/DeviceApi.kt

@@ -0,0 +1,15 @@
+package com.wdkl.ncs.android.middleware.api
+
+import io.reactivex.Observable
+import okhttp3.ResponseBody
+import retrofit2.http.GET
+import retrofit2.http.POST
+import retrofit2.http.Path
+import retrofit2.http.Query
+
+interface DeviceApi{
+    @POST("watch")
+    fun getWatchContacts(@Query("device_id") deviceId :Int,
+                         @Query("page_no") pageNo :Int,
+                         @Query("page_size") pageSize :Int = ApiManager.PAGE_SIZE): Observable<ResponseBody>
+}

+ 11 - 5
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/NetFactory.kt

@@ -132,13 +132,13 @@ class TokenInterceptor : Interceptor{
     /**
     /**
      * token管理器
      * token管理器
      */
      */
-    private val tokenManager : TokenManager
+    //private val tokenManager : TokenManager
 
 
     /**
     /**
      * 构造方法
      * 构造方法
      */
      */
     constructor(context: Context) {
     constructor(context: Context) {
-        tokenManager = TokenManager(context)
+        //tokenManager = TokenManager(context)
     }
     }
 
 
     /**
     /**
@@ -150,21 +150,24 @@ class TokenInterceptor : Interceptor{
      */
      */
     override fun intercept(chain: Interceptor.Chain): Response {
     override fun intercept(chain: Interceptor.Chain): Response {
 
 
+
         /**保存原始Request*/
         /**保存原始Request*/
         var originalRequest = chain.request()
         var originalRequest = chain.request()
 
 
         /**保存builder*/
         /**保存builder*/
-        val builder = originalRequest.newBuilder()
+        //val builder = originalRequest.newBuilder()
 
 
         /**设置token*/
         /**设置token*/
-        initToken(builder,originalRequest)
+        //initToken(builder,originalRequest)
 
 
         /**全局添加uuid*/
         /**全局添加uuid*/
-        originalRequest = builder.addHeader("uuid",UUID.uuid).build()
+        //originalRequest = builder.addHeader("uuid",UUID.uuid).build()
 
 
         /**获取请求相应体*/
         /**获取请求相应体*/
         val response = chain.proceed(originalRequest)
         val response = chain.proceed(originalRequest)
 
 
+        return response
+        /*
         /**判断Token是否失效  如果失效 进入该方法 刷新token*/
         /**判断Token是否失效  如果失效 进入该方法 刷新token*/
         if (checkToken(response)) {
         if (checkToken(response)) {
 
 
@@ -292,6 +295,7 @@ class TokenInterceptor : Interceptor{
             return response
             return response
 
 
         }
         }
+        */
     }
     }
 
 
     /**
     /**
@@ -330,6 +334,7 @@ class TokenInterceptor : Interceptor{
      */
      */
     private fun initToken(builder :Request.Builder , originalRequest :Request){
     private fun initToken(builder :Request.Builder , originalRequest :Request){
 
 
+        /*
         /**拿到权限token*/
         /**拿到权限token*/
         val accessToken = tokenManager.getAccessToken()
         val accessToken = tokenManager.getAccessToken()
 
 
@@ -369,6 +374,7 @@ class TokenInterceptor : Interceptor{
                         addQueryParameter("sign",sign).build())
                         addQueryParameter("sign",sign).build())
             }
             }
         }
         }
+        */
     }
     }
 
 
 }
 }

+ 9 - 11
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/UrlManager.kt

@@ -13,8 +13,8 @@ interface UrlManager {
     /// host地址
     /// host地址
     val base  : String
     val base  : String
 
 
-    /// 买家
-    val buyer : String
+    /// 设备Api
+    val device_url : String
 
 
     /// 基础Api
     /// 基础Api
     val basic : String
     val basic : String
@@ -54,15 +54,13 @@ interface UrlManager {
 private class DevUrlManager : UrlManager{
 private class DevUrlManager : UrlManager{
 
 
     override val base: String
     override val base: String
-        get() = "http://api.%s.wdkl.natapp1.cc/"
+        get() = "http://192.168.1.188"
 
 
-    override val buyer: String
-        //get() = "${base}:7002/"
-        get() = String.format(base,"buyer")
+    override val device_url: String
+        get() = "${base}:8006/"
 
 
     override val basic: String
     override val basic: String
-        //get() = "${base}:7000/"
-        get() = String.format(base,"base")
+        get() = "${base}:7002/"
 }
 }
 
 
 /**
 /**
@@ -74,10 +72,10 @@ private class DevUrlManager : UrlManager{
 private class ProUrlManager : UrlManager{
 private class ProUrlManager : UrlManager{
 
 
     override val base: String
     override val base: String
-        get() = "http://api.%s.wdklian.com/"
+        get() = "http://192.168.1.188"
 
 
-    override val buyer: String
-        get() = String.format(base,"buyer")
+    override val device_url: String
+        get() = String.format(base,"device_url")
 
 
     override val basic: String
     override val basic: String
         get() = String.format(base,"base")
         get() = String.format(base,"base")

+ 3 - 58
middleware/src/main/code/com/wdkl/ncs/android/middleware/config/WdklNcsConfigCenter.kt

@@ -8,7 +8,7 @@ import org.json.JSONObject
  * @author LDD
  * @author LDD
  * @Date   2018/5/18 上午11:15
  * @Date   2018/5/18 上午11:15
  * @From   com.wdkl.ncs.android.middleware.config
  * @From   com.wdkl.ncs.android.middleware.config
- * @Note   JavaShop配置中心
+ * @Note   配置中心
  */
  */
 class WdklNcsConfigCenter {
 class WdklNcsConfigCenter {
 
 
@@ -22,17 +22,12 @@ class WdklNcsConfigCenter {
     /**
     /**
      *  是否处于开发模式
      *  是否处于开发模式
      */
      */
-    val APP_DEV = false
+    val APP_DEV = true
 
 
     /**
     /**
      * 基础URL
      * 基础URL
      */
      */
-    val WAP_BASE_URL = "http://m.wdklian.com/"
-
-    /**
-     * 商品页面URL
-      */
-    val WAP_GOODS_URL = "${WAP_BASE_URL}goods/"
+    val WAP_BASE_URL = "http://192.168.1.188/"
 
 
     /**
     /**
      * 店铺页面URL
      * 店铺页面URL
@@ -40,56 +35,6 @@ class WdklNcsConfigCenter {
     val WAP_SELLER_URL = "${WAP_BASE_URL}shop/"
     val WAP_SELLER_URL = "${WAP_BASE_URL}shop/"
 
 
     /**
     /**
-     * WeChat appid 微信支付 微信分享时使用
-     */
-    val WECHAT_APP_ID = "wx35ab0feca89af616"
-
-    /**
-     * 微信Secret 微信分享 微信登录使用
-     */
-    val WECHAT_SCRECT = "632d25a392d1ca2e191b35fcbd015e28"
-
-    /**
-     * 微博Key 微博分享登录时使用
-     */
-    val WEIBO_KEY = "1068471919"
-
-    /**
-     * 微博AuthUrl,微博分享登录时使用
-     */
-    val WEIBO_URL = "http://www.wdklian.com/"
-
-    /**
-     * 微博 Secret,微博分享登录时使用
-     */
-    val WEIBO_SCRECT = "4f59b6f644412bd5c94d1696784e133b"
-
-    /**
-     * QQ screct QQ分享登录时使用
-     */
-    val QQ_SCRECT = "MEgRE0voAOxhH8OJ"
-
-    /**
-     * QQ ID     QQ分享登录时使用
-     */
-    val QQ_Key = "1105873778"
-
-    /**
-     * Alipay分享Id
-     */
-    val ALIPAY_KEY = "2017101909390405"
-
-    /**
-     * umeng推送Key
-     */
-    val UMENG_KEY = "596453f8c895762c7e00028e"
-
-    /**
-     * umeng推送Secret
-     */
-    val UMENG_SCRECT = "53d15319bc4f06721db8dd3e4813c7df"
-
-    /**
      * @author LDD
      * @author LDD
      * @Date   2018/5/18 上午11:18
      * @Date   2018/5/18 上午11:18
      * @From   JavaShopConfigCenter
      * @From   JavaShopConfigCenter

+ 5 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/di/ApiProvides.kt

@@ -184,4 +184,9 @@ class ApiProvides {
     fun provideHelloApi():HelloApi{
     fun provideHelloApi():HelloApi{
         return ApiManager.API_HELLO
         return ApiManager.API_HELLO
     }
     }
+
+    @Provides
+    fun provideDeviceApi():DeviceApi{
+        return ApiManager.API_DEVICE
+    }
 }
 }

+ 2 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/di/ApplicationComponent.kt

@@ -138,4 +138,6 @@ interface ApplicationComponent {
     fun providePassportApi():PassportApi
     fun providePassportApi():PassportApi
 
 
     fun provideHelloApi(): HelloApi
     fun provideHelloApi(): HelloApi
+
+    fun provideDeviceApi() :DeviceApi
 }
 }

+ 3 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/di/PresenterComponent.kt

@@ -6,6 +6,7 @@ import com.wdkl.ncs.android.middleware.logic.presenter.hello.HelloListActivityPr
 import com.wdkl.ncs.android.middleware.logic.presenter.home.CategoryFragmentPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.CategoryFragmentPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeActivityPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeActivityPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeFragmentPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeFragmentPresenter
+import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchActivityPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.setting.SettingActivityPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.setting.SettingActivityPresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.shop.*
 import com.wdkl.ncs.android.middleware.logic.presenter.shop.*
 import com.wdkl.ncs.android.middleware.logic.presenter.welcome.WelcomePresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.welcome.WelcomePresenter
@@ -50,4 +51,6 @@ interface PresenterComponent {
     fun inject(presenter: HelloActivityPresenter)
     fun inject(presenter: HelloActivityPresenter)
 
 
     fun inject(presenter: HelloListActivityPresenter)
     fun inject(presenter: HelloListActivityPresenter)
+
+    fun inject(presenter: WatchActivityPresenter)
 }
 }

+ 13 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchActivityContract.kt

@@ -0,0 +1,13 @@
+package com.wdkl.ncs.android.middleware.logic.contract.home
+
+import com.wdkl.ncs.android.lib.base.BaseContract
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
+
+interface WatchActivityContract{
+    interface View : BaseContract.BaseView{
+        fun render(data: ArrayList<WatchContactsVO>)
+    }
+    interface Presenter : BaseContract.BasePresenter{
+        fun loadData(deviceId :Int ,page : Int)
+    }
+}

+ 59 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchActivityPresenter.kt

@@ -0,0 +1,59 @@
+package com.wdkl.ncs.android.middleware.logic.presenter.home
+
+import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
+import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
+import com.enation.javashop.net.engine.utils.ThreadFromUtils
+import com.google.gson.FieldNamingPolicy
+import com.google.gson.GsonBuilder
+import com.wdkl.ncs.android.lib.base.RxPresenter
+import com.wdkl.ncs.android.lib.utils.ConnectionObserver
+import com.wdkl.ncs.android.lib.utils.arrayObjects
+import com.wdkl.ncs.android.lib.utils.toJsonObject
+import com.wdkl.ncs.android.lib.utils.valueJsonArray
+import com.wdkl.ncs.android.middleware.api.DeviceApi
+import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
+import com.wdkl.ncs.android.middleware.logic.contract.home.WatchActivityContract
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
+import io.reactivex.disposables.Disposable
+import javax.inject.Inject
+
+class WatchActivityPresenter @Inject constructor(): RxPresenter<WatchActivityContract.View>(),WatchActivityContract.Presenter{
+    override fun bindDagger() {
+        MiddlewareDaggerComponent.component.inject(this)
+    }
+    @Inject
+    protected lateinit var deviceApi: DeviceApi
+
+    override fun loadData(deviceId: Int, page: Int) {
+        deviceApi.getWatchContacts(deviceId,page)
+                .map {
+                    var data = ArrayList<WatchContactsVO>()
+                    var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
+                    it.toJsonObject().valueJsonArray("data").arrayObjects().forEach({ dic ->
+                        data.add(gson.fromJson(dic.toString(),WatchContactsVO::class.java))
+                    })
+                    return@map data
+                }
+                .compose(ThreadFromUtils.defaultSchedulers())
+                .subscribe(observer)
+    }
+
+    private val observer = object : ConnectionObserver<Any>(){
+        override fun onStartWithConnection() {
+            providerView().start()
+        }
+
+        override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
+            providerView().complete("")
+            providerView().render(result as ArrayList<WatchContactsVO>)
+        }
+
+        override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
+            providerView().onError(error.customMessage)
+        }
+
+        override fun attachSubscribe(var1: Disposable) {
+            addDisposable(var1)
+        }
+    }
+}

+ 53 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/vo/WatchContactsVO.java

@@ -0,0 +1,53 @@
+package com.wdkl.ncs.android.middleware.model.vo;
+
+import java.io.Serializable;
+
+
+public class WatchContactsVO implements Serializable {
+    //nd.id,nd.sip_id,nf.type,nf.name,nf.alias,nf.full_name,nc.named
+    private Integer id;
+    private String sipId;
+    private String type;
+    private String fullName;
+    private String named;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getSipId() {
+        return sipId;
+    }
+
+    public void setSipId(String sipId) {
+        this.sipId = sipId;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getFullName() {
+        return fullName;
+    }
+
+    public void setFullName(String fullName) {
+        this.fullName = fullName;
+    }
+
+    public String getNamed() {
+        return named;
+    }
+
+    public void setNamed(String named) {
+        this.named = named;
+    }
+}

+ 1 - 1
welcome/src/main/code/com/wdkl/ncs/android/component/welcome/activity/WelcomeActivity.kt

@@ -89,7 +89,7 @@ class WelcomeActivity :BaseActivity<WelcomePresenter, ActivityWelcomeBinding>(),
      */
      */
     override fun toHome() {
     override fun toHome() {
         AppTool.Time.delay(500) {
         AppTool.Time.delay(500) {
-            push("/home/main")
+            push("/watch/contacts")
             finish()
             finish()
         }
         }
     }
     }