diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1faf6c8..6f6ae0d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -295,6 +295,16 @@ android:configChanges="keyboardHidden|orientation|locale" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden" /> + + () { + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: ProBean?) { + holder.run { + setText(R.id.tvProTitle, item?.problemName) + setText(R.id.tvContent, item?.problemDesc) + setText(R.id.tvNum, """${position + 1}""") + } + } + + override fun onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ) = QuickViewHolder(R.layout.item_com_pro, parent) +} \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt b/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt index 53e9260..c0e3a5a 100644 --- a/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt +++ b/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt @@ -10,6 +10,7 @@ object AppConfig { const val BUGLY_APP_ID = "0487c49b52" const val TIME = "DA_HE_TIME" const val ID = "DA_HE_ID" + const val DATA = "DA_HE_DATA" const val PHONE = "DA_HE_PHONE" const val ORDER_ID = "DA_HE_ORDER_ID" const val CAR_ID = "DA_HE_CAR_ID" diff --git a/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt b/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt index c2a6125..a730b69 100644 --- a/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/base/WebActivity.kt @@ -142,6 +142,11 @@ class WebActivity : BaseActivity() { super.onDestroy() } + override fun onBackPressed() { +// super.onBackPressed() + if (!mAgentWeb!!.back()) finish() + } + // internal class AndroidInterfaceWeb { // @JavascriptInterface diff --git a/app/src/main/java/com/dahe/gldriver/bean/ApiBean.kt b/app/src/main/java/com/dahe/gldriver/bean/ApiBean.kt index bb8c25a..a1df354 100644 --- a/app/src/main/java/com/dahe/gldriver/bean/ApiBean.kt +++ b/app/src/main/java/com/dahe/gldriver/bean/ApiBean.kt @@ -29,3 +29,27 @@ data class RateBean( val updateBy: String ) + +/** + * 常见问题bean + * @property isRecommend String + * @property isTop String + * @property problemDesc String + * @property problemId Int + * @property problemName String + * @property problemUrl String + * @property sortValue String + * @property status String + * @constructor + */ +data class ProBean( + val isRecommend: String, + val isTop: String, + val problemDesc: String, + val problemId: String, + val problemName: String, + val problemUrl: String, + val sortValue: String, + val status: String, + val contentData: String +) diff --git a/app/src/main/java/com/dahe/gldriver/net/Api.kt b/app/src/main/java/com/dahe/gldriver/net/Api.kt index 4ab8972..3aad7f4 100644 --- a/app/src/main/java/com/dahe/gldriver/net/Api.kt +++ b/app/src/main/java/com/dahe/gldriver/net/Api.kt @@ -13,6 +13,7 @@ import com.dahe.gldriver.bean.OcrPersonBean import com.dahe.gldriver.bean.OrderChild import com.dahe.gldriver.bean.OrderDetailBean import com.dahe.gldriver.bean.OssBean +import com.dahe.gldriver.bean.ProBean import com.dahe.gldriver.bean.RateBean import com.dahe.gldriver.bean.UpBankInfoBean import com.dahe.gldriver.bean.UpCaptain @@ -458,6 +459,23 @@ interface Api { fun orderPhoto(@Query("orderId") orderId: String): Observable>> + /** + * 常见问题列表 + * @return Observable>> + */ + @GET(BASE_URL + "driver/app/info/commonProblemList") + fun commonProblemList():Observable>> + + + /** + * 常见问题详情 + * @param problemId String + * @return Observable>> + */ + @GET(BASE_URL + "driver/app/info/commonProblemDetail") + fun commonProblemDetail(@Query("problemId") problemId :String):Observable> + + companion object { // String BASE_URL = "https://tmstest.dahehuoyun.com/"; const val BASE_URL = BuildConfig.BASE_URL diff --git a/app/src/main/java/com/dahe/gldriver/net/RxHttpCallBack.kt b/app/src/main/java/com/dahe/gldriver/net/RxHttpCallBack.kt index 6cac75c..123950a 100644 --- a/app/src/main/java/com/dahe/gldriver/net/RxHttpCallBack.kt +++ b/app/src/main/java/com/dahe/gldriver/net/RxHttpCallBack.kt @@ -85,7 +85,7 @@ abstract class RxHttpCallBack { dialog!!.dismiss() } if (t.code == 401) { - instance.loginOut(mContext!!) +// instance.loginOut(mContext!!) // Intent intent = new Intent(mContext, LoginActivity.class); // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); // mContext.startActivity(intent); diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt index 3f215c5..94ba591 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/MineFragment.kt @@ -7,24 +7,35 @@ import com.dahe.gldriver.adapter.GridItemAdapter import com.dahe.gldriver.base.WebActivity import com.dahe.gldriver.bean.GridBean import com.dahe.gldriver.databinding.FragmentMineBinding +import com.dahe.gldriver.net.BaseObserver +import com.dahe.gldriver.net.DataManager +import com.dahe.gldriver.net.RxHttpCallBack import com.dahe.gldriver.ui.account.authperson.AuthPartyActivity import com.dahe.gldriver.ui.mine.activity.CarTeamActivity import com.dahe.gldriver.ui.mine.activity.CarsManActivity +import com.dahe.gldriver.ui.mine.activity.ComProActivity import com.dahe.gldriver.ui.mine.activity.DriverTeamsActivity import com.dahe.gldriver.ui.mine.activity.PersonInfoActivity import com.dahe.gldriver.ui.mine.activity.RateManActivity +import com.dahe.gldriver.ui.mine.activity.RulesActivity import com.dahe.gldriver.ui.mine.activity.WalletActivity import com.dahe.gldriver.utils.SPUtils +import com.dahe.gldriver.utils.UserUtils +import com.dahe.glex.bean.UserBean import com.dahe.mylibrary.base.BaseFragment +import com.dahe.mylibrary.callback.RefreshCallBack +import com.dahe.mylibrary.net.CommonResponseBean import com.dahe.mylibrary.utils.ActivityUtils import com.dahe.mylibrary.utils.BaseUtils import com.dahe.mylibrary.utils.ImageLoader import com.dahe.mylibrary.utils.PhoneFormatCheckUtils import com.dahe.mylibrary.utils.ToastUtils import com.tencent.bugly.crashreport.CrashReport +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers import kotlin.system.exitProcess -class MineFragment : BaseFragment(), View.OnClickListener { +class MineFragment : BaseFragment(), View.OnClickListener, RefreshCallBack { private val tools = mutableListOf( GridBean("车队管理", R.drawable.car_team), GridBean("车辆管理", R.drawable.car_manage), @@ -51,7 +62,7 @@ class MineFragment : BaseFragment(), View.OnClickListener { override fun onFragmentFirstVisible() { - + setRefresh(binding.refresh, this) val userInfo = SPUtils.instance.getUserInfo(mContext) if (userInfo != null) { binding.run { @@ -138,7 +149,7 @@ class MineFragment : BaseFragment(), View.OnClickListener { } 3 -> { - ActivityUtils.startActivity(mContext,RateManActivity::class.java) + ActivityUtils.startActivity(mContext, RateManActivity::class.java) } } @@ -150,11 +161,11 @@ class MineFragment : BaseFragment(), View.OnClickListener { private fun goPlats(pos: Int) { when (pos) { 0 -> { - ActivityUtils.startActivity(mContext, CarTeamActivity::class.java) + ActivityUtils.startActivity(mContext, RulesActivity::class.java) } 1 -> { - ActivityUtils.startActivity(mContext, CarsManActivity::class.java) + ActivityUtils.startActivity(mContext, ComProActivity::class.java) } 2 -> { @@ -187,5 +198,18 @@ class MineFragment : BaseFragment(), View.OnClickListener { } } + override fun getRefreshDate(stat: Int, page: Int, count: Int) { + DataManager.getInstance().getUserInfo() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + UserUtils.instance.updateUser(mContext, t.data) + binding.refresh.finishRefresh() + } + })) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/ComProActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/ComProActivity.kt new file mode 100644 index 0000000..a8e8cb7 --- /dev/null +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/ComProActivity.kt @@ -0,0 +1,74 @@ +package com.dahe.gldriver.ui.mine.activity + +import android.graphics.Color +import android.os.Bundle +import android.widget.LinearLayout +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.dahe.gldriver.R +import com.dahe.gldriver.adapter.CarsAdapter +import com.dahe.gldriver.adapter.ComProAdatper +import com.dahe.gldriver.base.AppConfig +import com.dahe.gldriver.bean.ProBean +import com.dahe.gldriver.databinding.ActivityComProBinding +import com.dahe.gldriver.net.BaseObserver +import com.dahe.gldriver.net.DataManager +import com.dahe.gldriver.net.RxHttpCallBack +import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.net.CommonResponseBean +import com.dahe.mylibrary.recycleviewswipe.RecycleViewDivider +import com.dahe.mylibrary.utils.ActivityUtils +import com.dahe.mylibrary.utils.ConvertUtils +import com.google.gson.Gson +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers + +/** + * @ClassName ComProActivity + * @Author john + * @Date 2024/3/25 16:42 + * @Description 常见问题 + */ +class ComProActivity : BaseActivity() { + + lateinit var adapter: ComProAdatper + override fun initView(savedInstanceState: Bundle?) { + setStatusBarColor(R.color.white) + setTitleBar("常见问题", true) + binding.run { + adapter = recycler.run { + layoutManager = LinearLayoutManager(mContext, RecyclerView.VERTICAL, false) + addItemDecoration( + RecycleViewDivider( + LinearLayout.VERTICAL, + ConvertUtils.dp2px(10.0f), + Color.TRANSPARENT + ) + ) + adapter = ComProAdatper() + adapter as ComProAdatper + }.apply { + setOnItemClickListener { _, _, position -> + ActivityUtils.startActivity( + mContext, + ComProDetailActivity::class.java, + Bundle().apply { + putString(AppConfig.DATA, Gson().toJson(items[position])) + }) + } + } + } + } + + override fun initDate() { + DataManager.getInstance().commonProblemList() + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack>() { + override fun onSuccess(t: CommonResponseBean>) { + super.onSuccess(t) + adapter.submitList(t.data) + } + })) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/ComProDetailActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/ComProDetailActivity.kt new file mode 100644 index 0000000..6aa2a22 --- /dev/null +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/ComProDetailActivity.kt @@ -0,0 +1,50 @@ +package com.dahe.gldriver.ui.mine.activity + +import android.os.Bundle +import android.text.Html +import com.dahe.gldriver.R +import com.dahe.gldriver.base.AppConfig.DATA +import com.dahe.gldriver.bean.ProBean +import com.dahe.gldriver.databinding.ActivityComProDetailBinding +import com.dahe.gldriver.net.BaseObserver +import com.dahe.gldriver.net.DataManager +import com.dahe.gldriver.net.RxHttpCallBack +import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.net.CommonResponseBean +import com.google.gson.Gson +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers +import io.reactivex.rxjava3.schedulers.Schedulers + +/** + * @ClassName ComProActivity + * @Author john + * @Date 2024/3/25 16:42 + * @Description 问题详情 + */ +class ComProDetailActivity : BaseActivity() { + + override fun initView(savedInstanceState: Bundle?) { + setStatusBarColor(R.color.white) + setTitleBar("常见问题", true) + } + + override fun initDate() { + var proBean = Gson().fromJson(intent.extras?.getString(DATA), ProBean::class.java) + + binding.run { + tvTitle.text = proBean.problemName + } + + DataManager.getInstance().commonProblemDetail(proBean.problemId) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(BaseObserver(mContext, object : RxHttpCallBack() { + override fun onSuccess(t: CommonResponseBean) { + super.onSuccess(t) + binding.run { + tvContent.text = Html.fromHtml(t.data.contentData) + } + } + })) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RateManActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RateManActivity.kt index a73088b..6568937 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RateManActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RateManActivity.kt @@ -37,7 +37,7 @@ import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorT * @ClassName RateManActivity * @Author john * @Date 2024/3/18 08:51 - * @Description TODO + * @Description 评价管理 */ class RateManActivity : BaseActivity() { diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RulesActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RulesActivity.kt index f4e463e..74adf2f 100644 --- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RulesActivity.kt +++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/RulesActivity.kt @@ -2,8 +2,10 @@ package com.dahe.gldriver.ui.mine.activity import android.os.Bundle import com.dahe.gldriver.R +import com.dahe.gldriver.base.WebActivity import com.dahe.gldriver.databinding.ActivityRulesBinding import com.dahe.mylibrary.base.BaseActivity +import com.dahe.mylibrary.utils.ActivityUtils /** * @ClassName RulesActivity @@ -15,6 +17,24 @@ class RulesActivity : BaseActivity() { override fun initView(savedInstanceState: Bundle?) { setStatusBarColor(R.color.white) setTitleBar("平台规则",true) + binding.run { + rlOne.setOnClickListener { + ActivityUtils.startActivity(mContext,WebActivity::class.java,Bundle().apply { + putString("url","www.baidu.com") + putString("title","百度") + }) + } + rlTwo.setOnClickListener { + ActivityUtils.startActivity(mContext,WebActivity::class.java,Bundle().apply { + putString("url","www.baidu.com") + }) + } + rlThree.setOnClickListener { + ActivityUtils.startActivity(mContext,WebActivity::class.java,Bundle().apply { + putString("url","www.baidu.com") + }) + } + } } override fun initDate() { diff --git a/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt index cfe37c0..0508eb8 100644 --- a/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt +++ b/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt @@ -51,6 +51,17 @@ class UserUtils private constructor(){ ) } ActivityUtils.finishToActivity(LoginActivity::class.java,true) + } + + /** + * 更新当前用户 + * @param context Context + * @param userBean UserBean + */ + fun updateUser(context: Context,userBean: UserBean){ + SPUtils.instance.setUserInfo(context, Gson().toJson(userBean)) + //设置推送别名 + PushHelper.setAlias(context,userBean) } } \ No newline at end of file diff --git a/app/src/main/res/drawable-xxhdpi/bg_com_pro.png b/app/src/main/res/drawable-xxhdpi/bg_com_pro.png new file mode 100644 index 0000000..e31f623 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/bg_com_pro.png differ diff --git a/app/src/main/res/drawable-xxhdpi/icon_pro.png b/app/src/main/res/drawable-xxhdpi/icon_pro.png new file mode 100644 index 0000000..2a274b4 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_pro.png differ diff --git a/app/src/main/res/layout/activity_com_pro.xml b/app/src/main/res/layout/activity_com_pro.xml new file mode 100644 index 0000000..836d42c --- /dev/null +++ b/app/src/main/res/layout/activity_com_pro.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_com_pro_detail.xml b/app/src/main/res/layout/activity_com_pro_detail.xml new file mode 100644 index 0000000..f291d10 --- /dev/null +++ b/app/src/main/res/layout/activity_com_pro_detail.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_rules.xml b/app/src/main/res/layout/activity_rules.xml index e90807a..97d94e6 100644 --- a/app/src/main/res/layout/activity_rules.xml +++ b/app/src/main/res/layout/activity_rules.xml @@ -14,6 +14,7 @@ android:orientation="vertical"> + android:text="好运平台V2.0已成功上线啦!"> diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index f691a5a..2a16650 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -1,298 +1,305 @@ - + app:srlEnableLoadMore="false"> - - - - - - - + android:layout_height="match_parent"> + + android:id="@+id/headContent" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_210" + android:background="@drawable/mine_bg" + android:orientation="horizontal" + android:paddingTop="@dimen/dp_60"> + + + + + android:orientation="vertical"> - + android:gravity="center_vertical" + android:orientation="horizontal"> + + + + + + + + + + + + + + - - - - - - - - - + android:layout_marginTop="@dimen/dp_18" + android:layout_marginRight="@dimen/dp_15" + android:background="@drawable/right" /> - + android:background="@drawable/shape_white_12" + android:padding="@dimen/sp_16"> - + - - - - - - - + + android:layout_alignParentBottom="true" + android:orientation="horizontal"> - + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical"> - + + + + + - android:textColor="@color/color_9" - android:textSize="@dimen/sp_12"> + + + + + + + + + + + - - + - - - - - - - - - - - - - - - - - - - - + android:layout_height="@dimen/dp_120" + android:layout_below="@+id/rlMoney" + android:layout_marginLeft="@dimen/dp_15" + android:layout_marginTop="@dimen/dp_12" + android:layout_marginRight="@dimen/dp_15" + android:background="@drawable/shape_white_12"> + + - - - - - + - + + + android:layout_height="@dimen/dp_190" + android:layout_below="@+id/rlTools" + android:layout_marginLeft="@dimen/dp_15" + android:layout_marginTop="@dimen/dp_12" + android:layout_marginRight="@dimen/dp_15" + android:background="@drawable/shape_white_12"> + + + + + + + - - + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/item_com_pro.xml b/app/src/main/res/layout/item_com_pro.xml new file mode 100644 index 0000000..fb8497f --- /dev/null +++ b/app/src/main/res/layout/item_com_pro.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + \ No newline at end of file