餐饮加盟网-免费发布餐饮招商信息!本站不提供任何加盟资料,如需加盟请去其官网了解详情

如何更优雅地切换测试、正式环境?

来源:餐饮加盟
作者:小吃加盟·发布时间 2025-10-13
核心提示:读前请点击右上角“关注”,每天免费获取Android知识解析及面试解答。Android架构解析,只做职场干货,完全免费分享!初学者是怎

读前请点击右上角“关注”,每天免费获取Android知识解析及面试解答。Android架构解析,只做职场干货,完全免费分享!

初学者是怎么做的?

小明一个刚入行安卓的小萌新,刚刚在测试小姐姐那里交过学费(挨过骂)了解到软件开发过程中是需要区分正式、测试环境的。但是他稍加思考就能想到测试、正式环境的区别仅仅是host不一样而已,其他的比如接口名、参数名、返回的json格式均一模一样。于是他马上找到了解决方案,平时都用测试环境的,到上线的时候再换回正式环境不就可以了?在一次开发中需要请求三个不同接口,说干就干,于是小明就写出了以下代码,准备在上线时全局搜索www.test.com改成www.release.com,提交以后开开心心下班撩妹去了。

//请求接口1
NetWorkUtil.request("http://www.test.com?action=a1")

//请求接口2
NetWorkUtil.request("http://www.test.com?action=a2")

//请求接口3
NetWorkUtil.request("http://www.test.com?action=a3")

三天以后,产品经理跑过来说要加一个需求,新增了好几个接口,小明表示自己表现的机会到了,一股脑儿全部包下来了。可是做着做着发现有点不对劲啊,每次请求接口的时候都需要复制http://www.test.com这个域名,可是产品锦鲤追的紧啊,没办法先就这么办吧,实现了需求上线以后再说。

一周过去了,上线时间到了。测试小姐姐又跑过来问小明这个正式包的数据怎么不对,还是测试环境的?小明赶紧道歉,想起来了上线前需要修改域名这个事情,自己居然忘记了。心里一万只草泥马飞过,小明赶紧的匆匆忙忙地改完项目里所有接口请求的地方,这才松一口气,给测试小姐姐买了个奶茶打了个新包,这个版本终于成功上线了,还真是不容易啊。

一天以后,小明被项目经理叫到了办公室,把小明狠狠批了一顿。原来是小明有个地方忘记改了,线上用户的操作被记录到了测试数据库了。项目经理为了解决这个问题,将最近一天测试环境的该数据全部导入到了正式环境才解决,当然还收到了不少的投诉。不过还好这个数据不是核心数据,不是那么重要,不然小明的机票估摸着差不多就到手了。

小明痛定思痛,坚决要杜绝这种低级错误。于是他把需要改域名这个事情已经记录到备忘录里每天提醒了,除此之外,聪明的他还想到了一个办法,就是用一个全局的变量对域名进行保存,在上线前只需要切换一次就行了,类似于这种:

companion object {    
    const val HOST="http://www.test.com"
}
override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {    

    setContentView(R.layout.activity_main)

    //请求接口1
    NetWorkUtil.request("$HOST?action=a1")

    //请求接口2
    NetWorkUtil.request("$HOST?action=a2")

    //请求接口3    NetWorkUtil.request("$HOST?action=a3")
}

小明终于没有犯线上的低级错误了,但是后面业务需求越来越繁杂,服务端使用的域名也越来越多,并且很多第三方的api比如推送、bugly监测等也都需要切换id。每次上线需要修改一堆的域名和id。小明每天心态都跟高考一样,紧张又害怕,生怕自己再出问题,被强制送机票。而且就算在测试阶段,测试小姐姐偶尔也会让他打一个release包测试,虽然心里千万只草泥马不愿意,但是也没办法,先改成线上的域名吧,打完以后再改回来呗!于是小小明逐渐地熟悉了这一套切换方式,直到他看到了那一篇技术博客,小明他。。。哭了。

熟练开发者是怎么做的

小明看到的文章正是一篇关于测试和正式环境切换的技术文章,该文通俗易懂,还提供了完整的方案,小明看完觉得这不就是为自己准备的么,于是按照文章里的方式尝试了起来。文章中说到可以根据当前app是debug还是release来切换host,大概实现如下,首先在Application的onCreate()中获取到当前是否是debug模式,并且用静态变量进行记录,接下来需要区分测试、正式环境的时候就根据这个flag来判断即可。

