o2Request.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. let app = getApp();
  2. function request(method, url, param, isShowLoading) {
  3. //返回一个Promise对象
  4. return new Promise(function(resolve, reject) {
  5. if (isShowLoading) {
  6. wx.showLoading({
  7. title: '加载中...',
  8. mask: true
  9. });
  10. }
  11. wx.request({
  12. url: url,
  13. method: method,
  14. data: param,
  15. header: {
  16. 'content-type': 'application/json',
  17. 'cookie': wx.getStorageSync('cookie')
  18. },
  19. success: function(res) {
  20. // 保存登录返回的cookie
  21. if (res.header['Set-Cookie']) {
  22. wx.setStorageSync('cookie', res.header['Set-Cookie']);
  23. // wx.setStorage({
  24. // key: 'cookie',
  25. // data: res.header['Set-Cookie'],
  26. // })
  27. }
  28. // console.log('接口:' + url, ' 参数:', param, '\n返回值:', res.data)
  29. if (isShowLoading) {
  30. wx.hideLoading();
  31. }
  32. if (res.data.type == 'success') { // 接口正常返回
  33. resolve(res.data.data);
  34. } else { // 出现异常
  35. wx.showToast({
  36. title: res.data.message,
  37. icon: 'none',
  38. duration: 2000
  39. });
  40. reject(res.data);
  41. }
  42. },
  43. fail: function(res) {
  44. wx.hideLoading();
  45. console.log('请求异常 接口:' + url, ' 参数:', param, '\n返回值:', res)
  46. wx.showToast({
  47. title: '请求异常',
  48. icon: 'none',
  49. duration: 2000
  50. });
  51. reject(res);
  52. }
  53. });
  54. });
  55. }
  56. //设置应用地址到存储中
  57. function setDistribute(distribute) {
  58. ['webServer', 'assembles', 'tokenName'].forEach( t => {
  59. wx.removeStorageSync(t);
  60. if (t === 'tokenName') {
  61. wx.setStorageSync(t, distribute[t] || 'x-token');
  62. } else {
  63. wx.setStorageSync(t, distribute[t] || {});
  64. }
  65. });
  66. }
  67. // 获取模块的baseUrl
  68. function getO2AssembleUrl(contextName) {
  69. var assemble = wx.getStorageSync('assembles')[contextName] || {host: app.globalData.o2oa.centerHost, port: app.globalData.o2oa.centerPort, context: "/"+contextName};
  70. return app.globalData.o2oa.httpProtocol + "://" + assemble["host"] + ":" + assemble["port"]+ assemble["context"];
  71. }
  72. //web服务器根地址 如 https://sample.o2oa.net:443
  73. function getO2WebBaseUrl() {
  74. var webServer = wx.getStorageSync('webServer');
  75. return app.globalData.o2oa.httpProtocol + "://" + webServer["host"] + ":" + webServer["port"];
  76. }
  77. // 中心服务器获取
  78. function o2oaCenterUrl() {
  79. return app.globalData.o2oa.httpProtocol + "://" + app.globalData.o2oa.centerHost + ":" + app.globalData.o2oa.centerPort + app.globalData.o2oa.centerContext + "/jaxrs/distribute/webserver/assemble/source/" + app.globalData.o2oa.centerHost;
  80. }
  81. // 获取演示服务器账号列表
  82. function wwwGetSampleServerAccountsUrl() {
  83. return "https://www.o2oa.net/oa/x_program_center/jaxrs/invoke/demo_app_get_login_accounts/execute";
  84. }
  85. //认证模块
  86. function o2oaOrganizationAuthenticationBaseUrl() {
  87. return getO2AssembleUrl('x_organization_assemble_authentication');
  88. }
  89. //cms模块
  90. function o2oaCmsServiceBaseUrl() {
  91. return getO2AssembleUrl('x_cms_assemble_control');
  92. }
  93. //bbs论坛模块
  94. function o2oaBBSServiceBaseUrl() {
  95. return getO2AssembleUrl('x_bbs_assemble_control');
  96. }
  97. //热点图片模块
  98. function o2oaHotPicServiceBaseUrl() {
  99. return getO2AssembleUrl('x_hotpic_assemble_control');
  100. }
  101. //文件管理模块
  102. function o2oaFileServiceBaseUrl() {
  103. return getO2AssembleUrl('x_file_assemble_control');
  104. }
  105. //流程模块
  106. function o2oaProcessServiceBaseUrl() {
  107. return getO2AssembleUrl('x_processplatform_assemble_surface');
  108. }
  109. //人员管理
  110. function o2oaPersonalServiceBaseUrl() {
  111. return getO2AssembleUrl('x_organization_assemble_personal');
  112. }
  113. // get请求
  114. function get(path, param = {}, isShowLoading = true) {
  115. return request("GET", path, param, isShowLoading);
  116. }
  117. // post请求
  118. function post(path, param = {}, isShowLoading = true) {
  119. return request("POST", path, param, isShowLoading);
  120. }
  121. // PUT 请求
  122. function put(path, param = {}, isShowLoading = true) {
  123. return request("PUT", path, param, isShowLoading);
  124. }
  125. // DELETE 请求
  126. function deleteReq(path, param = {}, isShowLoading = true) {
  127. return request("DELETE", path, param, isShowLoading);
  128. }
  129. module.exports = {
  130. get: get,
  131. post: post,
  132. put: put,
  133. delete: deleteReq,
  134. o2oaOrganizationAuthenticationBaseUrl: o2oaOrganizationAuthenticationBaseUrl,
  135. o2oaCenterUrl: o2oaCenterUrl,
  136. setDistribute: setDistribute,
  137. getO2WebBaseUrl: getO2WebBaseUrl,
  138. o2oaCmsServiceBaseUrl: o2oaCmsServiceBaseUrl,
  139. o2oaHotPicServiceBaseUrl: o2oaHotPicServiceBaseUrl,
  140. o2oaFileServiceBaseUrl: o2oaFileServiceBaseUrl,
  141. o2oaProcessServiceBaseUrl: o2oaProcessServiceBaseUrl,
  142. o2oaBBSServiceBaseUrl: o2oaBBSServiceBaseUrl,
  143. o2oaPersonalServiceBaseUrl: o2oaPersonalServiceBaseUrl,
  144. wwwGetSampleServerAccountsUrl: wwwGetSampleServerAccountsUrl
  145. }