EgretRuntimeBridge.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. var NullLocalStorage = (function () {
  2. function NullLocalStorage() {
  3. this.data = {};
  4. }
  5. NullLocalStorage.prototype.getItem = function (key) {
  6. return this.data[key];
  7. };
  8. NullLocalStorage.prototype.setItem = function (key, value) {
  9. this.data[key] = value;
  10. };
  11. NullLocalStorage.prototype.removeItem = function (key) {
  12. delete this.data[key];
  13. };
  14. NullLocalStorage.prototype.clear = function () {
  15. for (var key in this.data) {
  16. this.removeItem(key);
  17. }
  18. };
  19. return NullLocalStorage;
  20. })();
  21. var EgretLocalStorage = (function () {
  22. function EgretLocalStorage() {
  23. if (egret_webview.io.isFileExists(EgretLocalStorage.filePath)) {
  24. var str = egret_webview.io.readFile(EgretLocalStorage.filePath, null);
  25. this.data = JSON.parse(str);
  26. }
  27. else {
  28. this.data = {};
  29. }
  30. }
  31. EgretLocalStorage.prototype.getItem = function (key) {
  32. return this.data[key];
  33. };
  34. EgretLocalStorage.prototype.setItem = function (key, value) {
  35. this.data[key] = value;
  36. this.save();
  37. };
  38. EgretLocalStorage.prototype.removeItem = function (key) {
  39. delete this.data[key];
  40. this.save();
  41. };
  42. EgretLocalStorage.prototype.clear = function () {
  43. for (var key in this.data) {
  44. delete this.data[key];
  45. }
  46. this.save();
  47. };
  48. EgretLocalStorage.prototype.save = function () {
  49. egret_webview.io.writeFile(EgretLocalStorage.filePath, JSON.stringify(this.data), null);
  50. };
  51. EgretLocalStorage.filePath = "LocalStorage.local";
  52. return EgretLocalStorage;
  53. })();
  54. function EgretRuntimeBridgeInit() {
  55. if (typeof(egret_webview) == "undefined") {
  56. if (typeof(window.____egret_webview) == "undefined") {
  57. //Runtime出错了!!
  58. //alert("_js : window.____egret_webview undefined");
  59. }
  60. else {
  61. egret_webview = {};
  62. egret_webview.obj = window.____egret_webview;
  63. console.log("_js : egret_webview = " + egret_webview.obj);
  64. egret_webview.io = window.____egtIO;
  65. console.log("_js : egret_webview.io = " + egret_webview.io);
  66. egret_webview.audio = window.____egtAudio;
  67. console.log("_js : egret_webview.audio = " + egret_webview.audio);
  68. }
  69. }
  70. if (window.hasOwnProperty("egret_webview") && typeof(egret_webview) != "undefined") {
  71. egret_webview.onDestory = function () {
  72. };
  73. egret_webview.onPause = function () {
  74. };
  75. egret_webview.onResume = function () {
  76. };
  77. egret.localStorage = new EgretLocalStorage();
  78. }
  79. else if (window && window.localStorage && window.localStorage.getItem) {
  80. egret.localStorage = window.localStorage;
  81. }
  82. else {
  83. egret.localStorage = new NullLocalStorage();
  84. }
  85. }
  86. window.EgretRuntimeBridgeInit = EgretRuntimeBridgeInit;