diff --git a/app/build.gradle b/app/build.gradle
index 56cd926..2095456 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -28,7 +28,7 @@ android {
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
- JPUSH_APPKEY : "7f6d979240babce41b3625ab",
+ JPUSH_APPKEY : "4469bc1d5cfba9e5aea1cac4",
//暂时填写默认值即可.
JPUSH_CHANNEL : "developer-default",
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 873166d..60849e3 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -132,6 +132,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt b/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt
new file mode 100644
index 0000000..6565082
--- /dev/null
+++ b/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt
@@ -0,0 +1,86 @@
+package com.zj365.dc.activity
+
+import android.view.LayoutInflater
+import android.widget.TextView
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.luck.picture.lib.config.PictureMimeType
+import com.xty.base.act.BaseVmAct
+import com.xty.base.vm.BaseVm
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.picture.PictureUtils
+import com.zj365.dc.databinding.ActCalorieAnalyzeBinding
+import com.zj365.health.R
+
+@Route(path = ARouterUrl.CALORIE_ANALYZE)
+class CalorieAnalyzeAct : BaseVmAct() {
+
+ val binding by lazy { ActCalorieAnalyzeBinding.inflate(layoutInflater) }
+
+ var bottomSheetDialog: BottomSheetDialog? = null
+ override fun liveObserver() {
+
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "热卡分析"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+
+ binding.tvContent.text = "1.注意事项、操作指南文案。平台能通过照片分析出大部分食物、水果蔬菜、菜品。上传更清晰完整的照片,分析结果更准确。" +
+ "\n2.平台能通过照片分析出大部分食物、水果蔬菜、菜品。\n" +
+ "3.上传更清晰完整的招聘,分析结果更准确。平台能通过照片分析出大部分食物。\n" +
+ "4.上传更清晰完整的照片,分析结果更准确。平台能通过照片分析出大部分食物、水果蔬菜、菜品。\n" +
+ "5.上传更清晰完整的招聘,分析结果更准确。平台能通过照片分析出大部分食物、水果蔬菜、菜品。上传更清晰完整的招聘,分析结果更准确。\n"
+
+ binding.tvDishes.setOnClickListener {
+ bottomSheetDialog?.show()
+ }
+
+ binding.tvFruitVegetable.setOnClickListener {
+ bottomSheetDialog?.show()
+
+ }
+ binding.tvSnack.setOnClickListener {
+ bottomSheetDialog?.show()
+
+ }
+
+ initBottomDialog()
+ }
+
+ override fun setLayout() = binding.root
+
+ fun initBottomDialog() {
+ if (bottomSheetDialog == null) {
+ bottomSheetDialog = BottomSheetDialog(this, R.style.Theme_ChartDialogManager)
+ bottomSheetDialog?.let { dialog ->
+ val view = LayoutInflater.from(this).inflate(R.layout.dialog_choose_pic, null)
+ dialog.setContentView(view)
+
+ val tvTakePhoto = view.findViewById(R.id.tv_take_photo)
+ val tvChoosePhotoAlbum = view.findViewById(R.id.tv_choose_photo_album)
+ val tvCancel = view.findViewById(R.id.tv_cancel)
+ tvCancel.setOnClickListener {
+ dialog.dismiss()
+ }
+
+ tvTakePhoto.setOnClickListener {
+ PictureUtils.openTheCamera(this, PictureMimeType.ofImage())
+ dialog.dismiss()
+ }
+
+ tvChoosePhotoAlbum.setOnClickListener {
+ PictureUtils.openCamera(this, PictureMimeType.ofImage(),9)
+ dialog.dismiss()
+
+ }
+
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
new file mode 100644
index 0000000..bae5f61
--- /dev/null
+++ b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt
@@ -0,0 +1,59 @@
+package com.zj365.dc.activity
+
+import android.view.View
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.xty.base.act.BaseVmAct
+import com.xty.base.vm.BaseVm
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
+import com.zj365.dc.R
+import com.zj365.dc.databinding.ActDietManagementBinding
+
+@Route(path = ARouterUrl.DIET_MANAGEMENT)
+class DietManagementAct : BaseVmAct(){
+
+ val binding by lazy{ ActDietManagementBinding.inflate(layoutInflater)}
+ override fun liveObserver() {
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text ="膳食管理"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+
+ binding.rxCalorie.setOnClickListener(setOnClickListener)
+ binding.rxHealthyDiet.setOnClickListener(setOnClickListener)
+ binding.rxMedicineFood.setOnClickListener(setOnClickListener)
+ binding.rxFoodDiary.setOnClickListener(setOnClickListener)
+ binding.rxMore.setOnClickListener(setOnClickListener)
+ }
+
+ var setOnClickListener = View.OnClickListener {
+ when(it.id){
+ R.id.rx_calorie ->{
+ RouteManager.goAct(ARouterUrl.CALORIE_ANALYZE)
+ }
+
+ R.id.rx_healthy_diet ->{
+
+ }
+ R.id.rx_medicine_food ->{
+
+ }
+ R.id.rx_food_diary ->{
+
+ }
+
+ R.id.rx_more ->{
+
+ }
+ }
+
+ }
+
+ override fun setLayout() = binding.root
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
index 242a049..f120672 100644
--- a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
+++ b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt
@@ -29,6 +29,7 @@ import com.xty.base.vp2.VpAdapter
import com.xty.common.Const
import com.xty.common.MMkvHelper
import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
import com.xty.common.bracelet.checkBlueConnectPermission
import com.xty.common.event.MeasureWeightEvent
import com.xty.common.event.MqttReceive
@@ -188,8 +189,13 @@ class MainActivity : BaseVmAct(), Consumer {
}
R.id.nav_dynamic_management -> {
- binding.mVp2.setCurrentItem(2, false)
- return@setOnNavigationItemSelectedListener true
+ if (MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else{
+ binding.mVp2.setCurrentItem(2, false)
+ return@setOnNavigationItemSelectedListener true
+ }
+
}
R.id.nav_message -> {
diff --git a/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt
new file mode 100644
index 0000000..ea649d6
--- /dev/null
+++ b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt
@@ -0,0 +1,95 @@
+package com.zj365.dc.activity
+
+import android.view.LayoutInflater
+import android.view.View
+import android.widget.ImageView
+import android.widget.LinearLayout
+import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.luck.picture.lib.config.PictureMimeType
+import com.xty.base.act.BaseVmAct
+import com.xty.base.vm.BaseVm
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.picture.PictureUtils
+import com.xty.common.util.SpannableUtils
+import com.zj365.dc.adapter.RecognizeResultAdapter
+import com.zj365.dc.databinding.ActRecognizeResultBinding
+import com.zj365.health.R
+
+@Route(path = ARouterUrl.RECOGNIZE_RESULT)
+class RecognizeResultAct : BaseVmAct() {
+
+ val binding by lazy{ ActRecognizeResultBinding.inflate(layoutInflater)}
+
+ val adapter by lazy { RecognizeResultAdapter() }
+
+ var bottomSheetDialog: BottomSheetDialog? = null
+ override fun liveObserver() {
+
+ }
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "识别结果"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ initAdapter()
+ binding.tvPhotographAgain.setOnClickListener {
+
+ }
+ binding.tvDetail.setOnClickListener {
+
+ }
+
+ initBottomDialog()
+
+ }
+
+ fun initAdapter(){
+ binding.recycler.layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false)
+ binding.recycler.adapter = adapter
+ adapter.setOnItemChildClickListener { adapter, view, position ->
+
+ }
+ }
+
+ override fun initData() {
+ super.initData()
+ }
+
+ override fun setLayout() = binding.root
+
+ fun initBottomDialog() {
+ if (bottomSheetDialog == null) {
+ bottomSheetDialog = BottomSheetDialog(this, R.style.Theme_ChartDialogManager)
+ bottomSheetDialog?.let { dialog ->
+ val view = LayoutInflater.from(this).inflate(R.layout.dialog_choose_pic, null)
+ dialog.setContentView(view)
+
+ val tvTakePhoto = view.findViewById(R.id.tv_take_photo)
+ val tvChoosePhotoAlbum = view.findViewById(R.id.tv_choose_photo_album)
+ val tvCancel = view.findViewById(R.id.tv_cancel)
+ tvCancel.setOnClickListener {
+ dialog.dismiss()
+ }
+
+ tvTakePhoto.setOnClickListener {
+ PictureUtils.openTheCamera(this, PictureMimeType.ofImage())
+ dialog.dismiss()
+ }
+
+ tvChoosePhotoAlbum.setOnClickListener {
+ PictureUtils.openCamera(this, PictureMimeType.ofImage(),9)
+ dialog.dismiss()
+
+ }
+
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt
new file mode 100644
index 0000000..ab3135c
--- /dev/null
+++ b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt
@@ -0,0 +1,13 @@
+package com.zj365.dc.adapter
+
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.xty.network.model.HomeLayoutBean
+import com.zj365.dc.R
+
+class RecognizeResultAdapter : BaseAdapter(R.layout.item_recognize_result){
+ override fun convert(holder: BaseViewHolder, item: HomeLayoutBean.HomeChildBean) {
+
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
index c84cbf7..411689e 100644
--- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
@@ -148,10 +148,10 @@ class DynamicManagementFrag : BaseVmFrag() {
* 0.心率、1.血氧、2.呼吸率、3.体温、4.步数、5.睡眠、6.血压、7.血糖、8.心电、9.尿酸、10.血脂。
*/
private val pageIndexs = arrayOf(
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9/*, 10*/
)
private val pageNames = arrayOf(
- "心率", "血氧", "呼吸率", "体温", "步数", "睡眠", "血压", "血糖", "心电", "尿酸", "血脂"
+ "心率", "血氧", "呼吸率", "体温", "步数", "睡眠", "血压", "血糖", "心电", "尿酸"/*, "血脂"*/
)
@SuppressLint("ResourceType")
@@ -826,7 +826,7 @@ class DynamicManagementFrag : BaseVmFrag() {
binding.mHeader.mWearInfo.visibility = View.INVISIBLE
binding.mHeader.mWatchType.visibility = View.INVISIBLE
} else {
- binding.mHeader.mWatchType.visibility = View.VISIBLE
+ binding.mHeader.mWatchType.visibility = View.GONE
binding.mHeader.mWearInfo.visibility = View.VISIBLE
}
/*if (mFamilyAdapter.position != -1) {
@@ -1751,7 +1751,7 @@ class DynamicManagementFrag : BaseVmFrag() {
}
}
- binding.mHeader.mConnectStatu.visibility = View.VISIBLE
+ binding.mHeader.mConnectStatu.visibility = View.GONE
} else {
binding.mHeader.mBindState.apply {
text = "未绑定"
diff --git a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
index 3dad21b..f5d8a8a 100644
--- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
@@ -280,6 +280,9 @@ HealthHomeFrag : BaseVmFrag() {
}
"MEALS"->{ //膳食管理
+ bundle.clear()
+ bundle.putString("userId",showIdInfo)
+ RouteManager.goAct(ARouterUrl.DIET_MANAGEMENT,bundle)
}
diff --git a/app/src/main/java/com/zj365/dc/vm/HomeVm.kt b/app/src/main/java/com/zj365/dc/vm/HomeVm.kt
index 3200227..343481b 100644
--- a/app/src/main/java/com/zj365/dc/vm/HomeVm.kt
+++ b/app/src/main/java/com/zj365/dc/vm/HomeVm.kt
@@ -2,6 +2,8 @@ package com.zj365.dc.vm
import androidx.lifecycle.MutableLiveData
import com.xty.base.vm.BaseVm
+import com.xty.common.Const
+import com.xty.common.MMkvHelper
import com.xty.network.model.BannerBean
import com.xty.network.model.FamilyBean
import com.xty.network.model.HomeLayoutBean
@@ -26,10 +28,7 @@ class HomeVm: BaseVm() {
startHttp(false) {
withContext(Dispatchers.IO){
- var json = JSONObject()
- json.put("userId",id)
- json.put("location",location) // 1,首页顶部,2,首页中部
- var nowLine = async{apiInterface().getBanners(retrofits.getRequestBody(json.toString()))}
+ var nowLine = async{apiInterface().getBanners(MMkvHelper.getLong(Const.USER_ID).toString(),location)}
var showInfo = nowLine.await()
// var value=apiInterface().getBanners(retrofits.getRequestBody(json.toString()))
var dataMap = setMapValue(bannerLive.value,showInfo.data,location)
diff --git a/app/src/main/res/layout/act_calorie_analyze.xml b/app/src/main/res/layout/act_calorie_analyze.xml
new file mode 100644
index 0000000..125a278
--- /dev/null
+++ b/app/src/main/res/layout/act_calorie_analyze.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/act_diet_management.xml b/app/src/main/res/layout/act_diet_management.xml
index 0b6d031..3b92656 100644
--- a/app/src/main/res/layout/act_diet_management.xml
+++ b/app/src/main/res/layout/act_diet_management.xml
@@ -9,12 +9,13 @@
android:id="@+id/title"/>
@@ -35,6 +36,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="热卡分析"
+ android:textStyle="bold"
android:textColor="@color/col_313"
android:textSize="@dimen/sp_15"/>
@@ -76,6 +79,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="健康食谱"
+ android:textStyle="bold"
android:textColor="@color/col_313"
android:textSize="@dimen/sp_15"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_recognize_result.xml b/app/src/main/res/layout/item_recognize_result.xml
new file mode 100644
index 0000000..dc4c154
--- /dev/null
+++ b/app/src/main/res/layout/item_recognize_result.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_analyze_arrow.png b/app/src/main/res/mipmap-xxhdpi/icon_analyze_arrow.png
new file mode 100644
index 0000000..3a3e16a
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_analyze_arrow.png differ
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b8da1d8..1cf530b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,3 @@
- zhongjian
+ 中健365
\ No newline at end of file
diff --git a/common/src/main/java/com/xty/common/TimeSelect.kt b/common/src/main/java/com/xty/common/TimeSelect.kt
index 911140f..d9a291c 100644
--- a/common/src/main/java/com/xty/common/TimeSelect.kt
+++ b/common/src/main/java/com/xty/common/TimeSelect.kt
@@ -3,9 +3,11 @@ package com.xty.common
import android.content.Context
import android.graphics.Color
import android.view.View
+import android.widget.CheckBox
import android.widget.TextView
import androidx.core.content.ContextCompat
import com.bigkoo.pickerview.builder.TimePickerBuilder
+import com.bigkoo.pickerview.listener.CustomListener
import com.bigkoo.pickerview.listener.OnTimeSelectListener
import com.bigkoo.pickerview.view.TimePickerView
import com.tamsiree.rxkit.RxTimeTool
@@ -42,6 +44,8 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) {
var showSec = false
var setStartTime: Boolean = false
+ var isLanu:Boolean = false
+
init {
val instance = Calendar.getInstance()
startDate.set(
@@ -197,6 +201,10 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) {
.isDialog(showDialog)//是否显示为对话框样式
.build()
}
+
+
+ private var pvLunarTime : TimePickerView?= null
+
// 设置结束日期
fun selectManyTime2(timeTv: View, format: String = "yyyy-MM-dd") {
@@ -276,6 +284,98 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) {
showDay = true
pvTime.show()
}
+
+ fun selectTimeTwo(timeTv: View,timeType:View) {
+ this.timeTv = timeTv as TextView
+ showYear = true
+ showMonth = true
+ showDay = true
+
+ pvLunarTime = TimePickerBuilder(context, object : OnTimeSelectListener {
+ override fun onTimeSelect(date: Date?, v: View?) {
+ val date2String = RxTimeTool.date2String(date, SimpleDateFormat(format))
+ if (chooseMany) {
+ var str = StringBuilder(timeTv?.text)
+ if (!timeTv?.text.isNullOrEmpty()) {
+ str.append(",$date2String")
+ } else {
+ str.append(date2String)
+ }
+ selectTime = str.toString()
+ timeTv?.text = str
+ } else {
+ selectTime = date2String
+ timeTv?.text = date2String
+ }
+ if (otherView != null && otherView is InputView) {
+ (otherView as InputView).setValues(date2String)
+ }
+
+ if(isLanu){
+ (timeType as TextView).text = "公历"
+
+ }else{
+ (timeType as TextView).text = "农历"
+ }
+ select.invoke(date2String)
+ }
+ })
+ .setLayoutRes(R.layout.layout_customer_date_picker,object : CustomListener{
+ override fun customLayout(v: View?) {
+
+ var tvSubmit =v!!.findViewById(R.id.tv_confirm)
+
+ var tvCancel = v!!.findViewById(R.id.tv_cancel)
+
+ var checkLuna = v!!.findViewById(R.id.check_brithday)
+
+ tvSubmit.setOnClickListener {
+ pvLunarTime?.returnData()
+ pvLunarTime?.dismiss()
+ }
+
+ tvCancel.setOnClickListener {
+ pvLunarTime?.dismiss()
+ }
+
+ checkLuna.setOnCheckedChangeListener { compoundButton, b ->
+ isLanu = b
+ /*if(b){
+ (timeType as TextView).text = "农历"
+ }else{
+ (timeType as TextView).text = "公历"
+ }*/
+ }
+ }
+ })
+
+ .setType(
+ booleanArrayOf(
+ showYear,
+ showMonth,
+ showDay,
+ showHour,
+ showMin,
+ showSec
+ )
+ )// 显示需要的时间
+ .setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示
+ .isCyclic(false)//是否循环滚动
+ .setBgColor(Color.WHITE)//滚轮背景颜色 Night mode
+ .setLineSpacingMultiplier(2.0f)
+ .setTextColorCenter(ContextCompat.getColor(context, R.color.col_313))
+ .setTextColorOut(ContextCompat.getColor(context, R.color.col_6B6))
+ .setDividerColor(ContextCompat.getColor(context, R.color.transparent))
+ .setItemVisibleCount(3)
+ .setRangDate(if (setStartTime) startDate else null, endDate)//起始终止年月日设定
+ .setDate(selectedDate)// 如果不设置的话,默认是系统时间*/
+ .setLabel("", "", "", "", "", "")//默认设置为年月日时分秒
+ .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
+ .isDialog(showDialog)//是否显示为对话框样式
+ .build()
+
+ pvLunarTime?.show()
+ }
fun selectTime(timeTv: View, format: String = "yyyy-MM-dd", selectedDate: Calendar? = null) {
this.selectedDate =
selectedDate ?: Calendar.getInstance() // 如果 selectedDate 为空,则使用当前日期作为默认时间
diff --git a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
index 2fb8e06..a541c20 100644
--- a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
+++ b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
@@ -15,6 +15,9 @@ class ARouterUrl {
const val DEVICE_SEARCH = "/com/zj365/dc/activity/DeviceSearchBodyFatAct"
const val DEVICE_BIND = "/com/zj365/dc/activity/DeviceBindAct"
const val SCIENCE_LIST = "/com/zj365/dc/activity/HealthScienceAct"
+ const val DIET_MANAGEMENT = "/com/zj365/dc/activity/DietManagementAct"
+ const val CALORIE_ANALYZE = "/com/zj365/dc/activity/CalorieAnalyzeAct"
+ const val RECOGNIZE_RESULT = "/com/zj365/dc/activity/RecognizeResultAct"
// const val FAMILY_INFO="/com/zj365/dc/act/FamilyMainAct"
diff --git a/common/src/main/java/com/xty/common/listener/OnChoosePicListener.kt b/common/src/main/java/com/xty/common/listener/OnChoosePicListener.kt
new file mode 100644
index 0000000..733e7f5
--- /dev/null
+++ b/common/src/main/java/com/xty/common/listener/OnChoosePicListener.kt
@@ -0,0 +1,8 @@
+package com.xty.common.listener
+
+interface OnChoosePicListener {
+
+ fun onChooseTakePhoto()
+
+ fun onChoosePhotoAlbum()
+}
\ No newline at end of file
diff --git a/common/src/main/java/com/xty/common/picture/PictureUtils.kt b/common/src/main/java/com/xty/common/picture/PictureUtils.kt
index cf19420..72b7850 100644
--- a/common/src/main/java/com/xty/common/picture/PictureUtils.kt
+++ b/common/src/main/java/com/xty/common/picture/PictureUtils.kt
@@ -39,6 +39,16 @@ class PictureUtils {
.forResult(PictureConfig.CHOOSE_REQUEST)
}
+ fun openTheCamera(act: Activity, type: Int = PictureMimeType.ofImage()){
+ PictureSelector.create(act)
+ .openCamera(type)
+ .imageEngine(GlideEngine.createGlideEngine()) // 请参考Demo GlideEngine.java
+ .isCompress(true)//是否压缩
+ .forResult(PictureConfig.CHOOSE_REQUEST)
+ }
+
+
+
/**
* 选择图片或者拍照
*/
diff --git a/common/src/main/java/com/xty/common/util/TakePhotoDialog.kt b/common/src/main/java/com/xty/common/util/TakePhotoDialog.kt
new file mode 100644
index 0000000..23a2fb6
--- /dev/null
+++ b/common/src/main/java/com/xty/common/util/TakePhotoDialog.kt
@@ -0,0 +1,7 @@
+package com.xty.common.util
+
+import android.app.Dialog
+import android.content.Context
+
+class TakePhotoDialog(context: Context) : Dialog(context) {
+}
\ No newline at end of file
diff --git a/common/src/main/res/drawable/shape_r25_stroke_02c.xml b/common/src/main/res/drawable/shape_r25_stroke_02c.xml
new file mode 100644
index 0000000..38cb594
--- /dev/null
+++ b/common/src/main/res/drawable/shape_r25_stroke_02c.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/src/main/res/drawable/shape_r8_02c_stroke_1_5.xml b/common/src/main/res/drawable/shape_r8_02c_stroke_1_5.xml
new file mode 100644
index 0000000..43dabbf
--- /dev/null
+++ b/common/src/main/res/drawable/shape_r8_02c_stroke_1_5.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/common/src/main/res/layout/dialog_choose_pic.xml b/common/src/main/res/layout/dialog_choose_pic.xml
new file mode 100644
index 0000000..6e2092b
--- /dev/null
+++ b/common/src/main/res/layout/dialog_choose_pic.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/src/main/res/layout/layout_customer_date_picker.xml b/common/src/main/res/layout/layout_customer_date_picker.xml
new file mode 100644
index 0000000..8f1b0c2
--- /dev/null
+++ b/common/src/main/res/layout/layout_customer_date_picker.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt b/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt
new file mode 100644
index 0000000..a9948a8
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt
@@ -0,0 +1,16 @@
+package com.zj365.health.act.skin
+
+import android.view.View
+import com.xty.base.act.BaseVmAct
+import com.zj365.health.databinding.ActAiSkinMeasurementBinding
+import com.zj365.health.vm.TongueDiagnosisVm
+
+class SkinMeasurementMainAct : BaseVmAct() {
+
+ val binding by lazy { ActAiSkinMeasurementBinding.inflate(layoutInflater)}
+
+ override fun liveObserver() {
+ }
+
+ override fun setLayout() = binding.root
+}
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_ai_skin_measurement.xml b/health/src/main/res/layout/act_ai_skin_measurement.xml
new file mode 100644
index 0000000..8a0907b
--- /dev/null
+++ b/health/src/main/res/layout/act_ai_skin_measurement.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
index 13f4788..cf62723 100644
--- a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
+++ b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt
@@ -181,7 +181,7 @@ class BaseInfoChangeAct : BaseVmAct() {
// birthdayType = if (binding.checkBirthday.isChecked) 2 else 1
binding.mBirthday.setOnClickListener {
RxKeyboardTool.hideSoftInput(this)
- timeSelect.selectTime(it)
+ timeSelect.selectTimeTwo(it,binding.tvCalType)
}
binding.mArea.setOnClickListener {
if (areaSelectDialog == null) {
@@ -245,6 +245,11 @@ class BaseInfoChangeAct : BaseVmAct() {
binding.mPhone.text = it.phone
// binding.mId.setText(it.idCard)
binding.mBirthday.text = it.birthday
+ if(binding.tvCalType.text.toString().equals("公历")){
+ it.birthdayType == 2
+ }else{
+ it.birthdayType == 1
+ }
binding.checkBirthday.isChecked = it.birthdayType == 2
// when(it.birthdayType){
// 1-> binding.checkBirthday.isChecked = false
diff --git a/mine/src/main/res/layout/act_base_info_change.xml b/mine/src/main/res/layout/act_base_info_change.xml
index d6a9e4c..6763abd 100644
--- a/mine/src/main/res/layout/act_base_info_change.xml
+++ b/mine/src/main/res/layout/act_base_info_change.xml
@@ -221,6 +221,14 @@
android:button="@null"
android:visibility="gone"
android:checked="true" />
+
>
+ @GET("customer/bannerImg/listNew")
+ suspend fun getBanners(@Query("userId") userId: String,@Query("location") location: Int): RespBody>
/**
* 打卡首页信息