如何去实现一个运用于多平台的SDK ?
开始要求实现一个SDk的时候,一脸懵逼,以前总是调别人的SDK暴露的接口与方法,现在自己去实现一个,可以用到各平台上,还是相当有难度的,经过大半月的研究还是有点眉目的,想在这里和大家分享一下鄙人简陋的见解。
查了很多资料,发现大都是js去做的,里面有很多函数和算法,比如开源的 拼多多 P++
我的思路是也用js去写,当然我的项目就少了很多算法,方法满足所需。项目中页面展示部分则是用es6模板字符串进行拼接的,最后通过配置webpack4把各个js合并打包成一个js引入到其他人的项目中最难处理的是它类似于各个table切换,并没有路由跳转页面的概念,自然而然获取后台数据,进行各个部分的传值成为难题,必要时只要localStorage ,既然是一个js,那在开始的时候定义全局变量去做。
但是这样token第一次拿不到,点击触发请求,tooken赋值localStorage,只拿到第二次的,没办法,后续的事件都写在了点击事件内,那不可能onClick 事件里面套onclick吧,那就挂载到一个节点上body,
对接别人项目时,先初始化拿到参数,点击把参数传递过来~
下篇讲下webpack,如何进行多入口打包;
如何去实现一个运用于多平台的SDK ?的更多相关文章
- 如何去设计一个自适应的网页设计或HTMl5
		如何去设计一个自适应的网页设计或HTMl5 如今移动互联网随着3G的普及,越来越火爆,更多需求跟随而来!APP应用市场和APP应用数量成倍成倍的增长!从而给移动互联网带来新的挑战! 移动设备正超过桌面 ... 
- 一个可以在多平台运行的任天堂GameBoy模拟器
		今天为大家带来一个很有趣的游戏模拟器GoBoy GoBoy GoBoy是一个可以在多平台运行的任天堂GameBoy和GameBoy Color的模拟器,目前这个模拟器可以运行大多数的GameBoy游戏 ... 
- 转:一个跨WINDOWS LINUX平台的线程类
		来源:http://blog.csdn.net/dengxu11/article/details/7232681 继Windows下实现一个CThread封装类之后,这里我再实现一个跨WINDOWS ... 
- ImageSharp一个专注于NetCore平台图像处理的开源项目
		今天大家分享的是一个专注于NetCore平台图像处理的开源项目,老实说为这篇文章取名字想了5分钟,可能是词穷亦或是想更好的表达出这款开源项目的作用:这个项目在图像处理方面有很多功能,如:缩放,裁剪,绘 ... 
- 使用faker去构造一个User-Agent
		faker可以仿造各种各样的信息,可以使用faker去构造一个User-Agent from faker import Factory f = Factory.create() 'User-Agent ... 
- 学霸笔记系列 - Python Selenium项目实战(一)—— 怎么去验证一个按钮是启用的(可点击)?
		Q: 使用 Python Selenium WebDriver 怎么去验证一个按钮是启用的(可点击)? A:Selenium WebDriver API 里面给出了解决方法is_enabled() 使 ... 
- 用node.js从零开始去写一个简单的爬虫
		如果你不会Python语言,正好又是一个node.js小白,看完这篇文章之后,一定会觉得受益匪浅,感受到自己又新get到了一门技能,如何用node.js从零开始去写一个简单的爬虫,十分钟时间就能搞定, ... 
- 前端基于vue,后台采用springboot+shiro的方式搭建的一个移动端商品展示平台
		基于vue实现的移动端商品展示页,可以web-view的方式嵌入到小程序中,布局简约.大气,减少初学者或开发者不必要的工作量.后台维护采用的springboot+shiro的方式,为广大爱好者提供展示 ... 
- 用android去写一个小程序
		前言: 软工的一个小作业:实现"黄金分割小游戏", 需要结对编程,队友:陈乐云 共用时两天. 早期思路设计: 采用键值对的形式,以Map作为存储结构.优点:能够将数据与用户对 ... 
随机推荐
- jQuery内容过滤选择器再探究(原创)
			内容过滤选择器不算复杂,但还是有需要注意的地方 
- Redis源码编译安装
			介绍 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统.Redis是一个开源的使用ANSI C语言编写.遵 ... 
- SpringCloud-技术专区-Hystrix-使用指南
			Maven依赖配置 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId ... 
- 子元素位于父元素中央 css实现
			wrap .box{ width: 200px; height:200px; background: pink; // 方案1 position: absolute; top:0; left:0; r ... 
- css页面网址
			前端必看的文章 1.CSS设置居中的方案总结 https://juejin.im/post/5a7a9a545188257a892998ef 2.阮一峰老师的网站 http://www.ruanyi ... 
- 读书笔记-----javascript基本数据类型
			由于js基础差, 记性也不好,准备一边读书一边做记录,希望这样能加深一下记忆 /* 第一天 */ javascript 基本数据类型 js一共只有五种数据类型 Undefined, Nu ... 
- 案例:原型 constructor
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- myEclipse 搭建  Spring boot+myBatis+maven 项目流程
			1.新建一个工程 new-->maven project-->next-->next-->在filter中搜索webapp-->group id.Artifact id- ... 
- 在linux上安装jdk
			一.环境 1. VMware虚拟机 2. Linux系统(centos7) 安装步骤: 1. 先安装VMtools 2. 查看是否有openjdk,若有先将系统内的openJDK删除(采用 r ... 
- 【扯淡篇】SDOI2018丶一轮游丶记
			--某不知名蒟蒻的SDOI2018 R1退役场游记&&OI生涯总结 真的是混不下去了. 进队是不可能的, 进队是不可能进队的. 这辈子不可能进队的. 刷题又不会刷 就是靠打表找规律这种 ... 
