util.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import config from '../../libs/config/config';
  2. let params = {
  3. loaded: false
  4. };
  5. // 加载字体方法
  6. const loadFont = () => {
  7. // console.log('加载字体图标');
  8. // 全局加载不稳定,默认关闭,需要开启可以配置loadFontOnce。
  9. if (config.loadFontOnce) {
  10. params.loaded = true;
  11. }
  12. // #ifdef APP-NVUE
  13. // nvue通过weex的dom模块引入字体,相关文档地址如下:
  14. // https://weex.apache.org/zh/docs/modules/dom.html#addrule
  15. const domModule = weex.requireModule('dom');
  16. domModule.addRule('fontFace', {
  17. 'fontFamily': "uicon-iconfont",
  18. 'src': `url('${config.iconUrl}')`
  19. });
  20. if (config.customIcon.family) {
  21. domModule.addRule('fontFace', {
  22. 'fontFamily': config.customIcon.family,
  23. 'src': `url('${config.customIcon.url}')`
  24. });
  25. }
  26. // #endif
  27. // #ifdef APP || H5 || MP-WEIXIN || MP-ALIPAY
  28. uni.loadFontFace({
  29. global: true, // 是否全局生效。微信小程序 '2.10.0'起支持全局生效,需在 app.vue 中调用。
  30. family: 'uicon-iconfont',
  31. source: 'url("' + config.iconUrl + '")',
  32. success() {
  33. // console.log('内置字体图标加载成功');
  34. },
  35. fail() {
  36. // console.error('内置字体图标加载出错');
  37. }
  38. });
  39. if (config.customIcon.family) {
  40. uni.loadFontFace({
  41. global: true, // 是否全局生效。微信小程序 '2.10.0'起支持全局生效,需在 app.vue 中调用。
  42. family: config.customIcon.family,
  43. source: 'url("' + config.customIcon.url + '")',
  44. success() {
  45. // console.log('扩展字体图标加载成功');
  46. },
  47. fail() {
  48. // console.error('扩展字体图标加载出错');
  49. }
  50. });
  51. }
  52. // #endif
  53. // #ifdef APP-NVUE
  54. // if (this.customFontFamily) {
  55. // domModule.addRule('fontFace', {
  56. // 'fontFamily': `${this.customPrefix}-${this.customFontFamily}`,
  57. // 'src': `url('${this.customFontUrl}')`
  58. // })
  59. // }
  60. // #endif
  61. return true;
  62. };
  63. export default {
  64. params: params,
  65. loadFont
  66. }