index.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. import Http from './http'
  2. import Apis from './api'
  3. import ProvinceJson from '../constants/provinceCity'
  4. export const defaultValue = {
  5. name: '普通用户',
  6. image: 'http://www.mooctest.net/assets/img/mooctest.png',
  7. }
  8. //存session
  9. export const storageSave = (key, value) => {
  10. sessionStorage.setItem(key, JSON.stringify(value))
  11. }
  12. //取session
  13. export const storageGet = (key) => {
  14. // return new Promise((resolve) => {
  15. // resolve(JSON.parse(sessionStorage.getItem(key)))
  16. // })
  17. return JSON.parse(sessionStorage.getItem(key))
  18. }
  19. //获取用户id
  20. export const getUserIdentity = () => {
  21. return Http.get(Apis.USER.GET_USER_IDENTITY)
  22. }
  23. //获取用户信息
  24. export const getCurrentUser = () => {
  25. // const data = {
  26. // userVO: {
  27. // id: 3,
  28. // photo: 'http://www.mooctest.net/assets/img/mooctest.png',
  29. // name: '郭超',
  30. // roleList: ['区域管理员', '个人用户', '企业用户', '测评机构', '系统管理员'],
  31. // mobile: '110',
  32. // email: '12345@qq.com',
  33. // },
  34. // agency: '',
  35. // }
  36. // return new Promise((resolve) => {
  37. // resolve(data)
  38. // })
  39. return Http.get(Apis.USER.GET_CURRENT_USER)
  40. }
  41. //
  42. export const getRolesPermissions = (roleList) => {
  43. const roles = {
  44. regionManager: 'RegionalManager',
  45. individualUser: 'generalUser',
  46. enterpriseUser: 'enterpriseUser',
  47. agency: 'evaluationAgency',
  48. systemAdministrator: 'SystemAdministrator'
  49. }
  50. const permissions = {
  51. isRegionManager: false,
  52. isIndividualUser: false,
  53. isEnterpriseUser: false,
  54. isAgency: false,
  55. isSystemAdministrator: false
  56. }
  57. if (roleList.includes(roles.regionManager)) {
  58. permissions.isRegionManager = true
  59. permissions.isEnterpriseUser = true
  60. permissions.isIndividualUser = true
  61. }
  62. if (roleList.includes(roles.agency)) {
  63. permissions.isAgency = true
  64. permissions.isEnterpriseUser = true
  65. permissions.isIndividualUser = true
  66. }
  67. if (roleList.includes(roles.enterpriseUser)) {
  68. permissions.isEnterpriseUser = true
  69. }
  70. if (roleList.includes(roles.individualUser)) {
  71. permissions.isIndividualUser = true
  72. }
  73. if (roleList.includes(roles.systemAdministrator)) {
  74. permissions.isSystemAdministrator = true
  75. permissions.isRegionManager = true
  76. permissions.isAgency = true
  77. permissions.isEnterpriseUser = true
  78. permissions.isIndividualUser = true
  79. }
  80. return permissions
  81. }
  82. export const logout = () => {
  83. sessionStorage.removeItem('user')
  84. sessionStorage.removeItem('rolesPermissions')
  85. return Http.get(Apis.USER.LOGOUT)
  86. }
  87. //上传文档
  88. export const uploadFile = (url, file) => {
  89. const formData = new FormData()
  90. let config = {
  91. //添加请求头
  92. headers: {'Content-Type': 'multipart/form-data'},
  93. }
  94. formData.append('file', file)
  95. return Http.upload(url, formData, config)
  96. }
  97. //上传图片
  98. export const uploadImage = (file) => {
  99. const formData = new FormData()
  100. let config = {
  101. //添加请求头
  102. headers: {'Content-Type': 'multipart/form-data'},
  103. }
  104. formData.append('file', file)
  105. return Http.upload(Apis.FILE.UPLOAD_IMAGE, formData, config)
  106. }
  107. //上传图片前检测
  108. export const beforeUploadImage = () => {
  109. }
  110. //上传文档前检测
  111. export const beforeUploadFile = () => {
  112. }
  113. //创建项目
  114. export const createProject = (project) => {
  115. return Http.post(Apis.PROJECT.CREATE_PROJECT, project)
  116. }
  117. //修改项目
  118. export const updateProject = (project, projectId) => {
  119. return Http.put(Apis.PROJECT.UPDATE_PROJECT.replace('{projectId}', projectId), project)
  120. }
  121. //查看项目
  122. export const getProject = (projectId) => {
  123. Http.get(Apis.PROJECT.GET_PROJECT.replace('{projectId}', projectId))
  124. }
  125. //删除项目
  126. export const deleteProject = (projectId) => {
  127. }
  128. //区域管理员提出接收项目申请
  129. export const receiveProjectRequest = () => {
  130. }
  131. //区域管理员提出结束项目申请
  132. export const endProjectRequest = () => {
  133. }
  134. //用户确认结束项目
  135. export const ensureEndProject = () => {
  136. }
  137. //创建任务
  138. export const createTask = (projectId, task) => {
  139. return Http.post(Apis.TASK.CREATE_TASK.replace('{projectId}', projectId), task)
  140. }
  141. //修改任务
  142. export const updateTask = (projectId, taskId, task, updateTaskSuccess, updateTaskFail) => {
  143. Http.put(Apis.TASK.UPDATE_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId), task).then((res) => {
  144. updateTaskSuccess(res)
  145. }).catch((error) => {
  146. updateTaskFail(error)
  147. })
  148. }
  149. //查看任务
  150. export const getTask = (projectId, taskId, getTaskSuccess, getTaskFail) => {
  151. Http.get(Apis.TASK.GET_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
  152. getTaskSuccess(res)
  153. }).catch((error) => {
  154. getTaskFail(error)
  155. })
  156. }
  157. //删除任务
  158. export const udeleteTask = () => {
  159. }
  160. //测评机构申请任务
  161. export const receiveTaskRequest = (projectId, taskId, userId, receiveTaskRequestSuccess, receiveTaskRequestFail) => {
  162. Http.put(Apis.USER.ACCEPT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId).replace('{userId}', userId)).then((res) => {
  163. receiveTaskRequestSuccess(res)
  164. }).catch((error) => {
  165. receiveTaskRequestFail(error)
  166. })
  167. }
  168. //测评机构提出结束任务申请
  169. export const endTaskRequest = (endTaskRequestSuccess, endTaskRequestFail) => {
  170. const data = {
  171. userId: this.user.userVO.id,
  172. projectId: this.projectId,
  173. taskId: this.taskId
  174. }
  175. Http.post(Apis.USER.SUBMIT_TASK_REQUEST, data).then((res) => {
  176. endTaskRequestSuccess(res)
  177. }).catch((error) => {
  178. endTaskRequestFail(error)
  179. })
  180. }
  181. export const rejectTask = (rejectTaskSuccess, rejectTaskFail) => {
  182. const data = {
  183. userId: this.user.userVO.id,
  184. projectId: this.projectId,
  185. taskId: this.taskId
  186. }
  187. Http.post(Apis.USER.SUBMIT_TASK_REQUEST, data).then((res) => {
  188. rejectTaskSuccess(res)
  189. }).catch((error) => {
  190. rejectTaskFail(error)
  191. })
  192. }
  193. //区域管理员确认结束任务
  194. export const ensureEndTask = (endTaskSuccess, endTaskFail) => {
  195. const data = {
  196. userId: this.user.userVO.id,
  197. projectId: this.projectId,
  198. taskId: this.taskId
  199. }
  200. Http.post(Apis.USER.SUBMIT_TASK_REQUEST, data).then((res) => {
  201. endTaskSuccess(res)
  202. }).catch((error) => {
  203. endTaskFail(error)
  204. })
  205. }
  206. //创建项目报告
  207. export const createProjectReport = () => {
  208. }
  209. //创建任务报告
  210. export const createTaskReport = () => {
  211. }
  212. //修改项目报告
  213. export const updateProjectReport = () => {
  214. }
  215. //修改任务报告
  216. export const updateTaskReport = () => {
  217. }
  218. //查看报告
  219. export const getReport = () => {
  220. }
  221. //删除报告
  222. export const deleteReport = () => {
  223. }
  224. //获取所有测评能力
  225. export const getAllAbilities = () => {
  226. return ['接口测试', '安全漏洞扫描', '风险评估服务', '源代码安全审计服务', '功能测试服务', '性能测试', '功能和易用性测试']
  227. //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
  228. }
  229. //获取所有测评资源种类
  230. export const getAllAgencyResourceTypes = () => {
  231. return ['人力资源', '服务器资源', '专用设备']
  232. //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
  233. }
  234. //获取所有服务类型
  235. export const getAllServiceTypes = () => {
  236. const data = ['接口测试', '安全漏洞扫描', '风险评估服务', '源代码安全审计服务', '功能测试服务', '性能测试', '功能和易用性测试']
  237. return new Promise((resolve) => {
  238. resolve(data)
  239. })
  240. //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
  241. }
  242. //获取所有报告类型
  243. export const getAllReportTypes = () => {
  244. const data = ['项目可行性报告', '项目测试方案', '项目测试报告', '项目缺陷报告', '项目用例报告', '其他']
  245. return new Promise((resolve) => {
  246. resolve(data)
  247. })
  248. //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
  249. }
  250. //获取所有平台类型
  251. export const getAllPlatformTypes = () => {
  252. return ['ANDROID', 'IOS', 'WEB']
  253. //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
  254. }
  255. //获取当前角色可访问的url
  256. export const getAuthUrls = () => {
  257. return [
  258. '/', '/home', '/square', '/mine', '/project/create',
  259. '/project/:projectId', '/project/:projectId/task/create',
  260. '/project/:projectId/task/:taskId', '/project/:projectId/analyse',
  261. '/report/create', '/report/:reportId', '/greenChannel/addProject', '/greenChannel/addAgency',
  262. '/authentication/individual', '/authentication/enterprise',
  263. '/authentication/agency', '/authentication/index'
  264. ]
  265. //return Http.get(Apis.USER.GET_AUTH_URLS)
  266. }
  267. //上传个人认证信息
  268. export const uploadIndividualAuthenticationInfo = () => {
  269. Http.post(Apis)
  270. }
  271. //上传企业认证信息
  272. export const uploadEnterpriseAuthenticationInfo = () => {
  273. }
  274. //上传机构认证信息
  275. export const uploadAgencyAuthenticationInfo = () => {
  276. }
  277. //获取所有定向发布的目标
  278. export const getAllInstitutions = () => {
  279. return Http.get(Apis.GENERAL.GET_ALL_INSTITUTIONS)
  280. }
  281. //获取所有测评机构
  282. export const getAllAgencies = () => {
  283. // const data = [{
  284. // id: 1,
  285. // name: '慕测'
  286. // }, {
  287. // id: 2,
  288. // name: '南大'
  289. // }]
  290. //
  291. // return new Promise((resolve) => {
  292. // resolve(data)
  293. // })
  294. return Http.get(Apis.GENERAL.GET_ALL_AGENCIES)
  295. }
  296. //通过代码获取省、市名称
  297. export const getProvinceNameByProvinceCode = (provinceCode, cityCode) => {
  298. for (var i = 0; i < ProvinceJson.provinces.length; i++) {
  299. if (ProvinceJson.provinces[i].code == provinceCode) {
  300. for (var j = 0; j < ProvinceJson.provinces[i].cities.length; j++) {
  301. if (ProvinceJson.provinces[i].cities[j].code == cityCode) {
  302. return {
  303. 'provinceCode': ProvinceJson.provinces[i].name,
  304. 'cityCode': ProvinceJson.provinces[i].cities[j].name
  305. }
  306. }
  307. }
  308. }
  309. }
  310. return {
  311. 'provinceCode': '江苏省',
  312. 'cityCode': '南京市'
  313. }
  314. }
  315. //通过名称获取省、市代码
  316. export const getProvinceCodeByProvinceName = (provinceName, cityName) => {
  317. for (var i = 0; i < ProvinceJson.provinces.length; i++) {
  318. if (ProvinceJson.provinces[i].name == provinceName) {
  319. for (var j = 0; j < ProvinceJson.provinces[i].cities.length; j++) {
  320. if (ProvinceJson.provinces[i].cities[j].name == cityName) {
  321. return {
  322. 'provinceCode': ProvinceJson.provinces[i].code,
  323. 'cityCode': ProvinceJson.provinces[i].cities[j].code
  324. }
  325. }
  326. }
  327. }
  328. }
  329. return {
  330. 'provinceCode': '3200',
  331. 'cityCode': '3201'
  332. }
  333. }
  334. //获取批量上传项目模板文件
  335. export const getGreenChannelAddProjectExcelTemplateFile = () => {
  336. return '123.excel'
  337. }
  338. //获取所有认证消息
  339. export const getAllAuthentications = () => {
  340. return [{
  341. userVO: {},
  342. type: '',
  343. status: '',
  344. authenticationDetail: {}
  345. }]
  346. }
  347. export const getCurrentAuthenInfo = () => {
  348. const individualData = {
  349. type: '个人',//企业、机构、个人
  350. //共有
  351. id: 1,
  352. userId: 3,
  353. bankAccount: '621000999000999000',
  354. address: '江苏科技大厦',
  355. status: '认证失败',
  356. rejectReason: '太强',
  357. createTime: '2019.13.12',
  358. //个人
  359. realName: '李白',
  360. IDCard: '32092111111111',
  361. IDCardPhoto: 'http://www.mooctest.net/assets/img/mooctest.png',
  362. }
  363. const enterpriseData = {
  364. type: '企业',//企业、机构、个人
  365. //共有
  366. id: 1,
  367. userId: 3,
  368. bankAccount: '621000999000999000',
  369. address: '江苏科技大厦1901',
  370. status: '',
  371. rejectReason: '',
  372. createTime: '',
  373. //企业
  374. companyName: '慕测呀',
  375. legalPersonName: '郭超啊',
  376. businessLicensePhoto: null,
  377. unifiedSocialCreditCode: '1900000000086',
  378. }
  379. const agencyData = {
  380. type: '机构',//企业、机构、个人
  381. //共有
  382. id: 1,
  383. userId: 3,
  384. bankAccount: '100000000086',
  385. address: '江苏科技大厦1901',
  386. status: '',
  387. rejectReason: '123123123',
  388. createTime: '',
  389. //机构
  390. evaluationAgencyName: '慕测科技',
  391. evaluationAgencyAbilityList: ['接口测试', '安全漏洞扫描', '风险评估服务', '源代码安全审计服务', '功能测试服务', '性能测试', '功能和易用性测试'],
  392. evaluationAgencyResourceList: [
  393. {
  394. id: 0,
  395. type: '人力资源',
  396. name: '专家',
  397. totalNum: 100,
  398. availableNum: 3,
  399. },
  400. {
  401. id: 1,
  402. type: '人力资源',
  403. name: '程序员',
  404. totalNum: 100,
  405. availableNum: 3,
  406. }
  407. ],
  408. agencyPhoto: 'http://www.mooctest.net/assets/img/mooctest.png',
  409. }
  410. return new Promise((resolve) => {
  411. resolve(enterpriseData)
  412. })
  413. }
  414. //放弃认证
  415. export const deleteAuthInfo = () => {
  416. const data = {}
  417. return new Promise((resolve) => {
  418. resolve(data)
  419. })
  420. //return Http.get(Apis.GENERAL.GET_ALL_ABILITIES)
  421. }
  422. //
  423. export const updateIndividualAuthInfo = (userId, authInfo) => {
  424. // const data = {}
  425. // return new Promise((resolve) => {
  426. // resolve(data)
  427. // })
  428. return Http.put(Apis.USER.UPDATE_INDIVIDUAL_AUTHENTICATION_INFO.replace('{userId}', userId), authInfo)
  429. }
  430. export const updateAgencyAuthInfo = (userId, authInfo) => {
  431. // const data = {}
  432. // return new Promise((resolve) => {
  433. // resolve(data)
  434. // })
  435. return Http.put(Apis.USER.UPDATE_AGENCY_AUTHENTICATION_INFO.replace('{userId}', userId), authInfo)
  436. }
  437. export const updateEnterpriseAuthInfo = (userId, authInfo) => {
  438. // const data = {}
  439. // return new Promise((resolve) => {
  440. // resolve(data)
  441. // })
  442. return Http.put(Apis.USER.UPDATE_ENTERPRISE_AUTHENTICATION_INFO.replace('{userId}', userId), authInfo)
  443. }