class MyApplication: Application() {

    companion object {
        var IS_DEBUG=true
    }

    override fun onCreate() {
        super.onCreate()
        IS_DEBUG=(applicationInfo.flags !=0 && ApplicationInfo.FLAG_DEBUGGABLE !=0)
    }

}

小明收到了该文章的启发,于是在项目所有需要区分测试、正式环境的地方都对上面的flag进行了判断,其代码大致如下:

companion object {

    val HOST1=if(MyApplication.IS_DEBUG)"http://www.test1.com" else "http://www.release1.com"

    val HOST2=if(MyApplication.IS_DEBUG)"http://www.test2.com" else "http://www.release2.com"

    val HOST3=if(MyApplication.IS_DEBUG)"http://www.test3.com" else "http://www.release3.com"

}

到了这里终于小明终于可以松口气不用设置备忘录,每次上线不用为了改域名问题而提心吊胆了,域名会智能地根据当前是debug包还是release包还自动赋值。但是后面加在这里的域名和第三方api越来越多,于是小明还在此基础上举一反三,进行了一波优化。小明了解到在系统打包的时候,如果在build.gradle文件中的buildTypes里添加debug和release的相应配置,系统在build/generated/source/buildConfig目录下会自动生成BuildConfig类,系统自动生成的类大概如下:


package xx.xx.xx;

public final class BuildConfig {
  public static final boolean DEBUG=false;
  public static final String APPLICATION_ID="xx.xx.xx";
  public static final String BUILD_TYPE="debug";
  public static final String FLAVOR="";
  public static final int VERSION_CODE=1;
  public static final String VERSION_NAME="1.0";
}

这里面的字段是可以添加的,比如在build.gradle中设置好需要区分测试、正式环境的host,可以先按如下规则定义好

buildTypes {
    debug {
        buildConfigField "String", "URL", "\"www.test.com\""
    }
    release {
        buildConfigField "String", "URL", "\"www.release.com\""
    }
}

则在编译的时候,系统会自动在BuildConfig中加入以下代码

public static final boolean DEBUG=true;

public static final String URL="www.test.com";//如果是release包中会自动生成www.release.com

   我们可以看到,在实际开发的时候根本不需要去设置当前是哪个域名,而是系统会自动来判断,从而在实际的业务需求开发时我们只需要使用BuildConfig.URL即可,小明将所有的域名以及第三方sdk需要的appkey都放到了buildTypes里,于是小明的代码可以改成这样子了:
//请求接口1
NetWorkUtil.request("${BuildConfig.URL}?action=a1")

//请求接口2
NetWorkUtil.request("${BuildConfig.URL}?action=a2")

//请求接口3
NetWorkUtil.request("${BuildConfig.URL}?action=a3")

当然这里URL最好封装到Common层中,这里就不多说,不是本文的重点。经过这一波的修改终于不用在每次上线时都修改URL了,而是系统会自动选择好URL,我们直接使用就可以了。

大型项目是怎么做的

按照上面的方式,一些小型的项目基本就没问题了。但是用在大型项目里问题就比较明显了,我这里随便列举几个吧。

** 1.大项目的测试环境有可能不止一个,那么具体用哪个还得做一个手动切换入口**

** 2.大厂的测试人员经常测试出指定response数据下的bug,开发人员拿到bug以后要连测试的代理,恢复现场才能复现,影响测试人员测试其他的bug,而且不方便查看抓包信息**

** 3.在日常的开发测试时安装的是debug包,所以在上线以后,想看一下线上的效果又需要卸载重新安装release包,等下个版本开发时又卸载线上的安装debg版,这一波操作非常的麻烦**

   那么,有没有办法可以解决以上的问题呢,答案当然是有的,这就是笔者今天要给大家重点介绍的host映射法。

什么是IP地址

在此之前,首先给大家简单介绍一下IP地址。大家肯定都知道,每台在因特网的电脑都会有一个唯一的IP地址,IP地址相当于是你电脑的名字,其他电脑就通过IP地址来访问你的地址,就相当于大家通过喊你的名字来将你和其他人进行区分一样。

什么是域名

