范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

淘宝开放平台接口设计思路

  最近对接的开放平台有点多,像淘宝、京东、快手、抖音等电商平台的开放平台基本对接了个遍,什么是 CRUD BODY 也许就是这样的吧!!!
  虽然对接各大开放平台没啥技术含量,但咱也得学点东西不是,不能白对接哈!经过这几天的整理,脑子里大概有了个开放平台接口的设计套路,故整理成文章方便有需要的时间去实现自己的开放平台接口。
  开放平台比较关注的几个点:  易用性:接口设计要简洁,请求参数要见名知意,使服务商能快速接收,为用户提供服务  安全性:开放平台接口是暴露在外网,必须保证用户数据的安全  稳定性:开放平台接口是给上游的服务商使用,必须保证稳定为服务商应用提供服务  ...  服务商应用
  开放平台可以分为几大部分:  接入指南:帮助服务商接入开放平台  接口文档:帮助服务商的开发人员,实现业务功能  应用:服务商应用在开放平台的身份标示
  服务商接入开放平台的首要步骤就是创建应用,有了服务商应用平台内部就能辨别服务商的身份,这样就能很方便的做限流、权限控制等。  基本属性
  服务商应用一般有appid、appsecret、授权回调地址这三个基本的属性:  appid: 服务商应用的唯一标识  appsecret:服务商应用的密钥签名、验证身份时用到  授权回调地址:授权时会用到  授权认证
  授权不是开放平台对服务商应用的授权 ,而是需要开放平台的客户(用户)对服务商应用的授予,比如ERP应用,也就是淘宝的店铺商家对应用进行授权,使其能够拉取到店铺的订单来完成订单履约。
  淘宝授权页
  所以授权需要三个角色才能完成:  开放平台  提供授权页面,引导客户完成服务商应用的授权  客户完成授权后,跳转到服务商应用提供的 授权回调地址 同时带上授权信息 客户:在开放平台提供的授权页面中,完成对服务商应用的授权  服务商应用:接收开放平台回调的授权信息,完成务商应用与客户的绑定关系、保存授权信息
  当然也可以使用appid + appsecret 直接认证服务商应用的身份,这种适合没有第三方的时候,数据都是属于开放平台的,跟客户没有半点关系,也就不存在需要客户授权的问题。   OAuth2授权机制
  OAuth2 是一套授权标准,现在互联网做授权基本都用它,如github 登陆 、微信公众号授权 等都是基于OAuth2 的应用。
  如果不了解 OAuth2 可以参考我以前的文章:
  一文带你了解 OAuth2 协议与 Spring Security OAuth2 集成!
  授权流程  请求参数
  请求参数分两类: 系统参数 、业务参数 : 系统参数:每次API调用都必需携带的参数  业务参数:开放平台根据不同的业务,提供的参数。
  业务参数根据业务来定,先说系统参数一般包含:  appid:服务商应用唯一标识  appsecret: 服务商应用密钥  timestamp:时间戳  sign:请求签名
  系统参数使用url参数传递   业务参数
  业务参数是调用开放平台接口时传递的请求参数,如一次订单查询接口,要实现按 订单状态的维度 查询订单,那么订单查询接口就需要接收status 参数,然后去查库后返回订单数据。
  业务参数的载体,常用的如: application/json 、application/x-www-form-urlencode 等。
  业务参数使用post请求参数的方式传递,同时也需要参与签名,后面说签名会提到   请求签名
  对请求签名的目的就是防止数据被篡改,常见的 md5 、sha 都可以用来做为签名算法,理论上只要保证双方能够生成签名和验签就行,像支付宝这类高安全级别的应用就是使用的非对称加密 ,双方各生成一对私钥和公钥,然后交换公钥用于验签即可。
  生成签名的方式自行定义,这里列举一个常见的签名生成方式:
  sign = appsecret + appid + timestamp + 业务参数(排序后) + appsecret
  伪代码   String appid = "abcd"; String appsecret = "12345"; Long timestamp = 948758686 //有序map,按key的值排序 Map requestBody = new TreeMap<>(); requestBody.put("a", 1); requestBody.put("b",21); requestBody.put("c", 2); //转换成json字符串 String jsonBody = JSON.toJSONString(requestBody); String sign  = DigestUtils.md5hex(appsecret + appid + timestamp + jsonBody + appsecret); 验签
  验签步骤与生成签名的步骤类似,仿代码如下:   String appid = request.getParameter("appid"); String appsecret = request.getParameter("appsecret"); Long timestamp = request.getParameter("timestamp"); //拿出请求的业务参数,转成TreeMap Map requestBody = new TreeMap<>(JSON.parseObject("post请求参数")); //转换成json字符串 String jsonBody = JSON.toJSONString(requestBody); String sign  = DigestUtils.md5hex(appsecret + appid + timestamp + jsonBody + appsecret); String originSign =  request.getParameter("sign"); if(Objects.equals(sign ,originSign )){   //验证签名成功 }else{   //验证签名失败 } 总结
  以上就是开放平台接口设计的一些思路,其实也是对接开放平台多了, 对那些开放平台对接的一些基本的套路的一些整理,希望有朝一日能用上。
  对接开放平台的时候遇到的问题不少,有的平台有SDK有的是直接是 restapi ,有SDK的平台对接起来还是挺幸福的,下期给大家整个平台SDK的设计。

