123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- 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) => {
- console.log('-->data',number)
- 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] >= 6) || (str.length > 2 && str[3] >= 5 && 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("&")}`,
- });
- }
- const saveImage = url => {
- return new Promise((resolve, reject) => {
- uni.downloadFile({
- url: url,
- success: (res) => {
- if (res.statusCode === 200) {
- console.log('下载成功');
- uni.authorize({
- scope: 'scope.writePhotosAlbum',
- success() {
- uni.saveImageToPhotosAlbum({
- filePath: res.tempFilePath,
- success: function(red) {
- uni.$u.toast(`保存成功`)
- //uni.$u.toast(`保存路径:${red.savedFilePath}`)
- resolve()
- },
- fail: function() {
- uni.$u.toast(`保存失败`)
- reject()
- }
- });
- },
- fail: err => {
- uni.$u.toast(`授权失败`+JSON.stringify(err))
- reject()
- }
- })
- }else{
- uni.$u.toast(`保存失败`)
- reject()
- }
- },
- fail: err => {
- uni.$u.toast(`保存失败`+JSON.stringify(err))
- reject()
- }
- });
- })
- }
- const copyText = text => {
- uni.setClipboardData({
- data: text,
- success: function () {
- uni.hideLoading();
- uni.$u.toast(`复制成功`)
- }
- });
- }
- export {
- ksort,
- checkNullObj,
- checkArrayNotNullNumber,
- tan,
- cot,
- cos,
- csc,
- sin,
- sec,
- asin,
- acos,
- atan,
- checkTriangle,
- round,
- objectToUrlParams,
- shareMessage,
- share,
- login,
- saveImage,
- copyText
- }
|