App web 跨平台信息同步
来源:互联网 发布:java float 比较大小 编辑:程序博客网 时间:2024/06/11 04:43
2016年10月28日17:07:03
项目需求:
web端报名参加活动- need login-
App 内打开web-view -if app内登录过 web端也需要同步登录信息
遇到的问题:
App内WebView 再次打开Cookie 丢失–so login info 丢失
前端处理:
login 成功后将cookie 利用h5 localstorage本地存储存起来
每次打开页面js 方法判断cookie 。 localstorage 是否存在。
这样可以持久化cookie.防止cookie丢失问题。
—————构造函数 获取用户信息from redis //// struct-data=>hash
$token = $_COOKIE['dy_web_login_cookie'];//本地存储的token --通过login 获取 if (empty($token)) {//没登录 //获取 是否是APP内登录 打开的标示 // $token = $_COOKIE['dy_game_app_cookie'];//本地存储的token --通过login 获取 //检测--逻辑 } $redis = Cache::getInstance('Redis'); $redis_json = $redis->hget('dy_web_user_list', $token); $redisInfo = json_decode($redis_json, true); $this->userInfo = $redisInfo; $this->assign("userInfo", $redisInfo);
————— 登录成功后set 用户信息 —————
login success -生成token $redis = Cache::getInstance('Redis'); $field = sha1($mobile. rand(1, 999999)); $userInfo['tle'] = time() + 24 * 3600 * 30; $userInfo['token'] = $field; $redisInfo = json_encode($userInfo); $redis->hset('dy_web_user_list', $field, $redisInfo);//set user_info $redis->hset('dy_web_mobile_token', $mobile, $field);//mobile to =>best new token setcookie('dy_web_login_cookie', $field,time() + 24 * 3600 * 30);
当APP内改变用户信息的时候执行syncRedisInfoByMobile。这样Redis 的数据也更新了–当我们对模板赋值的时候就是最新的了。
public function syncRedisInfoByMobile($mobile, $result) { $redis = Cache::getInstance('Redis'); $gameTokenByMobile = $redis->hget('dy_web_mobile_token', $mobile);//mobile bind token if (!empty($gameTokenByMobile)) { $redis_json = $redis->hget('dy_web_user_list', $gameTokenByMobile);//token bind dy_user_info $redisInfo = json_decode($redis_json, true); foreach($result as $k => $v){ $redisInfo[$k] = $v; } $redis->hset('dy_web_user_list', $gameTokenByMobile, $redisInfo);//token bind dy_user_info } return true; }
如何在前端判断当前客户端是否登录?
需要客户端配合 封装javascript:interface
比如:
xiaowei.getLoginStatus();
1 0
- App web 跨平台信息同步
- Html5 Web App 手机跨平台开发
- web实现跨平台开发移动App
- 跨平台APP和web APP到底有什么区别?
- 跨平台web app教育设备的一些设计标准
- web APP到底和跨平台APP开发有什么区别?
- 微软测试基于云的剪贴板App,可跨平台同步
- 利用百度云平台建立Web App
- Android平台向web应用提交信息
- 百度Web App在线生成平台Site App体验
- 百度Web App在线生成平台Site App体验
- [案例分享] 茂迪公司一次打造跨平台 App 实时掌握生产线信息
- 跨平台APP----对Native/Hybrid/Web APP三种开发模式的分析(系列一)
- 跨平台APP----对Native/Hybrid/Web APP三种开发模式的分析(系列一)
- 跨平台进程间同步
- 跨平台app开发1
- 跨平台APP开发初识
- 跨平台开发app讲解
- JavaSE_XML解析__DOM4j_XML写入
- shell中$(( ))、$( )与${ }的区别
- 【NOIP2015】洛谷2680 运输计划【解法一】
- FtpFindFirstFile()及InternetFindNextFile()对汉字编码的支持问题
- ioremap_nocache
- App web 跨平台信息同步
- 富文本编辑器,jsp取色器等管理后台常用的功能
- Burpsuite使用笔记
- Listary.Pro.5.00.2410安装与破解
- Linux-网络通讯命令
- 初识CentOS服务命令大全
- 腾讯视频页面
- Android性能优化
- android使用高德地图api