index.uts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**
  2. * 在微信小程序中打开指定的网页URL
  3. * 使用微信小程序的wx.openUrl API
  4. * @param url 要打开的网页地址,必须是https协议
  5. * @returns 返回操作结果,true表示成功,false表示失败
  6. */
  7. export function openWeb(url: string): boolean {
  8. // 参数验证:检查URL是否为空或无效
  9. if (url == null || url.trim() == "") {
  10. console.error("openWeb: URL参数不能为空");
  11. return false;
  12. }
  13. try {
  14. let trimmedUrl = url.trim();
  15. // 微信小程序要求必须是https协议
  16. if (!trimmedUrl.startsWith("https://")) {
  17. console.error("openWeb: 微信小程序只支持https协议的URL -", trimmedUrl);
  18. return false;
  19. }
  20. // 基本URL格式验证
  21. if (!trimmedUrl.includes(".") || trimmedUrl.length < 12) { // https:// 最少8个字符 + 域名最少4个字符
  22. console.error("openWeb: 无效的URL格式 -", trimmedUrl);
  23. return false;
  24. }
  25. // 使用微信小程序的API打开URL
  26. wx.openUrl({
  27. url: trimmedUrl,
  28. success: (res: any) => {
  29. console.log("openWeb: 成功打开URL -", trimmedUrl);
  30. },
  31. fail: (err: any) => {
  32. console.error("openWeb: 打开URL失败 -", err);
  33. },
  34. complete: (res: any) => {
  35. console.log("openWeb: 操作完成 -", res);
  36. }
  37. });
  38. return true;
  39. } catch (e) {
  40. // 捕获可能的异常
  41. console.error("openWeb: 打开URL时发生错误 -", e);
  42. return false;
  43. }
  44. }