tools.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const tools = {}
  2. //存储cookie
  3. tools.setCookie = (name, value) => {
  4. var Days = 30; /* 设置cookie保存时间 */
  5. var exp = new Date();
  6. exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
  7. document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
  8. }
  9. //获取cookie
  10. tools.getCookie = name => {
  11. var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  12. if (arr = document.cookie.match(reg)) {
  13. return unescape(arr[2]);
  14. } else {
  15. /* 如果没有参数,那么就获取本域下的所有cookie */
  16. return document.cookie;
  17. }
  18. }
  19. tools.delObjKey = (obj, key) => {
  20. if (obj.hasOwnProperty(key)) {
  21. delete obj[key]
  22. }
  23. }
  24. tools.deepCopy = (obj) => {
  25. let temp = obj.constructor === Array ? [] : {}
  26. for (let val in obj) {
  27. temp[val] = typeof obj[val] == 'object' ? tools.deepCopy(obj[val]) : obj[val]
  28. }
  29. return temp
  30. }
  31. //判断watch监听的值是否相同
  32. tools.isSimilarly = (newValue, oldValue) => {
  33. if(typeof newValue === typeof oldValue){
  34. if(newValue === oldValue){
  35. return true
  36. } else {
  37. let flag = false
  38. try {
  39. Object.keys(newValue).forEach((item, index, arr) => {
  40. if(oldValue.hasOwnProperty(item) && newValue[item] === oldValue[item]){
  41. if(index == arr.length-1){
  42. flag = true
  43. }
  44. } else {
  45. throw new Error()
  46. }
  47. })
  48. } catch (error) {
  49. return false
  50. }
  51. return flag
  52. }
  53. } else {
  54. return false
  55. }
  56. }
  57. export default tools