您的位置:首页 > Web前端 > JavaScript

和AngerlarJs混合的日子-cookie存取问题

2017-06-13 00:00 127 查看
摘要: 如果有帮助到您的话 请关注我http://t.xiaomiquan.com/VjiIyVb里面有更多。

js交互

AngerlarJs

/angular-cookies/angular-cookies.min.js 下文件改为/angular-cookies/angular-cookies.js里面的内容 然后将

this.$get = ['$$cookieReader', '$$cookieWriter', function($$cookieReader, $$cookieWriter) {

//下面重写get put remove方法。

get: function(key) {
var value = JsGKey.getMessage(key);
return value;
//    return $$cookieReader()[key];
},

put: function(key, value, options) {
JsPutKey.getMessage(key,value);
//  $$cookieWriter(key, value, calcOptions(options));
},

remove: function(key, options) {
JsRemoveKey.getMessage(key);
//    $$cookieWriter(key, undefined, calcOptions(options));
}

在android 下面

webview.addJavascriptInterface(new TmActivity.JsGKey(), "JsGKey");
webview.addJavascriptInterface(new TmActivity.JsPutKey(), "JsPutKey");
webview.addJavascriptInterface(new TmActivity.JsRemoveKey(), "JsRemoveKey");

private class JsGKey {
@JavascriptInterface
public String getMessage(String key) {
String cookie = CookieManager.getInstance().getCookie(domain);
JSONObject jsonObject = null;
String value = null;
if (cookie!=null) {
try {
jsonObject = new JSONObject(cookie);
value = jsonObject.getString(key);
}
} catch (JSONException e) {
e.printStackTrace();
}
}

return value;
}
}

public class JsPutKey {
@JavascriptInterface
public void getMessage(String key, String value) {
String cookie = CookieManager.getInstance().getCookie(domain);
JSONObject jsonObject = null;
String result;
if (cookie == null) {
try {
jsonObject = new JSONObject();
result= String.valueOf(jsonObject.put(key,value));
CookieManager.getInstance().setCookie(domain, result);
} catch (JSONException e) {
e.printStackTrace();
}
} else {
try {
jsonObject = new JSONObject(cookie);
jsonObject.put(key, value);
CookieManager.getInstance().setCookie(domain, String.valueOf(jsonObject));
String ck = CookieManager.getInstance().getCookie(domain);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}

public class JsRemoveKey {
@JavascriptInterface
public void getMessage(String key) {
//删除目前没有想好应对的办法
String cookie = CookieManager.getInstance().getCookie(domain);
JSONObject jsonObject = null;
if(cookie == null){
return;
}else{
try {
jsonObject = new JSONObject(cookie);
jsonObject.remove(key);
CookieManager.getInstance().setCookie(domain, String.valueOf(jsonObject));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}

如果大家转帖请标记好原创地址https://my.oschina.net/u/3407708/blog。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cookie