request.js 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. import {
  2. config
  3. } from './config.js'
  4. import {
  5. tansParams
  6. } from "./util.js";
  7. export const apiResquest = (prams) => {
  8. return new Promise((resolve, reject) => {
  9. let url = config.base_url + prams.url;
  10. uni.showLoading({
  11. title: '加载中',
  12. mask: true
  13. });
  14. // get请求映射params参数
  15. if (prams.method === 'GET' && prams.data) {
  16. url = url + '?' + tansParams(prams.data);
  17. url = url.slice(0, -1);
  18. prams.data = {};
  19. }
  20. return uni.request({
  21. timeout:10000,
  22. url: url,
  23. data: {
  24. ...prams.data
  25. },
  26. method: prams.method,
  27. header: {
  28. 'content-type': 'application/json;charset=utf-8',
  29. 'Authorization': uni.getStorageSync('token')
  30. },
  31. success: (res) => {
  32. // 成功
  33. uni.hideLoading()
  34. if (res.statusCode == 200) {
  35. if (res.data.code == 200) {
  36. resolve(res);
  37. } else if (res.data.code == 401) {
  38. loginTimeout();
  39. } else {
  40. uni.showToast({
  41. mask: true,
  42. icon: "none",
  43. position: "center",
  44. title: res.data.message,
  45. duration: 2000
  46. });
  47. resolve(res);
  48. }
  49. } else if (res.statusCode == 401) {
  50. loginTimeout();
  51. } else {
  52. uni.showToast({
  53. mask: true,
  54. icon: "none",
  55. position: "center",
  56. title: '连接异常,请联系管理员.',
  57. duration: 2000
  58. });
  59. resolve(res);
  60. }
  61. },
  62. fail: (err) => {
  63. // 失败
  64. uni.hideLoading()
  65. uni.showToast({
  66. mask: false,
  67. icon: "none",
  68. position: "center",
  69. title: '出错啦~请联系管理员!',
  70. duration: 2000
  71. });
  72. reject(err);
  73. },
  74. complete: () => {
  75. // 完成
  76. }
  77. });
  78. })
  79. }
  80. export const apiResquestOutside = (prams) => {
  81. return new Promise((resolve, reject) => {
  82. let url = prams.url;
  83. uni.showLoading({
  84. title: '加载中',
  85. mask: true
  86. });
  87. // get请求映射params参数
  88. if (prams.method === 'GET' && prams.data) {
  89. url = url + '?' + tansParams(prams.data);
  90. url = url.slice(0, -1);
  91. prams.data = {};
  92. }
  93. return uni.request({
  94. timeout:10000,
  95. url: url,
  96. data: {
  97. ...prams.data
  98. },
  99. method: prams.method,
  100. header: {
  101. 'content-type': 'application/json;charset=utf-8',
  102. 'Authorization': uni.getStorageSync('token')
  103. },
  104. success: (res) => {
  105. // 成功
  106. uni.hideLoading()
  107. if (res.statusCode == 200) {
  108. if (res.data.code == 200) {
  109. resolve(res);
  110. } else if (res.data.code == 401) {
  111. loginTimeout();
  112. } else {
  113. uni.showToast({
  114. mask: true,
  115. icon: "none",
  116. position: "center",
  117. title: res.data.message,
  118. duration: 2000
  119. });
  120. resolve(res);
  121. }
  122. } else if (res.statusCode == 401) {
  123. loginTimeout();
  124. } else {
  125. uni.showToast({
  126. mask: true,
  127. icon: "none",
  128. position: "center",
  129. title: '连接异常,请联系管理员.',
  130. duration: 2000
  131. });
  132. resolve(res);
  133. }
  134. },
  135. fail: (err) => {
  136. // 失败
  137. uni.hideLoading()
  138. uni.showToast({
  139. mask: false,
  140. icon: "none",
  141. position: "center",
  142. title: '出错啦~请联系管理员!',
  143. duration: 2000
  144. });
  145. reject(err);
  146. },
  147. complete: () => {
  148. // 完成
  149. }
  150. });
  151. })
  152. }
  153. export const apiResquestForm = (prams) => {
  154. return new Promise((resolve, reject) => {
  155. let url = config.base_url + prams.url;
  156. uni.showLoading({
  157. title: '加载中',
  158. mask: true
  159. });
  160. // get请求映射params参数
  161. if (prams.method === 'GET' && prams.data) {
  162. url = url + '?' + tansParams(prams.data);
  163. url = url.slice(0, -1);
  164. prams.data = {};
  165. }
  166. return uni.request({
  167. timeout:10000,
  168. url: url,
  169. data: {
  170. ...prams.data
  171. },
  172. method: prams.method,
  173. header: {
  174. 'content-type': 'application/x-www-form-urlencoded',
  175. 'Authorization': uni.getStorageSync('token')
  176. },
  177. success: (res) => {
  178. // 成功
  179. uni.hideLoading()
  180. if (res.statusCode == 200) {
  181. if (res.data.code == 200) {
  182. resolve(res);
  183. } else if (res.data.code == 401) {
  184. loginTimeout();
  185. } else {
  186. uni.showToast({
  187. mask: true,
  188. icon: "none",
  189. position: "center",
  190. title: res.data.message,
  191. duration: 2000
  192. });
  193. resolve(res);
  194. }
  195. } else if (res.statusCode == 401) {
  196. loginTimeout();
  197. } else {
  198. uni.showToast({
  199. mask: true,
  200. icon: "none",
  201. position: "center",
  202. title: '连接异常,请联系管理员.',
  203. duration: 2000
  204. });
  205. resolve(res);
  206. }
  207. },
  208. fail: (err) => {
  209. // 失败
  210. uni.hideLoading()
  211. uni.showToast({
  212. mask: false,
  213. icon: "none",
  214. position: "center",
  215. title: '出错啦~请联系管理员!',
  216. duration: 2000
  217. });
  218. reject(err);
  219. },
  220. complete: () => {
  221. // 完成
  222. }
  223. });
  224. })
  225. }
  226. export const apiResquestJsonList = (prams) => {
  227. return new Promise((resolve, reject) => {
  228. let url = config.base_url + prams.url;
  229. uni.showLoading({
  230. title: '加载中',
  231. mask: true
  232. });
  233. // get请求映射params参数
  234. if (prams.method === 'GET' && prams.data) {
  235. url = url + '?' + tansParams(prams.data);
  236. url = url.slice(0, -1);
  237. prams.data = {};
  238. }
  239. return uni.request({
  240. timeout:10000,
  241. url: url,
  242. data: prams.data,
  243. method: prams.method,
  244. header: {
  245. 'content-type': 'application/json',
  246. 'Authorization': uni.getStorageSync('token')
  247. },
  248. success: (res) => {
  249. // 成功
  250. uni.hideLoading()
  251. if (res.statusCode == 200) {
  252. if (res.data.code == 200) {
  253. resolve(res);
  254. } else if (res.data.code == 401) {
  255. loginTimeout();
  256. } else {
  257. uni.showToast({
  258. mask: true,
  259. icon: "none",
  260. position: "center",
  261. title: res.data.message,
  262. duration: 2000
  263. });
  264. resolve(res);
  265. }
  266. } else if (res.statusCode == 401) {
  267. loginTimeout();
  268. } else {
  269. uni.showToast({
  270. mask: true,
  271. icon: "none",
  272. position: "center",
  273. title: '连接异常,请联系管理员.',
  274. duration: 2000
  275. });
  276. resolve(res);
  277. }
  278. },
  279. fail: (err) => {
  280. // 失败
  281. uni.hideLoading()
  282. uni.showToast({
  283. mask: false,
  284. icon: "none",
  285. position: "center",
  286. title: '出错啦~请联系管理员!',
  287. duration: 2000
  288. });
  289. reject(err);
  290. },
  291. complete: () => {
  292. // 完成
  293. }
  294. });
  295. })
  296. }
  297. export const apiResquestFormVideo = (prams) => {
  298. return new Promise((resolve, reject) => {
  299. let url = uni.getStorageSync('cameraExtranetAgent') + prams.url;
  300. uni.showLoading({
  301. title: '加载中',
  302. mask: true
  303. });
  304. // get请求映射params参数
  305. if (prams.method === 'GET' && prams.data) {
  306. url = url + '?' + tansParams(prams.data);
  307. url = url.slice(0, -1);
  308. prams.data = {};
  309. }
  310. return uni.request({
  311. timeout:10000,
  312. url: url,
  313. data: {
  314. ...prams.data
  315. },
  316. method: prams.method,
  317. header: {
  318. 'content-type': 'application/x-www-form-urlencoded',
  319. 'Authorization': uni.getStorageSync('token')
  320. },
  321. success: (res) => {
  322. // 成功
  323. uni.hideLoading()
  324. if (res.statusCode == 200) {
  325. if (res.data.code == 200) {
  326. resolve(res);
  327. } else if (res.data.code == 401) {
  328. loginTimeout();
  329. } else {
  330. uni.showToast({
  331. mask: true,
  332. icon: "none",
  333. position: "center",
  334. title: res.data.message,
  335. duration: 2000
  336. });
  337. resolve(res);
  338. }
  339. } else if (res.statusCode == 401) {
  340. loginTimeout();
  341. } else {
  342. uni.showToast({
  343. mask: true,
  344. icon: "none",
  345. position: "center",
  346. title: '连接异常,请联系管理员.',
  347. duration: 2000
  348. });
  349. resolve(res);
  350. }
  351. },
  352. fail: (err) => {
  353. // 失败
  354. uni.hideLoading()
  355. uni.showToast({
  356. mask: false,
  357. icon: "none",
  358. position: "center",
  359. title: '出错啦~请联系管理员!',
  360. duration: 2000
  361. });
  362. reject(err);
  363. },
  364. complete: () => {
  365. // 完成
  366. }
  367. });
  368. })
  369. }
  370. export const apiResquestTimer = (prams) => {
  371. return new Promise((resolve, reject) => {
  372. let url = config.base_url + prams.url;
  373. // get请求映射params参数
  374. if (prams.method === 'GET' && prams.data) {
  375. url = url + '?' + tansParams(prams.data);
  376. url = url.slice(0, -1);
  377. prams.data = {};
  378. }
  379. return uni.request({
  380. timeout:10000,
  381. url: url,
  382. data: {
  383. ...prams.data
  384. },
  385. method: prams.method,
  386. header: {
  387. 'content-type': 'application/json;charset=utf-8',
  388. 'Authorization': uni.getStorageSync('token')
  389. },
  390. success: (res) => {
  391. // 成功
  392. uni.hideLoading()
  393. if (res.statusCode == 200) {
  394. if (res.data.code == 200) {
  395. resolve(res);
  396. } else if (res.data.code == 401) {
  397. loginTimeout();
  398. } else {
  399. uni.showToast({
  400. mask: true,
  401. icon: "none",
  402. position: "center",
  403. title: res.data.message,
  404. duration: 2000
  405. });
  406. resolve(res);
  407. }
  408. } else if (res.statusCode == 401) {
  409. loginTimeout();
  410. } else {
  411. uni.showToast({
  412. mask: true,
  413. icon: "none",
  414. position: "center",
  415. title: '连接异常,请联系管理员.',
  416. duration: 2000
  417. });
  418. resolve(res);
  419. }
  420. },
  421. fail: (err) => {
  422. // 失败
  423. uni.hideLoading()
  424. uni.showToast({
  425. mask: false,
  426. icon: "none",
  427. position: "center",
  428. title: '出错啦~请联系管理员!',
  429. duration: 2000
  430. });
  431. reject(err);
  432. },
  433. complete: () => {
  434. // 完成
  435. }
  436. });
  437. })
  438. }
  439. //登录超时-退出至登录页面
  440. export function loginTimeout(params) {
  441. uni.showToast({
  442. mask: true,
  443. icon: "none",
  444. position: "center",
  445. title: "登录超时,请重新登录~",
  446. duration: 2000
  447. });
  448. uni.removeStorageSync('token');
  449. uni.removeStorageSync('userId');
  450. uni.removeStorageSync('userType');
  451. setTimeout(function() {
  452. uni.redirectTo({
  453. url: '/pages/views/login/login',
  454. });
  455. }, 2000);
  456. }