特易招,招聘小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

288 lines
5.5 KiB

6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
  1. import http from './http.js'
  2. let limit = {}
  3. let debounce = {}
  4. const models = ['score', 'boss', 'login']
  5. const config = {
  6. // 示例
  7. // wxLogin : {url : '/api/wxLogin', method : 'POST',
  8. // auth : false, showLoading : true, loadingTitle : '加载中...',
  9. // limit : 1000
  10. // },
  11. getConfig : {url : '/api/getConfig', method : 'GET', limit : 500},
  12. /**
  13. * 公共的接口
  14. */
  15. //关于本程序
  16. commonAboutUs: {
  17. url: '/api/common/aboutUs',
  18. method: 'GET',
  19. },
  20. //新建账本
  21. commonAddBill: {
  22. url: '/api/common/addBill',
  23. method: 'POST',
  24. auth: true,
  25. limit : 500,
  26. showLoading : true,
  27. },
  28. // 我的服务-兑换码
  29. commonAddExchange: {
  30. url: '/api/common/addExchange',
  31. method: 'POST',
  32. auth: true,
  33. limit : 500,
  34. showLoading : true,
  35. },
  36. // 技工问题
  37. commonAddQuestion: {
  38. url: '/api/common/addQuestion',
  39. method: 'POST',
  40. auth: true,
  41. limit : 500,
  42. showLoading : true,
  43. },
  44. // 我的服务-会员充值(开通VIP)
  45. commonAddRecharge: {
  46. url: '/api/common/addRecharge',
  47. method: 'POST',
  48. auth: true,
  49. limit : 500,
  50. showLoading : true,
  51. },
  52. // 我的服务-获取积分-充值积分
  53. commonAddScoreByRecharge: {
  54. url: '/api/common/addScoreByRecharge',
  55. method: 'POST',
  56. auth: true,
  57. limit : 500,
  58. showLoading : true,
  59. },
  60. //获取工种列表
  61. commonQueryJobTypeList: {
  62. url: '/api/common/queryJobTypeList',
  63. method: 'GET',
  64. },
  65. //获取工作性质列表
  66. commonQueryJobNatureList: {
  67. url: '/api/common/queryJobNatureList',
  68. method: 'GET',
  69. },
  70. //获取banner图列表
  71. commonQueryBannerList: {
  72. url: '/api/common/queryBannerList',
  73. method: 'GET',
  74. },
  75. //获取开放地址列表
  76. commonQueryAddressList: {
  77. url: '/api/common/queryAddressList',
  78. method: 'GET',
  79. },
  80. //全年收支
  81. commonQueryBill: {
  82. url: '/api/common/queryBill',
  83. method: 'GET',
  84. },
  85. //记工记账项目列表
  86. commonQueryNotebookList: {
  87. url: '/api/common/queryNotebookList',
  88. method: 'GET',
  89. },
  90. //会员中心-正式积分||临时积分
  91. commonQueryScore: {
  92. url: '/api/common/queryScore',
  93. method: 'GET',
  94. },
  95. //积分记录
  96. commonQueryScoreRecord: {
  97. url: '/api/common/queryScoreRecord',
  98. method: 'GET',
  99. },
  100. //我的服务-获取VIP配置信息
  101. commonQueryVipType: {
  102. url: '/api/common/queryVipType',
  103. method: 'GET',
  104. },
  105. /**
  106. * 求职者的接口
  107. */
  108. //获取工作信息列表
  109. employeeQueryJobList: {
  110. url: '/api/employee/queryJobListByAll',
  111. method: 'GET',
  112. },
  113. //根据Id查看工作详情
  114. employeeQueryJobById: {
  115. url: '/api/employee/queryJobById',
  116. method: 'GET',
  117. },
  118. //我的收藏
  119. employeeQueryCollectionJobList: {
  120. url: '/api/employee/queryJobCollectionList',
  121. method: 'GET',
  122. auth: true,
  123. },
  124. //我的找活
  125. employeeQueryResumeByUserId: {
  126. url: '/api/employee/queryResumeByUserId',
  127. method: 'GET',
  128. auth: true,
  129. },
  130. //联系记录-我看过谁
  131. employeeQueryWatchWho: {
  132. url: '/api/employee/queryWatchWho',
  133. method: 'GET',
  134. auth: true,
  135. },
  136. //联系记录-谁看过我
  137. employeeQueryWatchMe: {
  138. url: '/api/employee/queryWatchMe',
  139. method: 'GET',
  140. auth: true,
  141. },
  142. //电子合同-获取电子合同列表
  143. employeeQueryContractList: {
  144. url: '/api/employee/queryContractList',
  145. method: 'GET',
  146. auth: true,
  147. },
  148. /**
  149. * boss的接口
  150. */
  151. //获取简历列表
  152. bossQueryJobList: {
  153. url: '/api/boss/queryResumeListByAll',
  154. method: 'GET',
  155. },
  156. //根据Id查看简历详情
  157. bossQueryResumeById: {
  158. url: '/api/boss/queryResumeById',
  159. method: 'GET',
  160. },
  161. //电子合同-获取电子合同列表
  162. bossQueryContractList: {
  163. url: '/api/boss/queryContractList',
  164. method: 'GET',
  165. auth: true,
  166. },
  167. //我的收藏
  168. bossQueryCollectionJobList: {
  169. url: '/api/boss/queryJobCollectionList',
  170. method: 'GET',
  171. auth: true,
  172. },
  173. //我的招工
  174. bossQueryJobListByUserId: {
  175. url: '/api/boss/queryJobListByUserId',
  176. method: 'GET',
  177. auth: true,
  178. },
  179. //会员中心-联系记录-我看过谁
  180. bossQueryWatchWho: {
  181. url: '/api/boss/queryWatchWho',
  182. method: 'GET',
  183. auth: true,
  184. },
  185. //会员中心-联系记录-谁看过我
  186. bossQueryWatchMe: {
  187. url: '/api/boss/queryWatchMe',
  188. method: 'GET',
  189. auth: true,
  190. },
  191. }
  192. export function api(key, data, callback, loadingTitle) {
  193. let req = config[key]
  194. if (!req) {
  195. console.error('无效key' + key);
  196. return
  197. }
  198. if (typeof callback == 'string') {
  199. loadingTitle = callback
  200. }
  201. if (typeof data == 'function') {
  202. callback = data
  203. data = {}
  204. }
  205. // 接口限流
  206. if (req.limit) {
  207. let storageKey = req.url
  208. let storage = limit[storageKey]
  209. if (storage && new Date().getTime() - storage < req.limit) {
  210. return
  211. }
  212. limit[storageKey] = new Date().getTime()
  213. }
  214. //必须登录
  215. if (req.auth) {
  216. if (!uni.getStorageSync('token')) {
  217. uni.navigateTo({
  218. url: '/pages_order/auth/wxLogin'
  219. })
  220. console.error('需要登录')
  221. return
  222. }
  223. }
  224. // 接口防抖
  225. if(req.debounce){
  226. let storageKey = req.url
  227. let storage = debounce[storageKey]
  228. if (storage) {
  229. clearTimeout(storage)
  230. }
  231. debounce[storageKey] = setTimeout(() => {
  232. clearTimeout(storage)
  233. delete debounce[storageKey]
  234. http.http(req.url, data, callback, req.method,
  235. loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
  236. }, req.debounce)
  237. return
  238. }
  239. http.http(req.url, data, callback, req.method,
  240. loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
  241. }
  242. function addApiModel(model, key){
  243. for(let k in model){
  244. if(config[`${k}`]){
  245. console.error(`重名api------model=${key},key=${k}`);
  246. continue
  247. }
  248. config[`${k}`] = model[k]
  249. // config[`${key}_${k}`] = model[k]
  250. }
  251. }
  252. models.forEach(key => {
  253. addApiModel(require(`./model/${key}.js`).default, key)
  254. })
  255. export default api