utils.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. export function trimTopic(topic: string) {
  2. const s = topic.split("").slice(0, 20);
  3. let lastChar = s.at(-1); // 获取 s 的最后一个字符
  4. let pattern = /[,。!?、]/; // 定义匹配中文标点符号的正则表达式
  5. while (lastChar && pattern.test(lastChar!)) {
  6. s.pop();
  7. lastChar = s.at(-1);
  8. }
  9. return s.join("");
  10. }
  11. export function copyToClipboard(text: string) {
  12. navigator.clipboard.writeText(text).then(res => {
  13. alert('复制成功')
  14. }).catch(err => {
  15. alert('复制失败,请赋予剪切板权限')
  16. })
  17. }
  18. export function downloadAs(text: string, filename: string) {
  19. const element = document.createElement('a');
  20. element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
  21. element.setAttribute('download', filename);
  22. element.style.display = 'none';
  23. document.body.appendChild(element);
  24. element.click();
  25. document.body.removeChild(element);
  26. }
  27. export function isIOS() {
  28. const userAgent = navigator.userAgent.toLowerCase();
  29. return /iphone|ipad|ipod/.test(userAgent);
  30. }