接下来再给大家介绍一下域名,域名就相当于别人给你起的外号,别人嫌弃你的本名叫起来不顺口,就喜欢叫你外号。做过服务端开发的同学肯定知道,就算没有域名,只凭ip地址一样可以访问到服务器。但是如果让你们访问淘宝京东的时候,每次输入xx.xx.xx.xx这种ip地址大家肯定不会喜欢的,也没人能记得住,但是taobao.com就不一样了,朗朗上口,过目不忘。

什么是DNS解析

最后再给大家介绍一下DNS解析,这个名词听上去很高大上,但是其实理解起来特别简单。DNS解析就是将域名和IP给匹配上的过程,不然谁知道你的外号是给谁起的,肯定会有公证人来统计这一一对应的信息。在我们访问网址的时候,表现上是访问的域名,但其实中间会经过一层dns解析,最终变成了访问ip地址。

< class="pgc-img">

如上图,例如小明想要访问种子网站1,于是小明在浏览器里输入了www.zzwz1.com,接下来浏览器会拿着小明输入的域名访问DNS解析中心,询问小明的网站ip是多少,询问到了以后才能真正地访问种子网站1,而不是错误地访问到种子网站2。

知道了上面那些概念以后,有一个想法油然而生,那我是不是可以通过修改解析方式来区分测试环境和正式环境呢?如果可以的话,我们项目里就让它一直是www.release.com好了,在我需要测试的时候,我把这个域名解析到测试机器上,这样不就访问到了测试环境了么?

< class="pgc-img">

如何手动修改hosts

事实证明这样做是可以的,而且是合法正规渠道就可以做到了。以windows为例,在c:\windows\System32\drivers\etc下面有一个hosts文件,该文件就是Windows官方提供用来修改DNS解析用的,凡是在该文件里定义的解析方式将不再走入正规的解析流程。

< class="pgc-img">

我们打开该文件,Window也有一些对该文件的介绍,大概就是说我们可以通过写入IP地址然后空格域名的方式指定该域名解析的IP地址,从而覆盖其真正的主机。有过一些后端基础的同学可能知道,为了方便我们经常将127.0.0.1为了方便从而替换成localhost,为的就是在访问本机网址的时候可以通过localhost的方式,写起来更简单一些。

< class="pgc-img">

所以我们需要做的就是在测试的时候修改这个hosts文件,比如测试环境下服务端的ip地址为yy.yy.yy.yy我们只需要在hosts文件里加上以下一句话即可

yy.yy.yy.yy release.com

这样一旦我们app访问release.com的时候,本机就会将该域名指向IP为yy.yy.yy.yy的电脑。

服务端需要做什么呢?

服务端首先需要将测试环境和正式环境分别部署在不同的电脑上,其次正式环境和测试环境的域名都保证是同一个,这两条在稍微正规一些的项目应该都是没问题的。接下来服务端只需要告知客户端所有测试服务端的ip地址,客户端同学将所有的ip都保存到hosts里面,在使用的时候相应地放开某些限制就可以了,做法如下图:

< class="pgc-img">

在需要使用测试环境1时就放开相应地限制,让该域名走向自己想要地服务端。如果想要切换回线上,也不需要修改任何客户端代码,甚至不需要重新打包,而是修改一下hosts将所有测试环境地限制全部取消即可,是不是非常地方便呢!

host太多怎么办

在复杂项目中,经常会出现多个域名的情况,这样每次切换环境需要改的host条数太多,还真是有点麻烦,这里可以通过一些专业切换host的工具来解决,比如switchhosts工具就非常好用,可以自定好平时工作中常用的几套host组合,保存到switchhosts中,可以实现一键切换

< class="pgc-img">

手机是否可以切换

以上切换host是在电脑上实现的,所以还需要测试机和电脑连同一个网,并且使用charles、fiddler等代理工具对手机网络进行代理。如果自己只需要修改而不需要抓包的话,同样可以下载手机上的代理app,类似app有很多,比如知名的HostGo就很好用。

< class="pgc-img">

切换hosts方式的弊端

1.对服务端要求更高

2.开发时不小心hosts忘记切换的话会把数据传入到正式环境中,或者反之

3.和服务端沟通成本较高

三种方式对比

操作复杂性:第一种方式由于需要复制粘贴进行替换,所以还是有一些工作量的,第二种要看当前项目是否有多个测试环境,如果有的话则也需要测试人员去手动切换,如果没有的话就不需要任何操作,第三种方式由于切换的时候需要修改host,也是需要操作的。

