Browse Source

1.简易登录。

石慧云 4 years ago
parent
commit
c4dcece8db

+ 0 - 2
app/src/main/java/com/quansu/heifengwuliu/activity/OneLoginActivity.kt

@@ -82,8 +82,6 @@ class OneLoginActivity : MBActivity<OneLoginVModel, ActivityOneloginBinding>(){
 
     @Subscribe(tags = [Tag(ConfigRx.ADD_SEND_CODE)])
     fun setLoginCode(code: String) {
-        Log.e("-shy-", "wxcode2=: "+code)
-        //todo:去请求微信登录的接口
         vm.login(code)
     }
 

+ 10 - 0
app/src/main/java/com/quansu/heifengwuliu/activity/RegisterActivity.kt

@@ -1,5 +1,6 @@
 package com.quansu.heifengwuliu.activity
 
+import android.os.Bundle
 import com.quansu.heifengwuliu.base.MBActivity
 import com.quansu.heifengwuliu.databinding.ActivityRegisterBinding
 import com.quansu.heifengwuliu.repository.RegisterRepository
@@ -7,6 +8,15 @@ import com.quansu.heifengwuliu.vmodel.RegisterVModel
 import com.ysnows.base.base.BRepository
 
 class RegisterActivity : MBActivity<RegisterVModel, ActivityRegisterBinding>() {
+
+    override fun initCreate(savedInstanceState: Bundle?) {
+        super.initCreate(savedInstanceState)
+        vm.open_id=intent?.extras?.getString("open_id", "")
+
+
+    }
+
+
     override fun title(): String? {
         return null
     }

+ 26 - 0
app/src/main/java/com/quansu/heifengwuliu/repository/OneLoginRepository.kt

@@ -1,11 +1,15 @@
 package com.quansu.heifengwuliu.repository
 
 import android.annotation.SuppressLint
+import android.widget.Toast
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
 import com.quansu.heifengwuliu.activity.HomeActivity
+import com.quansu.heifengwuliu.activity.RegisterActivity
 import com.quansu.heifengwuliu.model.LoginBean
 import com.quansu.heifengwuliu.utils.net.NetEngine
 import com.tencent.mmkv.MMKV
 import com.ysnows.base.base.BRepository
+import com.ysnows.base.utils.B
 import com.ysnows.base.utils.UiSwitch
 
 class OneLoginRepository : BRepository() {
@@ -21,6 +25,28 @@ class OneLoginRepository : BRepository() {
 
                         UiSwitch.single(context, HomeActivity::class.java)
 
+                    }else{
+                        if(it.code()==0){
+
+                            UiSwitch.bundle(context,RegisterActivity::class.java, B.with().putString("open_id", token).ok())
+
+                        }
+                    }
+                }
+                .subscribe();
+
+    }
+
+
+    @SuppressLint("CheckResult")
+    fun simLogin(mobile:String,type: String) {
+
+        lreq(NetEngine.service.simlRegister(mobile,type))
+                .doOnNext{
+                    if (it.ok(true)) {
+                        var bean: LoginBean =it.data() as LoginBean;
+                        MMKV.defaultMMKV().putString("token",bean.TOKEN)
+                        UiSwitch.single(context, HomeActivity::class.java)
                     }
                 }
                 .subscribe();

+ 2 - 3
app/src/main/java/com/quansu/heifengwuliu/repository/RegisterRepository.kt

@@ -13,7 +13,7 @@ import io.reactivex.Observable
 class RegisterRepository : BRepository() {
 
 
-    fun register(name: String?, mobile: String?, code: String?, type: String?): Observable<Response<Any>>? {
+    fun register(name: String?, mobile: String?, code: String?, type: String? ,open_id:String?): Observable<Response<Any>>? {
         if (name.isNullOrEmpty()) {
             toast(R.string.please_input_user_name)
             return null
@@ -28,7 +28,7 @@ class RegisterRepository : BRepository() {
         }
 
         return Observable.create { emitter ->
-            lreq(NetEngine.service.register(name, mobile, code,type))
+            lreq(NetEngine.service.register(name, mobile, code,type,open_id))
                     .doOnNext() {
                         if (it.ok(true)) {
                             var bean: LoginBean =it.data() as LoginBean;
@@ -36,7 +36,6 @@ class RegisterRepository : BRepository() {
                             MMKV.defaultMMKV().putString("token",bean.TOKEN)
                             UiSwitch.single(context,HomeActivity::class.java)
 //                            emitter.onNext(it)
-
                         }
                     }
                     .subscribe()

+ 13 - 1
app/src/main/java/com/quansu/heifengwuliu/utils/net/ApiService.kt

@@ -86,7 +86,9 @@ interface ApiService {
 
     @POST("api/index/register")
     @FormUrlEncoded
-    fun register(@Field("name") name: String?, @Field("mobile") mobile: String?, @Field("code") code: String?,@Field("type") type: String?): Observable<Response<LoginBean>>
+    fun register(@Field("name") name: String?, @Field("mobile") mobile: String?, @Field("code") code: String?
+                 ,@Field("type") type: String?
+                 ,@Field("open_id") open_id: String?): Observable<Response<LoginBean>>
 
 
     /**
@@ -119,4 +121,14 @@ interface ApiService {
 
     @GET("api/user/getuserinfo")
     fun getuserinfo(): Observable<Response<LoginBean>>
+
+    /**
+     简易版注册
+     *
+     * @return
+     */
+    @POST("api/index/siml_register")
+    @FormUrlEncoded
+    fun simlRegister(@Field("mobile") mobile: String?,@Field("type") type: String?): Observable<Response<LoginBean>>
+
 }

+ 30 - 3
app/src/main/java/com/quansu/heifengwuliu/vmodel/OneLoginVModel.kt

@@ -1,8 +1,8 @@
 package com.quansu.heifengwuliu.vmodel
 
+import com.qmuiteam.qmui.widget.dialog.QMUIDialog
 import com.quansu.heifengwuliu.activity.HomeActivity
 import com.quansu.heifengwuliu.model.LoginBean
-import com.quansu.heifengwuliu.model.SendSmsBean
 import com.quansu.heifengwuliu.repository.OneLoginRepository
 import com.quansu.heifengwuliu.utils.WeChatUtil
 import com.quansu.heifengwuliu.utils.net.NetEngine
@@ -14,9 +14,12 @@ import com.ysnows.base.ccretrofit.CCRetrofit
 import com.ysnows.base.route.IJpush
 import com.ysnows.base.utils.UiSwitch
 
+
 open class OneLoginVModel : BViewModel<OneLoginRepository>() {
 
     fun clickLogin() {
+
+
         AndPermission.with(repository().context)
                 .runtime()
                 .permission(Permission.WRITE_EXTERNAL_STORAGE,
@@ -44,11 +47,18 @@ open class OneLoginVModel : BViewModel<OneLoginRepository>() {
     fun wxLogin(){
 
         //微信登录
-        WeChatUtil.setWXLoigin(repository().context)
+       WeChatUtil.setWXLoigin(repository().context)
 
     }
 
+
+    fun simLogin(mobile:String,type: String ){
+        repository().simLogin(mobile,type)
+    }
+
     fun oneLogin(code:String){
+
+
         repository().lreq(NetEngine.service.jiguangLogin(code))
                 .doOnNext() { res ->
                     if (res.ok(true)) {
@@ -57,9 +67,26 @@ open class OneLoginVModel : BViewModel<OneLoginRepository>() {
                         var bean: LoginBean =res.data() as LoginBean;
 
                         MMKV.defaultMMKV().putString("token",bean.TOKEN)
-
                         UiSwitch.single(repository().context,HomeActivity::class.java)
 
+                    }else{
+                        if(res.code()==0){
+                            var bean: LoginBean =res.data() as LoginBean;
+                            val items = arrayOf("司机", "货主")
+                            val builder = QMUIDialog.CheckableDialogBuilder(repository().context)
+                            builder.setTitle("选择类型去注册")
+                                    .setCheckedIndex(0)
+                                    .addItems(items) { dialog, which -> builder.checkedIndex = which }
+                                    .addAction("取消") { dialog, index ->
+                                        dialog.dismiss()
+                                    }
+                                    .addAction("确定") { dialog, index ->
+                                       var type= if(builder.checkedIndex==0) "1" else "2"
+                                        simLogin(bean.mobile,type);
+                                        dialog.dismiss()
+                                    }
+                                    .show()
+                        }
                     }
                 }
                 .subscribe()

+ 2 - 5
app/src/main/java/com/quansu/heifengwuliu/vmodel/RegisterVModel.kt

@@ -5,7 +5,6 @@ import androidx.lifecycle.MutableLiveData
 import com.quansu.heifengwuliu.BR
 import com.quansu.heifengwuliu.R
 import com.quansu.heifengwuliu.config.ConfigMMKV
-import com.quansu.heifengwuliu.model.SendSmsBean
 import com.quansu.heifengwuliu.repository.RegisterRepository
 import com.quansu.heifengwuliu.utils.net.NetEngine
 import com.ysnows.base.base.BViewModel
@@ -22,6 +21,7 @@ open class RegisterVModel : BViewModel<RegisterRepository>() {
 
     var showType: MutableLiveData<Boolean> = MutableLiveData(getShow)
 
+    var open_id: String? = null
 
 
     override fun init() {
@@ -68,7 +68,7 @@ open class RegisterVModel : BViewModel<RegisterRepository>() {
         var type=if(showType.value!!)"2" else "1"
 
         repository()
-                .register(userName,phone, code, type)
+                .register(userName,phone, code, type,open_id)
                 ?.doOnNext() {
                     toast(it.msg())
                 }
@@ -94,9 +94,6 @@ open class RegisterVModel : BViewModel<RegisterRepository>() {
         repository().lreq(NetEngine.service.getRegisterCode(phone))
                 .doOnNext() { res ->
                     if (res.ok(true)) {
-//                        var bean: SendSmsBean = res.data() as SendSmsBean
-//
-//                        code=bean.code
                         startTimer(start)
                     }
                 }