import { showToast } from './utils/feedback' import { formatTime, arrRemoveObj,getTypeItem } from './utils/util' // const baseUrl = "https://test-ding.g107.com/";//测试 const baseUrl = "https://ding.insys.g107.com/";//正式 var that; var yearArr=[]; var year=formatTime(new Date()).year; for(var i=2018;i<=year;i++){ yearArr.push(i); } App({ //自定义全局变量 globalData: { showToast: showToast,//提示框 arrRemoveObj: arrRemoveObj,//删除数组的某一项 year: formatTime(new Date()).year,//当前年 month: formatTime(new Date()).month,//当前月 day: formatTime(new Date()).day,//当前日 types:[], userData: '', token:'', // token:' eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvZGluZy5pbnN5cy5nMTA3LmNvbVwvYXBpXC9kaW5nXC9sb2dpbiIsImlhdCI6MTYwMDMxNDM0NywiZXhwIjoxNjAwOTE0MzQ3LCJuYmYiOjE2MDAzMTQzNDcsImp0aSI6IjgwMFJUS0J4RllIbnU5M3EiLCJzdWIiOjIsInBydiI6ImNhNjQ4OWQ1MGYyNDA3YTY3ODMwZTgwOTBkMDE0ODgzNTY4NTk2MmIiLCJyb2xlIjoiZW1wbG95ZWUifQ.E1RiQ6uMRICoL-2qDTeh5j5y-QLaUsGGs6PYLm-_1m8', ALIOSS_URL: 'https://integralsys.oss-cn-shenzhen.aliyuncs.com', imgHttpUrl:'https://intesys.cms.g107.com/integral.php/Api/get_signature', corpId:'', yearArr:yearArr, isAdministrator:false,//是否管理员 }, //获取积分类型 getTypes(callBack) { this.$get("api/integral/types", {}).then((res) => { this.globalData.types = res.data.data.list; callBack(); }) }, routerGet(url,data={},Accept){ return new Promise(function (resolve, reject) { dd.showLoading(); dd.httpRequest({ url: baseUrl + url, method: 'GET', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'A-Token': that.globalData.token, 'Accept': Accept ? Accept:'' }, data: data, dataType: 'json', success: function (res) { if (res.data.code == 1) { if (res.data.refresh_token && res.data.refresh_token != that.globalData.token) { that.globalData.token = res.data.refresh_token } resolve(res); } else if (res.data.code == 401) { that.globalData.showToast("登录已过期"); // reject(res); } else { that.globalData.showToast(res.data.msg) // reject(res); } }, fail: function (res) { reject(res); }, complete:function(){ dd.hideLoading(); } }); }) }, routerPost(url,data={}){ return new Promise(function (resolve, reject) { dd.httpRequest({ url: baseUrl + url, method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'A-Token': that.globalData.token }, data: data, dataType: 'json', success: function (res) { if (res.data.code == 1) { if (res.refresh_token && res.data.refresh_token != that.globalData.token) { that.globalData.token = res.data.refresh_token } resolve(res); } else if (res.data.code == 401) { that.globalData.showToast("登录已过期"); reject(res); } else { that.globalData.showToast(res.data.msg); reject(res); } }, fail: function (res) { reject(res); } }); }) }, //封装post $post(url, data={}) { if(url=='api/ding/login'){ return that.routerPost(url,data); } if(!that.globalData.token){ dd.navigateTo({ url:'../../init/init' }) return Promise.reject("登录中") }else{ return that.routerPost(url,data); } }, //封装get $get(url,data={},Accept) { if(url=='api/integral/types'){ return that.routerGet(url,data,Accept); } if(!that.globalData.token){ dd.navigateTo({ url:'../../init/init' }) return Promise.reject("登录中") }else{ return that.routerGet(url,data,Accept); } }, //免登 login(corpId, callBack) { dd.getAuthCode({ success: function (res) { that.$post('api/ding/login', { authCode: res.authCode, corpId: corpId }).then(res => { if (res.data.code == 1) { var { token, user } = res.data.data; if(user.is_official==1){ user.employee_detail.role_list.forEach(item => { if (item.name == 'admin' || item.name == 'creator' || item.name == 'point_manager') { that.globalData.isAdministrator = true; } }); that.globalData.token = token; that.globalData.userData = user; callBack(true); }else{ callBack(false); } }else if(res.data.code == 3000){ that.globalData.showToast("员工信息同步中,请稍后进入") }else{ that.globalData.showToast(res.msg) } }).catch(err=>{ console.log(err); }) }, fail:function(err){ console.log(err) } }); }, getTypesItem(id){ return getTypeItem(this.globalData.types,id); }, onLaunch(options) { that = this; that.getTypes(function(){}); that.globalData.corpId = options.query.corpId; }, });