native.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. export default function ({ $userAgent }, i) {
  2. // const before = () => {
  3. // if ($userAgent.isApp) {
  4. // return;
  5. // }
  6. // // else if ($userAgent.isMiniProgram) {
  7. // // throw new Error('小程序环境不支持');
  8. // // }
  9. // throw new Error('非App环境');
  10. // };
  11. i('native', {
  12. share({ title, desc, link, imgUrl }) {
  13. // before();
  14. if ($userAgent.isSzx) {
  15. if ($userAgent.isIos) {
  16. window.webkit.messageHandlers.share.postMessage({
  17. title,
  18. content: desc,
  19. gotoUrl: link,
  20. shareImg: imgUrl,
  21. });
  22. return;
  23. }
  24. if ($userAgent.isAndroid) {
  25. window.native.share(title, desc, link, imgUrl);
  26. return;
  27. }
  28. return;
  29. }
  30. if ($userAgent.isSzxBrowser) {
  31. this.setShareInfo({ title, desc, link, imgUrl });
  32. window.webkit.messageHandlers.openShare.postMessage();
  33. }
  34. },
  35. setShareInfo({ title, desc, link, imgUrl, path }) {
  36. if ($userAgent.isSzxBrowser) {
  37. // before();
  38. window.webkit.messageHandlers.setShareInfo.postMessage({
  39. title,
  40. // content,
  41. gotoUrl: link,
  42. shareImg: imgUrl,
  43. });
  44. return;
  45. }
  46. if ($userAgent.isMiniProgram) {
  47. this.$wx.miniProgram.postMessage({
  48. data: {
  49. action: 'updateAppMessageShareData',
  50. params: {
  51. title,
  52. path,
  53. imageUrl: imgUrl,
  54. },
  55. },
  56. });
  57. }
  58. // if ($userAgent.isIos) {
  59. // } else {
  60. // window.native.setShareUrl(url);
  61. // }
  62. },
  63. });
  64. }