utils.ts 1.0 KB

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