2021-04-06

数据:Pattern发布《2021德国在线购物者报告》

近日,全球市场卖家Pattern对德国在线购物者进行了调查,以了解在2020年如何改变他们的购物习惯,以及预测购物行为是否会在2021年继续。

德国作为欧洲的主要大国,作为亚马逊欧洲站卖家,如果想在亚马逊上更好地吸引德国在线购物者,这份报告或许对您有所帮助。

Pattern的《德国购物者报告2021》显示,年轻消费者推动了亚马逊支出的增长。18-24岁和25-34岁年龄段的人表示他们将在亚马逊上花费更多的可能性是老年购物者的两倍以上。预计2021年,年龄在18-24岁之间的人群中有66%,年龄在25-34岁之间的人群中将占58%,他们会在亚马逊德国花费更多或更多。

据45%的德国在线购物者预测,到2021年,他们在非食品在线购物上的支出将比2020年增加。还有44%的在亚马逊德国购物的人们预计,今年在市场上的支出将更多。只有10%的人预计今年在德国亚马逊上的花费会减少。

到2020年,从亚马逊购买德国德国在线购物者的比例为92%;有83%的人具体报告说他们是从亚马逊的德国网站购买的。

对2021年支出的预测将遵循2020年德国在线销售增长的模式。46%的德国在线购物者表示,他们在2020年的在线购买量将比往年更多,而36%的受访者说,他们从亚马逊德国购买了更多商品。32%的人说他们在线购买的产品以前是在商店购买的;展示了2020年在某些时候德国非必需品商店的关闭如何推动消费者上网。

对亚马逊德国的看法

该报告还强调了德国在线购物者对亚马逊的态度,以及市场如何与他们产生共鸣。调查的发现包括:

Prime会员

到2021年,超过三分之二的德国在线购物者将可以使用Prime帐户,其中46%的人已经拥有自己的帐户,12%的人使用其他人的帐户,还有12%的人可能会在这一年订阅。36%的德国亚马逊客户认为Prime是选择从2020年开始购买亚马逊的原因。

亚马逊的关键类别

Pattern询问德国的在线购物者将来是否有可能从亚马逊购买不同类别的产品。结果表明,在越来越多的类别中,亚马逊作为销售渠道的重要性。

宣布亚马逊成为其首选零售商的在线购物人数最多的类别包括:电子和计算机设备(29%);家居与厨房(26%); 玩具,儿童和婴儿(22%);服装,鞋子和配饰(21%); 家居装修(20%)。

亚马逊的可用性是成功的关键

过去一年中,有57%的在线购物者访问过Amazon.de,以寻找他们在商店中找不到的产品,还有34%的访问者寻找在网上其他地方找不到的产品。从亚马逊购买的购物者中有23%表示这样做是因为该产品在其他地方无法获得。

到2020年从亚马逊购买商品的人中,有37%从他们以前从未从亚马逊购买的品牌购买过产品。28%的亚马逊购物者购买了他们以前从未从亚马逊购买的商品。

Pattern全球行销主管Joanna Perry表示:

"尽管在德国拥有强大的本地在线竞争对手,但亚马逊似乎已成为2020年锁定期间前往在线购物的最大受益者之一。这些结果表明,我们在Amazon.de上目睹的流量和销售量的增长是不是临时的;并可能在今年进一步加速。我们的研究突显了亚马逊作为想要吸引德国消费者的品牌的销售渠道的日益重要的意义。"



原创:跨境知道  晓阳


文章来源:https://www.ikjzd.com/home/143795

跨境电商:https://www.ikjzd.com/

友家速递:https://www.ikjzd.com/w/1341

蜜芽:https://www.ikjzd.com/w/1320

livingsocial:https://www.ikjzd.com/w/714.html

数据:Pattern发布《2021德国在线购物者报告》

近日,全球市场卖家Pattern对德国在线购物者进行了调查,以了解在2020年如何改变他们的购物习惯,以及预测购物行为是否会在2021年继续。 德国作为欧洲的主要大国,作为亚马逊欧洲站卖家,如果想在亚马逊上更好地吸引德国在线购物者,这份报告或许对您有所帮助。

从网络请求过程看OkHttp拦截器

前言

之前我们结合设计模式简单说了下OkHttp的大体流程,今天就继续说说它的核心部分——拦截器

因为拦截器组成的链其实是完成了网络通信的整个流程,所以我们今天就从这个角度说说各拦截器的功能。

首先,做一下简单回顾,从getResponseWithInterceptorChain方法开始。

简单回顾(getResponseWithInterceptorChain)

