From ec6631cb365d2ac1008de633d6d9c5c5a940ab71 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Tue, 20 Apr 2021 09:57:23 +0800 Subject: [PATCH] 组件改名 --- bases/Pilot.js | 38 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 36 insertions(+), 2 deletions(-) diff --git a/bases/Pilot.js b/bases/Pilot.js index c92522b..640660a 100644 --- a/bases/Pilot.js +++ b/bases/Pilot.js @@ -3,6 +3,10 @@ * @author Tevin */ +import { Fetcher } from './Fetcher'; +import { Tools } from '@components/common/Tools'; +import project from '@project'; + export class Pilot { constructor() { @@ -29,14 +33,18 @@ } if (/^\$/.test(name)) { if (name === '$data' && typeof dataAdd !== 'undefined') { + // 转换 dataAdd 中 assets 属性下的图片地址值 + if (typeof dataAdd.assets !== 'undefined') { + dataAdd.assets = Pilot.transAssets(dataAdd.assets); + } // 当有传data值进来,初始值必须带data中的字段 const dataOrig = this.$data(); options.data = () => { return { ...dataOrig, ...dataAdd, - } - } + }; + }; } else { options[name.replace('$', '')] = this[name]; } @@ -47,4 +55,30 @@ return options; } + /** + * 转换静态图片引用 + * @param assets + * @return {{}} + */ + static transAssets(assets = {}) { + const assets2 = {}; + Object.keys(assets).forEach(key => { + let asset = ''; + if (assets[key].indexOf('assets') >= 0) { + asset = assets[key].split('assets')[1]; + } else { + asset = assets[key].replace(/^[.\/\\]*/, '/'); + } + // 网页 + if (process.env.TARO_ENV === 'h5') { + assets2[key] = project.host.assetsPath + asset; + } + // 小程序 + else if (process.env.TARO_ENV === 'weapp') { + assets2[key] = Fetcher.host + project.host.assetsPath + asset; + } + }); + return assets2; + } + } \ No newline at end of file -- Gitblit v1.9.1