容错性:第一种方式有可能会替换错误,所以容错性差,其他两种基本都不会有问题

规范性:规范性是从代码质量的方面来看,第一种方式是一直修改老代码,明显是低分,第二种方式存在需要切换不同测试环境的可能性,需要在debug模式下加一些只用来测试的和功能无关的代码。

沟通成本:第二种方式在和测试联调的时候,可能会更费劲一些,比如具体是哪个接口,还要把response数据发来本地maplocal才能复现问题。而切换host的方式,也需要和测试人员沟通当前复现的测试环境是哪个,并且需要和服务端沟通获取到测试环境的IP地址。如果测试人员测试出了接口bug,只需要把其host文件发来替换本地的host文件就可以复现问题了。

拓展性:拓展性是从功能的强大程度来对比,全局替换的方式,每新增一个host就需要多替换一个,到后面就越来越重,第二种的话由于在新增测试环境方面表现欠佳,每次新增一个测试环境就需要修改客户端代码来提供切换入口,所以也不能给高分。

是否需要重新安装:在测试的时候的apk包放到线上时,由于接口需要替换,所以肯定需要重新打包,但是使用切换host的方式,如果测试的时候就是用的release包,那么可以直接上线,就算是debug包,也一样把hosts文件里的dns限制注释掉就可以访问线上数据的。

< class="pgc-img">

总结

本文笔者以工作中必用的测试、正式环境切换为题,介绍了不同经历的同学分别是怎么实现的,最后重点介绍了笔者推荐的切换Host的方式。大家项目里用第二种还是第三种根据项目情况而定,如果是小项目的话用第二种就足以,但是第三种大家也还是要能看懂,除此之外,DNS也是大厂在面试的时候喜欢问的一个点。最后多谢同学们耐心地看完了文章,对里面内容有疑义或者有不懂的地方欢迎一起探讨,共同进步!

作者:苹果味的少年

击“镜头”关注我们,带你去探寻那美好的时光

微博上有这样一个段子:

没什么好说的,我们这些磕奶茶的人基本与瘾君子一样,喝了第一口以后整个人生就走上了岔路。春节期间因为奶茶铺关门歇业,找不到dealer,在亲戚面前强打精神应酬,还像是个人。节后一上班,走到地铁站,不先充公交卡,而是走到最近的奶茶铺吸一口。谁不知道喝奶茶会长肉啊,不用劝,越堕落越快活。

这段话真是说到了小编心里,我们简直是在靠奶茶续命好么 ~对于奶茶这一神奇的饮品,一句话:谁喝谁知道啊。

奶茶的清甜再加上QQ软软的波霸,口感满分!~

-----

-----

浓郁的奶盖加上清新四溢的茶香,简直令人欲罢不能呐~

这样的天气,下班后最适合捧一杯冒着热气的奶茶啦,热腾腾的把人的心都熨帖完整了呢~

看到这里,肯定有小伙伴会疑惑,为啥奶茶这么火呢?难道是因为奶茶妹妹吗?==

当然......不是啦!

1

爱上奶茶的口感

Love the Taste

相较于茶的清、幽与奶的甜、腻,奶茶将两种看似矛盾不可调和的味道完美的融合在了一起,给人以独一无二的口感。入口时既能品味到茶的清香,又能享受到奶味的醇厚,甜而不腻,甘而不苦。

选择奶茶的另一个重要原因则是它的价格,相较于星爸爸和costa,奶茶的价格还是比较亲民的,普遍在10-15元左右,是大学生和初入职场者都能够接受的价位。

所以才会有这么多人排队等候呀!那么除此以外,人们选择奶茶还有哪些因素呢?

2

吃吃喝喝可以解压

Release the Stress

有句歌词唱得好:“生活已经如此艰难...”,确实,在工作和生活中我们会遇到各种挫折,这时候,“吃吃吃喝喝喝”就成为一种释放压力的方式啦,下班后一杯甜甜的奶茶无疑是最好的选择呀~

当你手捧着奶茶,在寒冬的早晨穿过熙熙攘攘的街道,赶着去上班时,你是否会回忆起年少的自己呢

也许是在上学路上,你一边喝着奶茶,一边却在思考如何逃过早自习的默写?

