openApp.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. 创建在h5端全局悬浮引导用户下载app的功能,
  3. 如不需要本功能直接移除配置文件uni-starter.config.js下的h5/openApp即可
  4. */
  5. import CONFIG from '../uni-starter.config.js';
  6. const CONFIG_OPEN = CONFIG.h5.openApp || {};
  7. // 仅H5端添加"打开APP"
  8. export default function() {
  9. // #ifdef H5
  10. if (!CONFIG_OPEN.openUrl) return;
  11. let openLogo = CONFIG_OPEN.logo ?
  12. `<img src="${CONFIG_OPEN.logo}" style="width: 2rem;height: 2rem;border-radius: 3px;">` : '';
  13. let openApp = document.createElement("div");
  14. openApp.id = 'openApp';
  15. openApp.style =
  16. 'position: fixed;background:#FFFFFF;box-shadow: #eeeeee 1px 1px 9px; ;top: 0;left: 0;right: 0;z-index: 999;width: 100%;height: 45px;display: flex;flex-direction: row;justify-content: space-between;align-items: center;box-sizing: border-box;padding: 0 0.5rem;'
  17. openApp.innerHTML = `
  18. <div style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center;">
  19. ${openLogo}
  20. <div style="padding-left: 0.3rem;font-size: 12px;">${CONFIG_OPEN.appname || ''}</div>
  21. </div>
  22. <div class="openBtn" style="padding: 5px;font-size:12px;border-radius: 2px;border: 1px solid #007AFF;color: #007AFF;">下载app</div>
  23. `;
  24. document.body.insertBefore(openApp, document.body.firstChild);
  25. document.body.style = 'height:calc(100% - 45px); margin-top:45px;';
  26. openApp.addEventListener('click', e => {
  27. var target = e.target || e.srcElement;
  28. if (target.className.indexOf('openBtn') >= 0) {
  29. window.location.href = CONFIG_OPEN.openUrl;
  30. }
  31. })
  32. //#endif
  33. }