tools.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*工具函数模块*/
  2. import axios from 'axios'
  3. // 数组去重
  4. export function uniq(array){
  5. var temp = []; //一个新的临时数组
  6. for(var i = 0; i < array.length; i++){
  7. if(temp.indexOf(array[i]) == -1){
  8. temp.push(array[i]);
  9. }
  10. }
  11. return temp;
  12. }
  13. // 获取绝对位置的横坐标和纵坐标
  14. export function getElementLeft(element){
  15. var actualLeft = element.offsetLeft;
  16. var current = element.offsetParent;
  17. while (current !== null){
  18. actualLeft += current.offsetLeft;
  19. current = current.offsetParent;
  20. }
  21. return actualLeft;
  22. }
  23. export function getElementTop(element){
  24. var actualTop = element.offsetTop;
  25. var current = element.offsetParent;
  26. while (current !== null){
  27. actualTop += current.offsetTop;
  28. current = current.offsetParent;
  29. }
  30. return actualTop;
  31. }
  32. // 通过axios静态获取本地资源
  33. export function getStaticFile(url) {
  34. return new Promise(function (resolve) {
  35. let promise
  36. promise = axios.get(`static/Data/${url}`)
  37. promise.then(function (response) {
  38. resolve(response.data)
  39. })
  40. })
  41. }
  42. // 生产guid的工具函数
  43. export function guId() {
  44. return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
  45. var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
  46. return v.toString(16);
  47. });
  48. }