也许是在高中的课间,你一边喝着奶茶,一边与同桌讨论着昨晚那部电视剧的剧情?

又也许是在阳光洒满的操场,你一边喝着奶茶,一边拉着闺蜜的手去看操场上打球的那个他?

也许我们喝的不是奶茶,而是青春的回忆呀~

(图片来源自网络,如涉及版权,请联系我们处理)

<>

一天,大家收工在片场休息闲聊。

导演突然问身边的演员:“如果让你们翻译I love you,你们会怎么翻?”

演员脱口而出:“我爱你呗!”

这时,路边有一辆摩托车驶过......

导演吐了一口烟圈说:“怎么可以讲这样的话,应该是我已经很久没有坐过摩托车了,也很久未试过这么接近一个人。

虽然我知道这条路不是很远,我知道不久我就会下车,可是,这一分钟,我觉得好暖。”

这个导演,就是王家卫。而这个故事,就是王家卫的调调。

王家卫是小众的,if 姐小时候看他的电影,常常觉得晦涩难懂,但是对其中的光影色彩印象深刻,对香港这片土地上男男女女的暧昧情愫也心生好奇。

是的,他的故事很多都发生在香港,《一代宗师》是五十年代的香港,《阿飞正传》和《花样年华》是六十年代的香港,《旺角卡门》描述了八十年代,《重庆森林》和《堕落天使》叙述了九十年代......

前段时间if 姐出差香港,恰好有半天的空闲行程,于是利用了一下午的时间,追寻王家卫的影像,来了一场小众的香港之行。

第一站:金雀餐厅

王家卫记忆:《花样年华》《2046》

●地址:铜锣湾兰芳道13~15号

●营业时间:周一至周日11:00-23:30

昏暗的灯光下,苏丽珍和周慕云相约在复古茶餐厅,低头切着盘中的猪扒...先是讨论着双方出轨的伴侣,之后变成一些若有似无的情话。

《花样年华》中的经典镜头同样沿用到了《2046》,难忘旧爱的周慕云在圣诞节带着王靖雯来到同一家餐厅,坐到了同一个位置。

两部电影之后,这家名叫金雀餐厅的老式餐厅也火了起来。

if 姐的第一站就来到这家出名的餐厅,2015年时,开业50年的金雀餐厅进行过一次停业装修,当时放出的告示:“未能与您走到二零四六,荣幸与您渡过花样年华”,也是一家有情怀的餐厅......

▲餐厅里到处能看见《花样年华》和《2046》的影子。

坐在梁朝伟最喜欢的位置上,餐厅里响起了著名的爵士乐《Quizas, quizas, quizas》,伴着昏暗的灯光,突然发现这样的环境,难怪周慕云和苏丽珍会情难自控。

Quizas, Quizas, Quizas (Perhaps, Perhaps, Perhaps)Ben E. King - Spanish Harlem (US Release)

菜单第一页就有“2046”和“花样年华”两种套餐,均是450港币(约384元)。

上菜的速度很快,菜品没有西餐厅来得精致,但味道还不错,海鲜食材很新鲜,芝士虽然放得多,但并不腻,很好地去除了海鲜的腥味。if 姐点的花样年华套餐,两个人完全没吃完,分量很足。

这边给一个小建议,可以在下午16:00——17:00左右去,那时候人不是很多,可以跟店里的老伙计攀谈一下,他们会跟你讲一些小八卦。(比如张曼玉和梁朝伟拍戏时一块猪扒切了一晚上)

从金雀餐厅出来大概走了20分钟就来到湾仔码头,坐天星小轮去了尖沙咀。

虽然王家卫的电影场景中没有出现过天星小轮,不过《龙凤斗》《溏心风暴之家好月圆》都有在天星小轮上取景。

▲《龙凤斗》

▲《溏心风暴之家好月圆》

第二站:重庆大厦

王家卫记忆:《重庆森林》

●地址:弥敦道36-44号

《重庆森林》一开始的第一个长镜头,穿着风衣戴着墨镜的林青霞,穿梭于重庆大厦之中,躲避追杀。

有人说,这里“因残旧而显得阴暗,因阴暗而显得神秘。”大约有5000名各种肤色的人生活在重庆大厦里。

就是这座不起眼的大楼,被美国《时代》杂志选为亚洲最能反映全球化的地方,也是最能反映香港多元文化特色的地方。

