最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)可配置換膚的方法示例

 更新時間:2022年06月14日 15:58:31   作者:斗笠小熊貓  
本文主要介紹了Java實現(xiàn)可配置換膚的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

夏天來了,是不是要給App換個夏天主題的皮膚呢?但是夏天過去后再換回默認(rèn)皮膚難道還需要再重新發(fā)版么。不需要的,下面來編寫個通用的配置項接口,可以做個讓運營可配置的APP換膚功能。只要切換參數(shù)值,就可以讓App換回原來的皮膚。

接口設(shè)計

在設(shè)計接口前,需要考慮的是可能不只換膚需要頁面聯(lián)動變化,其他功能也需要,例如APP不同的版本,某個功能是否展示。這種通用的配置項,都可以使用一個接口返回。

所以考慮擴展性,使用自定義key\value方式傳值,和前端約定功能的key、value來設(shè)置APP展示效果就可以啦。

body需要包含最基本的是參數(shù)的key、參數(shù)的value。 例如 {"key":"skin","value":"summer"}

數(shù)據(jù)庫設(shè)計

由于夏季換膚功能是保證可復(fù)用性,比如總會出的某項活動,不需要每次都要研發(fā)的功能,就可以找到原有的配置繼續(xù)使用。所以可將配置類存儲到數(shù)據(jù)庫表中,并且在后臺運營系統(tǒng)增加切換設(shè)置功能頁面。

DROP TABLE IF EXISTS app_config;
CREATE TABLE app_config(
    ID VARCHAR(32) NOT NULL   COMMENT 'ID' ,
    KEY VARCHAR(255)    COMMENT '配置標(biāo)識' ,
    VALUE VARCHAR(255)    COMMENT '配置值' ,
    CREATED_TIME DATETIME    COMMENT '創(chuàng)建時間' ,
    UPDATED_BY VARCHAR(32)    COMMENT '更新人' ,
    UPDATED_TIME DATETIME    COMMENT '更新時間' ,
    CREATED_BY VARCHAR(255)    COMMENT '創(chuàng)建人' ,
    REMARK VARCHAR(255)    COMMENT '備注' ,
    PRIMARY KEY (ID)
)  COMMENT = 'App配置表';

邏輯代碼

實體類

@ApiModel(value = "App配置表",description = "")
@Table(name="app_config")
public class AppConfig implements Serializable,Cloneable{
    /** ID */
    @Id
    @GeneratedValue
    @ApiModelProperty(name = "ID",notes = "")
    private String id ;
    /** 配置標(biāo)識 */
    @ApiModelProperty(name = "配置標(biāo)識",notes = "")
    private String key ;
    /** 配置值 */
    @ApiModelProperty(name = "配置值",notes = "")
    private String value ;
    /** 創(chuàng)建時間 */
    @ApiModelProperty(name = "創(chuàng)建時間",notes = "")
    private Date createdTime ;
    /** 更新人 */
    @ApiModelProperty(name = "更新人",notes = "")
    private String updatedBy ;
    /** 更新時間 */
    @ApiModelProperty(name = "更新時間",notes = "")
    private Date updatedTime ;
    /** 創(chuàng)建人 */
    @ApiModelProperty(name = "創(chuàng)建人",notes = "")
    private String createdBy ;
    /** 備注 */
    @ApiModelProperty(name = "備注",notes = "")
    private String remark ;
}

jpa

添加Repository,用于獲取數(shù)據(jù)庫中App配置信息。

public interface AppConfigRepository extends JpaRepository<AppConfig, String> {
}

controller

編寫獲取配置信息方法,一次性拿出全部配置,在前端取配置的key,根據(jù)具體業(yè)務(wù)處理接下來的換膚邏輯。

@GetMapping("/config")
public AppConfigDTO getAppConfigs() {
   return appConfigRepository.findAll();
}

返回示例

獲取到不同的value,來切換App的皮膚設(shè)置,是放在后端可維護的全局配置,列舉如下不同的設(shè)置。

  • 夏季皮膚設(shè)置:
{
    "key": "skin",
    "value": "Summer"
}
  • 春節(jié)皮膚設(shè)置:
{
    "key": "skin",
    "value": "SpringFestival"
}

最后

本文是以夏天換膚一個功能視角帶入的配置接口,很多App中可以使用通用配置的地方都可以按上面增加的這個配置類進(jìn)行切換本身配置,讓我們的App更靈活,減少發(fā)版次數(shù)。

到此這篇關(guān)于Java實現(xiàn)可配置換膚的方法示例的文章就介紹到這了,更多相關(guān)Java 可配置換膚內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

邹平县| 沂源县| 理塘县| 上栗县| 天长市| 淳安县| 准格尔旗| 涟水县| 辽源市| 教育| 临沧市| 永城市| 额尔古纳市| 新野县| 健康| 贺州市| 滁州市| 仁布县| 芦山县| 桐乡市| 美姑县| 绍兴市| 镇雄县| 宿迁市| 当阳市| 特克斯县| 连州市| 满洲里市| 鹤岗市| 富平县| 科技| 莱州市| 江川县| 和田市| 丹东市| 浏阳市| 屏山县| 武定县| 凤庆县| 大关县| 都江堰市|