utils.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import addDays from 'date-fns/addDays';
  2. import format from 'date-fns/format';
  3. import { Random } from 'mockjs';
  4. export const COLOR_NAMES = ['red', 'volcano', 'orange', 'gold', 'yellow', 'lime', 'green', 'cyan', 'blue', 'geekblue', 'purple', 'magenta'];
  5. export function genName(): any {
  6. return genArr(['asdf', 'cipchk', '卡色']);
  7. }
  8. export function genProvince(): any {
  9. return genArr([
  10. '台湾',
  11. '河北',
  12. '山西',
  13. '内蒙古',
  14. '辽宁',
  15. '吉林',
  16. '黑龙江',
  17. '江苏',
  18. '浙江',
  19. '安徽',
  20. '福建',
  21. '江西',
  22. '山东',
  23. '河南',
  24. '湖北',
  25. '湖南',
  26. '广东',
  27. '广西',
  28. '海南',
  29. '四川',
  30. '贵州',
  31. '云南',
  32. '西藏',
  33. '陕西',
  34. '甘肃',
  35. '青海',
  36. '宁夏',
  37. '新疆',
  38. '北京',
  39. '天津',
  40. '上海',
  41. '重庆',
  42. '香港',
  43. '澳门',
  44. ]);
  45. }
  46. export function genArr(arr: any[], count: number = 1): any {
  47. if (count === 1) {
  48. return arr[Random.natural(0, arr.length - 1)];
  49. }
  50. return new Array(count <= -1 ? Random.natural(0, -count) : count).fill({}).map(() => {
  51. return arr[Random.natural(0, arr.length - 1)];
  52. });
  53. }
  54. export function genColorName(): any {
  55. return genArr(COLOR_NAMES);
  56. }
  57. export function genLabel(): any {
  58. return genArr([
  59. {
  60. color: 'green',
  61. text: 'Clients',
  62. },
  63. {
  64. color: 'red',
  65. text: 'Important',
  66. },
  67. {
  68. color: 'blue',
  69. text: 'Other',
  70. },
  71. ]);
  72. }
  73. /** 生成头像,`id` 只能0-8 */
  74. export function genMp(id?: number): string {
  75. return `https://randomuser.me/api/portraits/lego/${typeof id === 'undefined' ? Random.natural(0, 8) : id}.jpg`;
  76. }
  77. export function genBigMp(): string {
  78. return `./assets/tmp/img-big/${Random.natural(1, 8)}.jpg`;
  79. }
  80. export function genTag(num: number = -3): any {
  81. return genArr(['Angular', 'Node', 'HTML5', 'Less', 'Db', 'Python', 'Go'], num);
  82. }
  83. export function addDate(days: number): Date {
  84. return addDays(new Date(), days);
  85. }
  86. export function genData(days: number, dateFormat: string = 'yyyy-MM-dd'): string {
  87. return format(addDate(days), dateFormat);
  88. }
  89. export function rudeCopy(obj: any): string {
  90. return JSON.parse(JSON.stringify(obj));
  91. }
  92. export function genContent(): string {
  93. return `
  94. <h2>主标题</h2>
  95. <h3>次标题</h3>
  96. <p><a>段落</a>,${Random.cparagraph(1, 1)}<p>
  97. <p>段落,${Random.paragraph(1, 1)}<p>
  98. <h2>列表</h2>
  99. <ol>
  100. <li>
  101. <p>段落,${Random.paragraph(1, 1)}<p>
  102. <ul>
  103. <li><a>${Random.ctitle(5, 10)}</a></li>
  104. <li><a>${Random.ctitle(5, 10)}</a></li>
  105. <li><a>${Random.ctitle(5, 10)}</a></li>
  106. <li><a>${Random.ctitle(5, 10)}</a></li>
  107. <li><a>${Random.ctitle(5, 10)}</a></li>
  108. </ul>
  109. </li>
  110. <li>
  111. <p>段落,${Random.paragraph(1, 1)}<p>
  112. </li>
  113. <li>
  114. <p>段落,${Random.paragraph(1, 1)}<p>
  115. </li>
  116. </ol>
  117. <h2>图像</h2>
  118. <p><img src="${Random.image()}"></p>
  119. <h2>表格</h2>
  120. <table>
  121. <thead>
  122. <tr>
  123. <th>列</th>
  124. <th>列</th>
  125. <th>列</th>
  126. </tr>
  127. </thead>
  128. <tbody>
  129. <tr>
  130. <td>列</td>
  131. <td>列</td>
  132. <td>列</td>
  133. </tr>
  134. <tr>
  135. <td>列</td>
  136. <td>列</td>
  137. <td>列</td>
  138. </tr>
  139. <tr>
  140. <td>列</td>
  141. <td>列</td>
  142. <td>列</td>
  143. </tr>
  144. </tbody>
  145. </table>
  146. `;
  147. }