mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2025-12-17 16:05:53 +08:00
commit message
This commit is contained in:
49
js_sdk/u-draw-poster/utils/utils.js
Normal file
49
js_sdk/u-draw-poster/utils/utils.js
Normal file
@@ -0,0 +1,49 @@
|
||||
import { PLATFORM } from "./global";
|
||||
/** 是否是base64本地地址 */
|
||||
export const isBaseUrl = (str) => {
|
||||
return /^\s*data:(?:[a-z]+\/[a-z0-9-+.]+(?:;[a-z-]+=[a-z0-9-]+)?)?(?:;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i.test(str);
|
||||
};
|
||||
/** 是否是小程序本地地址 */
|
||||
export const isTmpUrl = (str) => {
|
||||
return /http:\/\/temp\/wx/.test(str);
|
||||
};
|
||||
/** 是否是网络地址 */
|
||||
export const isNetworkUrl = (str) => {
|
||||
return /^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/.test(str);
|
||||
};
|
||||
/** 对象target挂载到对象current */
|
||||
export const extendMount = (current, target, handle = (extend, target) => undefined) => {
|
||||
for (const key in target) {
|
||||
current[key] = handle(target[key].handle, target[key]) || target[key].handle;
|
||||
}
|
||||
};
|
||||
/** 处理构建配置 */
|
||||
export const handleBuildOpts = (options) => {
|
||||
let defaultOpts = {
|
||||
selector: '',
|
||||
componentThis: undefined,
|
||||
type2d: true,
|
||||
loading: false,
|
||||
debugging: false,
|
||||
loadingText: '绘制海报中...',
|
||||
createText: '生成图片中...',
|
||||
gcanvas: false
|
||||
};
|
||||
if (typeof options === "string") {
|
||||
defaultOpts.selector = options;
|
||||
}
|
||||
else {
|
||||
defaultOpts = Object.assign(Object.assign({}, defaultOpts), options);
|
||||
}
|
||||
const oldSelector = defaultOpts.selector;
|
||||
if (PLATFORM === 'mp-weixin' && defaultOpts.type2d) {
|
||||
defaultOpts.selector = '#' + defaultOpts.selector;
|
||||
}
|
||||
if (!PLATFORM) {
|
||||
console.error('注意! draw-poster未开启uni条件编译! 当环境是微信小程序将不会动态切换为type2d模式');
|
||||
console.error(`请在vue.config.js中的transpileDependencies中添加'uni-draw-poster'`);
|
||||
console.error(`或者可以在选择器字符串前缀中添加#来切换为type2d绘制`);
|
||||
defaultOpts.selector = oldSelector;
|
||||
}
|
||||
return defaultOpts;
|
||||
};
|
||||
Reference in New Issue
Block a user