2020年5月16日星期六

【iOS面试粮食】Runtime—消息传递和转发机制、Method Swizzling

【iOS面试粮食】Runtime—消息传递和转发机制、Method Swizzling


本文章将记录Objective-C中消息传递和转发机制、Method Swizzling的相关资料,如有错误欢迎指出~

Objective-C 本质上是一种基于 C 语言的领域特定语言。C 语言是一门静态语言,其在编译时决定调用哪个函数。而 Objective-C 则是一门动态语言,其在编译时不能决定最终执行时调用哪个函数(Objective-C 中函数调用称为消息传递)。Objective-C 的这种动态绑定机制正是通过 runtime 这样一个中间层实现的。

消息传递(方法调用)

在 Objective-C 中,消息直到运行时才绑定到方法实现上。编译器会将消息表达式转化为一个消息函数的调用。

OC中的消息表达式如下(方法调用)

id returnValue = [someObject messageName:parameter];

编译器看到这条消息会转换成一条标准的 C 语言函数调用

id returnValue = objc_msgSend(someObject, @selector(messageName:), parameter);

我们可以看到转换中,使用到了objc_msgSend 函数,这个函数将消息接收者和方法名作为主要参数,如下所示:

objc_msgSend(receiver, selector)     // 不带参数objc_msgSend(receiver, selector, arg1, arg2,...) // 带参数

objc_msgSend 通过以下几个步骤实现了动态绑定机制。

  • 首先,获取 selector 指向的方法实现。由于相同的方法可能在不同的类中有着不同的实现,因此根据 receiver 所属的类进行判断。
  • 其次,传递 receiver 对象、方法指定的参数来调用方法实现。
  • 最后,返回方法实现的返回值。

