mixin.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. export const myMixin = {
  2. data() {
  3. return {
  4. userJson: {},
  5. };
  6. },
  7. methods: {
  8. detectBrowser() {
  9. const ua = navigator.userAgent;
  10. // 按优先级顺序检测
  11. if (ua.includes("Edg/") || ua.includes("Edge/")) {
  12. return "Microsoft Edge";
  13. } else if (ua.includes("Firefox")) {
  14. return "Mozilla Firefox";
  15. } else if (ua.includes("Trident") || ua.includes("MSIE")) {
  16. return "Internet Explorer";
  17. } else if (ua.includes("360EE")) {
  18. return "360 Browser (极速模式)";
  19. } else if (ua.includes("360SE")) {
  20. return "360 Browser (安全模式)";
  21. } else if (ua.includes("SLBrowser")) {
  22. return "QQ Browser";
  23. } else if (ua.includes("UCBrowser")) {
  24. return "UC Browser";
  25. } else if (ua.includes("Opera") || ua.includes("OPR/")) {
  26. return "Opera";
  27. } else if (ua.includes("Chrome") && !ua.includes("Edg/")) {
  28. return "Google Chrome";
  29. } else if (ua.includes("Safari/") && !ua.includes("Chrome")) {
  30. return "Safari";
  31. } else {
  32. return "Other Browser";
  33. }
  34. },
  35. async addOp3(userTime, loadTime, object, status) {
  36. try {
  37. if(!this.userJson || !this.userJson.accountNumber){
  38. let res = await this.ajax.get(this.$store.state.api + "selectUser", {
  39. userid: this.$route.query.userid
  40. });
  41. this.userJson = res.data[0][0]
  42. }
  43. } catch (e) {
  44. console.log(e);
  45. this.addOp3(userTime, loadTime, object, status);
  46. }
  47. let _time = new Date()
  48. .toLocaleString("zh-CN", { hour12: false, timeZone: "Asia/Shanghai" })
  49. .replace(/\//g, "-");
  50. let browser = this.detectBrowser();
  51. let params = {
  52. userid: this.$route.query.userid,
  53. username: this.userJson.username,
  54. accountNumber: this.userJson.accountNumber,
  55. org: this.userJson.orgName,
  56. school: this.userJson.schoolName,
  57. browser: browser,
  58. userTime: userTime == "1" ? _time : userTime, // 使用时间 1次的就1 其次传秒
  59. loadTime: loadTime, //load的时间没有就“”
  60. object: JSON.stringify(object), //执行信息传json
  61. status: status //成功返回success。失败返回error的信息
  62. };
  63. this.ajax
  64. .post(this.$store.state.apiM + "updateUserData2", [params])
  65. .then(res => {
  66. if (res.data.status == 1) {
  67. console.log("保存成功");
  68. } else {
  69. console.log("保存失败");
  70. }
  71. })
  72. .catch(e => {
  73. console.log("保存失败");
  74. console.log(e);
  75. });
  76. }
  77. }
  78. };