U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯...

50
מੜᑕଧԯᒒᥴ٬ොໜ റᔱԏ᪠ ᚸᦔԯ

Transcript of U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯...

Page 1: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 2: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

⻩荣奎(liamhuang)腾讯web前端⾼级⼯程师2011年毕业加⼊腾讯参与QQ秀,QQ农场,QQ牧场项⺫2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在H5(Hybird App)⽅⾯有丰富的经验2016-⾄今 负责腾讯云⺴站服务,⺴络安全业务

Page 3: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 4: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 5: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 6: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

H5

Page 7: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

H5 •  window

•  DOM •  HTML5 DOM jQuery •  WXML mvvm

•  URL url •  •  Cookie

•  CS

•  ,

Page 8: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 9: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 10: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

1 app.json

Page 11: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

2 app.js

Page 12: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

3 index.js

Page 13: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WXML(WeiXinMarkupLanguage

Page 14: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 15: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 16: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

websocket

Page 17: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 18: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  •  • 

Page 19: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  • 

Page 20: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket

Page 21: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket

Page 22: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  Cookie

Page 23: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  •  • 

Page 24: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

1.  code,rawData,signature

2. code,appid,appsecret

3. session_key

4. 5.

6. session_id

SDK SDK

Redis

Page 25: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  appId appSecret • 

Page 26: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  •  •  appId appSecret

Page 27: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

请求登录(code, encryptedD ata, iv)

请求登录(code, encryptedD ata, iv)

jscode2session(code, appId, appSecret)

(session_key, openId)

(id, skey, userInfo)(id, skey)

w x.login() 获取 codew x.getU serInfo() 获取 (encryptedD ata, iv)

通过 (session_key, openId) 生成 (id, skey)

保存会话(id, skey)

通过 (session_key, iv)解密 encryptedD ata 得到 userInfo

Page 28: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

w x.request()进行业务请求(id, skey)

检查会话(id, skey)

getStorage() 获取 (id, skey)

检查会话合法性

查询 userInfo

alt

会话非法

会话合法

(userInfo)

业务处理

错误信息错误信息

Page 29: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  • 

•  •  SDK

Page 30: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket

•  WebSocket

Page 31: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

•  •  •  • 

WebSocket •  •  • 

Page 32: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket

HTTPonTCP

SwitchProtocol WSonTCP

Page 33: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket

•  Socket.IO •  Socket.IO

•  Socket.IO

• 

Page 34: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket •  WebSocket •  Socket.IO • 

Page 35: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket •  PaaS WebSocket

Page 36: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

WebSocket

TCP

HTTP(S)

HTTP(S)TCP

Page 37: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

1. WebSocket

3. connectUrl

4.connectUrl

2. receiverUrl

5. WebSocket 6.

PaaS WS

Page 38: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

a. b.

c. d.

PaaS WS

Page 39: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

PaaS • 

•  •  WebSocket •  • 

•  •  • 

Page 40: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

https://github.com/tencentyun/wafer

Page 41: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

Wafer

SessionServer

PHPSDK

C#SDK

JavaSDK

NodeSDK

ClientSDK

Page 42: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 43: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在
Page 44: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

Wafer

Wafer

Page 45: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

Wafer +

Wafer

Page 46: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

Wafer

Wafer

Page 47: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

appid/appsecret

Page 48: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

Wafer-

&

Page 49: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

Wafer

Page 50: U ' / t l Ü Ü⻩荣奎(liamhuang) 腾讯web前端⾼级⼯程师 2011年毕业加⼊腾讯 参与QQ秀,QQ农场,QQ牧场项⺫ 2013年 负责QQ会员,腾讯⼿机QQ游戏平台,在

That’s all Ques[onTime