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

272 lines
5.2 KiB

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