diff --git a/app/build.gradle b/app/build.gradle index 294289b..ee965da 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -178,6 +178,7 @@ dependencies { implementation 'com.github.Dimezis:BlurView:version-2.0.6' //毛玻璃效果 implementation 'com.bytedance.ads:AppConvert:2.0.0' //巨量融合 implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:4.1.14' // 滚轮选择器 + implementation 'com.github.lihangleo2:ShadowLayout:3.4.1' //阴影布局 //media3视频播放 implementation "androidx.media3:media3-exoplayer:1.4.1" implementation "androidx.media3:media3-ui:1.4.1" diff --git a/app/src/main/assets/fonts/PangMenZhengDaoBiaoTiTi.ttf b/app/src/main/assets/fonts/PangMenZhengDaoBiaoTiTi.ttf new file mode 100644 index 0000000..d236a17 Binary files /dev/null and b/app/src/main/assets/fonts/PangMenZhengDaoBiaoTiTi.ttf differ diff --git a/app/src/main/java/com/cheng/bole/bean/AttachmentBean.kt b/app/src/main/java/com/cheng/bole/bean/AttachmentBean.kt new file mode 100644 index 0000000..2d1fd37 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/AttachmentBean.kt @@ -0,0 +1,10 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class AttachmentBean( + val id: String = "", + val url: String, + val type: String, + val title: String +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/BidDetailBean.kt b/app/src/main/java/com/cheng/bole/bean/BidDetailBean.kt new file mode 100644 index 0000000..8f4b345 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/BidDetailBean.kt @@ -0,0 +1,35 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class BidDetailBean( + val city: Int, + val city_id: String, + val city_name: String, + val contact: List, + val contact_name: String, + val contact_phone: String, + val content_type: String, + val id: String, + val info_source: String, + val is_fav: Boolean, + val issue_time: String, + val origin_attachment: List, + val origin_title: String, + val origin_content: Any, + val origin_url: String, + val project_amount: String, + val project_amount_money: String, + val project_amount_show: String, + val share_url: String, + val src_id: Int, + val src_name: String, + val subject: String, + val tips_time: String, + val type_id: String, + val type_name: String, + val status: String, //1. 待审核 2. 通过 3.驳回 + val review_remark: String, + val review_time: String, + val star: String +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/BidItemBean.kt b/app/src/main/java/com/cheng/bole/bean/BidItemBean.kt new file mode 100644 index 0000000..d3a6e12 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/BidItemBean.kt @@ -0,0 +1,44 @@ +package com.cheng.bole.bean + +import android.graphics.Color + +data class BidItemBean( + val id: String, + val recommend_id: String, //订阅消息 + val info_source: String, + val title: String, + val content: String, + val regionName: String, + val typeName: String, + val money: String, + val tipsTime: String, + val star: String +) { + fun getShortName(): String { + return when (typeName) { + "招标计划" -> "招标" + "采购公告" -> "采购" + "招标公告" -> "预告" + "合同公告" -> "合同" + "中标公告" -> "中标" + "竞争性磋商" -> "竞争性磋商" + "更正公告" -> "更正" + "终止公告" -> "终止" + else -> "其他" + } + } + + fun getTypeColor(): Int { + return when (typeName) { + "招标计划" -> Color.parseColor("#2B88F9") + "采购公告" -> Color.parseColor("#FF7344") + "招标公告" -> Color.parseColor("#14CEB3") + "合同公告" -> Color.parseColor("#FFA91D") + "中标公告" -> Color.parseColor("#FF1B1B") + "竞争性磋商" -> Color.parseColor("#0DA9FF") + "更正公告" -> Color.parseColor("#7066FF") + "终止公告" -> Color.parseColor("#8C9199") + else -> Color.parseColor("#EEEEEE") + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/BidTypeBean.kt b/app/src/main/java/com/cheng/bole/bean/BidTypeBean.kt new file mode 100644 index 0000000..6be2b3d --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/BidTypeBean.kt @@ -0,0 +1,12 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class BidTypeBean( + val id: String = "", + val name: String = "", + val sort: Int = 0, + val keyword: String = "", + val priority_keyword: String = "", + var isChecked: Boolean = false +) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/CityBean.kt b/app/src/main/java/com/cheng/bole/bean/CityBean.kt new file mode 100644 index 0000000..f0e5af3 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/CityBean.kt @@ -0,0 +1,12 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +class CityBean( + val id: Int = 0, + val pid: Int = 0, + val name: String = "", + val amount: String = "", + var children: MutableList = mutableListOf(), + var isChecked: Boolean = false +) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/CompanyBean.kt b/app/src/main/java/com/cheng/bole/bean/CompanyBean.kt new file mode 100644 index 0000000..ac9b933 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/CompanyBean.kt @@ -0,0 +1,19 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class CompanyBean( + val city_id: String, + val city_name: String, + val company_name: String, + val contact: List, + val create_time: String, + val extra: Any?, + val file_id: String, + val file_url: String, + val id: String, + val review_time: String, + val remark: String, + val status: String, + val update_time: String +) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/ContactsInfoBean.kt b/app/src/main/java/com/cheng/bole/bean/ContactsInfoBean.kt new file mode 100644 index 0000000..a994d6d --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/ContactsInfoBean.kt @@ -0,0 +1,33 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +class ContactsInfoBean( + var name: String, + var phone: String, + var job: String +): Serializable { + class Job( + val name: String, + var isChecked: Boolean = false + ): Serializable + + companion object { + fun getPositionList(): List { + return listOf( + Job("企业负责人"), + Job("总经理"), + Job("经理"), + Job("业务总监"), + Job("销售总监"), + Job("市场总监"), + Job("业务经理"), + Job("销售经理"), + Job("市场经理"), + Job("销售/业务员"), + Job("项目经理"), + Job("工程师") + ) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/CorpInfoBean.kt b/app/src/main/java/com/cheng/bole/bean/CorpInfoBean.kt new file mode 100644 index 0000000..0896293 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/CorpInfoBean.kt @@ -0,0 +1,13 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class CorpInfoBean( + val id: String, + val corp_name: String, + val sub_user_limit: String, + val bind_count: String, + val vip_expire_time: String, + val create_time: String, + val update_time: String +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/GuideTotalBidInfoBean.kt b/app/src/main/java/com/cheng/bole/bean/GuideTotalBidInfoBean.kt new file mode 100644 index 0000000..0c29fc3 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/GuideTotalBidInfoBean.kt @@ -0,0 +1,10 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class GuideTotalBidInfoBean( + val bidCount: Int, + val hasContact: Int, + val maxMoney: Int, + val yesterdayCount: Int +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/GuideUpdateInfoBean.kt b/app/src/main/java/com/cheng/bole/bean/GuideUpdateInfoBean.kt new file mode 100644 index 0000000..cc5b6ef --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/GuideUpdateInfoBean.kt @@ -0,0 +1,6 @@ +package com.cheng.bole.bean + +data class GuideUpdateInfoBean( + val count: Int, + val day: String +) \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/HotWordBean.kt b/app/src/main/java/com/cheng/bole/bean/HotWordBean.kt new file mode 100644 index 0000000..f9d27cf --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/HotWordBean.kt @@ -0,0 +1,24 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class HotWordBean( + val id: Int, + val name: String, + val children: List = emptyList(), + var icon: Int = 0, + var isChecked: Boolean = false, + var anim: Boolean = true +): Serializable { + data class Child( + val amount: String = "0", + val children: List = emptyList(), + val id: Int = 0, + val name: String, + val pid: Int = 0, + val status: String = "", + val type: String = "", + val weight: String = "", + var isChecked: Boolean = false + ): Serializable +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/MenuEntity.kt b/app/src/main/java/com/cheng/bole/bean/MenuEntity.kt new file mode 100644 index 0000000..bf2fdf5 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/MenuEntity.kt @@ -0,0 +1,29 @@ +package com.cheng.bole.bean + +import com.cheng.bole.R +import java.io.Serializable + +data class MenuEntity( + val id: String, + val resId: Int, + val title: String +): Serializable { + companion object { + fun getHomeMenu(): List { + val list = mutableListOf() + list.add(MenuEntity("1", R.mipmap.ic_home_icon1, "代理记账")) + list.add(MenuEntity("2", R.mipmap.ic_home_icon2, "企业注册")) + list.add(MenuEntity("3", R.mipmap.ic_home_icon3, "标书制作")) + list.add(MenuEntity("4", R.mipmap.ic_home_icon4, "资质代办")) + list.add(MenuEntity("5", R.mipmap.ic_home_icon5, "招标公告")) + list.add(MenuEntity("6", R.mipmap.ic_home_icon6, "采购公告")) + list.add(MenuEntity("7", R.mipmap.ic_home_icon7, "招标预告")) + list.add(MenuEntity("8", R.mipmap.ic_home_icon8, "合同公告")) + list.add(MenuEntity("9", R.mipmap.ic_home_icon9, "中标结果")) + list.add(MenuEntity("10", R.mipmap.ic_home_icon10, "竟争性磋商")) + list.add(MenuEntity("11", R.mipmap.ic_home_icon11, "更正公告")) + list.add(MenuEntity("12", R.mipmap.ic_home_icon12, "终止公告")) + return list + } + } +} diff --git a/app/src/main/java/com/cheng/bole/bean/MerchantGoodsBean.kt b/app/src/main/java/com/cheng/bole/bean/MerchantGoodsBean.kt new file mode 100644 index 0000000..ac7b44f --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/MerchantGoodsBean.kt @@ -0,0 +1,26 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class MerchantGoodsBean( + val city_id: String, + val city_name: String, + val company: CompanyBean, + val contact: List, + val create_time: String, + val file: List, + val goods_description: String, + val goods_name: String, + val goods_price: String, + val goods_price_show: String, + val goods_price_type: String, + val id: String, + val remark: String, + val review_time: String, + val status: String, + val type: String, + val update_time: String, + val user_id: String, + val view_count: String, + val is_broadcast: Boolean +) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/NoticeEntity.kt b/app/src/main/java/com/cheng/bole/bean/NoticeEntity.kt deleted file mode 100644 index 8035b05..0000000 --- a/app/src/main/java/com/cheng/bole/bean/NoticeEntity.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.cheng.bole.bean - -data class NoticeEntity( - val loop: Boolean, - val notice: List? -) { - data class NoticeItem( - val message: String, - var loop: Boolean = false - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/QualificationInfoBean.kt b/app/src/main/java/com/cheng/bole/bean/QualificationInfoBean.kt new file mode 100644 index 0000000..3a41974 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/QualificationInfoBean.kt @@ -0,0 +1,18 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class QualificationInfoBean( + val id: String, + val name: String, + val createTime: String, + val equitment: String, + val level: String, + val performance: String, + val person: String, + val property: String, + val range: String, + val status: String, + val updateTime: String, + val children: List +) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/SeatItemBean.kt b/app/src/main/java/com/cheng/bole/bean/SeatItemBean.kt new file mode 100644 index 0000000..baf2dd3 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/SeatItemBean.kt @@ -0,0 +1,12 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class SeatItemBean( + val avatar: String, + val create_time: String, + val id: String, + val phone: String, + val update_time: String, + val user_name: String +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/SourceBean.kt b/app/src/main/java/com/cheng/bole/bean/SourceBean.kt new file mode 100644 index 0000000..380383a --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/SourceBean.kt @@ -0,0 +1,8 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class SourceBean( + val id: String, + val name: String +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/SubscriptionBean.kt b/app/src/main/java/com/cheng/bole/bean/SubscriptionBean.kt new file mode 100644 index 0000000..ccfedf7 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/SubscriptionBean.kt @@ -0,0 +1,22 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class SubscriptionBean( + val city_id: List, + val city_name: ArrayList, + val create_time: String, + val id: String, + val info_type: List, + val keyword: List, + val name: String, + val push_receiver: String, + val push_receiver_ks: String, + val push_type: String, + val source: List, + val source_id: List, + val source_name: List, + val type: Int, + val update_time: String, + val user_id: String +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/SubscriptionMessageBean.kt b/app/src/main/java/com/cheng/bole/bean/SubscriptionMessageBean.kt new file mode 100644 index 0000000..5776bc0 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/SubscriptionMessageBean.kt @@ -0,0 +1,10 @@ +package com.cheng.bole.bean + +data class SubscriptionMessageBean( + val id: String, + val title: String, + val message: String, + val type: String, + val create_time: String, + val extra: BidItemBean +) \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/UploadFileBean.kt b/app/src/main/java/com/cheng/bole/bean/UploadFileBean.kt new file mode 100644 index 0000000..64e8ed2 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/bean/UploadFileBean.kt @@ -0,0 +1,8 @@ +package com.cheng.bole.bean + +import java.io.Serializable + +data class UploadFileBean( + var id: String = "", + var url: String = "" +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/bean/VipPermissionEntity.kt b/app/src/main/java/com/cheng/bole/bean/UserAuthBean.kt similarity index 68% rename from app/src/main/java/com/cheng/bole/bean/VipPermissionEntity.kt rename to app/src/main/java/com/cheng/bole/bean/UserAuthBean.kt index 5a3cea9..881e27e 100644 --- a/app/src/main/java/com/cheng/bole/bean/VipPermissionEntity.kt +++ b/app/src/main/java/com/cheng/bole/bean/UserAuthBean.kt @@ -2,7 +2,7 @@ package com.cheng.bole.bean import java.io.Serializable -data class VipPermissionEntity( +data class UserAuthBean( val auth: Boolean, val auth_ad: Boolean, val scene: String, @@ -14,10 +14,4 @@ data class VipPermissionEntity( val vip_message: String, val vip_name: String, var type: Int -) : Serializable { - - companion object { - const val TYPE_SHARE = 1 - const val TYPE_DOWNLOAD = 2 - } -} \ No newline at end of file +): Serializable \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/common/Constants.kt b/app/src/main/java/com/cheng/bole/common/Constants.kt index 6ac7c78..44a5b74 100644 --- a/app/src/main/java/com/cheng/bole/common/Constants.kt +++ b/app/src/main/java/com/cheng/bole/common/Constants.kt @@ -30,7 +30,6 @@ object Constants { val almmsht = Typeface.createFromAsset(Utils.getApp().assets, "fonts/Alimama ShuHeiTi.ttf") val dDIN_PRO_M = Typeface.createFromAsset(Utils.getApp().assets, "fonts/D-DIN-PRO-500-Medium.otf") val youSheBiaoTiHei = Typeface.createFromAsset(Utils.getApp().assets, "fonts/YouSheBiaoTiHei.ttf") - val douyinsansB = Typeface.createFromAsset(Utils.getApp().assets, "fonts/DouyinSansBold.otf") - + val pmzdbt = Typeface.createFromAsset(Utils.getApp().assets, "fonts/PangMenZhengDaoBiaoTiTi.ttf") } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/net/ApiService.kt b/app/src/main/java/com/cheng/bole/net/ApiService.kt index 150f204..e7bc689 100644 --- a/app/src/main/java/com/cheng/bole/net/ApiService.kt +++ b/app/src/main/java/com/cheng/bole/net/ApiService.kt @@ -1,5 +1,21 @@ package com.cheng.bole.net +import com.cheng.bole.bean.BidDetailBean +import com.cheng.bole.bean.BidItemBean +import com.cheng.bole.bean.BidTypeBean +import com.cheng.bole.bean.CityBean +import com.cheng.bole.bean.CompanyBean +import com.cheng.bole.bean.CorpInfoBean +import com.cheng.bole.bean.GuideTotalBidInfoBean +import com.cheng.bole.bean.GuideUpdateInfoBean +import com.cheng.bole.bean.HotWordBean +import com.cheng.bole.bean.MerchantGoodsBean +import com.cheng.bole.bean.QualificationInfoBean +import com.cheng.bole.bean.SeatItemBean +import com.cheng.bole.bean.SourceBean +import com.cheng.bole.bean.SubscriptionBean +import com.cheng.bole.bean.SubscriptionMessageBean +import com.cheng.bole.bean.UserAuthBean import com.cheng.bole.net.model.HttpBaseResult import com.cheng.bole.net.model.HttpListResult import com.ylqh.cube.bean.CouponActivityEntity @@ -12,10 +28,16 @@ import retrofit2.http.Multipart import retrofit2.http.POST import retrofit2.http.PUT import retrofit2.http.Part +import retrofit2.http.Path import retrofit2.http.Query import retrofit2.http.QueryMap interface ApiService { + /** + * 获取服务器时间 + */ + @GET("/api/time") + suspend fun getServerTime(): HttpBaseResult /** * 获取客户端配置 @@ -108,12 +130,6 @@ interface ApiService { @POST("/api/user/feedback") suspend fun feedback(@Body requestBody: RequestBody): HttpBaseResult - /** - * 用户公告 - */ - @GET("/api/user/notice") - suspend fun notice(): HttpBaseResult - /** * 获取VIP套餐列表 */ @@ -148,11 +164,279 @@ interface ApiService { * 权限验证 */ @GET("/api/user/auth") - suspend fun checkPermission(@Query("scene") info: String?): HttpBaseResult + suspend fun checkAuth(@Query("scene") scene: String? = "info"): HttpBaseResult /** * 权限上报 */ @POST("/api/user/auth") - suspend fun sendCheckPermission(@Body requestBody: RequestBody): HttpBaseResult + suspend fun sendAuth(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 引导页推荐热词树 + */ + @GET("/api/hot_word") + suspend fun getHotWordList(): HttpBaseResult> + + /** + * 城市列表 + */ + @GET("/api/city") + suspend fun getCityList(): HttpBaseResult> + + /** + * 获取当前城市 + */ + @GET("/api/city/default") + suspend fun getUserCity(): HttpBaseResult + + /** + * 总计商机 + */ + @GET("/api/search/preview") + suspend fun getTotalBidInfo( + @Query("keyword") keywords: String, + @Query("city_id") cityIds: String, + @Query("second_kind_num") kindCount: String + ): HttpBaseResult + + /** + * 每日更新 + */ + @GET("/api/info/update/num") + suspend fun getUpdateNum(@Query("size") size: String): HttpBaseResult> + + /** + * 会员页轮播提示 + */ + @GET("/api/pay/tips") + suspend fun getPayUserTips(): HttpBaseResult> + + /** + * 订阅列表 + */ + @GET("/api/recommend/subscription") + suspend fun getSubscriptionList(): HttpBaseResult> + + /** + * 订阅推荐列表 + */ + @GET("/api/recommend") + suspend fun getRecommendList(@QueryMap map: Map): HttpBaseResult> + + /** + * 添加订阅 + */ + @POST("/api/recommend/subscription") + suspend fun addSubscription(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 修改订阅 + */ + @PUT("/api/recommend/subscription") + suspend fun updateSubscription(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 删除订阅 + */ + @DELETE("/api/recommend/subscription") + suspend fun deleteSubscription(@Query("id") id: String): HttpBaseResult + + /** + * 招标公告类型 + */ + @GET("api/info/type") + suspend fun getBidTypeList(): HttpBaseResult> + + /** + * 标讯详情 + * + * source:search 搜索 | recommend 首页 | push 推送| favorite 关注列表| history 历史记录 + */ + @GET("/api/info/json") + suspend fun getBidDetail( + @Query("id") id: String, + @Query("source") source: String, + @Query("info_source") infoSource: String + ): HttpBaseResult + + /** + * 收藏列表 + */ + @GET("/api/info/favorite/search") + suspend fun getFavoriteList(): HttpBaseResult> + + /** + * 收藏标讯 + */ + @POST("/api/info/favorite") + suspend fun favorite(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 取消收藏标讯 + */ + @DELETE("/api/info/favorite") + suspend fun favoriteCancel(@Query("infoId") id: String): HttpBaseResult + + /** + * 热词推荐 + */ + @GET("/api/search/words") + suspend fun getHotKeywords(@QueryMap map: Map): HttpBaseResult> + + /** + * 热门数据源 + */ + @GET("/api/source/hot") + suspend fun getHotSources(): HttpBaseResult> + + /** + * 搜索数据源 + */ + @GET("/api/source/search") + suspend fun searchSource(@Query("keyword") keyword: String, @Query("size") size: String = "10"): HttpBaseResult> + + /** + * 搜索页最新标讯和本地标讯 + */ + @GET("/api/info/ks/search") + suspend fun getNewestLocalBidList(@QueryMap map: Map): HttpBaseResult> + + /** + * 项目搜索 + */ + @GET("/api/search") + suspend fun search(@QueryMap map: Map): HttpBaseResult> + + /** + * 供应商搜索 + */ + @GET("/api/user/goods/search") + suspend fun searchSupplier(@QueryMap map: Map): HttpBaseResult> + + /** + * 浏览历史 + */ + @GET("/api/info/history") + suspend fun getViewHistoryList(): HttpBaseResult> + + /** + * 添加代办 + */ + @POST("/api/agency/clew") + suspend fun addAgency(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 资质代办列表 + */ + @GET("/api/agency/cert") + suspend fun getAgencyList(@QueryMap map: Map): HttpBaseResult> + + /** + * 我的标讯列表 + */ + @GET("/api/user/info") + suspend fun getMyBidList(@QueryMap map: Map): HttpBaseResult> + + /** + * 查询标讯 + */ + @GET("/api/user/info/{id}") + suspend fun getBidInfo(@Path("id") id: String): HttpBaseResult + + /** + * 添加标讯 + */ + @POST("/api/user/info") + suspend fun addBidInfo(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 修改标讯 + */ + @PUT("/api/user/info") + suspend fun updateBidInfo(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 删除标讯 + */ + @DELETE("/api/user/info/{id}") + suspend fun deleteBidInfo(@Path("id") id: String): HttpBaseResult + + /** + * 我的商品列表 + */ + @GET("/api/user/goods") + suspend fun getMyGoodsList(@QueryMap map: Map): HttpBaseResult> + + /** + * 查询商品 + */ + @GET("/api/user/goods/{id}") + suspend fun getGoodsInfo(@Path("id") id: String): HttpBaseResult + + /** + * 添加商品 + */ + @POST("/api/user/goods") + suspend fun addGoodsInfo(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 修改商品 + */ + @PUT("/api/user/goods") + suspend fun updateGoodsInfo(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 删除商品 + */ + @DELETE("/api/user/goods/{id}") + suspend fun deleteGoodsInfo(@Path("id") id: String): HttpBaseResult + + /** + * 获取用户公司信息 + */ + @GET("/api/user/company") + suspend fun getCompanyInfo(): HttpBaseResult + + /** + * 提交用户公司信息 + */ + @POST("/api/user/company") + suspend fun addCompanyInfo(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 修改用户公司信息 + */ + @PUT("/api/user/company") + suspend fun updateCompanyInfo(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 席位信息 + */ + @GET("/api/corp") + suspend fun getSeatInfo(): HttpBaseResult + + /** + * 席位列表 + */ + @GET("/api/corp/user") + suspend fun getSeatList(@Query("page") page: String = "1", @Query("size") size: String = "100"): HttpBaseResult> + + /** + * 添加席位 + */ + @POST("/api/corp/user") + suspend fun addSeat(@Body requestBody: RequestBody): HttpBaseResult + + /** + * 删除席位 + */ + @DELETE("/api/corp/user") + suspend fun deleteSeat(@Query("id") id: String): HttpBaseResult + + /** + * 订阅消息列表 + */ + @GET("/api/message/ks") + suspend fun getSubscriptionMessage(@QueryMap map: Map): HttpBaseResult> } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/home/BidAdapter.kt b/app/src/main/java/com/cheng/bole/ui/fragment/home/BidAdapter.kt new file mode 100644 index 0000000..223efd1 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/home/BidAdapter.kt @@ -0,0 +1,28 @@ +package com.cheng.bole.ui.fragment.home + +import android.text.Html +import android.text.TextUtils +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.cheng.bole.R +import com.cheng.bole.bean.BidItemBean +import com.cheng.bole.widget.CommonShapeView +import com.example.base.ui.list.LoadMoreAdapter +import java.text.DecimalFormat + +class BidAdapter(private val showTipsTime: Boolean = false) : LoadMoreAdapter(R.layout.listitem_bid) { + + override fun convert(holder: BaseViewHolder, item: BidItemBean) { + val tvTag = holder.getView(R.id.tv_tag) + tvTag.setBgColor(item.getTypeColor()) + + holder.setText(R.id.tv_title, Html.fromHtml(item.title, Html.FROM_HTML_MODE_LEGACY)) + holder.setText(R.id.tv_content, Html.fromHtml(item.content, Html.FROM_HTML_MODE_LEGACY)) + holder.setText(R.id.tv_location, if (TextUtils.isEmpty(item.regionName)) "全国" else item.regionName) + holder.setText(R.id.tv_amount, item.money) + holder.setText(R.id.tv_time, item.tipsTime) + holder.setText(R.id.tv_rate, DecimalFormat("0.0").format(item.star.toFloat())) + + holder.setGone(R.id.tv_amount, TextUtils.isEmpty(item.money)) + holder.setGone(R.id.tv_time, !showTipsTime || TextUtils.isEmpty(item.tipsTime)) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt index b78187f..6391eaf 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeFragment.kt @@ -1,12 +1,82 @@ package com.cheng.bole.ui.fragment.home +import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.recyclerview.widget.RecyclerView.HORIZONTAL +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.cheng.bole.bean.BidItemBean +import com.cheng.bole.bean.MenuEntity +import com.cheng.bole.common.Constants import com.cheng.bole.databinding.FragmentHomeBinding +import com.efs.sdk.memleaksdk.monitor.internal.bi +import com.example.base.decoration.GridSpaceItemDecoration +import com.example.base.decoration.SpacesItemDecoration +import com.example.base.extensions.onClick import com.example.base.ui.BaseFragment +import com.example.base.ui.list.ListFragment +import com.example.base.utils.DensityUtils +import com.example.base.utils.L +import kotlin.math.abs /** * 首页 */ -class HomeFragment : BaseFragment() { +class HomeFragment : ListFragment() { + private val menuAdapter by lazy { HomeMenuAdapter() } + private val keywordAdapter by lazy { HomeKeywordAdapter() } + + override fun noDataClick() {} + + override fun bindAdapter() = BidAdapter() + + override fun initView() { + super.initView() + binding.tvTitle.typeface = Constants.pmzdbt + binding.tvHotTitle.typeface = Constants.pmzdbt + binding.tvBidTitleNew.typeface = Constants.pmzdbt + binding.tvBidTitle.typeface = Constants.pmzdbt + + binding.rvMenu.adapter = menuAdapter + binding.rvMenu.addItemDecoration(GridSpaceItemDecoration(4, DensityUtils.dp2px(16f), 0)) + menuAdapter.setList(MenuEntity.getHomeMenu()) + + binding.rvHotKeyword.adapter = keywordAdapter + binding.rvHotKeyword.addItemDecoration(SpacesItemDecoration(DensityUtils.dp2px(8f), HORIZONTAL)) + } + + override fun initData() { + super.initData() + mViewModel.getHotKeywordList("") + firstLoad() + } + + override fun initListener() { + super.initListener() + binding.appBarLayout.addOnOffsetChangedListener { _, verticalOffset -> + val lp = binding.layoutContent.layoutParams as CoordinatorLayout.LayoutParams + if (abs(verticalOffset) >= binding.appBarLayout.height - DensityUtils.dp2px(45f)) { + lp.topMargin = (-DensityUtils.dp2px(25f) * (1f - abs(verticalOffset).toFloat() / (binding.appBarLayout.height - DensityUtils.dp2px(20f)))).toInt() + } else { + lp.topMargin = -DensityUtils.dp2px(65f) + } + binding.layoutContent.layoutParams = lp + } + + binding.ivRefresh.onClick { + if (keywordAdapter.data.isNotEmpty()) { + mViewModel.getHotKeywordList(keywordAdapter.data.last()) + } else { + mViewModel.getHotKeywordList("") + } + } + } + + override fun initObserve() { + super.initObserve() + mViewModel.recommendLiveData.observe(this) { + keywordAdapter.setList(it) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeKeywordAdapter.kt b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeKeywordAdapter.kt new file mode 100644 index 0000000..706e6fe --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeKeywordAdapter.kt @@ -0,0 +1,11 @@ +package com.cheng.bole.ui.fragment.home + +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.cheng.bole.R + +class HomeKeywordAdapter: BaseQuickAdapter(R.layout.listitem_home_hot_keyword) { + override fun convert(holder: BaseViewHolder, item: String) { + holder.setText(R.id.tv_name, item) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeMenuAdapter.kt b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeMenuAdapter.kt new file mode 100644 index 0000000..8efeda0 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeMenuAdapter.kt @@ -0,0 +1,13 @@ +package com.cheng.bole.ui.fragment.home + +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.cheng.bole.R +import com.cheng.bole.bean.MenuEntity + +class HomeMenuAdapter: BaseQuickAdapter(R.layout.listitem_home_menu) { + override fun convert(holder: BaseViewHolder, item: MenuEntity) { + holder.setImageResource(R.id.iv_icon, item.resId) + holder.setText(R.id.tv_title, item.title) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeViewModel.kt b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeViewModel.kt index b596e88..ff4afcf 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeViewModel.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/home/HomeViewModel.kt @@ -1,7 +1,48 @@ package com.cheng.bole.ui.fragment.home -import com.example.base.viewmodel.BaseViewModel +import androidx.collection.ArrayMap +import androidx.lifecycle.MutableLiveData +import com.cheng.bole.bean.BidItemBean +import com.cheng.bole.bean.UserAuthBean +import com.cheng.bole.net.ApiFactory +import com.cheng.bole.net.model.toListResult +import com.example.base.extensions.toast +import com.example.base.utils.L +import com.example.base.viewmodel.ListViewModel -class HomeViewModel : BaseViewModel() { +class HomeViewModel : ListViewModel() { + override suspend fun requestApi(params: ArrayMap): Result> { + return ApiFactory.apiService.getRecommendList(params).toListResult() + } + + val authLiveData = MutableLiveData() + val recommendLiveData = MutableLiveData>() + + fun getHotKeywordList(query: String) { + launchOnUiTryCatch({ + val params = mutableMapOf() + params["query"] = query + params["size"] = "4" + val response = ApiFactory.apiService.getHotKeywords(params) + if (response.status) { + recommendLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } + + fun checkAuth() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.checkAuth() + if (response.status) { + authLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/main/MainFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/main/MainFragment.kt index 8f82fbd..6e41a6a 100644 --- a/app/src/main/java/com/cheng/bole/ui/fragment/main/MainFragment.kt +++ b/app/src/main/java/com/cheng/bole/ui/fragment/main/MainFragment.kt @@ -18,9 +18,11 @@ import com.cheng.bole.ui.activity.PublicActivity import com.cheng.bole.ui.base.BasePageAdapter import com.cheng.bole.ui.dialog.VipLoginTipDialog import com.cheng.bole.ui.fragment.home.HomeFragment +import com.cheng.bole.ui.fragment.merchant.MerchantFragment import com.cheng.bole.ui.fragment.mine.MineFragment import com.cheng.bole.ui.fragment.mine.coupon.CouponFragment import com.cheng.bole.ui.fragment.mine.vip.VipFragment +import com.cheng.bole.ui.fragment.push.PushFragment import com.example.base.common.RxBus import com.example.base.extensions.toast import com.example.base.ui.BaseFragment @@ -30,7 +32,7 @@ import com.huantansheng.easyphotos.EasyPhotos class MainFragment : BaseFragment() { - private val tabText = listOf("首页", "我的") + private val tabText = listOf("首页", "推送", "合作商", "我的") private val fragmentList by lazy { mutableListOf() } private val pageAdapter by lazy { BasePageAdapter(childFragmentManager, tabText, fragmentList, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) } @@ -53,6 +55,8 @@ class MainFragment : BaseFragment() { private fun initFragment() { fragmentList.add(HomeFragment()) + fragmentList.add(PushFragment()) + fragmentList.add(MerchantFragment()) fragmentList.add(MineFragment()) } @@ -61,7 +65,9 @@ class MainFragment : BaseFragment() { binding.rgNavigation.setOnCheckedChangeListener { _, checkedId -> when (checkedId) { R.id.rb_home -> currentPosition = 0 - R.id.rb_mine -> currentPosition = 1 + R.id.rb_push -> currentPosition = 1 + R.id.rb_merchant -> currentPosition = 2 + R.id.rb_mine -> currentPosition = 3 } binding.viewPager.setCurrentItem(currentPosition, false) diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/MerchantFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/MerchantFragment.kt new file mode 100644 index 0000000..72cc41d --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/MerchantFragment.kt @@ -0,0 +1,12 @@ +package com.cheng.bole.ui.fragment.merchant + +import com.cheng.bole.databinding.FragmentMerchantBinding +import com.example.base.ui.BaseFragment + + +/** + * 合作商 + */ +class MerchantFragment : BaseFragment() { + +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/merchant/MerchantViewModel.kt b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/MerchantViewModel.kt new file mode 100644 index 0000000..8645b36 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/merchant/MerchantViewModel.kt @@ -0,0 +1,7 @@ +package com.cheng.bole.ui.fragment.merchant + +import com.example.base.viewmodel.BaseViewModel + +class MerchantViewModel : BaseViewModel() { + +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/push/PushFragment.kt b/app/src/main/java/com/cheng/bole/ui/fragment/push/PushFragment.kt new file mode 100644 index 0000000..7ed119b --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/push/PushFragment.kt @@ -0,0 +1,12 @@ +package com.cheng.bole.ui.fragment.push + +import com.cheng.bole.databinding.FragmentPushBinding +import com.example.base.ui.BaseFragment + + +/** + * 推送 + */ +class PushFragment : BaseFragment() { + +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/ui/fragment/push/PushViewModel.kt b/app/src/main/java/com/cheng/bole/ui/fragment/push/PushViewModel.kt new file mode 100644 index 0000000..aec3b64 --- /dev/null +++ b/app/src/main/java/com/cheng/bole/ui/fragment/push/PushViewModel.kt @@ -0,0 +1,7 @@ +package com.cheng.bole.ui.fragment.push + +import com.example.base.viewmodel.BaseViewModel + +class PushViewModel : BaseViewModel() { + +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/bole/widget/CommonShapeView.kt b/app/src/main/java/com/cheng/bole/widget/CommonShapeView.kt index 16dc59e..db6d37f 100644 --- a/app/src/main/java/com/cheng/bole/widget/CommonShapeView.kt +++ b/app/src/main/java/com/cheng/bole/widget/CommonShapeView.kt @@ -355,7 +355,7 @@ class CommonShapeView @JvmOverloads constructor( fun setBgColor(color: Int) { mFillColor = color - postInvalidate() + requestLayout() } } \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_main_navigation_color.xml b/app/src/main/res/drawable/selector_main_navigation_color.xml index e358cdd..9e2b571 100644 --- a/app/src/main/res/drawable/selector_main_navigation_color.xml +++ b/app/src/main/res/drawable/selector_main_navigation_color.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_merchant_navigation_icon.xml b/app/src/main/res/drawable/selector_merchant_navigation_icon.xml new file mode 100644 index 0000000..9d43543 --- /dev/null +++ b/app/src/main/res/drawable/selector_merchant_navigation_icon.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/selector_push_navigation_icon.xml b/app/src/main/res/drawable/selector_push_navigation_icon.xml new file mode 100644 index 0000000..4225cd2 --- /dev/null +++ b/app/src/main/res/drawable/selector_push_navigation_icon.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_home_bid_title_new_bg.xml b/app/src/main/res/drawable/shape_home_bid_title_new_bg.xml new file mode 100644 index 0000000..2efa00d --- /dev/null +++ b/app/src/main/res/drawable/shape_home_bid_title_new_bg.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_white_cor10.xml b/app/src/main/res/drawable/shape_white_cor10.xml new file mode 100644 index 0000000..13eeeae --- /dev/null +++ b/app/src/main/res/drawable/shape_white_cor10.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 77d9ef6..6cfbf50 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,6 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index 766b6ce..9dc9398 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -41,6 +41,39 @@ android:textColor="@drawable/selector_main_navigation_color" android:textSize="@dimen/sp_10" /> + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_push.xml b/app/src/main/res/layout/fragment_push.xml new file mode 100644 index 0000000..77d9ef6 --- /dev/null +++ b/app/src/main/res/layout/fragment_push.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_bid.xml b/app/src/main/res/layout/listitem_bid.xml new file mode 100644 index 0000000..80346aa --- /dev/null +++ b/app/src/main/res/layout/listitem_bid.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_home_hot_keyword.xml b/app/src/main/res/layout/listitem_home_hot_keyword.xml new file mode 100644 index 0000000..9de4c60 --- /dev/null +++ b/app/src/main/res/layout/listitem_home_hot_keyword.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_home_menu.xml b/app/src/main/res/layout/listitem_home_menu.xml new file mode 100644 index 0000000..a16637e --- /dev/null +++ b/app/src/main/res/layout/listitem_home_menu.xml @@ -0,0 +1,27 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_default.png b/app/src/main/res/mipmap-xxhdpi/ic_home_default.png new file mode 100644 index 0000000..4e3b287 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_default.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_default.webp b/app/src/main/res/mipmap-xxhdpi/ic_home_default.webp deleted file mode 100644 index 4a22997..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_home_default.webp and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon1.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon1.png new file mode 100644 index 0000000..c2ff1c7 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon1.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon10.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon10.png new file mode 100644 index 0000000..f1c8b6f Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon10.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon11.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon11.png new file mode 100644 index 0000000..9393b72 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon11.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon12.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon12.png new file mode 100644 index 0000000..c48e1bd Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon12.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon2.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon2.png new file mode 100644 index 0000000..c15a165 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon2.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon3.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon3.png new file mode 100644 index 0000000..66ec160 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon3.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon4.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon4.png new file mode 100644 index 0000000..85161e7 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon4.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon5.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon5.png new file mode 100644 index 0000000..d8f07ac Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon5.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon6.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon6.png new file mode 100644 index 0000000..a30b6f2 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon6.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon7.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon7.png new file mode 100644 index 0000000..6a0fcfe Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon7.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon8.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon8.png new file mode 100644 index 0000000..0ad52f1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon8.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_icon9.png b/app/src/main/res/mipmap-xxhdpi/ic_home_icon9.png new file mode 100644 index 0000000..94119d3 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_icon9.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_select.png b/app/src/main/res/mipmap-xxhdpi/ic_home_select.png new file mode 100644 index 0000000..113f0a9 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_select.webp b/app/src/main/res/mipmap-xxhdpi/ic_home_select.webp deleted file mode 100644 index 2632450..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_home_select.webp and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_title_bg.png b/app/src/main/res/mipmap-xxhdpi/ic_home_title_bg.png new file mode 100644 index 0000000..8173782 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_title_bg.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_home_top_bg.png b/app/src/main/res/mipmap-xxhdpi/ic_home_top_bg.png new file mode 100644 index 0000000..831319d Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_home_top_bg.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_merchant_default.png b/app/src/main/res/mipmap-xxhdpi/ic_merchant_default.png new file mode 100644 index 0000000..9178ece Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_merchant_default.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_merchant_select.png b/app/src/main/res/mipmap-xxhdpi/ic_merchant_select.png new file mode 100644 index 0000000..b9f43f1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_merchant_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_mine_default.png b/app/src/main/res/mipmap-xxhdpi/ic_mine_default.png new file mode 100644 index 0000000..2209c74 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_mine_default.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_mine_default.webp b/app/src/main/res/mipmap-xxhdpi/ic_mine_default.webp deleted file mode 100644 index cfc2dde..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_mine_default.webp and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_mine_select.png b/app/src/main/res/mipmap-xxhdpi/ic_mine_select.png new file mode 100644 index 0000000..3619e2b Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_mine_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_mine_select.webp b/app/src/main/res/mipmap-xxhdpi/ic_mine_select.webp deleted file mode 100644 index 4477eb3..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_mine_select.webp and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish.png b/app/src/main/res/mipmap-xxhdpi/ic_publish.png new file mode 100644 index 0000000..8cb9820 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_push_default.png b/app/src/main/res/mipmap-xxhdpi/ic_push_default.png new file mode 100644 index 0000000..4baba7c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_push_default.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_push_select.png b/app/src/main/res/mipmap-xxhdpi/ic_push_select.png new file mode 100644 index 0000000..57690cf Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_push_select.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_rate_star.png b/app/src/main/res/mipmap-xxhdpi/ic_rate_star.png new file mode 100644 index 0000000..9203328 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_rate_star.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_refresh.png b/app/src/main/res/mipmap-xxhdpi/ic_refresh.png new file mode 100644 index 0000000..21b2460 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_refresh.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_search.png b/app/src/main/res/mipmap-xxhdpi/ic_search.png new file mode 100644 index 0000000..288ed43 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_search.png differ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 0a9ad1c..100731e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -72,4 +72,8 @@ #F94747 #896451 #54220B + #D5DAE5 + #FF2222 + #FF493C + #FFB92D \ No newline at end of file