| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import config from '../../libs/config/config';
- // 定义高阶函数
- function once(fn) {
- let called = false;
- let result;
- return function(...args) {
- if (!called) {
- result = fn.apply(this, args);
- // called = true;
- }
- return result;
- };
- }
- // 使用高阶函数
- const loadFont = once(() => {
- console.log('这个函数只能执行一次');
- // #ifdef APP-NVUE
- // nvue通过weex的dom模块引入字体,相关文档地址如下:
- // https://weex.apache.org/zh/docs/modules/dom.html#addrule
- const domModule = weex.requireModule('dom');
- domModule.addRule('fontFace', {
- 'fontFamily': "uicon-iconfont",
- 'src': `url('${config.iconUrl}')`
- });
- if (config.customIcon.family) {
- domModule.addRule('fontFace', {
- 'fontFamily': config.customIcon.family,
- 'src': `url('${config.customIcon.url}')`
- });
- }
- // #endif
- // #ifdef APP || H5 || MP-WEIXIN || MP-ALIPAY
- uni.loadFontFace({
- family: 'uicon-iconfont',
- source: 'url("' + config.iconUrl + '")',
- success() {
- // console.log('内置字体图标加载成功');
- },
- fail() {
- // console.error('内置字体图标加载出错');
- }
- });
- if (config.customIcon.family) {
- uni.loadFontFace({
- family: config.customIcon.family,
- source: 'url("' + config.customIcon.url + '")',
- success() {
- // console.log('扩展字体图标加载成功');
- },
- fail() {
- // console.error('扩展字体图标加载出错');
- }
- });
- }
- // #endif
- // #ifdef APP-NVUE
- if (this.customFontFamily) {
- domModule.addRule('fontFace', {
- 'fontFamily': `${this.customPrefix}-${this.customFontFamily}`,
- 'src': `url('${this.customFontUrl}')`
- })
- }
- // #endif
- return true;
- });
- let util = {
- loadFont
- }
- export default util
|