机甲策略新作Relayer跳票!第二弹中文宣传片赏云豹娱乐公布了由角川游戏制作的PS5PS4平台机甲SRPG新作Relayer(传承者)的第二弹中文宣传片,让我们一起来看看吧!除了宣传片外,官方宣布本作将由原定的2022年2月17哈利波特手游携手Apple授权专营店,线下玩家都玩嗨了RPG卡牌手游哈利波特魔法觉醒自上线以来,致力于给玩家带来一个沉浸式的魔法世界,陆陆续续推出了不少精彩有趣的内容。如今,圣诞庆典强势来袭,精美圣诞款时装,颇有节奏感的铃儿响叮当舞曲月球种田游戏MoonFarming序章2022年1月在Steam免费推出月球种田游戏MoonFarming序章现已免费在Steam上架,定于2022年1月6日推出。厌倦了地球上相同的耕作游戏?现在,在月球上扮演一个超级现代农民的新角色吧!在新的月球环境关于赛尔号精灵好感度系统,你想知道的都在这!与战队强化一样各位赛尔们大家好,在明天即将上线的12月24日版本中,我们游戏将会对基地系统进行一次较大规模的更新。伴随着基地系统的全面翻新,全新的养成系统精灵好感度系统也会一起上线。由于精灵好感王者荣耀怎么快速提高一个英雄的熟练度很多玩家在练习新英雄总想快速的提升英雄熟练度,但王者荣耀并没有刷熟练度这个感念,都要用时间换取,提高熟练度没有任何技巧,所有的答案都是有利有弊,我一一告诉你。熟练度颜色普通绿色蓝色新美妙世界制作人该系列的未来取决于玩家上月末SE的总裁曾讲到过新美妙世界口碑不错但销量却没有达到预期,由此大家推测本系列可能短时间内很难有续作了。但本作的制作人平野智彦近日接受采访时称该系列的未来取决于玩家,向公司传达司空震胜率再次登顶,三种克制方案的英雄选择,让他不再嚣张司空震在上线以后就一直保持着非常高的胜率,并且一度霸占对抗路胜率榜单,不过随着赛季的更新和版本的变换,司空震的光芒也被别的英雄所遮挡。在上次的英雄更新中并没有跟司空震有关系的调整他肉鸡变成本地鸡!Rookie加入V5第一天,做了在IG七年没做的事哈喽大家好,这里是狗子,每天为您带来有趣的游戏资讯,喜欢的记得点个关注这次LPL冬季转会期结束,几乎所有的观众们都知道,IG这支LPL首个S赛的冠军队伍要重组了,首发成员除了新人打梦幻西游从零开始,五个剑侠客走起,纯佛系梦幻西游从零开始,五个剑侠客走起,纯佛系我的从零五开计划思索了很久,现在总算想好了,就是五个剑侠客,人族五门除了女儿村。大家好我是老邢。本期只是我考虑的过程,明天正式开始。首先门派不足一月,游戏抽卡bug背刺玩家,幻塔还有机会坚持到一周年吗在开服前对标原神,被许多玩家寄予厚望的幻塔,倒在了八进四的路上从近期发生的事情来看,别说和原神PK了,能不能活到一周年都是个问题。就在近日,有玩家爆料,幻塔出现重大bug,玩家可以怎么提升自己英雄联盟的技术我认为黑铁钻石,无论你卡在什么段位,只要你认认真真去玩,提升思路意识,不要上头不要装,再把没用的骚操作删除,就可以上分。关于操作的问题,不是说操作不重要,但就我个人而言我觉得大师以
云顶之弈命运之轮结束,盘点S4赛季的那些高光特色文筱文聊电竞云顶之弈S4赛季已经进入了最后一个版本,云顶之弈S4赛季2020年9月17日上线,到2021年4月29日,整个赛季历时7个多月,赛季以命运之轮和S4。5的瑞兽闹新春作为云顶之弈厄加特盲仔和S5的佛耶戈,设计师为何钟情于移除文筱文聊电竞云顶之弈从S3赛季厄加特上线开始,拳头设计师开始钟情于移除或者斩杀机制了,如S3的厄加特,S4的盲仔以及即将更新的S5赛季的佛耶戈。这几个英雄的出场,基本上都是五费卡,云顶之弈流水的云顶铁打的亚索,S1到S5赛季的亚索哪个最强?文筱文聊电竞云顶之弈S5赛季马上就要更新了,索子哥赫然在英雄之列,不仅让人感慨到真的是流水的云顶,铁打的亚索。索子哥在每个赛季都没有缺席,虽然各个赛季身价不同,各个赛季技能不同,但云顶之弈一图带你看懂S5赛季英雄,一费卡英雄技能介绍(一)文筱文聊电竞云顶之弈S4赛季也进入了尾声,与之对应的就是S5赛季的到来从时间上来看S5赛季很有可能在4月底登录国服,而S5赛季的主题是光明与黑暗的对决,是完全对立面两个的阵容,并且云顶之弈带你看懂S5赛季英雄,二费和三费英雄技能介绍(二)文筱文聊电竞在上篇文章中,筱文介绍了云顶之弈13张一费卡英雄技能的介绍,里面其中就有着许多各位小伙们熟悉的面孔,那么这篇文章筱文继续为大家带来S5赛季英雄里面,二费卡和三费卡英雄的云顶之弈S3的厄加特和S4的盲僧,是设计师另外一种平衡文筱文聊电竞云顶之弈说起瞎子这个英雄,肯定很多玩家都想到赖皮两个字,自己辛辛苦苦样的大哥,遇见瞎子,站位不慎简直是难受。想必各位小伙伴也在各种游戏视频中,看到一星小瞎子,踢走对面的云顶之弈S4赛季最后的版本答案,九龙魂抬棺式上分文筱文聊电竞距离云顶之弈S4赛季结束还剩下不到一周时间,很多玩家在赛季末已经彻底放飞了自我现在的云顶变成了福星人的狂欢,一局游戏至少三家以上福星,但是玩福星嘛,非常容易反向上分,掉英雄联盟史上最成功的几大改动,符文天赋重做可排第一文筱文聊电竞英雄联盟作为一款全球火热的MOBA类游戏,已经走过来十一个年头,其中英雄版本变迁和英雄及机制改动数不胜数在长达十一年变迁中,自然有成功的,也有被玩家认为失败的,那么今天云顶之弈S5赛季更新,登神天使成为版本答案文筱文聊电竞云顶之弈S5赛季终于迎来了更新,在告别了S4赛点天选之人后,新版本让所有玩家都有点不适应在面对如此众多的英雄羁绊以及装备,大家都不懂游戏玩法的时候,就是最好上分的时候。英雄联盟英雄诸多外号的来由,带你揭开未解之谜文筱文聊电竞英雄联盟发展到今天,已经走过了11个年头,如今也有着众多的英雄,而每个英雄除了自己的本名外,大部分英雄都有着自己国服独特的外号,那么今天筱文就为大家带来诠释一下联盟中,英雄联盟改名来袭,法外狂徒成为枪火狂徒,鳄鱼也被迫改名文筱文聊电竞众所周知,英雄联盟中英雄的名字可由名字称号组成,称号往往代表着英雄的特点或者技能特色,如诡术妖姬乐芙兰,诡术妖姬本意就是欺骗者的意思除了上述的称呼外,往往玩家还会结合英