@wufengteam/inputs
Version:
平台提供的右侧属性编辑器,需要在主工程中注册
81 lines (80 loc) • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildPcUrl = buildPcUrl;
exports.checkDomain = checkDomain;
exports.isJSONString = void 0;
exports.isPlainObject = isPlainObject;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
/* eslint-disable no-underscore-dangle */
var _toString = Object.prototype.toString;
/**
* 判断是否是一个普通对象
* @param obj 任意值
* @returns boolean
*/
function isPlainObject(obj) {
return _toString.call(obj) === '[object Object]';
}
/**
* 判断是否json字符串
* @param str 任意值
* @returns boolean
*/
var isJSONString = exports.isJSONString = function isJSONString(str) {
if (typeof str === 'string') {
try {
var obj = JSON.parse(str);
if (_typeof(obj) === 'object' && obj) {
return true;
}
return false;
} catch (e) {
return false;
}
}
return false;
};
/**
* domain 判断
*/
function checkDomain() {
var ipReg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
var isValidIP = ipReg.test(document.domain);
return !isValidIP;
}
/**
* 是否应用渲染引擎预览地址
* 应用预览(非门户)地址-携带/lcdp-app
* @param {pageUrl} pageUrl 预览地址
* @return 是否应用渲染引擎预览地址
*/
var isLcdpWeb = function isLcdpWeb(pageUrl) {
return pageUrl && pageUrl.includes('/lcdp-app');
};
/**
* 构造 PC 端预览地址
*
* @param {UrlData} urlData 地址信息
* @param {string} appId 应用 ID
* @param {Object?} selectedPage 当前编辑的页面
* @param {opsIsShow} opsIsShow 是否显示运维中心菜单
* @param {opsIsShow} userInfo 用户信息
* @return {string} 预览地址
*/
function buildPcUrl(_ref) {
var urlData = _ref.urlData,
appId = _ref.appId,
selectedPage = _ref.selectedPage;
if (!urlData.portalUrl && !urlData.webUrl) {
return '';
}
var pageUrl = checkDomain() && urlData.domainWebUrl ? urlData.domainWebUrl : urlData.webUrl;
var pagePath = selectedPage && selectedPage.pagePath ? selectedPage.pagePath : '/';
// 在基础中心中的地址
var basicPath = selectedPage && selectedPage.basicPath ? selectedPage.basicPath : '/';
// 零代码里暂未用到这个
// const opsIsShowEncode = opsIsShow ? `&opsIsShow=${encrypt(`${appId}_${userInfo?.userName}`)}` : '';
return isLcdpWeb(pageUrl) ? "".concat(pageUrl, "#").concat(pagePath, "?appId=").concat(appId, "&layout=BaseLayout") : "".concat(pageUrl, "#").concat(basicPath);
}