123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342 |
- import { showToast } from './utils/feedback'
- import { formatTime, arrRemoveObj, getTypeItem } from './utils/util'
- import * as socketApi from './utils/websocket'
- // 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: {
- baseUrl:baseUrl,
- // webScoketUrl: "test-ding.g107.com",//webScoket测试
- webScoketUrl: "ding.insys.g107.com",//webScoket正式
- showToast: showToast,//提示框
- arrRemoveObj: arrRemoveObj,//删除数组的某一项
- year: formatTime(new Date()).year,//当前年
- month: formatTime(new Date()).month,//当前月
- day: formatTime(new Date()).day,//当前日
- month_tow: formatTime(new Date()).month_tow,//当前月份
- allDate: formatTime(new Date()).allDate,//带时分
- types: [],
- userData: '',
- token: '',
- 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,//是否管理员
- isCreator: false,//是否是创始人
- corpMessage: '',//企业套餐信息
- usersList: [],//缓存的人员列表
- socketApi:socketApi,//长连接
- },
- //获取积分类型
- getTypes(callBack) {
- this.$get("api/integral/types", {}).then((res) => {
- this.globalData.types = res.data.data.list;
- callBack();
- })
- },
- //获取套餐信息
- getCorp(corpId) {
- this.$get("api/order/corp", { corp_id: corpId }).then((res) => {
- this.globalData.corpMessage = res.data.data;
- })
- },
- routerGet2(url, data = {}, Accept) {
- return new Promise(function (resolve, reject) {
- 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,
- timeout:10000,
- 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) {
- if (res.errorMessage == 'NETWORK ERROR') {
- dd.alert({
- title: '网络异常',
- content: '网络异常,请检查网络是否畅通,再重新进入应用',
- buttonText: '我知道了',
- success: () => { },
- });
- return;
- }
- reject(res);
- }
- });
- })
- },
- routerGet(url, data = {}, Accept) {
- return new Promise(function (resolve, reject) {
- dd.showLoading();
- dd.httpRequest({
- url: baseUrl + url,
- method: 'GET',
- timeout:10000,
- 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) {
- if (res.errorMessage == 'NETWORK ERROR') {
- dd.alert({
- title: '网络异常',
- content: '网络异常,请检查网络是否畅通,再重新进入应用',
- buttonText: '我知道了',
- success: () => { },
- });
- return;
- }
- reject(res);
- },
- complete: function () {
- dd.hideLoading();
- }
- });
- })
- },
- routerPost(url, data = {}, Accept) {
- 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,
- 'Accept': Accept ? Accept : ''
- },
- timeout:10000,
- 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 if(res.data.code == 3000) {
- reject(res);
- }else{
- that.globalData.showToast(res.data.msg);
- reject(res);
- }
- },
- fail: function (res) {
- if(res.error==19||res.error==13){
- if(url=='api/integral/review/a/entry'||url=='api/integral/point/entry'){
- let sum=0;
- if(data){
- sum=Number(JSON.parse(data.items).length)*Number(JSON.parse(data.members).length);
- }
- that.$post('api/e', {sum:sum,message:'钉钉小程序'}).then(res => {})
- }
- }
- if (res.errorMessage == 'NETWORK ERROR') {
- dd.alert({
- title: '网络异常',
- content: '网络异常,请检查网络是否畅通,再重新进入应用',
- buttonText: '我知道了',
- success: () => { },
- });
- return;
- }
- reject(res);
- }
- });
- })
- },
- //封装post
- $post(url, data = {}, Accept) {
- // if (url == 'api/ding/login') {
- // return that.routerPost(url, data, Accept);
- // }
- // if (!that.globalData.token) {
- // dd.navigateTo({
- // url: '../../init/init'
- // })
- // return Promise.reject("登录中")
- // } else {
- return that.routerPost(url, data, Accept);
- // }
- },
- //封装get
- $get(url, data = {}, Accept) {
- // if (url == 'api/integral/types' || url == 'api/order/corp') {
- // 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);
- // }
- },
- //封装get
- $get2(url, data = {}, Accept) {
- // if (url == 'api/integral/types' || url == 'api/order/corp') {
- // return that.routerGet2(url, data, Accept);
- // }
- // if (!that.globalData.token) {
- // dd.navigateTo({
- // url: '../../init/init'
- // })
- // return Promise.reject("登录中")
- // } else {
- return that.routerGet2(url, data, Accept);
- // }
- },
- //免登 isShowStart是否显示引导页
- login(corpId, callBack, errBack=function(){},isShowStart=false) {
- if (that.globalData.token) {
- callBack(true)
- } else {
- 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;
- var isStart = false;
- if (user.is_official == 1) {
- user.employee_detail.role_list.forEach(item => {
- if (item.name == 'creator') {
- that.globalData.isCreator = true;
- isStart = true;
- }
- if (item.name == 'admin' || item.name == 'creator' || item.name == 'point_manager' || item.name == 'dept_manager') {
- that.globalData.isAdministrator = true;
- }
- });
- that.globalData.token = token;
- that.globalData.userData = user;
- var getIsStart = dd.getStorageSync({ key: 'isStart' });//判断是否需要打开引导页
- // console.log(JSON.stringify(user));
- that.getUserList();//缓存人员列表
- if (isStart && !getIsStart.data&&isShowStart) {//判断是否需要打开引导
- dd.reLaunch({
- url: '../start/start'
- })
- } else {
- callBack(true);
- }
- } else {
- callBack(false);
- }
- } else if (res.data.code == 3000) {
- that.globalData.showToast("员工信息同步中,请稍后进入")
- } else {
- that.globalData.showToast(res.msg)
- }
- }).catch(err => {
- errBack(err.data);
- return
- if (err.data.code == 2001) {
- dd.confirm({
- title: '尊敬的用户',
- content: '你当前的套餐已到期',
- confirmButtonText: '去续费',
- cancelButtonText: '暂不需要',
- success: (result) => {
- if (result.confirm) {
- dd.reLaunch({
- url: `../../deploy/addMoney/addMoney`
- })
- }
- },
- });
- }
- })
- },
- fail: function (err) {
- console.log(JSON.stringify(err))
- that.globalData.showToast("错误" + JSON.stringify(err))
- }
- });
- }
- },
- getUserList() {
- this.$get("api/employee/list",{ dept_id: 0 }).then((res) => {
- that.globalData.usersList = res.data.data.list;
- })
- },
- getTypesItem(id) {
- return getTypeItem(this.globalData.types, id);
- },
- updateApp(){
- const updateManager = dd.getUpdateManager()
- updateManager.onCheckForUpdate(function (res) {
- // 请求完新版本信息的回调
- // console.log(res.hasUpdate) // 是否有更新
- })
- updateManager.onUpdateReady(function (ret) {
- // console.log(ret.version) // 更新版本号
- dd.confirm({
- title: '更新提示',
- content: '新版本已经准备好,是否重启应用?',
- success: function (res) {
- if (res.confirm) {
- // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
- updateManager.applyUpdate()
- }
- }
- })
- })
- updateManager.onUpdateFailed(function () {
- // 新版本下载失败
- })
- },
- onLaunch(options) {
- dd.globalData=this.globalData;
- that = this;
- that.updateApp();
- that.getTypes(function () { });
- that.getCorp(options.query.corpId);
- that.globalData.corpId = options.query.corpId;
- },
- });
|