重庆大厦位于尖沙咀很繁华的地段,也愈加显示出它的破败与格格不入。进入大厦会闻到很浓的咖喱味,姐没有往里面走,香港本地的朋友强烈建议我们两个女孩不要自己往里走,姐听从了她的建议,不过之后还是想再去一次。

第三站:兰芳园餐厅

王家卫记忆:《堕落天使》

●地址:九龙尖沙咀重庆大厦地库活方商场26号铺

还记得《堕落天使》开篇中李嘉欣和黎明去的那家老式茶餐厅吗?

从重庆大厦出来,隔壁商场楼下有一家极其相似的隐秘老牌茶餐厅。商场人非常少,但是这家不大的餐厅却是挤满了人。

这家兰芳园是丝袜奶茶的鼻祖,整个外貌都是保持着最原始的茶餐厅样式。

虽然不是午休时间,但基本找不到空余的位置。

他家一定要点的当然是丝袜奶茶,还可以点一份刚出锅的菠萝油。当姐掰开菠萝油的那一瞬间,心都酥了,半化的牛油从酥软的面包里流了出来,吃到嘴里甜而不腻,配上香醇地道的丝袜奶茶,顿时幸福感爆棚。还想要一份时,被同去的小伙伴及时阻止了!

if 姐与同伴点了一碗面,一杯鸳鸯奶茶,一杯丝袜奶茶,一个菠萝油,一共花了96港币(约82元),价格还是很实惠的。

这家店很多明星也会光顾,所以你还有可能遇到谭校长或者发哥哦!

第四站:富贵雪糕

王家卫记忆:《堕落天使》

●地址:大街上随处可见

if 姐从兰芳园出来看到了街边的富贵雪糕车。

《堕落天使》里,金城武从小的梦想就是开雪糕车。

还逼着一家人吃他的甜筒。

if 姐也花10港币(约8.5元),买了一个记忆中的金城武同款甜筒。没想到味道真的还不错,奶油味很浓,甜筒的脆皮又脆又香,三下五除二就给全部吃光光。

上面这一趟走下来只花了3个小时,就回顾了王家卫的4部电影场景。这趟小众香港行就这么结束了吗?当然没有,来了香港怎么能不买买买。

顺着从铜锣湾走到尖沙咀,正好来到香港最适合shopping的地段。

还记得《最爱女人购物狂》里张柏芝大抢购的场景吗?这个场景让if 姐印象深刻,真的十分理解她当时的感受,因为一旦到了尖沙咀真的是抑制不住地想要购物。

姐看到很多人拖着大大的行李箱在街上走着,他们可不是去赶飞机的,他们都是来购物的。

秉持着全程“小众”的核心思想,姐也不介绍大家海港城之类耳熟能详的购物地点了,今天要说一个大家不知道的,其实每一年位于广东道的DFS T广场都有一个“头等舱美丽体验”活动。

姐就是在这里看到很多拖着旅行箱购物的人,因为这个活动的折扣力度实在诱人。

if 姐也受SK-II之邀,全程体验了一下这个活动。

就让if 姐带大家看看SK-II的香港DFS T广场店都有哪些好玩的,好买的吧!

if 姐先是看到一面大大的墙旁边是一个大头贴拍照器。

可以跟闺蜜一起拍哦~因为每次会自动洗出两张,可以和闺蜜一人一张。并且只要在微博上晒出你拍的照片,还有机会获得SK-II超级大礼。

至于拍摄出来好不好看?跟if 姐一起同去的美姐已经亲自试验了,机器自带调亮柔光效果,照出来唇红齿白的。

不止这样哦!现场还可以给90天后的自己写一张明信片,写下你相对90天后的自己说的话,投入现场的SK-II邮箱中,90天后SK-II会将明信片寄回给你,同时送上一份SK-II专属礼物。

不过这些好玩的都不是最吸引if 姐的,真正让姐挪不开眼的是在柜台正中间的一个套盒▼

这个套盒含330ml 的神仙水+20片前男友面膜,售价只要2500元左右,做为神仙水和前男友面膜的资深粉来说,姐太知道这个套盒有多划算了,基本上比普通专柜便宜了近38%。这么实惠的套装也成为了热门抢手货,if 姐去的当天已经抢购一空,据说8月15日会再次补货哦~

