app.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. import { showToast } from './utils/feedback'
  2. import { formatTime, arrRemoveObj,getTypeItem } from './utils/util'
  3. const baseUrl = "https://test-ding.g107.com/";//测试
  4. // const baseUrl = "https://ding.insys.g107.com/";//正式
  5. var that;
  6. var yearArr=[];
  7. var year=formatTime(new Date()).year;
  8. for(var i=2018;i<=year;i++){
  9. yearArr.push(i);
  10. }
  11. App({
  12. //自定义全局变量
  13. globalData: {
  14. showToast: showToast,//提示框
  15. arrRemoveObj: arrRemoveObj,//删除数组的某一项
  16. year: formatTime(new Date()).year,//当前年
  17. month: formatTime(new Date()).month,//当前月
  18. day: formatTime(new Date()).day,//当前日
  19. types:[],
  20. userData: '',
  21. token:'',
  22. // token:' eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvZGluZy5pbnN5cy5nMTA3LmNvbVwvYXBpXC9kaW5nXC9sb2dpbiIsImlhdCI6MTYwMDMxNDM0NywiZXhwIjoxNjAwOTE0MzQ3LCJuYmYiOjE2MDAzMTQzNDcsImp0aSI6IjgwMFJUS0J4RllIbnU5M3EiLCJzdWIiOjIsInBydiI6ImNhNjQ4OWQ1MGYyNDA3YTY3ODMwZTgwOTBkMDE0ODgzNTY4NTk2MmIiLCJyb2xlIjoiZW1wbG95ZWUifQ.E1RiQ6uMRICoL-2qDTeh5j5y-QLaUsGGs6PYLm-_1m8',
  23. ALIOSS_URL: 'https://integralsys.oss-cn-shenzhen.aliyuncs.com',
  24. imgHttpUrl:'https://intesys.cms.g107.com/integral.php/Api/get_signature',
  25. corpId:'',
  26. yearArr:yearArr,
  27. isAdministrator:false,//是否管理员
  28. },
  29. //获取积分类型
  30. getTypes(callBack) {
  31. this.$get("api/integral/types", {}).then((res) => {
  32. this.globalData.types = res.data.data.list;
  33. callBack();
  34. })
  35. },
  36. routerGet(url,data={},Accept){
  37. return new Promise(function (resolve, reject) {
  38. dd.showLoading();
  39. dd.httpRequest({
  40. url: baseUrl + url,
  41. method: 'GET',
  42. headers: {
  43. 'Content-Type': 'application/x-www-form-urlencoded',
  44. 'A-Token': that.globalData.token,
  45. 'Accept': Accept ? Accept:''
  46. },
  47. data: data,
  48. dataType: 'json',
  49. success: function (res) {
  50. if (res.data.code == 1) {
  51. if (res.data.refresh_token && res.data.refresh_token != that.globalData.token) {
  52. that.globalData.token = res.data.refresh_token
  53. }
  54. resolve(res);
  55. } else if (res.data.code == 401) {
  56. that.globalData.showToast("登录已过期");
  57. // reject(res);
  58. } else {
  59. that.globalData.showToast(res.data.msg)
  60. // reject(res);
  61. }
  62. },
  63. fail: function (res) {
  64. if(res.errorMessage=='NETWORK ERROR'){
  65. dd.alert({
  66. title: '网络异常',
  67. content: '网络异常,请检查网络是否畅通,再重新进入应用',
  68. buttonText: '我知道了',
  69. success: () => {},
  70. });
  71. return;
  72. }
  73. reject(res);
  74. },
  75. complete:function(){
  76. dd.hideLoading();
  77. }
  78. });
  79. })
  80. },
  81. routerPost(url,data={}){
  82. return new Promise(function (resolve, reject) {
  83. dd.httpRequest({
  84. url: baseUrl + url,
  85. method: 'POST',
  86. headers: {
  87. 'Content-Type': 'application/x-www-form-urlencoded',
  88. 'A-Token': that.globalData.token
  89. },
  90. data: data,
  91. dataType: 'json',
  92. success: function (res) {
  93. if (res.data.code == 1) {
  94. if (res.refresh_token && res.data.refresh_token != that.globalData.token) {
  95. that.globalData.token = res.data.refresh_token
  96. }
  97. resolve(res);
  98. } else if (res.data.code == 401) {
  99. that.globalData.showToast("登录已过期");
  100. reject(res);
  101. } else {
  102. that.globalData.showToast(res.data.msg);
  103. reject(res);
  104. }
  105. },
  106. fail: function (res) {
  107. if(res.errorMessage=='NETWORK ERROR'){
  108. dd.alert({
  109. title: '网络异常',
  110. content: '网络异常,请检查网络是否畅通,再重新进入应用',
  111. buttonText: '我知道了',
  112. success: () => {},
  113. });
  114. return;
  115. }
  116. reject(res);
  117. }
  118. });
  119. })
  120. },
  121. //封装post
  122. $post(url, data={}) {
  123. if(url=='api/ding/login'){
  124. return that.routerPost(url,data);
  125. }
  126. if(!that.globalData.token){
  127. dd.navigateTo({
  128. url:'../../init/init'
  129. })
  130. return Promise.reject("登录中")
  131. }else{
  132. return that.routerPost(url,data);
  133. }
  134. },
  135. //封装get
  136. $get(url,data={},Accept) {
  137. if(url=='api/integral/types'){
  138. return that.routerGet(url,data,Accept);
  139. }
  140. if(!that.globalData.token){
  141. dd.navigateTo({
  142. url:'../../init/init'
  143. })
  144. return Promise.reject("登录中")
  145. }else{
  146. return that.routerGet(url,data,Accept);
  147. }
  148. },
  149. //免登
  150. login(corpId, callBack) {
  151. dd.getAuthCode({
  152. success: function (res) {
  153. that.$post('api/ding/login', { authCode: res.authCode, corpId: corpId }).then(res => {
  154. if (res.data.code == 1) {
  155. var { token, user } = res.data.data;
  156. if(user.is_official==1){
  157. user.employee_detail.role_list.forEach(item => {
  158. if (item.name == 'admin' || item.name == 'creator' || item.name == 'point_manager') {
  159. that.globalData.isAdministrator = true;
  160. }
  161. });
  162. that.globalData.token = token;
  163. that.globalData.userData = user;
  164. callBack(true);
  165. }else{
  166. callBack(false);
  167. }
  168. }else if(res.data.code == 3000){
  169. that.globalData.showToast("员工信息同步中,请稍后进入")
  170. }else{
  171. that.globalData.showToast(res.msg)
  172. }
  173. }).catch(err=>{
  174. console.log(err);
  175. })
  176. },
  177. fail:function(err){
  178. console.log(err)
  179. }
  180. });
  181. },
  182. getTypesItem(id){
  183. return getTypeItem(this.globalData.types,id);
  184. },
  185. onLaunch(options) {
  186. that = this;
  187. that.getTypes(function(){});
  188. that.globalData.corpId = options.query.corpId;
  189. },
  190. });