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

278 lines
5.3 KiB

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