这个套装是香港DFS T广场广东道店独家发售,早在几个月前,SK-II品牌的小伙伴就送过一套给if 姐,并且叮嘱姐一定要试用满90天,然后告诉她们效果。

姐的用法是神仙水用作湿敷每天使用,敷完后再敷一片保湿面膜。前男友面膜是一周使用2次,在频繁出差,且脸色特别差的时候会每天晚上一片。

一个月之后皮肤的亮度整体都提升不少,90天用完皮肤还嫩了许多。话说,上个月去巴厘岛outing,if 姐一行人将T2 免税店货架上的前男友面膜几乎搬空了,可见我们有多爱这款面膜啦!

这里也告诉大家,神仙水还有一个作用是肌肤维稳,所以在皮肤状态不好的时候有助于镇定肌肤。

和if 姐同时试用这个套装的还有Yvonne。

在试用之前她在SK-II柜台做了一个肌肤测试,测出来的分数是68分。

试用一个月后她又做了一次肌肤测试,if 姐是亲眼看到测试的全过程哦!皮肤分数达到了75分,肌肤年龄是21岁,细腻度更是达到100分。

if 姐也跟她聊了一下,问了问她这一个月里的感受。她说最近她真的很忙,各地飞来飞去的,但是因为一直有用这个套装,所以皮肤状况反而变好了。而且前男友面膜是厚的棉质质地,贴合性很好,用着很舒服,全脸都能覆盖到。

看一些用过的小伙伴怎么说的吧!

474380:如果大家条件允许的话,一定要买,因为绝对会带给你惊喜。它可以给予你肌肤一种没有负担的透亮,滑嫩。我本身就没有痘痘,也比较白,但是工作关系经常熬夜,所以有种暗沉的感觉,但是神仙水真的可以拯救。

姜磊Lily: 之前用过神仙水和多元霜组合,特别赞,虽然一股口水味,但是用了半瓶左右后,皮肤真的是由内而外的发光,所以对SK-II 真的是除了味道没啥可挑剔的。

龚妍:SK-II骨灰级粉丝,但是抱着紧巴巴的钱包,只能和别的面膜搭配着用。前男友面膜一般只舍得拿来急救见男神,狠狠心连敷几天,连直男男神都说变白了。

这个试用8月14日结束申请哦!想要试用的小伙伴要加把劲啦~

以上就是姐用一下午时间逛香港的全过程了,你们有去过哪些小众但是印象深刻的香港景点吗?分享一下,姐也好为下次的香港行做准备。

为记忆中的香港情怀,点个赞吧~

关注微信if_fashion888,微博@-IF时尚-

搜索if 时尚,下载app,每天都新鲜单品,文章等着你。

喜欢我,就赶快点击下方关注头条号哦

如果您对此项目感兴趣,请在此留言,坐等企业找您(成功的创业者90%都是通过留言,留言只需5秒钟)
  • 知名招商项目汇聚平台

    汇聚海量知名、高诚信度品牌招商项目,随时为您提供招商信息

  • 事实和口碑胜于一切

    千万创业者通过这里找项目、迈出成功创业第一步;

  • 诚信的商机发布平台

    请你在加盟留言时,选择有实力、 加盟店多、成功案例多、合法资质、 证照齐全、诚信经营的品牌.

郑重承诺:本公司郑重承诺尊重你的隐私,并承诺为你保密!
随时 上班时间 下班时间
您可以根据下列意向选择快捷留言
  1. 加盟费多少
  2. 我们这里有加盟店吗?
  3. 我想了解一些加盟资料
  4. 我对这个项目感兴趣,尽快联系我


创业专题



热门创业项目

精品推荐

餐饮项目分类

联系我们

微信扫一扫
第一时间推送投资小回报快利润高的项目

合作伙伴

我们也在这里

关注微信关注微信

您身边的财富顾问...

扫一下
客户端客户端

iPhone/Android/iPad

去下载
关注微博关注微博

官方微博随时分享...

加关注
手机看hbdrt.cn手机看hbdrt.cn

随时随地找商机...

去看看

温馨提示

  • 1在找餐饮项目的过程中多对比同类项目。
  • 2了解项目时多打电话,进行实地考察。
  • 3投资有风险,请谨慎加盟。
  • 4本网站对投资者的风险概不承担。