internal fun getResponseWithInterceptorChain(): Response { // Build a full stack of interceptors. val interceptors = mutableListOf<Interceptor>() interceptors += client.interceptors interceptors += RetryAndFollowUpInterceptor(client) interceptors += BridgeInterceptor(client.cookieJar) interceptors += CacheInterceptor(client.cache) interceptors += ConnectInterceptor if (!forWebSocket) {  interceptors += client.networkInterceptors } interceptors += CallServerInterceptor(forWebSocket) val chain = RealInterceptorChain(  interceptors = interceptors  //... ) val response = chain.proceed(originalRequest) }

这些拦截器会形成一条链,组织了请求接口的所有工作。

以上为上节内容,不了解的朋友可以返回上一篇文章看看。

假如我来设计拦截器

先抛开拦截器的这些概念不谈,我们回顾下网络通信过程,看看实现一个网络框架至少要有哪些功能。

  • 请求过程:封装请求报文、建立TCP连接、向连接中发送数据
  • 响应过程:从连接中读取数据、处理解析响应报文

而之前说过拦截器的基本代码格式是这样:

 override fun intercept(chain: Interceptor.Chain): Response { //做事情A response = realChain.proceed(request) //做事情B }

也就是分为 请求前工作,请求传递,获取响应后工作 三部分。

那我们试试能不能把上面的功能分一分,设计出几个拦截器?

  • 拦截器1: 处理请求前的 请求报文封装,处理响应后的 响应报文分析

诶,不错吧,拦截器1就用来处理 请求报文和响应报文的一些封装和解析工作。就叫它封装拦截器吧。

  • 拦截器2: 处理请求前的 建立TCP连接

肯定需要一个拦截器用来建立TCP连接,但是响应后好像没什么需要做连接方面的工作了?那就先这样,叫它连接拦截器吧。

  • 拦截器3:处理请求前的 数据请求(写到数据流中) 处理响应后的 数据获取(从数据流拿数据)

这个拦截器就负责TCP连接后的 I/O操作,也就是从流中读取和获取数据。就叫它 数据IO拦截器 吧。

好了,三个拦截器好像足够了,我得意满满的偷看了一眼okhttp拦截器代码,7个???我去。。

那再思考思考🤔...,还有什么情况没考虑到呢?比如失败重试?返回301重定向?缓存的使用?用户自己对请求的统一处理?
所以又可以模拟出几个新的拦截器:

  • 拦截器4:处理响应后的 失败重试和重定向功能

没错,刚才只考虑到请求成功,请求失败了要不要重试呢?响应码为301、302时候的重定向处理?这都属于要重新请求的部分,肯定不能丢给用户,需要网络框架自己给处理好。就叫它 重试和重定向拦截器吧。

  • 拦截器5:处理响应前的 缓存复用 ,处理响应后的 缓存响应数据

还有一个网络请求有可能的需求就是关于缓存,这个缓存的概念可能有些朋友了解的不多,其实它多用于浏览器中。

浏览器缓存一般分为两部分:强制缓存和协商缓存

强制缓存就是服务器会告诉客户端该怎么缓存,例如 cache-Control 字段,随便举几个例子:

  • private:所有内容只有客户端可以缓存,Cache-Control的默认取值
  • max-age=xxx:表示缓存内容将在xxx秒后失效
  • no-cache:客户端缓存内容,但是是否使用缓存则需要经过协商缓存来验证决定
  • no-store:所有内容都不会被缓存,即不使用强制缓存,也不使用协商缓存

协商缓存就是需要客户端和服务器进行协商后再决定是否使用缓存,比如强制缓存过期失效了,就要再次请求服务器,并带上缓存标志,例如Etag。
客户端再次进行请求的时候,请求头带上If-None-Match,也就是之前服务器返回的Etag值。

Etag值就是文件的唯一标示,服务器通过某个算法对资源进行计算,取得一串值(类似于文件的md5值),之后将该值通过etag返回给客户端

然后服务器就会将Etag值和服务器本身文件的Etag值进行比较,如果一样则数据没改变,就返回304,代表你要请求的数据没改变,你直接用就行啦。
如果不一致,就返回新的数据,这时候的响应码就是正常的200

​这个拦截器就是用于处理这些情况,我们就叫它 缓存拦截器 吧。

  • 拦截器6: 自定义拦截器

最后就是自定义的拦截器了,要给开发者一个可以自定义的拦截器,用于统一处理请求或响应数据。

这下好像齐了,至于之前说的7个拦截器还有1个,留个悬念最后再说。

最后再给他们排个序吧:

  • 1、自定义拦截器的公共参数处理。
  • 2、封装拦截器封装请求报文
  • 3、缓存拦截器的缓存复用。
  • 4、连接拦截器建立TCP连接。
  • 5、IO拦截器的数据写入。
  • 6、IO拦截器的数据读取。
  • 7、缓存拦截器保存响应数据缓存。
  • 8、封装拦截器分析响应报文
  • 9、重试和重定向拦截器处理重试和重定向情况。
  • 10、自定义拦截器统一处理响应数据。

有点绕,来张图瞧一瞧:

所以,拦截器的顺序也基本固定了:

  • 1、自定义拦截器
  • 2、重试和重定向拦截器
  • 3、封装拦截器
  • 4、缓存拦截器
  • 5、连接拦截器
  • 6、IO拦截器

下面具体看看吧。

自定义拦截器

在请求之前,我们一般创建自己的自定义拦截器,用于添加一些接口公共参数,比如把token加到Header中。

class MyInterceptor() : Interceptor { override fun intercept(chain: Interceptor.Chain): Response {  var request = chain.request()  request = request.newBuilder()     .addHeader("token", "token")     .url(url)     .build()  return chain.proceed(request) }

要注意的是,别忘了调用chain.proceed,否则这条链就无法继续下去了。

在获取响应之后,我们一般用拦截器进行结果打印,比如常用的HttpLoggingInterceptor

addInterceptor( HttpLoggingInterceptor().apply {  level = HttpLoggingInterceptor.Level.BODY })

重试和重定向拦截器(RetryAndFollowUpInterceptor)

为了方便理解,我对源码进行了修剪✂️:

class RetryAndFollowUpInterceptor(private val client: OkHttpClient) : Interceptor { @Throws(IOException::class) override fun intercept(chain: Interceptor.Chain): Response { while (true) {  try {  try {   response = realChain.proceed(request)  } catch (e: RouteException) {   //路由错误   continue  } catch (e: IOException) {   // 请求错误   continue  }  //获取响应码判断是否需要重定向  val followUp = followUpRequest(response, exchange)  if (followUp == null) {   //没有重定向   return response  }  //赋予重定向请求,再次进入下一次循环  request = followUp  }  } }}

这样代码就很清晰了,重试和重定向的处理都是需要重新请求,所以这里用到了while循环。

  • 当发生请求过程中错误的时候,就需要重试,也就是通过continue进入下一次循环,重新走到realChain.proceed方法进行网络请求。
  • 当请求结果需要重定向的时候,就赋予新的请求,并进入下一次循环,重新请求网络。
  • 当请求结果没有重定向,那么就直接返回response响应结果。

封装拦截器(BridgeInterceptor)

class BridgeInterceptor(private val cookieJar: CookieJar) : Interceptor { @Throws(IOException::class) override fun intercept(chain: Interceptor.Chain): Response { //添加头部信息 requestBuilder.header("Content-Type", contentType.toString()) requestBuilder.header("Host", userRequest.url.toHostHeader()) requestBuilder.header("Connection", "Keep-Alive") requestBuilder.header("Accept-Encoding", "gzip") requestBuilder.header("Cookie", cookieHeader(cookies)) requestBuilder.header("User-Agent", userAgent) val networkResponse = chain.proceed(requestBuilder.build()) //解压 val responseBuilder = networkResponse.newBuilder()  .request(userRequest) if (transparentGzip &&  "gzip".equals(networkResponse.header("Content-Encoding"), ignoreCase = true) &&  networkResponse.promisesBody()) {  val responseBody = networkResponse.body  if (responseBody != null) {  val gzipSource = GzipSource(responseBody.source())  responseBuilder.body(RealResponseBody(contentType, -1L, gzipSource.buffer()))  } } return responseBuilder.build() }

请求前的代码很简单,就是添加了一些必要的头部信息,包括Content-Type、Host、Cookie等等,封装成一个完整的请求报文,然后交给下一个拦截器。

而获取响应后的代码就有点不是很明白了,gzip是啥?GzipSource又是什么类?

gzip压缩是基于deflate中的算法进行压缩的,gzip会产生自己的数据格式,gzip压缩对于所需要压缩的文件,首先使用LZ77算法进行压缩,再对得到的结果进行huffman编码,根据实际情况判断是要用动态huffman编码还是静态huffman编码,最后生成相应的gz压缩文件。

简单的说,gzip就是一种压缩方式,可以将数据进行压缩,在添加头部信息的时候就添加了这样一个头部:

requestBuilder.header("Accept-Encoding", "gzip")

这一句其实就是在告诉服务器,客户端所能接受的文件的压缩格式,这里设置了gzip之后,服务器看到了就能把响应报文数据进行gzip压缩再传输,提高传输效率,节省流量。

所以请求之后的这段关于gzip的处理其实就是客户端对压缩数据进行解压缩,而GzipSource是okio库里面一个进行解压缩读取数据的类。

缓存拦截器(CacheInterceptor)

继续看缓存拦截器—CacheInterceptor

class CacheInterceptor(internal val cache: Cache?) : Interceptor { @Throws(IOException::class) override fun intercept(chain: Interceptor.Chain): Response { //取缓存 val cacheCandidate = cache?.get(chain.request())  //缓存策略类 val strategy = CacheStrategy.Factory(now, chain.request(), cacheCandidate).compute() val networkRequest = strategy.networkRequest val cacheResponse = strategy.cacheResponse // 如果不允许使用网络,并且缓存数据为空 if (networkRequest == null && cacheResponse == null) {  return Response.Builder()   .request(chain.request())   .protocol(Protocol.HTTP_1_1)   .code(HTTP_GATEWAY_TIMEOUT)//504   .message("Unsatisfiable Request (only-if-cached)")   .body(EMPTY_RESPONSE)   .sentRequestAtMillis(-1L)   .receivedResponseAtMillis(System.currentTimeMillis())   .build().also {   listener.satisfactionFailure(call, it)   } } // 如果不允许使用网络,但是有缓存 if (networkRequest == null) {  return cacheResponse!!.newBuilder()   .cacheResponse(stripBody(cacheResponse))   .build().also {   listener.cacheHit(call, it)   } }  networkResponse = chain.proceed(networkRequest) // 如果缓存不为空 if (cacheResponse != null) {  //304,表示数据未修改  if (networkResponse?.code == HTTP_NOT_MODIFIED) {  cache.update(cacheResponse, response)  return response  }  } //如果开发者设置了缓存,则将响应数据缓存 if (cache != null) {  if (response.promisesBody() && CacheStrategy.isCacheable(response, networkRequest)) {  //缓存header  val cacheRequest = cache.put(response)  //缓存body  return cacheWritingResponse(cacheRequest, response)  } } return response }}

还是分两部分看:

  • 请求之前,通过request获取了缓存,然后判断缓存为空,就直接返回code为504的结果。如果有缓存并且缓存可用,则直接返回缓存。
  • 请求之后,如果返回304代表服务器数据没修改,则直接返回缓存。如果cache不为空,那么就把response缓存下来。

这样看是不是和上面我们说过的缓存机制对应上了?请求之前就是处理强制缓存的情况,请求之后就会处理协商缓存的情况。

但是还是有几个问题需要弄懂:

1、缓存是怎么存储和获取的?
2、每次请求都会去存储和获取缓存吗?
3、缓存策略(CacheStrategy)到底是怎么处理网络和缓存的?networkRequest什么时候为空?

首先,看看缓存哪里取的:

val cacheCandidate = cache?.get(chain.request())internal fun get(request: Request): Response? { val key = key(request.url) val snapshot: DiskLruCache.Snapshot = try {  cache[key] ?: return null }  val entry: Entry = try {  Entry(snapshot.getSource(ENTRY_METADATA)) }  val response = entry.response(snapshot) if (!entry.matches(request, response)) {  response.body?.closeQuietly()  return null } return response }

通过cache.get方法获取了response缓存,get方法中主要是用到了请求Request的url来作为获取缓存的标志。
所以我们可以推断,缓存的获取是通过请求的url作为key来获取的。

那么cache又是哪里来的呢?

val cache: Cache? = builder.cacheinterceptors += CacheInterceptor(client.cache)class CacheInterceptor(internal val cache: Cache?) : Interceptor

没错,就是实例化CacheInterceptor的时候传进去的,所以这个cache是需要我们创建OkHttpClient的时候设置的,比如这样:

 val okHttpClient =  OkHttpClient().newBuilder()   .cache(Cache(cacheDir, 10 * 1024 * 1024))   .build()

这样设置之后,okhttp就知道cache存在哪里,大小为多少,然后就可以进行服务器响应的缓存处理了。

所以第二个问题也解决了,并不是每次请求都会去处理缓存,而是开发者需要去设置缓存的存储目录和大小,才会针对缓存进行这一系列的处理操作。

最后再看看缓存策略方法 CacheStrategy.Factory().compute()

class CacheStrategy internal constructor( val networkRequest: Request?, val cacheResponse: Response?) fun compute(): CacheStrategy {  val candidate = computeCandidate()  return candidate } private fun computeCandidate(): CacheStrategy {  //没有缓存情况下,返回空缓存  if (cacheResponse == null) {  return CacheStrategy(request, null)  }  //...  //缓存控制不是 no-cache,且未过期  if (!responseCaching.noCache && ageMillis + minFreshMillis < freshMillis + maxStaleMillis) {  val builder = cacheResponse.newBuilder()  return CacheStrategy(null, builder.build())  }   return CacheStrategy(conditionalRequest, cacheResponse) }

在这个缓存策略生存的过程中,只有一种情况下会返回缓存,也就是缓存控制不是no-cache,并且缓存没过期情况下,就返回缓存,然后设置networkRequest为空。
所以也就对应上一开始缓存拦截器中的获取缓存后的判断:

 // 如果不允许使用网络,但是有缓存,则直接返回缓存 if (networkRequest == null) {  return cacheResponse!!.newBuilder()   .cacheResponse(stripBody(cacheResponse))   .build().also {   listener.cacheHit(call, it)   } }

连接拦截器(ConnectInterceptor)

继续,连接拦截器,之前说了是关于TCP连接的。

object ConnectInterceptor : Interceptor { @Throws(IOException::class) override fun intercept(chain: Interceptor.Chain): Response { val realChain = chain as RealInterceptorChain val exchange = realChain.call.initExchange(chain) val connectedChain = realChain.copy(exchange = exchange) return connectedChain.proceed(realChain.request) }}

代码看着倒是挺少的,但其实这里面很复杂很复杂,不着急,我们慢慢说。
这段代码就执行了一个方法就是initExchange方法:

internal fun initExchange(chain: RealInterceptorChain): Exchange { val codec = exchangeFinder.find(client, chain) val result = Exchange(this, eventListener, exchangeFinder, codec) return result } fun find( client: OkHttpClient, chain: RealInterceptorChain ): ExchangeCodec { try {  val resultConnection = findHealthyConnection(   connectTimeout = chain.connectTimeoutMillis,   readTimeout = chain.readTimeoutMillis,   writeTimeout = chain.writeTimeoutMillis,   pingIntervalMillis = client.pingIntervalMillis,   connectionRetryEnabled = client.retryOnConnectionFailure,   doExtensiveHealthChecks = chain.request.method != "GET"  )  return resultConnection.newCodec(client, chain) } }

好像有一点眉目了,找到一个ExchangeCodec类,并封装成一个Exchange类。

  • ExchangeCodec:是一个连接所用的编码解码器,用于编码HTTP请求和解码HTTP响应。
  • Exchange:封装这个编码解码器的一个工具类,用于管理ExchangeCodec,处理实际的 I/O。

明白了,这个连接拦截器(ConnectInterceptor)就是找到一个可用连接呗,也就是TCP连接,这个连接就是用于HTTP请求和响应的。
你可以把它可以理解为一个管道,有了这个管道,才能把数据丢进去,也才可以从管道里面取数据。

而这个ExchangeCodec,编码解码器就是用来读取和输送到这个管道的一个工具,相当于把你的数据封装成这个连接(管道)需要的格式。
我咋知道的?我贴一段ExchangeCodec代码你就明白了:

//Http1ExchangeCodec.java fun writeRequest(headers: Headers, requestLine: String) { check(state == STATE_IDLE) { "state: $state" } sink.writeUtf8(requestLine).writeUtf8("\r\n") for (i in 0 until headers.size) {  sink.writeUtf8(headers.name(i))   .writeUtf8(": ")   .writeUtf8(headers.value(i))   .writeUtf8("\r\n") } sink.writeUtf8("\r\n") state = STATE_OPEN_REQUEST_BODY }

这里贴的是Http1ExchangeCodec的write代码,也就是Http1的编码解码器。

很明显,就是将Header信息一行一行写到sink中,然后再由sink交给输出流,具体就不分析了。只要知道这个编码解码器就是用来处理连接中进行输送的数据即可。

然后就是这个拦截器的关键了,连接到底是怎么获取的呢?继续看看:

 private fun findConnection(): RealConnection { // 1、复用当前连接 val callConnection = call.connection  if (callConnection != null) {  //检查这个连接是否可用和可复用  if (callConnection.noNewExchanges || !sameHostAndPort(callConnection.route().address.url)) {   toClose = call.releaseConnectionNoEvents()  }  return callConnection } //2、从连接池中获取可用连接 if (connectionPool.callAcquirePooledConnection(address, call, null, false)) {  val result = call.connection!!  eventListener.connectionAcquired(call, result)  return result } //3、从连接池中获取可用连接(通过一组路由routes) if (connectionPool.callAcquirePooledConnection(address, call, routes, false)) {  val result = call.connection!!  return result  } route = localRouteSelection.next() // 4、创建新连接 val newConnection = RealConnection(connectionPool, route) newConnection.connect // 5、再获取一次连接,防止在新建连接过程中有其他竞争连接被创建了 if (connectionPool.callAcquirePooledConnection(address, call, routes, true)) {  return result } //6、还是要使用创建的新连接,放入连接池,并返回 connectionPool.put(newConnection) return newConnection }

获取连接的过程很复杂,为了方便看懂,我简化了代码,分成了6步。

  • 1、检查当前连接是否可用。

怎么判断可用的?主要做了两个判断
1)判断是否不再接受新的连接
2)判断和当前请求有相同的主机名和端口号。

这倒是很好理解,要这个连接是连接的同一个地方才能复用是吧,同一个地方怎么判断?就是判断主机名和端口号

还有个问题就是为什么有当前连接??明明还没开始连接也没有获取连接啊,怎么连接就被赋值了?

还记得重试和重定向拦截器吗?对了,就是当请求失败需要重试的时候或者重定向的时候,这时候连接还在呢,是可以直接进行复用的。

  • 2和3、从连接池中获取可用连接

第2步和第3步都是从连接池获取连接,有什么不一样吗?

connectionPool.callAcquirePooledConnection(address, call, null, false)connectionPool.callAcquirePooledConnection(address, call, routes, false)

好像多了一个routes字段?

这里涉及到HTTP/2的一个技术,叫做 HTTP/2 CONNECTION COALESCING(连接合并),什么意思呢?

假设有两个域名,可以解析为相同的IP地址,并且是可以用相同的TLS证书(比如通配符证书),那么客户端可以重用相同的TCP连接从这两个域名中获取资源。

再看回我们的连接池,这个routes就是当前域名(主机名)可以被解析的ip地址集合,这两个方法的区别也就是一个传了路由地址,一个没有传。

继续看callAcquirePooledConnection代码:

 internal fun isEligible(address: Address, routes: List<Route>?): Boolean { if (address.url.host == this.route().address.url.host) {  return true  } //HTTP/2 CONNECTION COALESCING if (http2Connection == null) return false if (routes == null || !routeMatchesAny(routes)) return false if (address.hostnameVerifier !== OkHostnameVerifier) return false return true }

1)判断主机名、端口号等,如果请求完全相同就直接返回这个连接。
2)如果主机名不同,还可以判断是不是HTTP/2请求,如果是就继续判断路由地址,证书,如果都能匹配上,那么这个连接也是可用的。

  • 4、创建新连接

如果没有从连接池中获取到新连接,那么就创建一个新连接,这里就不多说了,其实就是调用到socket.connect进行TCP连接。

  • 5、再从连接池获取一次连接,防止在新建连接过程中有其他竞争连接被创建了

创建了新连接,为什么还要去连接池获取一次连接呢?
因为在这个过程中,有可能有其他的请求和你一起创建了新连接,所以我们需要再去取一次连接,如果有可以用的,就直接用它,防止资源浪费。

其实这里又涉及到HTTP2的一个知识点:多路复用

简单的说,就是不需要当前连接的上一个请求结束之后再去进行下一次请求,只要有连接就可以直接用。

HTTP/2引入二进制数据帧和流的概念,其中帧对数据进行顺序标识,这样在收到数据之后,就可以按照序列对数据进行合并,而不会出现合并后数据错乱的情况。同样是因为有了序列,服务器就可以并行的传输数据,这就是流所做的事情。

所以在HTTP/2中可以保证在同一个域名只建立一路连接,并且可以并发进行请求。

  • 6、新连接放入连接池,并返回

最后一步好理解吧,走到这里说明就要用这个新连接了,那么就把它存到连接池,返回这个连接。

这个拦截器确实麻烦,大家好好梳理下吧,我也再来个图:

IO拦截器(CallServerInterceptor)

连接拿到了,编码解码器有了,剩下的就是发数据,读数据了,也就是跟I/O相关的工作。

class CallServerInterceptor(private val forWebSocket: Boolean) : Interceptor { @Throws(IOException::class) override fun intercept(chain: Interceptor.Chain): Response {  //写header数据 exchange.writeRequestHeaders(request) //写body数据 if (HttpMethod.permitsRequestBody(request.method) && requestBody != null) {  val bufferedRequestBody = exchange.createRequestBody(request, true).buffer()  requestBody.writeTo(bufferedRequestBody) } else {  exchange.noRequestBody() } //结束请求 if (requestBody == null || !requestBody.isDuplex()) {  exchange.finishRequest() }  //获取响应数据 var response = responseBuilder  .request(request)  .handshake(exchange.connection.handshake())  .build() var code = response.code response = response.newBuilder()   .body(exchange.openResponseBody(response))   .build() return response }}

这个拦截器 倒是没干什么活,之前的拦截器兄弟们都把准备工作干完了,它就调用下exchange类的各种方法,写入header,body,拿到code,response

这活可干的真轻松啊。

被遗漏的自定义拦截器(networkInterceptors)

好了,最后补上这个拦截器networkInterceptors,它也是一个自定义拦截器,位于CallServerInterceptor之前,属于倒数第二个拦截器。

那为什么OkHttp在有了一个自定义拦截器的前提下又提供了一个拦截器呢?

可以发现,这个拦截器的位置是比较深的位置,处在发送数据的前一刻,以及收到数据的第一刻。
这么敏感的位置,决定了通过这个拦截器可以看到更多的信息,比如:

  • 请求之前,OkHttp处理之后的请求报文数据,比如增加了各种header之后的数据。
  • 请求之后,OkHttp处理之前的响应报文数据,比如解压缩之前的数据。

所以,这个拦截器就是用来网络调试的,调试比较底层、更全面的数据。

总结

最后再回顾下每个拦截器的作用:

  • addInterceptor(Interceptor),这是由开发者设置的,会按照开发者的要求,在所有的拦截器处理之前进行最早的拦截处理,比如一些公共参数,Header都可以在这里添加。
  • RetryAndFollowUpInterceptor,这里会对连接做一些初始化工作,以及请求失败的重试工作,重定向的后续请求工作。
  • BridgeInterceptor,这里会为用户构建一个能够进行网络访问的请求,同时后续工作将网络请求回来的响应Response转化为用户可用的Response,比如添加文件类型,content-length计算添加,gzip解包。
  • CacheInterceptor,这里主要是处理cache相关处理,会根据OkHttpClient对象的配置以及缓存策略对请求值进行缓存,而且如果本地有了可⽤的Cache,就可以在没有网络交互的情况下就返回缓存结果。
  • ConnectInterceptor,这里主要就是负责建立连接了,会建立TCP连接或者TLS连接,以及负责编码解码的HttpCodec。
  • networkInterceptors,这里也是开发者自己设置的,所以本质上和第一个拦截器差不多,但是由于位置不同,用处也不同。这个位置添加的拦截器可以看到请求和响应的数据了,所以可以做一些网络调试。
  • CallServerInterceptor,这里就是进行网络数据的请求和响应了,也就是实际的网络I/O操作,通过socket读写数据。

参考

https://www.jianshu.com/p/bfb13eb3a425
https://segmentfault.com/a/1190000020386580
https://www.jianshu.com/p/02db8b55aae9
https://kaiwu.lagou.com/course/courseInfo.htm?courseId=67#/detail/pc

拜拜

感谢大家的阅读,有一起学习的小伙伴可以关注下我的公众号——码上积木❤️❤️
每日一个知识点,积少成多,建立知识体系架构。
这里有一群很好的Android小伙伴,欢迎大家加入~









原文转载:http://www.shaoqun.com/a/665734.html

跨境电商:https://www.ikjzd.com/

hts:https://www.ikjzd.com/w/525

vat:https://www.ikjzd.com/w/109


前言之前我们结合设计模式简单说了下OkHttp的大体流程,今天就继续说说它的核心部分——拦截器。因为拦截器组成的链其实是完成了网络通信的整个流程,所以我们今天就从这个角度说说各拦截器的功能。首先,做一下简单回顾,从getResponseWithInterceptorChain方法开始。简单回顾(getResponseWithInterceptorChain)internalfungetRespon
anker:https://www.ikjzd.com/w/1027
邮乐:https://www.ikjzd.com/w/1776
photobucket:https://www.ikjzd.com/w/132
我和邻居姐姐的暧昧故事 口述那晚我和她的再次邂逅:http://www.30bags.com/a/250485.html
从华强北到撒哈拉,"非洲手机之王"将走向何方?:https://www.ikjzd.com/home/21541
口述:为报复老公 我成了他同事的情人:http://lady.shaoqun.com/m/a/10733.html

高达180欧元头程补贴! 继0元仓储/移除/退货费后,亚马逊物流福利再升级!

4月初,亚马逊物流(FBA)利好消息不断!继0元搞定推广/仓储/移除/退货费,低成本测试新品之后(点击了解👉亚马逊物流新选品计划),欧洲亚马逊物流又推出了一项针对中国新卖家入仓头程运输费用的限时补贴优惠活动!符合条件的卖家可以获得入仓费用补贴,最高可达约180欧元

01 限时补贴优惠活动详情

下面就跟着小编一起来看看限时补贴优惠到底是什么吧!

活动详情:

如果卖家发送至少150件商品(此处指units)到英国境内的亚马逊运营中心,并在亚马逊英国站使用FBA销售该商品,将获得80英镑的补贴

如果卖家发送至少150件商品(此处指units)到德国、法国、意大利、西班牙境内任一亚马逊运营中心,并在相应亚马逊站点使用FBA销售该商品,将获得90欧元的补贴

如果卖家分别发送至少150件商品(此处指units)到英国境内的亚马逊运营中心,以及欧盟境内(德国、法国、意大利、西班牙)的任一亚马逊运营中心,并在英国及德国、法国、意大利和西班牙任一站点使用FBA销售该商品,将获得以上两项补贴,即80英镑+90欧元,共计约183欧元(基于3月26日的汇率计算)。

🚩请注意:该活动适用于在欧洲首次使用FBA进行销售的专业卖家,并且卖家需要在5月31日之前把商品发送到欧洲亚马逊运营中心,并通过FBA销售该商品。

与此同时,卖家还可结合限时免费亚马逊增值税整合服务,注册欧洲VAT税号。

亚马逊增值税整合服务是亚马逊官方的增值税合规解决方案,您可借助此方案通过第三方税务服务商来管理您的欧洲增值税注册和申报义务,从而能够更轻松、高效地处理增值税合规问题,将更多时间用于扩展欧洲业务。

该项服务的限时促销仍然有效:2021 年 4月 30 日前订阅可享首年免费福利(包括免首年费增值税注册、申报和财务代表服务),免费英国和/或欧盟 EORI 号码

复制下方链接到浏览器打开,立即开始👇

https://sellercentral-europe.amazon.com/vat-registration/v2/index.html/vat-services?ref=sc_FBAincen_VISALP#/welcome

02 头程运费补贴领取指南

那上述的中国新卖家入仓头程运输费用的限时补贴如何领取呢?接下来,小编将手把手教您注册领取该项头程运费补贴!

第一步

首先,登录欧洲亚马逊卖家平台,访问活动页面

您可以在电脑端,复制黏贴此链接到浏览器中打开👇

www.amazon.co.uk/cEiPmPaP


第二步

您需要点击活动页面中的"注册优惠"按钮,申请注册加入该活动。

请注意:点击"注册优惠"按钮后,并不代表成功注册,亚马逊会审核您的账户情况,以确认是否符合该项活动的资格要求,并在5个工作日内通过卖家平台消息告知您最终结果,请注意查收相关信息。


请注意您需要符合以下要求才能注册成功:

1您是专业卖家

2在注册优惠时,在亚马逊欧洲站点已经有可售商品

3在过去12个月内,未在亚马逊英国、德国、法国、意大利及西班牙站点使用FBA销售过商品。

第三步

确认成功注册加入该活动后,您就可以准备商品,在卖家平台创建货件,发送到欧洲的亚马逊运营中心了。

请注意:

您需要将至少150件商品发送到亚马逊运营中心,才可以获得对应站点的头程运输费用补贴。

亚马逊汇总了从中国发往欧洲的常见物流承运商,如果您还没有合适的第三方物流承运商,可通过下述链接获取👇

https://m.media-amazon.com/images/G/28/SellerUniversity/Brexit_3rd_party_carriers_1224RF_v3.pdf

将商品发送并储存在欧洲当地,您需要提供目的国的增值税税号,并且您具有增值税缴纳义务。请注意欧洲各国家的相应政策。如果您尚未注册增值税税号,请及时注册并在卖家平台提交。各国注册均需不同的时效,烦请在完成操作之前确保您已完成合规性要求。具体注册要求可以参考下述官方网页,或者咨询您的税务服务商👇

https://gs.amazon.cn/vat.html

此外,您还可以通过上述亚马逊增值税整合服务,利用亚马逊合作的第三方税务服务商,帮您注册VAT税号,并且在2021年4月30日前订阅该服务,可享多项免费福利。

第四步

最后,您就可以在卖家平台查看补贴了!亚马逊将在您运送的商品成功上架并使用FBA销售的一个月内将费用补贴发放到您的卖家账户,请访问活动页面了解如何查看费用补贴发放。

03 常见问题

Q1:如果我第一次运送到亚马逊运营中心的头程物流费用少于80英镑/90欧元,剩余的补贴额度是否适用于以后的头程运输?

如果您第一次运送到亚马逊运营中心的物流费用少于80英镑或90欧元,但您运送的商品数量大于或等于150件,您仍将一次性获得80英镑或90欧元的费用补贴。

Q2:如果我分别在英国和德国注册使用FBA,是否可以获得两次补贴?

可以。为了帮助您在欧洲扩展业务,您将商品成功入库到英国和欧盟(德国,法国,意大利和西班牙)境内的亚马逊运营中心时,均可享受头程物流费用补贴。但是假设您在德国和法国成功入库并通过亚马逊物流发布产品,将仅享受一次补贴(90欧元)。


(来源:亚马逊全球开店)

文章来源:https://www.ikjzd.com/home/143783

跨境电商:https://www.ikjzd.com/

olive:https://www.ikjzd.com/w/2025

韩蓬:https://www.ikjzd.com/w/1635

patpat:https://www.ikjzd.com/w/1079

高达180欧元头程补贴! 继0元仓储/移除/退货费后,亚马逊物流福利再升级!

欧洲亚马逊物流又推出了一项针对中国新卖家入仓头程运输费用的限时补贴优惠活动!符合条件的卖家可以获得入仓费用补贴,最高可达约180欧元!

低至0元搞定亚马逊物流仓储/移除/退货费!还送$200广告费,是时候测新品了!

想要推新品又担心前期测款的费用投入?想要尝试用FBA销售商品又担心卖不出去?千万别划走,小编今天教你如何帮FBA新品获取免费广告推广、免费仓储、免费移除、免费退货处理等多项费用减免!

亚马逊物流新选品计划,为卖家发布的FBA新选品,提供免费广告推广、免费仓储、免费移除、免费退货处理等多项优惠福利,帮助卖家更方便地使用FBA销售新选品,减少前期测试新品期间的成本投入,轻松拓展更多销售机会。

自2019年4月起,亚马逊在美国、欧洲及日本站相继推出了该计划,并收获了广泛好评。基于卖家的积极反馈,此前亚马逊已经宣布将进一步升级该计划的优惠福利,帮助卖家低成本使用FBA测试新品。升级版的"亚马逊物流新选品计划"将在2021年4月2日正式生效,下面就跟随小编一起来看看都有哪些优惠吧!

-❶-

五大优惠福利

立省FBA费用,低成本测试新品!

成功注册加入该计划后,如果您满足该计划的资格要求,您添加的符合条件的新选品均可享受下列费用减免优惠,并且没有ASIN数量限制。

如果您是新加入亚马逊物流的卖家,注册加入新选品计划后,便有机会获得最高折合200美元的亚马逊推广广告促销代金券。

注册加入新选品计划后的60天内,在卖家平台发布FBA ASIN并运送入库

成功接收上架后30天内,为新发布的FBA ASIN手动设置一个无结束日期的广告活动,即可获得首笔折合约100美元的广告费代金券。

将该广告活动运行至少30天,即可获得第二笔折合约100美元的广告费代金券。

*创建广告活动推广的FBA ASIN 无论是否为符合该计划要求的FBA新选品,均可获得此项优惠。

*任何未使用的广告费代金券将在发放后 30 天过期作废。

🚩适用站点:亚马逊美国、英国、德国和日本站

小件商品和标准尺寸商品:免除3个月FBA仓储费

符合该计划要求的新ASIN,在亚马逊运营中心收到首件商品后的90天内,免收每个父ASIN前50件商品的月度仓储费。

大件商品:免除3个月FBA仓储费

即日起,符合该计划要求的大件新ASIN,也可享受该计划的费用优惠,在亚马逊运营中心收到首件商品后的90天内,免收每个父 ASIN 前30件商品的月度仓储费。

服装配饰和鞋靴箱包类商品"专宠"福利:

免除4个月FBA仓储费

符合该计划要求的新ASIN,在亚马逊运营中心收到首件商品后的120天内,免收每个父ASIN前100件商品的月度仓储费。

🚩适用站点:亚马逊美国、英国、德国、法国、意大利、西班牙和日本站

小件商品和标准尺寸商品:入库后半年内免费移除

符合该计划要求的新ASIN,在亚马逊运营中心收到首件商品后的180天内,免收每个父ASIN前50件商品的库存移除费用。

大件商品:入库后半年内免费移除

符合该计划要求的新ASIN,在亚马逊运营中心收到首件商品后的180天内,免收每个父ASIN前30件商品的库存移除费用。

服装配饰和鞋靴箱包类商品"专宠"福利":

入库后半年内免费移除

符合该计划要求的新ASIN,在亚马逊运营中心收到首件商品后的180天内,免收每个父ASIN前100 件商品的库存移除费用。

🚩适用站点:亚马逊美国、英国、德国、法国、意大利、西班牙和日本站

日本站服装和鞋靴类商品的退货处理费全免

日本站免除买家在2021年3月15日至2022年3月31日期间退回的服装和鞋靴类商品的全部退货处理费,并且没有商品数量限制。有关更多信息,请参阅👉2021年日本站费用促销优惠

🚩适用站点:亚马逊日本站

美国和欧洲站点服装配饰及鞋靴箱包类商品的退货处理费优惠

符合该计划要求的新ASIN,在亚马逊运营中心收到首件商品后的180天内,如果发生买家退货,被退回的每个父ASIN最多可有20件商品免收退货处理费。

🚩适用站点:亚马逊美国、英国、德国、法国、意大利、西班牙

如果您是新加入亚马逊物流的卖家,并且您的商品是从目的国当地某个地址运送至亚马逊运营中心(例如从海外仓发送至亚马逊运营中心),您可以考虑使用亚马逊合作承运人运输入库。注册加入新选品计划后,首次使用亚马逊合作承运人运输入库,可享受此项优惠,减免最高折合100美元的亚马逊合作承运人入库运输费。

*由于货币单位的差异,各站点优惠额度略有不同

🚩适用站点:亚马逊美国、英国、德国、法国、意大利、西班牙和日本站

看到这里,可能有些新卖家没有理解新选品计划到底优惠了哪些费用?下面通过一张图帮助大家更直观地了解该计划的优惠。

FBA的主要费用包括:入库运输费、仓储费、库存移除费、配送费、退货处理费等,如下图所示。

假设您的商品是从目的国当地某个地址,通过亚马逊合作承运人运输入库,那么新选品计划可以帮助大家节省的费用如下图红框所示:

以下红圈中的手续费=该计划的优惠费用👇


那么该计划有什么资格要求?

哪些卖家可以加入该计划呢?

对卖家的资格要求

卖家需要在亚马逊卖家平台注册加入该计划,并同时满足下述两项要求,则可享受该计划的优惠福利:

专业卖家

库存绩效指标分数(IPI)为400分或以上,或者尚未获得IPI分数的卖家

*您可以登录卖家平台,点击"库存">"库存规划",浏览"库存绩效"页面,查看您当前的库存绩效指标分数。

对商品的资格要求

FBA新选品,即首次使用FBA销售的商品

2021年4月2日或之后被亚马逊运营中心接收的商品

商品尺寸:小号、标准尺寸、大件

商品状况:全新品,非二手商品

商品类别:非媒介类商品

*您可以登录卖家平台,点击"库存">"库存规划",浏览"库存绩效"页面,查看您当前的库存绩效指标分数。

-❷-

ASIN查询工具

符合计划的新选品了如指掌!

为了帮助您高效查找哪些商品符合该计划要求,亚马逊为您提供了检查商品资格的工具。您可登录卖家平台,访问该计划的活动页,通过活动页里的ASIN查询工具,查看符合该计划要求的ASIN列表。此处数据每周更新一次,建议您定期查看。


1、通过商品编码进行查看 


您可以通过搜索商品编码(ASIN/EAN/UPC),检查商品是否为亚马逊物流的新品,尤其是当您计划销售某款商品时,可先搜索该商品编码,查看是否符合该计划的要求,如果符合要求,您就可以通过该计划节省FBA费用。

2、下载符合条件的ASIN列表 

您可以在该计划的活动页中,点击"下载符合要求的ASIN列表"按钮,下载您目前在售的商品中符合该计划的要求的ASIN清单。当您注册加入该计划后,将这些ASIN转化为使用FBA销售并发送入库,即可享受该计划的优惠福利。


如果您目前在售的商品中,没有任何符合要求的商品,此处按钮将是灰色,无法点击下载。

3、在亚马逊已发布的商品中搜索符合该计划的ASIN 

日本站卖家还可以在整个亚马逊日本站搜索查看所有已发布的商品中,包括您发布的商品及其他卖家发布的商品,符合该计划要求的ASIN。


此种查询ASIN的方式仅适用于日本站。

-❸-

新选品计划操作指南,

速速注册加入,海量优惠立享!

上述这么多优惠,卖家到底怎样才可以享受到呢?接下来小编为大家讲解具体的注册流程。

第1步:注册为专业卖家

还没有在亚马逊开店?👉立即注册为专业卖家

参与专业销售计划,每月支付$39.99的月服务费,即可享受无数量限制的商品销售。

(北美:39.99美金;欧洲:39欧元或25英镑;日本:4900日元)

已经是专业卖家?请直接从第2步开始👇

第2步:注册加入亚马逊物流新选品计划

访问亚马逊全球开店官网中新选品计划页面(https://gs.amazon.cn/fba/sandbox),点击对应站点按钮,前往亚马逊卖家平台,跳转至该计划活动页,点击页面中的"立即注册"按钮,即可注册加入该计划。

您发送商品到亚马逊运营中心之前,必须先注册该计划,才有机会享受该计划的费用优惠。


第3步:发布亚马逊物流新选品,并运送至亚马逊运营中心

发布商品时请选择使用亚马逊物流销售,或者将现有卖家自配送商品转换为使用亚马逊物流销售。

首次创建商品信息:如果您是在卖家平台中添加新商品,发布商品时请选择使用FBA销售。之后亚马逊将引导您完成创建货件,并将商品发送至亚马逊运营中心的操作流程。

将现有卖家自配送商品转换为使用亚马逊物流销售:访问卖家平台中的"管理库存"页面,选择您希望使用亚马逊物流配送的商品,然后从页面右上角"应用于 X 件选定商品"的下拉菜单中选择"转换为亚马逊配送"。

第4步:创建广告活动,推广您的商品

您新发布的FBA ASIN被亚马逊运营中心成功接收上架后,您就可以创建广告活动,推广您的商品了。

您可以自己创建推广广告活动,也可以通过广告活动创建功能,由系统为您创建广告活动。系统创建广告活动后,亚马逊将向您发送一封确认电子邮件。广告活动将在发送确认电子邮件的七天后激活,在您选择暂停之前,它将一直保持运行状态。请访问卖家平台新选品计划帮助页面,查看条款和条件,了解详情。

第5步:获取亚马逊推广广告促销代金券

注册加入新选品计划后的60天内,发布一个新的FBA ASIN并运送入库,商品成功接收上架后30天内,为该商品手动设置一个没有结束日期的广告活动,即可获得首笔折合约100美元*的广告费代金券。将该广告活动运行至少30天,即可获得第2笔折合约100美元*的广告费代金券。

*具体金额可能会由于各站点货币单位不同而有所差异。该项优惠仅适用于亚马逊美国、英国、德国和日本站。

第6步:享受新选品计划费用优惠

低成本测试新品,同时使用FBA吸引更多买家

注册后,亚马逊将审核确认您是否符合该计划的资格要求。根据计划的条款和条件,亚马逊将自动为符合要求的商品免除相关费用。

TIPS:

如果您希望在亚马逊美国、欧洲及日本站点均享受该计划的优惠福利,那么您需要分别在各站点进行注册。

▲ 为了更好的卖家体验,建议您在电脑端进行操作,访问卖家平台亚马逊物流新选品计划落地页,进行注册,并查看该计划的详情。

▲ 您也可以直接复制下述卖家平台亚马逊物流新选品计划活动页链接到浏览器打开:

美国站👇

https://sellercentral.amazon.com/gc/fulfillment-by-amazon/new-selection

欧洲站👇

https://sellercentral-europe.amazon.com/gc/fulfillment-by-amazon/new-selection

日本站👇

https://sellercentral-japan.amazon.com/gc/fulfillment-by-amazon/new-selection


(来源:亚马逊全球开店)

经过小编的一番讲解,相信您对升级版"亚马逊物流新选品计划"有了更细致的了解。亚马逊竭尽全力履行对卖家的承诺,全力以赴帮助卖家拓展业务,希望该计划可以帮助卖家减少上新成本,拓展更多的销售机会。


文章来源:https://www.ikjzd.com/home/143784

跨境电商:https://www.ikjzd.com/

usps:https://www.ikjzd.com/w/513

r标:https://www.ikjzd.com/w/1070

卖家精灵:https://www.ikjzd.com/w/532

低至0元搞定亚马逊物流仓储/移除/退货费!还送$200广告费,是时候测新品了!

想要推新品又担心前期测款的费用投入?想要尝试用FBA销售商品又担心卖不出去?千万别划走,小编今天教你如何帮FBA新品获取免费广告推广、免费仓储、免费移除、免费退货处理等多项费用减免!

威少23+14+11特伦特绝杀 猛龙逆转奇才迎两连胜_贝尔坦斯

原标题:威少23+14+11特伦特绝杀 猛龙逆转奇才迎两连胜

北京时间4月6日,NBA常规赛继续激战,其中多伦多猛龙凭借着特伦特的绝杀三分,成功逆转19分,以103-101击败了华盛顿奇才,迎来了两连胜,送给奇才4连败。比尔因伤缺阵,不过威少砍下了赛季第19次三双,23分14篮板11助攻。猛龙队的西亚卡姆则是砍22分。

四节比分(猛龙队在后):28-19、33-32、25-24、15-28。

此役,猛龙队的洛瑞、胡德、范弗里特和麦考均因伤缺阵,而奇才队的比尔、八村塁和加福德则因伤无法出战。开场后,威少投中第一球,贝尔坦斯和阿夫迪亚命中3分,奇才队一波12-1的攻击波开局。特伦特投中猛龙队第一球,本布里连得4分,猛龙队回敬一波8-2的小高潮。可惜,猛龙队在接下来的3分20秒时间里没有得分入账,威少两次投篮得分,内托单打命中,奇才队又是一波9-0的小高潮。尽管西亚卡姆之后连砍10分,不过猛龙队第一节还是以19-28落后。

第二节,西亚卡姆因为抱怨被吹罚技术犯规,不过猛龙队替补开局一波7-0的小高潮将比分追至26-29。马休斯投篮止血,威少单打命中。拜恩斯连续内线得分,费林打成2+1,再加上阿努诺比的扣篮,猛龙队成功将比分反超为36-35。关键时刻,又是马休斯站出来得分,他和贝尔坦斯的三个三分球稳定住局面,莱恩两次内线强攻。距离比赛结束还剩2分钟时,奇才队再中3个三分,一波三分雨过后,奇才队半场结束以61-51领先10分。威少两节贡献了10分10篮板9助攻的准三双。

第三节,贝尔坦斯投中两个3分,莱恩打成2+1,而阿夫迪亚大力扣篮,奇才队开局一波13-4的小高潮,将分差扩大为19分,同时威少完成了个人的本赛季第19次三双数据。布歇和特伦特回敬三分,猛龙队打出一波11-2的小高潮将分差缩小。还剩2分钟时,费林的打三分曾帮助猛龙队将分差缩小得到10分以内。不过,威少两次急停投篮,奇才队三节结束以86-75领先11分。

第四节,猛龙队开局轰出一波16-4的攻击波,成功将比分反超,其中阿努诺比连得7分。暂停后,费林2+1打成,西亚卡姆勾手命中,猛龙队领先6分。先后9次投篮打铁之后,威少造犯规罚中2分,本布里投篮命中,猛龙队以98-92领先。威少联手贝尔坦斯打出一波6-0的小高潮将比分追至98平。特伦特投篮命中,不过威少在还剩41秒命中3分,最后3.4秒,特伦特完成三分绝杀。最终,多伦多猛龙凭借着特伦特的绝杀三分,成功逆转19分,以103-101击败了华盛顿奇才,迎来了两连胜,送给奇才4连败。

猛龙首发:本布里、特伦特、阿努诺比、西亚卡姆、布歇

奇才首发:威斯布鲁克、内托、阿夫迪亚、贝尔坦斯、莱恩

(鸾台)返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/522742.html

跨境电商:https://www.ikjzd.com/

声网agora:https://www.ikjzd.com/w/2176

易速:https://www.ikjzd.com/w/2389


原标题:威少23+14+11特伦特绝杀猛龙逆转奇才迎两连胜北京时间4月6日,NBA常规赛继续激战,其中多伦多猛龙凭借着特伦特的绝杀三分,成功逆转19分,以103-101击败了华盛顿奇才,迎来了两连胜,送给奇才4连败。比尔因伤缺阵,不过威少砍下了赛季第19次三双,23分14篮板11助攻。猛龙队的西亚卡姆则是砍22分。四节比分(猛龙队在后):28-19、33-32、25-24、15-28。此役,猛龙队
haofang:https://www.ikjzd.com/w/1046
gem:https://www.ikjzd.com/w/1997
isbn:https://www.ikjzd.com/w/174
外贸难!欧洲近千万人面临失业风险!近半数美国人已失业!:https://www.ikjzd.com/home/124822
新婚前夜未婚妻偷了我手表出走:http://lady.shaoqun.com/m/a/272596.html
亚马逊第一市场是美国,第二是谁?:https://www.ikjzd.com/home/134190

2021-04-05

伦纳德准三双哈雷尔19分 快船大胜湖人止两连败_莫里斯

原标题:伦纳德准三双哈雷尔19分 快船大胜湖人止两连败

北京时间4月5日,NBA常规赛继续进行,在凌晨的一场较量中上演了洛杉矶德比战,伤兵满营的湖人从比赛的一开始就进攻停滞整场落后,最终快船104-86大胜湖人结束两连败。

湖人队中,哈雷尔19分6篮板2助攻,塔克16分5篮板,小加索尔11分3篮板2助攻,马基夫-莫里斯9分5篮板,库兹马6分7篮板;快船方面,马库斯-莫里斯22分7篮板,伦纳德19分10篮板8助攻2抢断,乔治16分7篮板3助攻,肯纳德15分3篮板。

单节比分(湖人在前):20-27,18-26,17-24,31-27

比赛开始后,湖人进攻效率低下,马基夫-莫里斯一枝独秀,他不断在低位强攻打进四球独得9分,马库斯-莫里斯不甘示弱内突外投前五投全中狂揽11分,在莫里斯兄弟德比中弟弟占据上风帮助快船在开局一度领先11分。塔克登场连进两球率领湖人追到5分。首节战罢,快船27-20领先湖人。

次节,哈雷尔连投带罚得到6分帮助湖人一度再次追到5分,但是乔治两记突破一记三分连投带罚独得9分,湖人进攻却再度停滞,雷吉突破上篮后小莫里斯连飚两记三分,快船打出一波23-8的高潮将分差扩大到了20分。加索尔和卡鲁索各飚三分帮助湖人止血,施罗德突破上篮后,湖人在半场结束时追到38-53。半场38分创下湖人赛季新低。

第三节,库兹马突破打进追到13分,小莫里斯飚进三分祖巴茨篮下打进,雷吉反击杀伤两罚全中伦纳德篮下得分,湖人进攻再度停滞4分半钟没有进球,随着乔治三分也进,快船一波12-1的高潮领先到了24分。加索尔连飚两记三分止血,但是莫里斯和伦纳德迅速回应,分差很快重回20分以上。三节结束时,快船77-55领先湖人。

末节,塔克内突外投打进三球,哈雷尔不断在篮下强攻打成两记2+1连投带罚独砍11分,两人联手率领湖人不断追赶,一度将分差缩小到15分,但是快船全面开花,尤其是肯纳德先后三记中投两记三分独砍12分,帮助快船重新将分差扩大到20分以上,两队陆续换上板凳末段球员,比赛进入垃圾时间,最终快船104-86大胜湖人。

快船首发:雷吉-杰克逊、乔治、伦纳德、马库斯-莫里斯、祖巴茨

湖人首发:施罗德、波普、库兹马、马基夫-莫里斯、小加索尔返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/521745.html

跨境电商:https://www.ikjzd.com/

卖家精灵:https://www.ikjzd.com/w/532

马士基集团:https://www.ikjzd.com/w/1296


原标题:伦纳德准三双哈雷尔19分快船大胜湖人止两连败北京时间4月5日,NBA常规赛继续进行,在凌晨的一场较量中上演了洛杉矶德比战,伤兵满营的湖人从比赛的一开始就进攻停滞整场落后,最终快船104-86大胜湖人结束两连败。湖人队中,哈雷尔19分6篮板2助攻,塔克16分5篮板,小加索尔11分3篮板2助攻,马基夫-莫里斯9分5篮板,库兹马6分7篮板;快船方面,马库斯-莫里斯22分7篮板,伦纳德19分10篮
c-tick认证:https://www.ikjzd.com/w/2074
拍拍:https://www.ikjzd.com/w/2205
oklink:https://www.ikjzd.com/w/1362
想让产品来个华丽丽的转身,这些广告创意策略必须收藏!:https://www.ikjzd.com/home/129926
被丢货、被盗窃!亚马逊上的中国卖家不高兴!:https://www.ikjzd.com/home/18607
老师亲自给我教育 口述晚上老师带我走进她房间看到她的苦:http://lady.shaoqun.com/m/a/269559.html

为总冠军拼了!雄鹿4年1.6亿美元提前续约霍勒迪_拉尼亚

原标题:为总冠军拼了!雄鹿4年1.6亿美元提前续约霍勒迪

北京时间4月5日消息,来自《The Athletic》著名记者萨马斯-查拉尼亚的报道称,消息灵通人士透露,朱-霍勒迪和雄鹿队达成一份为期4年总价值1.6亿美元的顶薪提前续约合同。

消息源称,这份提前续约合同的基础金额是4年1.35亿美元,加上奖励机制,最高可以达到4年1.6亿美元。其中2024-25赛季,也就是提前续约合同第四年,霍勒迪握有球员选项。

根据查拉尼亚得到的线报,自从被交易至密尔沃基后,霍勒迪发现自己在雄鹿队过得很舒适,无论是球队阵容的磨合,还是和教练团队以及管理层都很合拍,这促使他想要长期留在雄鹿队,为总冠军奋斗。

雄鹿队正在追求自1971年以来首个总冠军,现在队中拥有三位顶薪球员,分别是两届常规赛MVP扬尼斯-阿德托昆博、两届全明星克里斯-米德尔顿,以及霍勒迪。

这是霍勒迪签下的第二份顶薪合同。2017年夏天,当时霍勒迪和鹈鹕队签下一份为期5年总价值1.26亿美元的合同。

但对雄鹿队来说,未来三年的薪金空间极有可能被锁死。字母哥+米德尔顿+霍勒迪,这三人21-22赛季薪金总额是1.05亿美元,22-23赛季是1.13亿美元,23-24赛季则是1.21亿美元。

现年30岁的霍勒迪本赛季至今为雄鹿队打了38场球,场均交出17.0分4.6篮板5.4助攻1.8抢断的数据,投篮命中率50.9%。值得一提的是,霍勒迪场均1.8抢断排在联盟第2位。

本赛季至今,联盟一共只有4人场均至少得到16分4篮板5助攻1.5抢断,除了霍勒迪之外,另外3人分别是热火队的吉米-巴特勒、掘金队的尼古拉-约基奇,以及猛龙队的弗雷德-范弗里特。

雄鹿队目前的战绩是32胜17负,排在东部第3位。返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/521741.html

跨境电商:https://www.ikjzd.com/

乐一番:https://www.ikjzd.com/w/1562

prime:https://www.ikjzd.com/w/129


原标题:为总冠军拼了!雄鹿4年1.6亿美元提前续约霍勒迪北京时间4月5日消息,来自《TheAthletic》著名记者萨马斯-查拉尼亚的报道称,消息灵通人士透露,朱-霍勒迪和雄鹿队达成一份为期4年总价值1.6亿美元的顶薪提前续约合同。消息源称,这份提前续约合同的基础金额是4年1.35亿美元,加上奖励机制,最高可以达到4年1.6亿美元。其中2024-25赛季,也就是提前续约合同第四年,霍勒迪握有球员选
anker:https://www.ikjzd.com/w/1027
网络星期一:https://www.ikjzd.com/w/80
aeo:https://www.ikjzd.com/w/2356
老婆让闺蜜裹块浴巾勾引我:http://lady.shaoqun.com/a/271513.html
YouTube新政策将移除假装儿童友好的暴力视频:https://www.ikjzd.com/home/105822
一图看懂:疫情期,海关查验时收发货人免到场的操作:https://www.ikjzd.com/home/115885

2021-04-04

英超-若塔替补双响萨拉赫破门 利物浦3-0阿森纳_禁区

原标题:英超-若塔替补双响萨拉赫破门 利物浦3-0阿森纳

北京时间4月4日凌晨3时,2020-2021赛季英格兰超级联赛第30轮上演一场焦点战役,阿森纳坐镇酋长球场迎战利物浦。上半场双方均无建树,米尔纳错失了一次绝佳的破门良机,蒂尔尼因伤被替换下场。下半场,替补上场的若塔上演梅开二度,萨拉赫也打进一球,最终阿森纳主场0-3不敌利物浦。此役结束后,利物浦暂时升至积分榜第5位,阿森纳继续排名第9。

本场比赛,阿森纳有4员大将因伤缺阵,大卫-路易斯、扎卡、萨卡和史密斯-罗都因伤没有进入大名单,攻击线排出的是奥巴梅扬+厄德高+佩佩的组合,拉卡泽特顶在单箭头,后腰位置上,塞瓦略斯搭档托马斯,右后卫首发的是钱伯斯,贝莱林、马丁内利等球员替补席待命;利物浦方面,菲尔米诺伤愈复出,红箭三侠悉数首发,老将米尔纳也获得首发机会,维纳尔杜姆和若塔替补席待命。

第11分钟,菲尔米诺禁区右侧送出挑传,霍尔丁头球解围,禁区外围蒂亚戈将球争抢下来,米尔纳在弧顶迎球摆腿扫射,球偏出了底线。第14分钟,菲尔米诺禁区左侧下底倒三角回敲,奥巴梅扬回撤到禁区前沿解围没踢远,法比尼奥得球后起脚远射,球稍稍偏出了立柱。第22分钟,拉卡泽特在后场左边路拼抢时被纳特-菲利普斯的手臂击打中脸部,拉卡泽特痛苦倒地,眉角的位置鲜血直流,经过队医的包扎后,拉卡泽特重新回到比赛。

第27分钟,米尔纳禁区右侧送出挑传,马内中路头球攻门,角度太正,球被门将莱诺没收。第30分钟,菲尔米诺前场左路得球,推进到禁区前沿,随后晃开回追的阿森纳球员,再起脚低射打偏。第33分钟,蒂尔尼前场左路送出直塞,奥巴梅扬前插到禁区左侧底线前拿球,随后扣过利物浦球员再高空球横传到门前,佩佩包抄到后点小角度头球攻门,球被门将阿利森没收。

第35分钟,塞瓦略斯后场左边路出球失误,阿诺德断球后突进到禁区右侧,随后倒三角回敲,米尔纳禁区中路无人盯防的情况下迎球推射,球擦着立柱出了底线。第44分钟,蒂尔尼后场左边路拼抢时受伤倒地,经过队医的简单治疗后,蒂尔尼无法坚持比赛,塞德里克替补登场换下蒂尔尼。半场战罢,阿森纳暂0-0利物浦。

下半场易边再战。第52分钟,阿诺德前场右边路低平球横传到禁区内,萨拉赫中路得球后顺势推射,球被阿森纳球员封堵。第57分钟,埃尔内尼替补登场换下塞瓦略斯。第61分钟,若塔替补登场换下罗伯逊。第61分钟,奥巴梅扬前场左路得球,扣过防守球员后再回敲给跟进的塞德里克,塞德里克带球趟入禁区内,跑动中起脚兜射,角度太正,球被门将阿利森没收。

第64分钟,阿诺德前场右路高空球横传到禁区内,若塔后点头球攻门,门将莱诺将球扑了一下,但还是无法阻止皮球入网,利物浦1-0领先。

第68分钟,法比尼奥中场送出长传到禁区右侧,加布里埃尔回追倒地铲抢,萨拉赫迅速跟进将球拦截下来,随后带球趟了两步,面对门将莱诺,萨拉赫小角度低射破门,2-0。

第74分钟,菲尔米诺中场左路挑传到禁区内,萨拉赫迅速前插起脚抽射,球被门将莱诺扑出,随后莱诺再将球没收。第77分钟,阿森纳和利物浦都做出换人调整,马丁内利替补登场换下奥巴梅扬,维尔纳杜姆替补登场换下菲尔米诺。

第82分钟,加布里埃尔禁区内斜传给左边路的塞德里克,但是加布里埃尔没有传到位,球被利物浦球员抢断,萨拉赫禁区边缘送出斜塞,马内禁区中路在阿森纳球员的压迫下领球转身,随后若塔跟进爆射破门,3-0。

第90+2分钟,阿诺德开出右路任意球至禁区内,马内包抄到门前头球冲顶,但是没有够到皮球,球滑门而过出了底线。全场比赛结束,阿森纳0-3利物浦。

双方出场阵容:

阿森纳(4-2-3-1):1-莱诺/21-钱伯斯、16-霍尔丁、6-加布里埃尔、3-蒂尔尼(17-塞德里克 45')/18-托马斯、8-塞瓦略斯(25-埃尔内尼 58')/19-尼古拉斯-佩佩、11-厄德高、14-奥巴梅扬(35-马丁内利 77')/9-拉卡泽特

利物浦(4-3-3):1-阿利森/66-阿诺德、47-纳特-菲利普斯、19-卡巴克(46-威廉姆斯 84')、26-罗伯逊(20-若塔 61')/6-蒂亚戈、3-法比尼奥、7-米尔纳/11-萨拉赫、9-菲尔米诺(5-维纳尔杜姆 77')、10-马内

双方技术统计:

返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/520746.html

跨境电商:https://www.ikjzd.com/

打折网站:https://www.ikjzd.com/w/74

bsci 认证:https://www.ikjzd.com/w/2339


原标题:英超-若塔替补双响萨拉赫破门利物浦3-0阿森纳北京时间4月4日凌晨3时,2020-2021赛季英格兰超级联赛第30轮上演一场焦点战役,阿森纳坐镇酋长球场迎战利物浦。上半场双方均无建树,米尔纳错失了一次绝佳的破门良机,蒂尔尼因伤被替换下场。下半场,替补上场的若塔上演梅开二度,萨拉赫也打进一球,最终阿森纳主场0-3不敌利物浦。此役结束后,利物浦暂时升至积分榜第5位,阿森纳继续排名第9。本场比赛
跨境通网站:https://www.ikjzd.com/w/1329
深诺互动:https://www.ikjzd.com/w/2746
etoro:https://www.ikjzd.com/w/1402
口述:我未婚先孕被小姑子骂成荡妇:http://lady.shaoqun.com/m/a/17146.html
女人穿裙子无内裤 口述曾经在床上疯狂的那个她:http://lady.shaoqun.com/m/a/273993.html
老公和小三同居快活两年没碰我:http://lady.shaoqun.com/a/270747.html

2021-04-03

Lancet Public Health:妈妈孕前心理社会危险因素影响孩子

核心提示:怀孕前20周的社会心理危险因素与低出生体重、早产及产后出院12个月期间受伤和死亡的风险大大增加有关。

孕妇的心理社会因素如得不到解决,可能对母亲及其婴儿的妊娠结局产生不利影响。国家健康和护理卓越研究所的指南建议,应在怀孕期间确定有"复杂社会风险因素"的妇女,以便提供额外的支持。这些指南认识到,易受伤害的妇女往往同时经历一系列社会风险因素,并强调年轻母亲(20岁以下)、滥用药物的妇女和遭受家庭暴力的妇女的具体需求。

现有的评估母体危险因素与婴儿结局(如出生体重、受伤入院和死亡率)之间关系的研究大多集中在单一危险因素上。Katie Harron等进行了相关研究,该研究的目的是确定常规记录的孕妇的心理社会特征,这些孕妇最有可能出现不良的婴儿结局,在怀孕前、怀孕期间和怀孕后就健康和社会支持的早期目标向临床和政治决策提供信息。研究成果发表在Lancet Public Health杂志。


该研究使用医院统计数据(Hospital Episode Statistics)为英国15-44岁、2010年4月1日或之后分娩、2015年3月31日之前或之后出院的所有母亲的分娩创建了一个队列。使用广义线性模型来评估怀孕20周前2年医院记录中记录的心理社会危险因素(例如,少女为人母、被剥夺、孕前因精神健康或行为状况入院,以及孕前因药物或酒精滥用、暴力和自残等逆境入院)与婴儿结局(即出生体重、意外入院受伤或出生后12个月内因任何原因死亡)之间的关系(例如,出生体重、意外入院受伤或因任何原因死亡,从出生后出院起12个月内),使用了广义线性模型来评估这些因素与婴儿结局(即出生体重、意外入院受伤或因任何原因死亡,出院后12个月内)之间的关系。


在最初评估的2520501个新生儿中,有2137103符合条件,并纳入了出生结局分析。在符合条件的新生儿中,青少年母亲(<20岁)所生婴儿93279例(4.4%),既往青少年母亲所生婴儿168186(7.9%),有精神疾病或行为问题住院史母亲所生婴儿51312例(2.4%),有不良住院史母亲所生婴儿58107例(2.7%),居住在高度贫困地区的母亲所生婴儿580631例(27.2%),1377706例(64.5%)出生于无上述危险因素的母亲。有这些危险因素的母亲所生的婴儿比没有这些危险因素的母亲所生的婴儿结局更差。有精神健康或行为状况的母亲所生的孩子比那些没有这些情况的母亲所生的孩子轻124克(95%置信区间114-134克)。与年龄较大的母亲相比,少女母亲所生婴儿意外受伤入院比年长母亲多3.6%(95%CI 3.3~3.9%),每10000婴儿中多死亡10.2例(95%CI 7.5~12.9)。

卫生保健服务应积极应对孕前心理社会风险因素。研究表明,需要在怀孕前、怀孕期间和怀孕后采取有效的干预措施,以减轻下游卫生服务的负担,防止对儿童的长期不良影响。

这项基于人群的队列研究对英国英格兰国家卫生服务医院5年多的200多万对母婴数据进行了检查。这项研究显示,怀孕前20周的社会心理危险因素与低出生体重、早产及产后出院12个月期间受伤和死亡的风险大大增加有关。产妇小于20岁是一个重要的风险因素,但不论产妇年龄如何,怀孕前因吸毒或酗酒、自残或暴力、精神健康或行为状况而住院的产妇也很重要。这些群体可能从怀孕前和怀孕期间的健康和社会干预中受益。了解哪些妇女最易受伤害,以及如何及时查明她们以便进行干预,是有效制订和确定早期保健和社会支助方案的目标的第一步。


原文转载:http://lady.shaoqun.com/a/280383.html

跨境电商:https://www.ikjzd.com/

hts:https://www.ikjzd.com/w/525

败欧洲网站:https://www.ikjzd.com/w/1555


核心提示:怀孕前20周的社会心理危险因素与低出生体重、早产及产后出院12个月期间受伤和死亡的风险大大增加有关。 孕妇的心理社会因素如得不到解决,可能对母亲及其婴儿的妊娠结局产生不利影响。国家健康和护理卓越研究所的指南建议,应在怀孕期间确定有"复杂社会风险因素"的妇女,以便提供额外的支持。这些指南认识到,易受伤害的妇女往往同时经历一系列社会风险因素,并强调年轻母亲(20岁以下)、滥用药物的妇女和遭受
亚马逊 海外购:https://www.ikjzd.com/w/998
华翰物流:https://www.ikjzd.com/w/1799
reverb:https://www.ikjzd.com/w/1273
网友原创:你曾让我如此心动:http://lady.shaoqun.com/a/273241.html
prime day将至,亚马逊卖家应如何抓住老客户?:https://www.ikjzd.com/home/2266
别动,等下会流出来 与饥渴少妇之间的疯狂趣事:http://lady.shaoqun.com/m/a/274492.html

太忙,没时间锻炼?送你一份懒人锻炼宝典

核心提示:工作节奏快,让很多人失去了自己的时间,胖子也没有机会减肥,怎么办?

没时间锻炼怎么办,别担心,看了今天的文章相信你不会在担心自己的时间问题了。



上下班途中燃烧热量

如果你工作的地点就在家附近,那么可从走路或是骑脚踏车上下班。虽然看上去不多,但实际上,一个体重60公斤的女士,轻快的走20分钟,以每小时5公里的速度计算,能消耗掉67卡路里,非匀速的同样的时间里,大约每20公里的速度,可消耗掉144大卡。如果每天这么来回的走一次,每周5次,加在一起可以燃烧掉600-1400卡路里的热量。

工作过程中

坐着工作的时候,背部不要靠着椅子靠背。累了就伸个懒腰,往前压压腿。坐着,双腿屈膝,用两手抱着大腿并抬起,对腹部肌肉施压。工作期间做些减肥动作,能及时消耗积聚,每天坚持,身材就能不发胖了。


保持标准的站姿与坐姿

人的站姿和坐姿对于塑造苗条的身材曲线是至关重要的。标准的站姿就是让两腿自然地并拢在一起,上身保持着挺直、抬头挺胸的姿势,两肩也要相应地放松,让手臂自然地垂直。在走路的时候,要注意收紧腹部的肌肉。

此外,在坐着的时候,最好就是只坐椅子的三分之二,上半身也要保持着挺直收腹,让腹部的肌肉不断地收紧来达到减肚子的功效。最重要的是,千万不要跷二郎腿或让双腿随意地伸开。

没工夫吃零食

和老板开一上午的会,然后狂奔穿越整个城市去见客户,回到办公室后,赶在deadline之前完成所有的报告文件后,再与本部门的同事进行另一个会议,你简直就是一个勤劳的小蜜蜂,谁还会有时间去吃所谓的零食呢?因此忙碌的日程,可让你没时间去想念休息室里的零食。


少在外面吃饭


中午如果你的午餐是在公司解决的话,那么告诉你外面饭馆的菜肯定是比自己家做的更油腻,也就意味着含有更多的热量和脂肪。你可以考虑自己从家里带饭菜,或是留意你上班的附近有没有提供低脂饭菜的餐馆。

多喝水少摄入卡路里

可再利用水杯和纯净水随处可见。纯净水当然意味着没有热量。选择纯净不而不是果汁或是软饮,不仅可省去几百卡路里的热量,还能让你感到饱意,这样你会吃的更少。


原文转载:http://lady.shaoqun.com/a/280378.html

跨境电商:https://www.ikjzd.com/

costco:https://www.ikjzd.com/w/1680

赛兔:https://www.ikjzd.com/w/2375


核心提示:工作节奏快,让很多人失去了自己的时间,胖子也没有机会减肥,怎么办? 没时间锻炼怎么办,别担心,看了今天的文章相信你不会在担心自己的时间问题了。上下班途中燃烧热量如果你工作的地点就在家附近,那么可从走路或是骑脚踏车上下班。虽然看上去不多,但实际上,一个体重60公斤的女士,轻快的走20分钟,以每小时5公里的速度计算,能消耗掉67卡路里,非匀速的同样的时间里,大约每20公里的速度,可消耗掉14
海带宝:https://www.ikjzd.com/w/1548
terapeak:https://www.ikjzd.com/w/556
ensogo:https://www.ikjzd.com/w/1485
17岁女儿竟当我的面和男友做爱:http://lady.shaoqun.com/m/a/273161.html
321电商早报0404丨个人入境物品邮税4月9日开始降低:https://www.ikjzd.com/home/21093
无意撞破老公找小姐全程:http://lady.shaoqun.com/a/273226.html

2021-04-02

如何查找亚马逊热销产品?4种方法你用过吗

我们都知道,亚马逊是全球最大的电商平台,平台上的产品种类可谓数不胜数,竞争也是十分的激烈。但是真正能够获得消费者青睐的产品并不多。所以,一款好的产品就足以为卖家带来源源不断的订单。因此,"三分运营,七分选品"的箴言也被亚马逊卖家们广为传之。

选品这项任务对卖家的销售业务来说至关重要,而如何寻找或打造一款热销产品,也令卖家头疼不已。一般来说,大家都会通过亚马逊销量排行榜来做选品参考。那么亚马逊销量排行榜怎么看呢?作为卖家如何寻找热销产品呢?

在本文中,酷鸟卖家助手将介绍一些帮助卖家快速找到亚马逊热销产品的方法。

1、Amazon Best Sellers

Amazon Best Sellers是亚马逊平台自带的畅销产品数据库,就亚马逊上产品在自己类目下的销售排名。换句话话,是为亚马逊卖家提供完整的各个类别产品的畅销排行榜。Amazon Best Sellers可以在选品上给卖家们提供一些灵感,看看最近市场上销量排行靠前的产品都有哪些。亚马逊会根据产品的实时销售情况和历史的销售情况来进行排名,一个小时就会更新一次。

除了探索各种类别的畅销产品之外,Amazon Best Sellers还提供了畅销新品和被收藏多产品的数据库,为卖家选品提供深入见解。

2、利用Google Trends工具

如果你想要寻找亚马逊热销产品,但从你选择的一堆产品中你无法判断某款产品是否有市场,是否有市场,能否带来销量。那么,你可以在Google Trends上搜索一下该产品的热销程度和趋势走向。

Google Trends 是个免费的工具,不见能够显示产品的搜索量,还能查看某款产品的销售趋势,和关键词在一款时间里的相对受欢迎的程度。例如:当你用Google Trends 搜索"Chromebook"一词,会显示该词首次搜索出现在2010年下半年,随着越来越多的用户搜索该词,其搜索量也不断增加。

3、选品组合分析法

当然,对于想要通过这些榜单来帮助自己选品的卖家来说,销量排行榜很多时候并不意味着它在未来就一定能够好卖。所以,想要打造热销产品还可以产品组合的思维来选品,即在建立产品线的时候,规划20%的核心产品,10%的爆款产品,70%的常态产品,相互配合,以谋取更多流量和利润。

4、差评数据分析法

差评数据分析法是通过抓取平台上热卖产品的差评数据为基础,经过对差评内容的分析,找出客户对产品不满意的地方,然后进行产品的改良或者选择能够解决用户痛点的产品。

差评数据分析法来寻找热销产品的重点在于抓取差评数据,同时也注重分析商品的好评数据,分析出客户真正的需求点和期望值。选择能满足客户痛点的产品,产品自然就容易获得更多的曝光,销量也能迅速做起来,从而打造爆款产品。

亚马逊销量排行榜怎么看呢?其实大家可以通过Amazon Best Sellers热销排行榜来看,而寻找热销产品的方法也有很多种,以上分享的几种寻找亚马逊热销产品的方法仅供参考。



来源:邦阅网


文章来源:https://www.ikjzd.com/home/143747

跨境电商:https://www.ikjzd.com/

手机trademanager:https://www.ikjzd.com/w/730

bsci:https://www.ikjzd.com/w/2339

亚马逊应用商店:https://www.ikjzd.com/w/531

如何查找亚马逊热销产品?4种方法你用过吗

我们都知道,亚马逊是全球最大的电商平台,平台上的产品种类可谓数不胜数,竞争也是十分的激烈。但是真正能够获得消费者青睐的产品并不多。所以,一款好的产品就足以为卖家带来源源不断的订单。因此,"三分运营,七分选品"的箴言也被亚马逊卖家们广为传之。

青春期的女孩子竟然出现月经不调?真正的原因是这些

青春期是人生发育成熟的特殊时期,特别是对女孩子来说,身体的各个方面都有很大的变化,在这些变化中,最重要的是月经的到来。月经的到来是女孩子面向女性的重要标志,但是很多女孩子由于生活环境的变化和体质的原因月经不调,青春期月经不调是怎么回事,现在就详细介绍。

青春期月经不调发生了什么

一、青春期月经不调发生了什么

1、青春期,丘脑下部-垂体-卵巢轴的神经内分泌调节功能尚未完全成熟,月经不调。卵巢卵泡成熟但不排卵,卵巢发育完成,功能健全,卵子每月成熟,成熟后排出,月经按月按时来潮。

2、子宫内膜对性激素的周期性反应存在个体差异,青春期的生理、心理状态会影响性激素的释放,改变正常的月经周期节律。

3、青春期女性生活、工作变化大也会导致月经不调。一般来说,环境变化、过度运动、情绪波动或考试、移居、营养等生活变化都会影响月经周期的长短和经血排出量。

二、青春期月经注意事项

1、个人卫生内衣柔软,棉质,通风性能好,勤奋更换,更换的内衣在阳光下晒干

2、尽量不要吃生冷、辣刺激的食物。

3、做好心理调节

放松心情,不要有太大的心理压力,青春期出现月经不规律是比较正常的现象,不是特别严重的大事,只要适当调理,很快就会恢复,精神上不要太紧张,不要有太大的心理负担。

4、饮食烹饪

不要故意减肥或吃得太多。要注意多吃促进红细胞生长、增强免疫力的食物,如动物肝脏、骨汤、瘦肉、海带、虾皮、绿叶蔬菜等,蔬菜、水果、全谷类全麦面包、粗米、燕麦等食物含有很多纤维,可以促进动情激素的排出,增加血中镁的含量,有调节月经和镇定神经的作用。


原文转载:http://lady.shaoqun.com/a/277378.html

跨境电商:https://www.ikjzd.com/

zappos:https://www.ikjzd.com/w/330

海豚村:https://www.ikjzd.com/w/1779


青春期是人生发育成熟的特殊时期,特别是对女孩子来说,身体的各个方面都有很大的变化,在这些变化中,最重要的是月经的到来。月经的到来是女孩子面向女性的重要标志,但是很多女孩子由于生活环境的变化和体质的原因月经不调,青春期月经不调是怎么回事,现在就详细介绍。青春期月经不调发生了什么一、青春期月经不调发生了什么1、青春期,丘脑下部-垂体-卵巢轴的神经内分泌调节功能尚未完全成熟,月经不调。卵巢卵泡成熟但不排
catch:https://www.ikjzd.com/w/832
noon:https://www.ikjzd.com/w/259
败欧洲运费:https://www.ikjzd.com/w/1555
口述:我强迫出轨老公和我上床:http://lady.shaoqun.com/m/a/107948.html
NEGG被爆侵权,涉及亚马逊、速卖通、wish等多个平台!:https://www.ikjzd.com/home/4159
我和小三偷情上瘾频繁车震:http://www.30bags.com/m/a/251624.html

库里36+11巴特勒22分 热火6人上双擒勇士3连胜_维金斯

原标题:库里36+11巴特勒22分 热火6人上双擒勇士3连胜

北京时间4月2日,NBA常规赛继续激战,其中迈阿密热火以116-109击败了金州勇士,迎来了3连胜。库里36分11篮板3助攻,维金斯23分,而热火队6人得分上双,巴特勒22分6篮板8助攻。

四节比分(勇士队在前):24-23、30-36、27-27、28-30。

此役是奥拉迪波加盟热火队的首秀,不过后卫德拉季奇缺阵。开场后,罗宾逊和阿里扎连中3分,热火队一波10-2的小高潮开局,其中阿里扎得到了5分。库里斯4次投篮全部打铁,幸好维金斯贡献了5分,不过罗宾逊连得4分之后,热火队还是将分差扩大为10分以上。首节还剩5分30秒,热火队的进攻突然陷入僵局,球队只有1次运动战得分,贝兹莫尔和格林连续内线单打,维金斯再中3分,他单节砍下了8分,库里造犯规后3罚全中。勇士队第一节反而以24-23反超1分。

第二节,阿德巴约扣篮,勇士队普尔连中两个三分。先后3次战平后,勇士队换上全部主力,维金斯投中3个三分,他半场轰下了18分,5记三分平生涯半场纪录。库里突破上篮结束个人运动战得分荒。不过,铁血老将巴特勒先是急停投篮,之后再中3分,再加上希罗的打四分,热火队凭借着一波9-0的小高潮将分差扩大。尽管格林打成2+1,库里也投中第一记三分球,但勇士队半场结束还是以54-59落后。

第三节,库里突破得分,罗宾逊回敬两分后,格林命中3分,他率领勇士队打出一波9-0的小高潮打停热火队。暂停后,巴特勒连得4分,库里面对奥拉迪波时打成2+1,同时造成"奥迪"个人第四犯。巴特勒扣篮,罗宾逊和阿里扎连中3分,格林和维金斯内线扣篮,两队比分交替领先。希罗联手巴特勒打出一波9-0的小高潮,瞬间将分差扩大为10分以上。幸好库里和贝兹莫尔连续杀伤内线罚球,三节结束,勇士队将比分追至81-86。

最后一节,替补普尔投中3分,但阿德巴约空切扣篮,伊戈达拉三分投中,热火队又是一波10-0的小高潮,将比分改写为98-86。暂停后,鲁尼受伤退场,格林勾手命中,库里投中3分,但是别利差马上回敬3分,而伊戈达拉的三分命中则是帮助热火队锁定胜局。最终,迈阿密热火以116-109击败了金州勇士,迎来了3连胜。

勇士首发:库里、乌布雷、维金斯、格林、怀斯曼

热火首发:奥拉迪波、巴特勒、邓罗、阿里扎、阿德巴约

(鸾台)返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/517746.html

跨境电商:https://www.ikjzd.com/

3suisses:https://www.ikjzd.com/w/412

lithium:https://www.ikjzd.com/w/2505


原标题:库里36+11巴特勒22分热火6人上双擒勇士3连胜北京时间4月2日,NBA常规赛继续激战,其中迈阿密热火以116-109击败了金州勇士,迎来了3连胜。库里36分11篮板3助攻,维金斯23分,而热火队6人得分上双,巴特勒22分6篮板8助攻。四节比分(勇士队在前):24-23、30-36、27-27、28-30。此役是奥拉迪波加盟热火队的首秀,不过后卫德拉季奇缺阵。开场后,罗宾逊和阿里扎连中3
costco:https://www.ikjzd.com/w/1680
auditor:https://www.ikjzd.com/w/2437
笨鸟转运:https://www.ikjzd.com/w/1550
外贸人需警惕的4大外贸骗局!:https://www.ikjzd.com/home/103439
老公和我离婚后 被小三折磨到暴瘦:http://www.30bags.com/m/a/252323.html
国内电商市场饱和,转战跨境电商新手如何提升,从哪下手更稳当?:https://www.ikjzd.com/home/132284

男性在妻子怀孕期间最易出轨?男性出轨的原因

许多调查显示,男人在妻子怀孕期间容易出轨。因此,在很多专家看来,妊娠期是婚姻的危险期,所以当你沉浸在生命的幸福中时,他可能会发生微妙的变化。

和孩子争妻子

男性习惯以自己为中心,喜欢家人围着自己,希望家人满足自己的一切要求。总之,男性们从出生的第一天开始,比女孩子更有占有欲。

所以长大后,男人们似乎很强壮,但在家庭生活中,他有时会像个不长大的孩子。他想把童年享受的荣誉和特权延伸到家庭生活中。例如,尽量过饭开口,衣服伸手的生活。其实在刚开始结婚的时候,这一切他都能如愿以偿,大部分的老婆都会因为爱情和对婚姻生活的激情,照顾好自己的老公。

但是,当妻子怀孕时,所有的特权都被剥夺了。小命如今占据了女人的全部身心,由于强大的母性,女人把精力放在了即将出生的宝宝身上,可能会忽略丈夫。

每天看着妻子听胎教音乐,准备婴儿尿布,男人们怎么想?一方面,他们享受着即将成为父亲的喜悦,另一方面,他们不会嫉妒和失落地看着妻子的表现。他嫉妒你成为母亲的幸福。因为他体验不到这种幸福,同时失去了在妻子心中地位。

性焦虑

怀孕后,听从专家们的建议,自觉中止或减少性生活的次数。即使不是出于安全性的考虑,在这个时期,对性生活的欲望自然会减少。因为身心充满了母亲的喜悦,所以你的注意力被那个未来的小生命所牵扯。

但是,男性不同。科学考试表明,男人每6分钟就会产生一次性幻想。如果有很长一段时间,没有性生活,他每天看着接近眼前却碰不到的你。此时,如果有美女暗送秋波,或者几个好朋友邀请他去风月的地方散心的话,他性外遇的可能性大幅度增加。之后,他会后悔自己的行为,讨厌自己的行为。男性的欲望有时不合理地支配——这是很多外遇最直接的原因。


原文转载:http://lady.shaoqun.com/a/277366.html

跨境电商:https://www.ikjzd.com/

母婴团购网:https://www.ikjzd.com/w/716

aca:https://www.ikjzd.com/w/1371


许多调查显示,男人在妻子怀孕期间容易出轨。因此,在很多专家看来,妊娠期是婚姻的危险期,所以当你沉浸在生命的幸福中时,他可能会发生微妙的变化。和孩子争妻子男性习惯以自己为中心,喜欢家人围着自己,希望家人满足自己的一切要求。总之,男性们从出生的第一天开始,比女孩子更有占有欲。所以长大后,男人们似乎很强壮,但在家庭生活中,他有时会像个不长大的孩子。他想把童年享受的荣誉和特权延伸到家庭生活中。例如,尽量过
e邮包:https://www.ikjzd.com/w/594.html?source=tagwish
dmm杂志:https://www.ikjzd.com/w/2026
cicpa考试:https://www.ikjzd.com/w/1375
Amy跨境:墨西哥市场的电商发展机会:https://www.ikjzd.com/home/124146
提升性欲有另类方法:http://lady.shaoqun.com/m/a/268651.html
口述:我们 死了都要爱(4/4):http://lady.shaoqun.com/m/a/45736.html

夫妻性爱经历诉说,和老公玩偷情游戏获得高潮

夫妻性爱生活:先生是房地产公司的副社长,我管理着近百名员工的酒店。几年前,由于工作压力太大,当我们在一起时,我经常不能全身心地投入,老师也经常感到不舒服。经过几次尴尬,随着岁月的流逝,人体的功能退化,夫妻的事情也许不能和以前相比,有意淡化这件事,专心于事业。后来,为了不影响对方的休息,我们只是分室住。现在事业稳定,孩子们考上了大学,我们也可以抽出时间去祖国名山大川看看。我们这个外人看起来完美的家人羡慕多少人,但我总觉得生活中缺少了美丽和美丽的东西。

山重水无路,柳暗花明又一村。我以为人生的旅行已经过了一半,性事就像童年的游戏一样从心底忘记了。没想到,无意中打开曲径通幽的门,通过这扇门,我看到了另一个魅力的风景。那种几乎消失的欲望突然被激活,从那以后,我和老师总是故意安排外出活动,有时坐同一辆车,有时各自开车从不同的路线到哪里。这样,在山顶的洞底、湖滨河畔甚至茂密的丛林中,我们留下了偷情的痕迹……

在过去几十年公式化的夫妇生活中,我们依靠原本的本能和想象,在黑暗中相信马从缰绳,在性事上害羞地说,直到性

烛光摇晃,空气中弥漫着葡萄酒醉人的香味,莫扎特的小夜曲是一首温情脉络的歌曲,老师和我频繁举杯,庆祝我们结婚20周年,庆祝我的45岁生日。没有客人的喧嚣,没有曲意,这种安静的温暖和两人守护的浪漫是我梦想的生活,衷心感谢老师为我们准备的这次烛光晚餐。

晚上已经很深情更浓,我们的车进了庭院,老师拒绝下车,也不让我去。在灯下,他的眼睛闪着灼热的光,两只胳膊看起来很有力。别这样,保姆在看我们啊。我想推开他。老夫妇都老了,怕什么?老师一步也不让步,动作反而更加激烈,我觉得身体会被他的热情融化,所以必须低声说:你在做什么,去房间吧。老师立刻用嘴唇阻止了我。清妹,今天听我的,就在这里!老师醉了,醉得像个天真顽固的孩子,我被他深深感染,心底突然涌起了久违的亲切和感动。


原文转载:http://lady.shaoqun.com/a/277359.html

跨境电商:https://www.ikjzd.com/

贝贝特卖:https://www.ikjzd.com/w/1321

贝恩:https://www.ikjzd.com/w/1336


夫妻性爱生活:先生是房地产公司的副社长,我管理着近百名员工的酒店。几年前,由于工作压力太大,当我们在一起时,我经常不能全身心地投入,老师也经常感到不舒服。经过几次尴尬,随着岁月的流逝,人体的功能退化,夫妻的事情也许不能和以前相比,有意淡化这件事,专心于事业。后来,为了不影响对方的休息,我们只是分室住。现在事业稳定,孩子们考上了大学,我们也可以抽出时间去祖国名山大川看看。我们这个外人看起来完美的家人
敏思达:https://www.ikjzd.com/w/2304
声网agora:https://www.ikjzd.com/w/2176
智邦:https://www.ikjzd.com/w/2376
校花被为所欲为高晓柔 已为人妇的校花被我摁在地上疯狂输出:http://lady.shaoqun.com/m/a/274689.html
获得2300万美元补贴!亚马逊获准在这建设第二总部:https://www.ikjzd.com/home/19299
女同事拒绝做我情人我恨之入骨:http://lady.shaoqun.com/a/270412.html

丈夫荒废了性爱,妻子很无奈,这情况该怎么说出口

结婚第三个月,王心怡怀孕,丈夫程力买了私家车。有了车,程力几乎把所有的业馀时间都花在夜深了,心怡依旧香甜,那头长发,遮住了半张脸,曾经程力总诗意地形容为半壁河山,现在她真的只剩下寂寞的半壁河山,其实她渴望的是与性爱有关的所有边缘的性关怀,丈夫却武断地忽视了这一切。在他看来,女人坐车,男人开车,性也一样,男人不够关怀,女人就不愿意。

将近一年,丈夫几乎荒废了她的情欲。他心里只有他的新恋人——推车。王心总是无能为力地回顾丈夫过去爱时集中的眼睛、汗流浃背的鼻尖、颤抖的双手、呼吸和不正当的无理……日子渐渐空虚,她很悲伤。

有一天晚上,怀着七甲的小王借口自己全身疼痛,要求丈夫为自己按摩,其实她的目的只是让丈夫留在身边。但是老公那一刻手机响了,有个朋友说要他送机场,老公的手还不热,连老婆的领子都放不下,赶紧拿钥匙走。

准备撒娇的妻子,被晾在一边,变傻了,她狠狠地看着丈夫的背影,心里只有一个声音。今后,我不再等待的被动女性!月子结束后,王先生下定决心去学校学车,她支配结婚的方向盘,她不是等待,而是积极出击。虽然遭到老公的极力反对,但经过三个月的艰苦训练,王心怡终于赢得了驾照。

曾经是为了证明自己不仅仅是乘车的人而努力学习驾驶的还是潜意识地为了赢得丈夫的注意,和他一起开车?王心怡之后整理这个心灵之旅时,不知道自己为什么有这么大的决心。生米煮成熟米,丈夫不得不承认这个事实。曾经冷眼旁观,终于成为了事后诸葛亮的批判。你的技术还不成熟,不能一个人开车……

王心怡不相信这个邪恶,她要高兴地说不,第一次一个人开车出去,想散心,想让夜风分享她骄傲的长发和最近的烦恼,在上坡的路上,她偷了车,前灯坏了,没什么大不了,惊魂不定的时候,她看到士尾停了下来


原文转载:http://lady.shaoqun.com/a/277358.html

跨境电商:https://www.ikjzd.com/

一淘比价网:https://www.ikjzd.com/w/1698

ryder:https://www.ikjzd.com/w/1264.html


结婚第三个月,王心怡怀孕,丈夫程力买了私家车。有了车,程力几乎把所有的业馀时间都花在夜深了,心怡依旧香甜,那头长发,遮住了半张脸,曾经程力总诗意地形容为半壁河山,现在她真的只剩下寂寞的半壁河山,其实她渴望的是与性爱有关的所有边缘的性关怀,丈夫却武断地忽视了这一切。在他看来,女人坐车,男人开车,性也一样,男人不够关怀,女人就不愿意。将近一年,丈夫几乎荒废了她的情欲。他心里只有他的新恋人——推车。王心
转运中国:https://www.ikjzd.com/w/1549
跨国采购网:https://www.ikjzd.com/w/2270.html
kili:https://www.ikjzd.com/w/238
应对中邮涨价,Wish提供运费补贴方案详解:https://www.ikjzd.com/home/22003
卖家注意了!11月1日起,在英国投放 Google Ads 将产生新的费用:https://www.ikjzd.com/home/128993
口诉我被两个男人折磨一晚上_口述两个男人玩我好刺激:http://lady.shaoqun.com/m/a/273874.html

性爱害怕私处干燥,让女人私处湿滑细腻的性生活妙招

为了保持女性的私处一直光滑,必须提高夫妻间的性爱质量。女性的私处对男性来说一直是个谜。很多男性希望自己的女朋友有非常光滑的私处。因此,在性爱中可以更加享受。男性在爱的时候需要学习更好的技术。如何使女性私处更加润滑?小编当然有办法。

如何使女性的私处更加润滑

性爱前需要做什么准备性爱是件好事在氛围和氛围的准备中,晚上可以稍微暗一点灯光。卫生准备,双方首先洗澡,特别是女性,女性阴部结构复杂,皱纹多,容易隐藏污垢,洗澡时要注意打开大小的阴唇洗净男性开音乐,在床上等她。

准备大小两条毛巾,大毛巾垫在床上让女性躺下,小毛巾擦汗擦水。床边放一杯水,口渴的时候触手可及,不用往外倒水,女性的感觉会中断很长时间。

掌握女性敏感区域

性爱前,男性必须理解性爱不是一上来就攻击她的隐私,而是从发送其他敏感部分开始,所以必须掌握女性的敏感区域。女性的一些敏感区域:嘴唇、耳珠、耳背、脖子、乳房、小腹、腰等敏感。性爱前要在心里数数。

表达真诚的爱

当男人面对自己的爱人时,要表达自己的爱,即使是性生活时,也不能只做,忘记爱。女人因为爱而发生性关系,即使她是女人,你也只能让她感受到美好的爱,让她投入爱,享受爱的热情。

所以在正式爱情之前,可以先进行一些温柔的爱抚、亲吻,激发她的渴望,将爱与爱结合起来,激发女人的渴望,让她享受性生活的无限快乐。

女性在性生活中,如果能调动各方面的感觉,就能更容易爱的喜悦。首先,男性为了不影响女性的性欲,必须在爱中消除不好的气味。另外,男性可以选择女性喜欢的音乐,使用她喜欢的音乐来帮助。


原文转载:http://lady.shaoqun.com/a/277345.html

跨境电商:https://www.ikjzd.com/

terapeak:https://www.ikjzd.com/w/556

ishare:https://www.ikjzd.com/w/2308


为了保持女性的私处一直光滑,必须提高夫妻间的性爱质量。女性的私处对男性来说一直是个谜。很多男性希望自己的女朋友有非常光滑的私处。因此,在性爱中可以更加享受。男性在爱的时候需要学习更好的技术。如何使女性私处更加润滑?小编当然有办法。如何使女性的私处更加润滑性爱前需要做什么准备性爱是件好事在氛围和氛围的准备中,晚上可以稍微暗一点灯光。卫生准备,双方首先洗澡,特别是女性,女性阴部结构复杂,皱纹多,容易隐
vat:https://www.ikjzd.com/w/109
识货:https://www.ikjzd.com/w/1745
mymall:https://www.ikjzd.com/w/1050
遇到商标纠纷不是只有起诉,这些手段也很有效哦!:https://www.ikjzd.com/home/8983
提到邮件主题,老外竟然列了14条规矩!:https://www.ikjzd.com/home/21222
宠物可伸缩牵引绳类目亚马逊美国站市场调查报告:https://www.ikjzd.com/home/14331

如何跟女儿科普经期知识

就像父母和孩子说话一样尴尬,孩子也不想让父母知道自己的问题和担心。如果你觉得和孩子谈这个问题很奇怪,下面就给大家介绍几个简单的方法。

寻找相关书籍和DVD帮助话题的展开。

将谈话内容与孩子在学校的卫生教育和性教育课程相结合。向孩子的老师征求意见。

通过提问的方法打破僵局。

听到孩子提到月经的话题,询问信息来源,保证孩子接受正确的信息,以免误解。

在孩子接受体检之前,让医生知道有没有来月经的可能性,可以顺便询问担心和疑问。

如果孩子到了适当的年龄,应该给她们带来月经的正确信息。不要敷衍他们的问题,因为这可能是你青春期的问题,现在你会回答他们。

月经的到来是女孩人生的重要时刻。有些女生第一次面对这些液滴时很兴奋,但有些女孩害羞。也许有些母亲觉得放入这样的内容有点早,但是现在很多女孩都认为9岁开始月经,所以母亲们必须早点做好思想准备。

无论她们有什么反应,月经的到来意味着她们开始成为女性。平均来说,大多数女孩在12岁或13岁左右才来月经。但是,如果女儿来月经之前不说明月经是什么的话,就太晚了。

但是,在这个大日子到来之前,应该怎样向女儿介绍月经,给予相关的教育支持呢?什么是月经?

20年代初,女孩通常在14-15岁开始月经。后来,由于不同的原因,包括更好的营养,女孩通常在9-16岁开始月经。但是,月经不仅意味着今后经历生理日,还意味着生理上可以怀孕。月经周期是指从本次经期开始的第一天到下一次经期的第一天。一般来说,成年女性的月经周期是28天,但也有22天或45天是正常的。

通常的生理日持续5天,但不同的人也不同。月经开始的几年,生理日可能会异常,短到3周,长到5周,一年只有3~4次。


原文转载:http://lady.shaoqun.com/a/277338.html

跨境电商:https://www.ikjzd.com/

primc:https://www.ikjzd.com/w/129

华翰物流:https://www.ikjzd.com/w/1799


就像父母和孩子说话一样尴尬,孩子也不想让父母知道自己的问题和担心。如果你觉得和孩子谈这个问题很奇怪,下面就给大家介绍几个简单的方法。寻找相关书籍和DVD帮助话题的展开。将谈话内容与孩子在学校的卫生教育和性教育课程相结合。向孩子的老师征求意见。通过提问的方法打破僵局。听到孩子提到月经的话题,询问信息来源,保证孩子接受正确的信息,以免误解。在孩子接受体检之前,让医生知道有没有来月经的可能性,可以顺便询
锦桥纺织网:https://www.ikjzd.com/w/2469
grab:https://www.ikjzd.com/w/841
myshow:https://www.ikjzd.com/w/2235
亚马逊2019秋冬季欧美日市场爆款选品推荐:https://www.ikjzd.com/home/97195
亚马逊运营设定广告的策略:https://www.ikjzd.com/tl/99888
提升排名三步走:https://www.kjyunke.com/courses/274

西乙-武磊第57分钟替补登场错失单刀 西班牙人4-0_拉夫拉达

原标题:西乙-武磊第57分钟替补登场错失单刀 西班牙人4-0

北京时间4月1日23时,2020-2021赛季西班牙乙级联赛第32轮展开角逐,西班牙人坐镇RCDE球场迎战富恩拉夫拉达。本场比赛,中国球星武磊继续在替补席待命,武磊已经连续16轮联赛无缘首发。上半场,富恩拉夫拉达球员恩特卡禁区内手球犯规被红牌罚下,德托马斯主罚点球命中,随后恩巴尔巴破门,达德尔制造对方球员一记乌龙球,西班牙人半场三球领先。下半场,德托马斯再下一城,武磊在第57分钟替补登场,错失了一次单刀良机。最终西班牙人4-0大胜富恩拉夫拉达,继续排名西乙榜首。

第3分钟,富恩拉夫拉达前场左路获得任意球机会,穆拉主罚直接攻门打偏。第5分钟,西班牙人打出一次快速反击,迪达克中场左路高空球斜传到禁区弧顶,德托马斯前插停球后顺势起脚抽射,球打在迪马塔的身上,经过折射后击中立柱弹出。第10分钟,奥斯卡-希尔带球突破到禁区右侧底线前,再倒三角挑传到门前,德托马斯跟进头球攻门顶高。

第12分钟,恩巴尔巴前场左路横向带球突破到禁区内,随后回敲给禁区前沿的达德尔,达德尔原地摆腿低射打偏。第16分钟,恩巴尔巴开出右路角球至禁区内,德托马斯后点头球攻门,恩特卡在门线上用手将球挡出。主裁判第一时间没有表示,经过VAR核实后,主裁判判罚恩特卡故意手球犯规,判给西班牙人点球,并且出示红牌将恩特卡罚下场。第18分钟,德托马斯主罚点球命中,西班牙人1-0领先。

第29分钟,大卫-洛佩斯中场右路送出直塞,恩巴尔巴反越位前插得球后形成单刀,随后带球推进到禁区右侧小角度抽射破门,2-0。

第33分钟,西班牙人禁区前沿左路获得任意球机会,恩巴尔巴主罚直接攻门,球打在人墙上弹出。第34分钟,卡夫雷拉前场反抢时撞人犯规,领到一张黄牌。第41分钟,达德尔前场右边路拿球,连续摆脱晃开防守球员突破到禁区右侧,随后在底线前低平球横传,富恩拉夫拉达球员普利多解围不慎,将球挡进自家网窝,西班牙人再下一城,3-0。

半场战罢,西班牙人暂3-0富恩拉夫拉达。

下半场易边再战。西班牙人中场休息过后马上做出换人调整,梅里达替补登场换下卡夫雷拉。第46分钟,伊万-萨尔瓦多带球突破到禁区前沿,跑动中起脚抽射,球被门将迭戈-洛佩斯扑出。第48分钟,武磊开始在场边进行热身。第50分钟,德托马斯前场左路倒三角回敲给到禁区前沿的达德尔,达德尔得球后起脚低射,角度太正,球被门将没收。

第55分钟,富恩拉夫拉达在禁区正前沿获得一次任意球机会,西斯主罚直接攻门,球绕过人墙后偏出底线。第57分钟,武磊替补登场换下迪马塔。

第58分钟,达德尔禁区前沿拿球,武磊提前包抄到禁区右侧向队友示意,但是达德尔选择直接攻门,球打在防守球员身上弹出底线。第59分钟,梅里达禁区前沿右路拿球,稍作调整后起脚抽射打高。第65分钟,迪达克前场左路高空球斜传到禁区内,门将出击扑球失误,德托马斯禁区右侧迎球推射破门,4-0。

第68分钟,富恩拉夫拉达中场送出长传到禁区内,卡莱罗解围没踢远,富恩特斯禁区前沿迎球抽射打偏。第73分钟,巴尔加斯替补登场换下梅拉梅德。第75分钟,迪达克前场左路下底高空球横传到禁区内,武磊后点高高跃起头球攻门,球偏出了底线。

第81分钟,巴尔加斯前场右边路高空球斜传到禁区内,武磊迅速前插到中路形成单刀,但是武磊没有将球停稳,球被门将没收,武磊错失了一次绝佳的破门良机。

第90+2分钟,武磊禁区前沿拿球被铲倒在地,主裁判没有任何表示。

全场比赛结束,西班牙人4-0富恩拉夫拉达。

双方出场阵容:

西班牙人(4-4-2):13-迭戈-洛佩斯/27-奥斯卡-希尔、4-卡夫雷拉(8-梅里达 46')、5-卡莱罗、17-迪达克/23-恩巴尔巴(19-巴迪略 57')、15-大卫-洛佩斯、10-达德尔(26-洛萨诺 66')、33-梅拉梅德(22-巴尔加斯 73')/18-迪马塔(7-武磊 57')、11-德托马斯

富恩拉夫拉达(4-2-3-1):13-罗西奇/19-伊里瓦斯(4-索蒂尔洛斯 54')、15-普利多、17-迭格斯、3-克劳德/22-西斯(2-波尔-瓦伦丁 76')、20-富恩特斯/14-平齐(24-哈维-埃斯皮诺萨 27')、10-恩特卡、7-穆拉(6-伊万-萨尔瓦多 46')/28-加尔塞斯(29-达米安-卡塞雷斯 76')返回搜狐,查看更多

责任编辑:

原文转载:http://sport.shaoqun.com/a/517741.html

跨境电商:https://www.ikjzd.com/

心怡科技:https://www.ikjzd.com/w/1327

google趋势:https://www.ikjzd.com/w/397


原标题:西乙-武磊第57分钟替补登场错失单刀西班牙人4-0北京时间4月1日23时,2020-2021赛季西班牙乙级联赛第32轮展开角逐,西班牙人坐镇RCDE球场迎战富恩拉夫拉达。本场比赛,中国球星武磊继续在替补席待命,武磊已经连续16轮联赛无缘首发。上半场,富恩拉夫拉达球员恩特卡禁区内手球犯规被红牌罚下,德托马斯主罚点球命中,随后恩巴尔巴破门,达德尔制造对方球员一记乌龙球,西班牙人半场三球领先。下
环球b2b:https://www.ikjzd.com/w/1762
vincent:https://www.ikjzd.com/w/1642
抢注商标:https://www.ikjzd.com/w/1053
我心疼丑男友 不想拉他的手:http://lady.shaoqun.com/a/272884.html
老公每年过生日都找个女人缠绵:http://www.30bags.com/m/a/251635.html
和火爆妻子玩合租 结果引火自焚:http://lady.shaoqun.com/a/273302.html