import $site from "./site"; const ksort = obj => { let keys = Object.keys(obj).sort() , sortedObj = {}; for (let i in keys) { sortedObj[keys[i]] = obj[keys[i]]; } return sortedObj; } const checkNullObj = (obj) => { if (Object.keys(obj).length === 0) { return false } return true } const checkArrayNotNullNumber = (array,notNullNumber = 2) => { let num = 0 for (const item in array) { if(array[item]) num++; } return num >= notNullNumber; } // 正切 const tan = angle => { return Math.tan(angle * Math.PI / 180) } // 余切 const cot = angle => { return 1 / tan(angle) } // 余弦 const cos = angle => { return Math.cos(angle * Math.PI / 180) } // 余割 const csc = angle => { return 1 / sin(angle) } // 正弦 const sin = angle => { return Math.sin(angle * Math.PI / 180) } // 正割 const sec = angle => { return 1 / cos(angle) } // 反正弦 const asin = value => { return Math.asin(value) * 180 / Math.PI; } // 反余弦 const acos = value => { return Math.acos(value) * 180 / Math.PI; } // 反正切 const atan = value => { return Math.atan(value) * 180 / Math.PI; } const checkTriangle = (a,b,c) => { a = parseInt(a); b= parseInt(b); c = parseInt(c); return a + b > c && a + c > b && b + c > a; } const round = (number,percent) => { if(!number) return number let flag = number < 0 ? '-' : ''; let arr = number.toString().split("."); if(arr.length > 1 && arr[1].length === 2) return number let i = Number('1'.padEnd(percent+1,'0')) number = Math.floor(Math.abs(Number(number)) * i) / i if(arr.length > 1 ){ let str = arr[1] if(str.length > 2 && str[2] >= 5){ number = Math.ceil(number * i) number += 1; number = number / i; } } if(number.toString().indexOf(".") === -1) number += ".0" arr = number.toString().split("."); arr[1] = arr[1].toString().padEnd(2,'0') number = arr.join(".") return flag+number; } const objectToUrlParams = function (obj, urlencode) { let str = ""; for (let key in obj) { str += "&" + key + "=" + (urlencode ? encodeURIComponent(obj[key]) : obj[key]); } return str.substr(1); } const shareMessage = user => { let args = { path: '/pages/index/index', params: { user_id : user.id, }, title: '桥架计算和公示表永久使用', desc: '做桥架不求人,让你秒变大师!', imageUrl: $site.root+"assets/images/formula/formula-cover.png" }; return args ; } /** * WXSceneSession 分享到聊天界面 * WXSenceTimeline 分享到朋友圈 * WXSceneFavorite 分享到微信收藏 * @param user * @param scene */ const share = (user,scene = "WXSenceTimeline") => { uni.share({ provider: "weixin", scene: scene, type: 5, // 小程序 miniProgram: { id: 'gh_cdaf361f6966', path:'/pages/index/index?user_id='+user.id, }, title: '桥架计算和公示表永久使用', summary: "做桥架不求人,让你秒变大师!", imageUrl: $site.root+"assets/images/formula/formula-cover.png", success: function (res) { console.log("success:" + JSON.stringify(res)); }, fail: function (err) { console.error("fail:" + JSON.stringify(err)); } }); } const login = () => { let page = getCurrentPages()[0] let route = page.route; let arr = []; for (const key in page.options) { arr.push(`${key}=${page.options[key]}`) } uni.reLaunch({ url: `/pages/login/login?redirect=${route}&${arr.join("&")}`, }); } export { ksort, checkNullObj, checkArrayNotNullNumber, tan, cot, cos, csc, sin, sec, asin, acos, atan, checkTriangle, round, objectToUrlParams, shareMessage, share, login }