feat: auto login in dev

This commit is contained in:
2025-12-15 10:38:30 +08:00
parent 9129ccfb88
commit 2721e36dc1
5 changed files with 149 additions and 54 deletions

View File

@@ -51,6 +51,14 @@ class HomeFragment : Fragment() {
private val TAG: String = HomeFragment::class.java.simpleName
/**
* ========== 开发调试开关 ==========
* TODO: 正式发布前务必设置为 false
*/
companion object {
private const val DEV_AUTO_SELECT_INT_EXP = true // 自动选择国际出港开关
}
private var rvLeft: RecyclerView by Delegates.notNull()
private var rvRight: RecyclerView by Delegates.notNull()
@@ -70,6 +78,10 @@ class HomeFragment : Fragment() {
val leftMenuList = initLeftMenuData()
rvLeft.adapter = HomeLeftAdapt(leftMenuList)
rvRight.adapter = HomeRightAdapt(getRightMenu4Id(leftMenuList.first().id))
// ========== 开发调试:自动选择"国际出港"菜单 ==========
// TODO: 正式发布前删除此行
autoSelectIntExpForDev()
}
/////////// 左边的list循环
@@ -155,6 +167,31 @@ class HomeFragment : Fragment() {
}
override fun getItemCount() = leftMenuList.size
/**
* 开发调试:模拟点击菜单项
* TODO: 正式发布前删除此方法
*/
fun simulateClick(position: Int) {
if (position < 0 || position >= leftMenuList.size) return
val leftMenuTemp = leftMenuList[position]
// 跳过特殊菜单(航班查询、货物查询)
if (Constant.AuthName.Flight == leftMenuTemp.id ||
Constant.AuthName.CargoStatus == leftMenuTemp.id) {
return
}
// 更新选中位置
mPosition = position
// 刷新右侧菜单
refreshRight(leftMenuList[mPosition].id)
// 更新菜单状态
notifyDataSetChanged()
}
}
inner class LeftMenu(val id: String, val img: Int, val text: String)
@@ -906,4 +943,26 @@ class HomeFragment : Fragment() {
private fun refreshRight(id: String) {
(rvRight.adapter as? HomeRightAdapt)?.refresh(getRightMenu4Id(id))
}
/**
* 开发调试:自动选择"国际出港"菜单
* TODO: 正式发布前删除此方法或将 DEV_AUTO_SELECT_INT_EXP 设置为 false
*/
private fun autoSelectIntExpForDev() {
if (!DEV_AUTO_SELECT_INT_EXP) return
// 延迟执行,确保适配器已初始化
rvLeft.postDelayed({
val leftAdapter = rvLeft.adapter as? HomeLeftAdapt ?: return@postDelayed
// 查找"国际出港"在左侧菜单的位置
val leftMenuList = initLeftMenuData()
val intExpIndex = leftMenuList.indexOfFirst { it.id == Constant.AuthName.IntExp }
if (intExpIndex >= 0) {
// 模拟点击左侧"国际出港"菜单项
leftAdapter.simulateClick(intExpIndex)
}
}, 300) // 延迟300ms确保适配器已绑定数据
}
}