save.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. /**
  2. * 获取存储的Ip和端口号
  3. * @param {Object} callback 成功回调
  4. */
  5. function getIpAndCom(callback) {
  6. /* 使用mui.plusReady 是为了保证plus已经初始化 否则无法使用 */
  7. mui.plusReady(function() {
  8. var ip = plus.storage.getItem('ip');
  9. var com = plus.storage.getItem('com');
  10. if (ip != null && com != null) {
  11. callback(ip, com);
  12. } else {
  13. callback("218.59.194.74", "8080");
  14. }
  15. })
  16. }
  17. /**
  18. * @param {Object} options 参数
  19. * ip:{string}IP地址
  20. * com:{string}COM端口
  21. * success:{function}成功回调
  22. * error(err):{function}失败回调
  23. */
  24. function setIpAndCom(options) {
  25. mui.plusReady(function() {
  26. plus.storage.setItemAsync('ip', options.ip, function(obj) {
  27. plus.storage.setItemAsync('com', options.com, function(obj) {
  28. if (options.success != undefined) options.success();
  29. }, function(err) {
  30. if (options.error != undefined) options.error(err.message);
  31. })
  32. }, function(err) {
  33. if (options.error != undefined) options.error(err.message);
  34. })
  35. })
  36. }
  37. /**
  38. * 删除存储的账号密码信息
  39. * @param {JSON} options 配置项
  40. * success:{function}成功回调
  41. * error(err):{function}失败回调
  42. */
  43. function removeUserNameAndPassword(options) {
  44. removeStorage({
  45. key:'namepwd',
  46. success:options.success,
  47. error:options.error,
  48. });
  49. }
  50. /**
  51. * 获取用户名和密码
  52. * @param {JSON} options 配置项
  53. * success(obj):{function}成功回调
  54. * error(err):{function}失败回调
  55. */
  56. function getUserNameAndPassword(options) {
  57. getStorage({
  58. key:'namepwd',
  59. success:function(obj){
  60. var saveStr = obj.split('@');
  61. if(options.success != undefined){
  62. options.success({
  63. username:saveStr[0],
  64. password:saveStr[1],
  65. })
  66. }
  67. },
  68. error:options.error,
  69. })
  70. }
  71. /**
  72. * 存储账号和密码
  73. * @param {JSON} options 配置项
  74. * username:{String}账号
  75. * password:{String}密码
  76. * success:{function}成功回调
  77. * error(err):{function}错误回调
  78. */
  79. function saveUserNameAndPassword(options) {
  80. var saveStr = options.username + "@" + options.password;
  81. saveStorage({
  82. key:'namepwd',
  83. value:saveStr,
  84. success:options.success,
  85. error:options.error,
  86. })
  87. }
  88. /**
  89. * 存储远程获取的用户数据
  90. * @param {JSON} options 配置项
  91. * user:{JSON}用户数据
  92. * success:{function}成功回调
  93. * error(err):{function}错误回调
  94. */
  95. function saveUserInfo(options) {
  96. var strUser = JSON.stringify(options.user);
  97. saveStorage({
  98. key:'userInfo',
  99. value:strUser,
  100. success:options.success,
  101. error:options.error,
  102. });
  103. }
  104. /**
  105. * 获取存储的用户信息
  106. * @param {JSON} options 配置项
  107. * success(obj):{function}成功回调
  108. * error(err):{function}错误回调
  109. */
  110. function getSaveUserInfo(options) {
  111. getStorage({
  112. key:'userInfo',
  113. success:function(obj){
  114. var user = JSON.parse(obj);
  115. if(options.success != undefined) options.success(user);
  116. },
  117. error:options.error,
  118. });
  119. }
  120. /**
  121. * @param {JSON} options 配置项
  122. * layers{JSON}:图层列表JSON
  123. * success:{function}成功回调
  124. * error(err):{function}错误回调
  125. */
  126. function saveUserLayers(options) {
  127. saveStorage({
  128. key:'userLayers',
  129. value:JSON.stringify(options.layers),
  130. success:options.success,
  131. error:options.error,
  132. });
  133. }
  134. /**
  135. * @param {JSON} options 配置项
  136. * success(obj):{function}成功回调
  137. * error(err):{function}错误回调
  138. */
  139. function getSaveUserLayers(options) {
  140. getStorage({
  141. key:'userLayers',
  142. success:function(obj){
  143. if(options.error != undefined) options.success(JSON.parse(obj));
  144. },
  145. error:options.error,
  146. })
  147. }
  148. /**
  149. * 存储信息
  150. * @param {JSON} options 配置项
  151. * key:{String}键
  152. * value:{String}值
  153. * success:{function}成功回调
  154. * error(err):{functon}错误回调
  155. */
  156. function saveStorage(options) {
  157. mui.plusReady(function() {
  158. plus.storage.setItemAsync(options.key, options.value, function(obj) {
  159. if (options.success != undefined) options.success();
  160. }, function(err) {
  161. if (options.error != undefined) options.error(err.message);
  162. });
  163. });
  164. }
  165. /**
  166. * 获取信息
  167. * @param {JSON} options 配置项
  168. * key:{String}键
  169. * success(data):{function}成功回调
  170. * error(err):{functon}错误回调
  171. */
  172. function getStorage(options) {
  173. mui.plusReady(function() {
  174. plus.storage.getItemAsync(options.key, function(obj) {
  175. /* 成功获取 JSON data中存储值 */
  176. if (options.success != undefined) options.success(obj.data);
  177. }, function(err) {
  178. if (options.error != undefined) options.error(err.message);
  179. });
  180. });
  181. }
  182. /**
  183. * 删除键值
  184. * @param {JSON} options 配置项
  185. * key:{String}键
  186. * success:{function}成功回调
  187. * error(err):{functon}错误回调
  188. */
  189. function removeStorage(options){
  190. mui.plusReady(function() {
  191. /* 首先验证是否存在 */
  192. var keyValue = plus.storage.getItem(options.key);
  193. if(keyValue == null){
  194. if(options.success) options.success();
  195. }else{
  196. plus.storage.removeItemAsync(options.key, function() {
  197. if (options.success != undefined) options.success();
  198. }, function(err) {
  199. if (options.error != undefined) options.error(err.message);
  200. });
  201. }
  202. });
  203. }
  204. /**
  205. * 显示弹出消息
  206. * @param {String} message 消息内容
  207. * @param {string} title 标题
  208. * @param {function} callback 回调
  209. */
  210. function muiAlert(message,title,callback){
  211. mui.alert(message,title,['确定'],function(e){
  212. if(callback != undefined) callback();
  213. },'div');
  214. }
  215. /**
  216. * 显示错误消息
  217. * @param {string} message 消息内容
  218. * @param {function} callback 回调
  219. */
  220. function muiAlertError(message,callback){
  221. mui.alert(message,'错误',['确定'],function(e){
  222. if(callback != undefined) callback();
  223. },'div');
  224. }
  225. /**
  226. * 确认框
  227. * @param {string} message 消息内容
  228. * @param {string} btnTitle 保存按钮标题
  229. * @param {function} callback 回调函数
  230. */
  231. function muiConfirm(message,btnTitle,callback){
  232. mui.confirm(message,'提示',['取消',btnTitle == undefined?'确定':btnTitle],function(e){
  233. if(e.index == 1){
  234. if(callback != undefined) callback();
  235. }
  236. },'div');
  237. }
  238. /**
  239. * 提示消息
  240. * @param {string} message 消息内容
  241. */
  242. function muiToast(message){
  243. mui.toast(message);
  244. }