微信分享调用逻辑
1.初始化访问:
访问报文:
/share/me?state=1682,100029&top=1
cookie.username == ""
条件: username == “” && top == 1 跳转授权页面
2.授权回调:
访问报文:
/share/me?code=031bdcf1d73e96ce92ff51230b86b79f&state=1682%2C100029
cookie.username == ""
条件: username == “” && !(top == 1 || !!from) 授权回调
** 在此对 cookie.username 做赋值.
3.再次访问:
访问报文:
/share/me?state=1682,100029&top=1
cookie.username == "xxx"
条件: username != “” 直接进入授权信息页
4.授权回调时做分享:
分享地址为: /share/me?code=031bdcf1d73e96ce92ff51230b86b79f&state=1682%2C100029
分享后朋友访问时地址为:
分享到聊天: http://xxx.com/share/me?code=0418d8b09b8c2a16892b8ea78cd8c67E&state=10973%2C100026&from=singlemessage&isappinstalled=0
分享到朋友圈: http://xxx.com/share/me?code=0418d8b09b8c2a16892b8ea78cd8c67E&state=10973%2C100026&from=timeline&isappinstalled=0
条件: username == “” && !!from 通过授权回调时做分享,被第三者点击,跳转授权页面
5.再次进入时做分享:
分享地址为: /share/me?state=1682,100029&top=1
分享后朋友进入地址为: /share/me?state=1682,100029&top=1
(此情况桶初始化访问)
五种情况综合总结
if username != "" -> 直接进入授权
else if (top == 1 || !!from) -> 跳转页面
else 授权回调, 进入授权/非授权页面