消息传递的关键在于【iOS面试粮食】Runtime—实例对象、类对象、元类对象记录过的 objc_class 结构体,其有两个关键的字段:

  • isa:指向父类的指针
  • methodLists: 类的方法分发表(dispatch table

当创建一个新对象时,先为其分配内存,并初始化其成员变量。其中 isa 指针也会被初始化,让对象可以访问类及类的继承链。

下图所示为消息传递过程的示意图。

 

 
  • 当消息传递给一个对象时,首先从运行时系统缓存 objc_cache 中进行查找。如果找到,则执行。否则,继续执行下面步骤。
  • objc_msgSend 通过对象的 isa 指针获取到类的结构体,然后在方法分发表 methodLists 中查找方法的 selector。如果未找到,将沿着类的 isa 找到其父类,并在父类的分发表 methodLists 中继续查找。
  • 以此类推,一直沿着类的继承链追溯至 NSObject 类。一旦找到 selector,传入相应的参数来执行方法的具体实现,并将该方法加入缓存 objc_cache 。如果最后仍然没有找到 selector,则会进入消息转发流程

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的点击加入群聊iOS交流群:789143298 ,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

 

消息转发

当一个对象能接收一个消息时,会走正常的消息传递流程。当一个对象无法接收某一消息时,会发生什么呢?

  • 默认情况下,如果以 [object message] 的形式调用方法,如果 object 无法响应 message 消息时,编译器会报错。
  • 如果是以 performSeletor: 的形式调用方法,则需要等到运行时才能确定 object 是否能接收 message 消息。如果不能,则程序崩溃。

对于后者,当不确定一个对象是否能接收某个消息时,可以调用 respondsToSelector: 来进行判断。

if ([self respondsToSelector:@selector(method)]) { [self performSelector:@selector(method)];}

事实上,当一个对象无法接收某一消息时,就会启动所谓“消息转发(message forwarding)”机制。通过消息转发机制,我们可以告诉对象如何处理未知的消息。

消息转发机制大致可分为三个步骤:

  • 动态方法解析(Dynamic Method Resolution)
  • 备用接收者
  • 完整消息转发

下图所示为消息转发过程的示意图。

 

动态方法解析

这是整个消息转发流程的第一个阶段,如果在收到无法响应的消息后,会调用所属类的方法:

//实例对象+ (BOOL)resolveInstanceMethod:(SEL)selector//类对象+ (BOOL)resolveClassMethod:(SEL)selector

其中参数selector为未处理的方法。

返回值@return表示能否新增一个方法来处理,一般使用@dynamic属性来实现:

/************** 使用 resolveInstanceMethod 实现 @dynamic 属性 **************/id autoDictionaryGetter(id self, SEL _cmd);void autoDictionarySetter(id self, SEL _cmd, id value);+ (BOOL)resolveInstanceMethod:(SEL)selector{ NSString *selectorString = NSStringFromSelector(selector); if (/* selector is from a @dynamic property */) {  if ([selectorString hasPrefix:@"set"])  {   // 添加 setter 方法   class_addMethod(self, selector, (IMP)autoDictionarySetter, "v@:@");  }  else  {   // 添加 getter 方法   class_addMethod(self, selector, (IMP)autoDictionaryGetter, "@@:");  }  return YES; } return [super resolveInstanceMethod:selector];}

备援接受者

这是整个消息转发机制的第二站,看名字就可以看出来,这是在寻找一个备用援救的接受者,到了这一阶段,系统会调用这个方法:

- (id)forwardingTargetForSelector:(SEL)aSelector;

传入参数aSelector同样为无法处理的方法。

返回值为当前找到的备援接受者,如果没有则返回nil,进入下一阶段。

完整的消息转发机制

如果前两个阶段都没有办法处理消息,就会启动完整的消息转发机制。

首先会创建NSInvocation对象,把尚未处理的那条消息的全部信息细节装在里边,在触发NSInvocation对象时,系统派发系统(message-dispatch system)将会把消息指派给目标对象。这时会调用该方法:

- (void)forwardInvocation:(NSInvocation *)anInvocation;

传入的参数anInvocation就包含了消息的所有内容。

如果此时还是没办法处理消息,就会沿着继承的顺序一步一步向父类调用相同的方法,直到最后的NSObject类中,这时候如果还没有办法处理消息,就会调用doesNotRecognizeSelector:抛出异常。

到此为止,消息转发的整个流程就都结束了。

Method Swizzling

谈到黑科技,就不得不提一下Objective-C 中的 Method Swizzling 技术,它可以允许我们动态地替换方法的实现,实现 Hook 功能,是一种比子类化更加灵活的“重写”方法的方式。就是说在开发中,我们可能会遇到系统提供的 API 不能满足实际需求,我们希望能够修改它以达到期望的效果。

Method Swizzling 原理

Method Swizzling 的实现充分利用了动态绑定机制。

在 Objective-C 中调用方法,其实是向一个对象发送消息,而查找消息的唯一依据是方法名 selector。每个类都有一个方法列表 objc_method_list,存放着其所有的方法 objc_method

typedef struct objc_method *Methodstruct objc_method{ SEL method_name  OBJC2_UNAVAILABLE; // 方法名 char *method_types OBJC2_UNAVAILABLE; IMP method_imp  OBJC2_UNAVAILABLE; // 方法实现}

每个方法 objc_method 保存了方法名(SEL)和方法实现(IMP)的映射关系。Method Swizzling 其实就是重置了 SEL 和 IMP 的映射关系。如下图所示:

 

推荐👇:

  • 020 持续更新,精品小圈子每日都有新内容,干货浓度极高。

  • 结实人脉、讨论技术 你想要的这里都有!

  • 抢先入群,跑赢同龄人!(入群无需任何费用)

  • (直接搜索群号:789143298,快速入群)
  • 点击此处,与iOS开发大牛一起交流学习

申请即送:

  • BAT大厂面试题、独家面试工具包,

  • 资料免费领取,包括 数据结构、底层进阶、图形视觉、音视频、架构设计、逆向安防、RxSwift、flutter,

     

吸金100亿美元!东南亚到底有多诱人?

吸金100亿美元!东南亚到底有多诱人?

2020,中国互联网进入下半场,主要赛道被头号玩家攻下,许多产业除了细分玩法也稍显拥挤。"出海"成为了高频词汇,许多创投者的目光落在了我们的近邻东南亚上。

近几年东南亚凭着快速的经济发展,涌现出不少优秀的创企,主要领域集中在电商、金融、企业服务等。

2366.png

据不完全统计,去年东南亚共发生309起投融资事件,有披露的金额总计74.74亿美元。其中出行占比最高(39.78%)达到29.73亿美元,金融科技也十分热门,76起投融资事件总额12.48亿美元。

1、东南亚有多诱人?

经济上行发展快:GDP超6%

疫情前东南亚主要国家的GDP增速维持在6.6%到7.3%之间。新起之秀越南连续两年GDP增速超过7%,连续5年GDP增速超过6%。

像是新加坡、文莱、马来西亚等国更是富裕,新加坡2019年的人均GDP高达6.77万美元,是亚洲人均GDP最高的国家,文莱人均GDP达到了2.93万美元。

2367.png

当然受新冠疫情影响,东南亚各国GDP都会遇到可预见的影响。

2020年第一季度越南GDP同比实际增速为3.82%,印尼的经济实际增速为4.7%,总体来看受疫情影响并不大,经济可以更快反弹。

人口多又年轻:60%35岁以下

东南亚人口规模大约6.7亿,相当于世界总人口的8.59%,平均年龄为28.8岁,预计到2020年,东南亚的年轻人会达到60%。

被称为"年轻的中国",这一人口红利昭示着互联网行业的巨大潜能??

2368.png

互联网移动化:网民超3亿

东南亚有3.6亿网络用户,APJII的数据显示在过去2年内这一数字增长了20%。

而年轻用户也高度依赖社交媒体,拥有3亿左右的活跃社交媒体用户,近半数东南亚用户习惯使用Facebook获取资讯。

2369.png

在设备使用上也呈现移动端主导的趋势,东南亚的电商流量超7成来自移动端,并且仍在持续增长。

这一世界上最活跃、人口结构最年轻的移动互联网用户群体将会创造更多的互联网经济价值,根据谷歌、淡马锡和贝恩联合发布的《2019年东南亚数字经济报告》预测,到2025年,东南亚互联网经济价值预计将超过2400亿美元。

2、超级App王牌对王牌

这两年来随着中国创企的成功,"copy to China"经历着向"copy from China"的转变。

"按需经济"、"共享经济","零工经济"开始流行,解决东南亚特有的出行上面临的拥挤、路况不通、人身安全等难题成为破局的方法。

在这个过程中开启用户使用移动端的习惯,出行、外卖成为了高频次使用场景,一跃成为消费者离不开的"超级app"。

Gojek VS Grab:神仙打架相爱相杀

2010年成立于雅加达的GoJek,起初只是一个网约车业务的提供商,这些年来不断增加了许多按需服务。

包括食品生鲜外卖、数字支付、甚至还有上门按摩、流媒体娱乐等服务,颇具"滴滴+美团+蚂蚁"的风范??

2370.png

就在疫情3月份许多投资人对科创信心大减时刻,Gojek逆势完成了F轮12亿美元的融资,虽未披露投资方,但有消息称Amazon此前表示想成为它的新金主。

成立以来,Gojek已完成10多次融资,此次融资前估值为100亿美元,最新一轮后总融资为30亿美元,腾讯、谷歌、Visa、京东等公司都有所参投。

而它的主要竞争者总部位于新加坡的Grab,以相似的"包罗万象"的定位,在近年来也有着比较亮眼的表现。

2012年成立以来已完成近20次融资,背后有GGV、软银、老虎环球基金、高瓴资本、中投、平安资本等明星资本,和滴滴、去哪儿等中国企业的加持,就在今年2月刚刚完成了8.5亿美元的融资,估值140亿美元。

Grab起初也只是有着简单的打车服务

2371.png

但面对着网约车似乎无法盈利的困境,Grab也将筹码放在了外卖业务上。

2016年开始外卖业务,18年收购了Uber东南亚地区的业务后开启"开挂"模式。19年6月数据显示,Grab餐饮外卖业务的GMV同比增长了900%,订单数增长了7倍。

Gojek和Grab两家公司从没避讳过公开竞争,可以说是相爱相杀。

不但都以"超级app"为目标不断开辟新业务,在融资上步步相追,在市场上也采取强势扩张的策略,对越南和泰国等市场推出本地化应用。

3、民以食为天外卖之争

目前东南亚地区的餐饮外卖市场还处于早期阶段,但却有着巨大的潜力。

市场规模预计将从2018年的20亿美元增长到2025年的80亿美元,而疫情的发生和各国居家令让食物外卖又一次被推到舞台中央,用户对于外卖接受程度有大幅提升。

2372.png

Dahmakan VS Grain做饭送餐一条龙

赛道中除了有像Gojek和Grab这样的"超级app",也有Deliveroo这样的外卖公司拓展了市场,还有像是Dahmakan这样的全方位外卖公司。

Dahmakan在2月刚刚完成了1800万美元的B轮融资,总融资额达到2800万美元。

投资者包括Rakuten Capital,White Star Capital,JAFCO Asia和GEC-KIP Fund,还有此前的投资者Partech Partners和Y Combinator。

Dahmakan还是马来西亚第一个参与Y Combinator的项目。

"Dahmakan"的意思是"您吃了吗?",由Foodpanda前员工2015年成立于吉隆坡。之所以叫全方位,是因为Dahmakan的烹饪、送餐、支付各个环节都是公司自己来完成的,通过减少了供应链环节,Dahmakan可以提供更优惠的价格,对于产品也能更好的把控。

Dahmakan每周会从200多道的餐点库中选取40种,什么餐点被翻牌子取决于用户就餐偏好、消费习惯、市场调研等多种因素,用户拿到菜单后可以选取餐点和配送时间。

通过提前规划用户地址和采用路径规划算法,配送流程可以实现80%的自动化。

在选址方面,Dahmakan也采用了云厨房的模式,租用便宜且靠近用户的实体小店面,实现高效配送。

云厨房这一模式近两年来十分流行,Uber前CEOTravis Kalanick的最新项目CloudKitchens就让许多人了解到了"幽灵厨房"这一概念,还在去年获得了来自沙特阿拉伯主权财富基金4亿美元的支持,可以说东南亚这波"copy"抄的也是时髦。

另一颇受好评的新加坡外卖创企Grain也是云厨房,而且和Dahmakan十分相像的采用从研发到烹饪到配送一切内包模式。

不过Grain走的是更偏"轻奢"路线,打造高端白领爱吃的健康美食。

Grain最新一轮融资发生在去年5月,1千万美元的B轮资本将用于继续增长,由泰国的Singha Ventures领投。

Grain自从2014成立以来投资者除了像是Genesis Alternative Ventures和K2 Global这样的风投机构。

也不乏泰餐品牌心泰心厨联合创始人Ivan Lee,新加坡餐饮品牌商Lo&Behold Group,The White Rabbit,以及米其林星级餐厅Odette等餐饮大拿,Grain在此轮前就已经实现盈利。

4、电商乱斗哪家强

《2019东南亚数字经济报告》显示,电商在2019年成为了最吸金的赛道之一,仅在2019年上半年就获得了25亿美元的投资,仅次于出行巨头囊中的35亿美元。

东南亚偏年轻化的人口结构和移动化的用户习惯意味着电商这块蛋糕将异常美味,疫情加速了"宅经济"的发展,让人们的消费习惯变得更加"线上化"。

对于东南亚来说,或许正是一个引爆的时机,目前比较亮眼的是Tokopedia,Lazada,和Shopee三家。

Tokopedia:印尼版阿里巴巴

Tokopedia在三者中是"长者",成立于2009年,有着"印尼阿里巴巴"的名号,在18年底获得了来自软银的VisionFund和阿里巴巴的11亿美元融资。

今年初还爆出消息可能将完成新一轮来自软银和阿里的15亿美元投资,成为印尼第二大的独角兽。

虽然成立时间比较久,但Tokopedia的CEO PatrickCao在每次接受采访的时候都会强调和竞争者不同,他们不想走"国际化"的道路。

一是因为印尼市场本身就有巨大利润,报告预测2025年印尼电商市场将增长到820亿美元,占整个东南亚电商市场的54%。

二是因为Tokopedia为本地创造了许多就业机会,让很多"momandpop"店得以生存。印尼大学研究显示,Tokopedia去年为印尼经济贡献了120亿美元。

Tokopedia还引入了在疫情期间中国国内流行的"直播带货"风潮,创新了TokopediaPlay的功能,通过自动播放创建购物场景,增强体验感。在卖家方面也明显看到线下卖家转线上,去年500万的卖家数目今年迅速增长到了780万!

Lazada:阿里的爱子

同样获得阿里青睐的Lazada也是一个发挥比较稳定的选手,自从2012年在新加坡创立,Lazada已经扩展到了印尼、越南、马来西亚、泰国、菲律宾。

拥有近3亿左右产品SKU,在产品选择方面算是遥遥领先。

它在活跃用户方面也是不马虎,去年在马来西亚、菲律宾、新加坡和泰国这四个市场的月活数都排名第一,年度活跃用户数可以达到5千万,和对手Shopee"硬刚"。

阿里对Lazada可以说是细心哺育,从2016年投资10亿美元实现控股Lazada,2017年追加10亿美元增持股权到83%,再到2018年的投资20亿美元。

阿里除了这40亿美元的投入,还不断输送核心队伍人才到东南亚,探索东南亚电商的新玩法。

天猫双十一晚会的打法Lazada也有所尝试,在双十一当日也举办了一场众星云集的晚会。据说开播一小时后就完成了3百万单,用户访问量高达13亿人,创造出了峰值记录。

Shopee:用心的黑马

成立于2015年的Shopee可以说是发展最迅猛的一匹黑马,其背后的母公司SEA是东南亚最大的互联网公司之一。

起初做游戏出身,从游戏拓展到电商看似没什么优势,但Shopee通过在app中穿插简单的小游戏将购物"游戏化"。

由于深知亚洲人网购时喜欢"逛"加"聊",甚至是"砍价"的特点,Shopee在app中添加了很多像是"转、赞、评、#"的小细节,让购物体验变得极其社交化,大大提高了用户的粘性??

2373.png

根据AppAnnie的数据显示,Shopee在2019年拿下了东南亚及台湾市场购物类app总下载量和平均月活数的双冠军,直超Lazada,并跻身全球购物类app下载量前五榜单。

最近Shopee还开发出了新功能ShopeeFeed。卖家可以分享图文短片和粉丝进行交流的社交空间,上线后粉丝量增长超100%,Feed日均GMV提高近100%。

Shopee的成功在很多人看来都归功于它用心的"重出海"模式,在基础设施建设、团队培养和本土化上都花了大量精力。

由于东南亚各国文化和政策差异巨大,Shoppe没有妄想"one size fits all",而是非常"本土化"的为了7个市场开发出了7个不同的app。

在卖家和物流方面Shopee也是尽心尽力,不但自己搭建了跨境物流体系SLS,还成立了ShopeeUniversity,为卖家提供个性化的孵化策略。

Lazada和Tokopedia背后有阿里的加持,而腾讯则在Sea 2017年IPO前夕成为了占股39.7%的第一大股东。

Shopee也丝毫没有让腾讯失望,财报显示,Shopee2019年的GMV达到176亿美元,同比去年增长71%;全年总订单数为12亿,同比去年增长100.5%。

5、东南亚创投火力全开

疫情收尾,经济转好,东南亚创投圈2020年的这场游戏可以说是重新开始了,那么这一轮又将有什么规则和趋势呢?

中资为主,外资多元化

据投中数据显示,从2016到2019,东南亚科技产业共获得了262.95亿美元的融资,而中国则是其中资本的最大来源。

总规模为132.11美元,占东南亚科技类企业全球募资的46.8%,尤其像是主要的独角兽像是Grab、Tokopedia、Lazada和已经上市的SEA背后都有阿里巴巴和腾讯的影子。

最近中方资本投入的模式也大多是战略投资,将中国模式和中国经验一并带去,提供资本和咨询的 "一条龙"服务。

除了中国,像是日本、韩国、美国也渐渐在后期注入比较雄厚的资本。

东南亚本地的VC也渐渐成熟,在2019年东南亚最大的投资金额来自于政府投资机构GIC??

2374.png

在投资笔数上,被称为东南亚独角兽"狙击手"的EastVentures以17笔位居第一,由红杉资本前风投合伙人陈映岚创立的新加坡风投InsigniaVenturesPartners以10笔位居第三。

在2019年底,本地VC也开始了密集的上亿美元融资,淡马锡旗下的VertexHoldings完成旗下VertexMasterFund(VMF)的募资,共筹得7.3亿美元。印尼的AlphaJWCVentures也完成了1.23亿美元的融资。

资本方面已解决了早期融不到钱的障碍,对于整个东南亚创投圈来说都是一个装满子弹可以全速增长的模式??

2377.png

数字化、健康化、社交化赛道细分

2019年金融科技行业在东南亚市场融资总额达到了12.48亿美元,而这一赛道在2020年也将继续火热。

东南亚75%的消费者没有银行服务,这意味着电子支付将无需以"银行挑战者"的身份进攻,而是可以从零开始培养数字化的金融消费习惯。

P2P借贷更是处于发展初期,与世界其他市场的增长比起来稍显缓慢。

利用数字创新打破基础设施不完善和风险管理上的壁垒,初创公司将有能力改变这一市场对于信贷的态度和借贷模式??

2375.png

同时,电商继续被看好,但赛道将极其细化。

一方面是社交与电商的碰撞,Econsultancy调查显示,59%的受访者有超过25%的购物决定是受社交媒体影响的,90%的卖家认为经营社交媒体可以直接带来电商销售的增长。

但目前社媒与购物的交融性并不强,商家的专业知识也比较缺乏。

在产品营销方面,各大平台虽开始尝试直播等模式,但对于网红、KOL的运用略显生涩,也缺乏MCN等成熟网络的加持。

而这都是中国做的比较成功的部分,在这里选择适当的"copy from China"或许可以事半功倍。

另一方面则是如何更好的搭建像是物流和智能仓储等基础设施,支付、配送、甚至是为卖家提供培训的服务都是电商平台成功的关键。

在这些环节引入大数据分析和云平台等数字化流程,都是尚未被完全开发的精细赛道。

疫情促使大众对于健康有了更高的要求,这在各个国家都是一股新的风气,东南亚也不例外,因此医疗健康将继续成为热门产业之一。

东南亚各国都面临着医疗资源少,看病难的问题。新冠疫情发生时,主要数字医疗初创公司像是BookDoc,DoctorOnCall都有比较不错的表现。

来自新加坡的DoctorAnywhere还在3月末获得了2700万美元的融资,越南线上制药供应网络BuyMed就在4月份刚刚完成了250万美元的A轮融资。

资本矫正,盈利为先

许多人说,2020年是初创公司洗牌的一年。

随着疫情的发生,许多曾经的"香饽饽"也遇到极大挑战,不得不重新审视成长轨迹,许多公司也在这一场风暴中被残酷淘汰。

2019年则是创投圈游戏规则已经悄然改变的一年,WeWork上市"滑铁卢"影响了全球资本市场的态度,投资者将更加理性谨慎。

与硅谷、中国创投业相不同却有趣的一点是,东南亚的初创公司们在这一新兴市场的冉冉升起阶段,就要开始将重心放到盈利能力而不是收入的高速增长。

像Gojek和Grab对于市场份额之争这种烧钱行为能持续多久是个问题,他们又将如何布局,用什么渠道增长,十分值得期待??

2376.png

许多人目前抱着下南洋的雄心壮志想要复刻中国的成功,中国模式虽好用,但只有考虑到东南亚各市场分散而独特的环境,进行本土化的"抄作业"才能拿好成绩。

2020,创投圈给予了东南亚许多关注,经过前几年的学习和筹备,在渐渐发力变强。

疫情虽伤了元气,但今年也有许多新资本的注入和新创意的试验等待爆发。

这个市场的故事,才刚刚开始。


来源:亿邦动力网



文章来源:https://www.ikjzd.com/home/121925
更多跨境电商运营技巧尽在跨境知道网https://www.ikjzd.com

危险品审核怎么办?教你如何快速完成危险品审核 -

危险品审核怎么办?教你如何快速完成危险品审核  -

许多卖家在FBA入仓时可能会遇到危险品审核,一旦listing被审核,意味着产品在短时间内无法进行销售,且还要提交各种资料,耽误的时间比较多,影响了推广进度。

小编也经常在群里看到有卖家问:危险品审核怎么办?我这都审核一个多星期了,我这东西怎么会是危险品等等。接下来我们就来仔细看看

对于危险品审核,一般来说分为两种情况:

确实为危险品

亚马逊对于化学类商品(含化妆品)、含有锂电池以及含有磁性的商品等在运输途中可能存在威胁的的商品,都要求卖家提供相应的资料以供审核。

这种情况找生产厂商索要资料向亚马逊提交即可,一般来说四天会完成,但是慢的时候最长可达半个月之久。

卖家审核过程中可以开case催一下进度,可能作用不大,但聊胜于无。

不是危险品却被审核

一般来说汽车用品、母婴、美妆和个人护理、消费类电子产品、个护健康、食品、家居装修、办公用品、宠物用品、运动和户外活动类的产品较为容易触发审核。

而有的卖家就纳闷了,为什么我的产品明明不属于危险品,还触发危险品审核?

其实亚马逊主要是通过抓取你listing里的关键词来判断你是否需要进行危险品审核。

例如你的listing中是否含有:Battery、LED、skincare等敏感词。因此亚马逊误杀的情况十分普遍

而最近亚马逊更新了危险品审核的提交模板,利用图文介绍详细的描述了如何填写危险品信息或者如何进行豁免申请。

这里简单讲一下如何进行豁免申请

第一步:卖家最近可在后台新闻模块找到危险品信息提交模板,点开蓝字的新的Excel模板,然后在右侧选择语言以及相应的豁免表进行下载。

0516-危险品.jpg

 

第二步:填写相关信息,红色的是必填,详细介绍可看下面子表格的说明。最后在刚刚下载的页面那里进行上传即可。一般来说提交过后2-3天就审核完成了

 

0516-危险品2.jpg

一般来说卖家准备发FBA或者自发货转FBA时,亚马逊会检查一下你的listing,如果有较多敏感词汇则有大概率触发审核。

所以大家在上架listing的时候,可以尽量避开敏感词汇,等FBA到货了再更新内容,这个方法可以适当使用,切勿泛滥。

而如果你是真的危险品的话就不要这样操作了,是会被直接拒绝入仓的。


来源:大宝站外推广



文章来源:https://www.ikjzd.com/home/121926
更多跨境电商运营技巧尽在跨境知道网https://www.ikjzd.com

Java 考试系统项目源码 springboot mybaits vue.js 前后分离跨域

Java 考试系统项目源码 springboot mybaits vue.js 前后分离跨域


-------------------------------------------------题库管理

22. 图片库:创建文件目录,维护图片,供题库选择调用

23. 单选题:维护单选试题,试题题目,选项,答案,类型,级别,状态,解析

24. 多选题:维护多选试题,试题题目,选项,答案,类型,级别,状态,解析

25. 判断题:维护判断试题,试题题目,答案,类型,级别,状态,解析

26. 填空题:维护填空试题,试题题目,答案,类型,级别,状态,解析

27. 问答题:维护问答试题,试题题目,答案,类型,级别,状态,解析

28. 复合题:维护复合试题,富文本编辑器,试题题目,答案,类型,级别,状态,解析

-------------------------------------------------试卷管理

29. 组建试卷:创建试卷,题目、类型、总分、及格分数、时长、出成绩方式、重复考试、公布答案、考试对象等

      试卷题型:试卷明细,给试卷添加题型,分值,随机或者手动从题库选择试题,预览试题,自动合计试卷总分

30. 试卷列表:维护试卷,预览试卷,操作发放试卷

-------------------------------------------------考试管理

31. 正在考试:查看正在考试的试卷信息,预览试卷内容,查看考生成绩,结束考试操作

32. 历史考试:查看历史试卷信息,预览试卷内容,查看考生成绩,删除试卷

33. 评阅试卷:当试卷设置需要人工评阅时,考生提交的试卷会进入此列,填空问答复合题需要人工评分

34. 成绩管理:可以根据条件检索考生成绩,分值排序逆序,查看排名,查看考生试卷信息,查看试题统计图

-------------------------------------------------我的考试

35. 参加考试:根据当前个人条件,可以看到符合的试卷进行考试,试卷计时,判断未答的试题,答完才能提交

36. 考试记录:不管是否提交的试卷都会记录在此列,能看到自己答题是输入的答案

37. 我的成绩:查看自己的成绩,需要人工评阅的待评阅后才可看到成绩,已出的可以查看试卷信息,统计等

38. 我的错题:系统自动记录自己答错的试题

39. 我的收藏:在我的成绩中查看试卷信息里面,在题的旁边有收藏按钮,收藏后,相应试题进入此列

----------------------

菜单权限:分配给每个角色不同的菜单权限, 每个角色看到的菜单不同,N级别菜单

按钮权限:独立分配不同的角色不同的功能权限,增删改查权限分配具体到不同的菜单,自定义按钮管理

支持多用户分权限管理后台, 权限具体到不同的菜单不同的按钮一个用户可以多个角色

---------------------技术点

1. 导入 导出 excel 文件 (应用在系统用户中)

2 生成 word文件 (应用在代码生成器生成的doc文档)

3. IO 流下载文件 (应用在代码生成器中生成后压缩成zip 文件下载)

4 代码 zip 压缩打包 (应用在代码生成器中生成后压缩成zip 文件)

5. MD5加密 SHA加密(登录密码用此加密)接口加密身份校验

6. 数据库连接池 阿里的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势,支持并发

7.安全框架 shiro (登录授权)(session管理)(shiro 注解菜单权限拦截)(shiro 标签按钮权限)

8.freemaker模版引擎(代码生成器用)

9.ehcache 自定义缓存 ,选择缓存存放目录,处理并发,增加系统性能

10.tab标签页面功能,标签自由切换,不重复操作数据库(可全部关闭,关闭当前,关闭其它)

11.多数据源技术

12.调用摄像头拍照技术,图片裁剪技术 (用户头像编辑)

13.在线编辑器,仿开发工具 (代码生成器的模版编辑)

14. 单群发邮件,可以发html、纯文本格式

15.根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表,根据用户的汉字姓名生成拼音的用户名)

16.站内信语音提醒,js控制音频播放

17.java 读写 ini 配置文件

18.java websocket 即时通讯技术,点对点,好友、群组,发图片文件,离线消息,保留聊天记录

19.百度富文本编辑器,可上传图片、附件

20.java Quartz 任务调度 (应用在数据库定时备份模块中)

21.ajax 异步跨域技术,跨域上传文件,图片

22.批量异步上传图片,可预览,有进度条,支持拖拽上传(百度webuploader )。列表动态滑动放大展示。

23.echarts 柱状图和饼状图,应用在试题统计上

 官网