UNPKG

vue-auto-track

Version:

auto tracking for vue

71 lines (66 loc) 1.88 kB
import MobileDetect from "mobile-detect"; import { ENV_H5 } from "./global"; export function getInfoFromIp(env = `h5`) { /** * query ip * city 城市名称 */ return new Promise((resolve, reject) => { if (env === ENV_H5) { const newScript = document.createElement(`script`); newScript.onload = () => { let { cip, cname } = returnCitySN; resolve({ query: cip, city: cname }); }; newScript.src = `https://pv.sohu.com/cityjson?ie=utf-8`; document.body.appendChild(newScript); } else { uni.request({ url: `https://diting-buriedPoint.gw.zt-express.com/getIpLocation`, success: function (e) { let { province = "", city = "" } = e.data.result; resolve({ city: province + city, query: "" }); }, }); } }); } export function getSystemInfo(env = `h5`) { /** * brand 品牌设备 * model 设备型号 * version 版本号 * system 操作系统及版本 * platform weixin_app */ return new Promise((resolve, reject) => { if (env === ENV_H5) { let md = new MobileDetect(navigator.userAgent); let os = md.os(); // 获取系统 let version = ``; // 获取版本 let model = ``; // 品牌 if (os == `iOS`) { // ios系统的处理 version = md.version(`iPhone`); model = md.mobile(); } else if (os == `AndroidOS`) { version = md.version(`Android`); model = md.mobile(); } resolve({ brand: model, system: os, model, version, platform: `h5`, }); } else { uni.getSystemInfo({ success: function (res) { let { brand, model, version, system, platform, SDKVersion } = res; resolve({ brand, model, version, system, platform, SDKVersion }); }, }); } }); }