特易招,招聘小程序
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.

279 lines
5.4 KiB

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