util.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // 一些通用方法/配置
  2. import fs from 'fs'
  3. // 获取json数据
  4. export function getFileContext (filePath: string): [] {
  5. return JSON.parse(fs.readFileSync(__dirname + filePath, { encoding: 'utf-8' }) || '[]')
  6. }
  7. // 保存json数据
  8. export function setFileContext (filePath: string, context: [] = []) {
  9. return fs.writeFileSync(__dirname + filePath, JSON.stringify(context), { encoding: 'utf-8' })
  10. }
  11. // 根据id或者其他条件返回对应数据
  12. export function getDataByKey (data, value, key = 'id') {
  13. const res = data.find((item) => value === item[key])
  14. return res
  15. }
  16. // 根据id新增一条数据
  17. export function addOneData (data, pushData) {
  18. pushData.id = data.length ? Number(data[data.length - 1].id) + 1 : 1
  19. data.push(pushData)
  20. }
  21. // 更新一条数据
  22. export function updateOneData (data, updateData) {
  23. const index = data.findIndex(item => Number(item.id) === Number(updateData.id))
  24. data[index] = updateData
  25. }
  26. // 删除一条数据
  27. export function removeOneData (data, id) {
  28. const index = data.findIndex(item => Number(item.id) === Number(id))
  29. data.splice(index, 1)
  30. }
  31. // 分页
  32. export function doPagination (data = [], page = 1, size = 10) {
  33. const start = --page * Number(size)
  34. return data.slice(start, start + Number(size))
  35. }
  36. // 通用状态码
  37. export function responseStatus (i = 1) {
  38. const s = {
  39. 1: {
  40. code: 1,
  41. msg: '请求成功'
  42. },
  43. 2: {
  44. code: 2,
  45. msg: '请求失败'
  46. },
  47. 3: {
  48. code: 3,
  49. msg: '未登录'
  50. }
  51. }
  52. return s[i]
  53. }