| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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;
- };
|