framework4js
Version:
Framework-for-js is a better Javascript's framework
295 lines (288 loc) • 10.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _Service2 = _interopRequireDefault(require("../services/Service"));
var _Lib = _interopRequireDefault(require("../spanners/Lib"));
var _Exception = _interopRequireDefault(require("../spanners/Exception"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /**
* Class Helper Js
* Helper Function
*/
var Helper = /*#__PURE__*/function (_Service) {
(0, _inherits2["default"])(Helper, _Service);
var _super = _createSuper(Helper);
function Helper() {
(0, _classCallCheck2["default"])(this, Helper);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(Helper, [{
key: "env",
value:
/**
* env 环境变量获取
* @param {*} name
* @returns
*/
function env(name) {
return this.app.$env(name);
}
/**
* config
* @param {*} name
* @returns
*/
}, {
key: "config",
value: function config(name) {
// 获取指定名称下的配置文件
if (name) {
return this.app.getAppConfig(name);
}
return this.app.getAppConfig();
}
}, {
key: "validation",
value: function validation() {}
/**
* Method sessionStorage
* @param {String} name
* @param {String|Object} data 数据 data=null时 为删除
* @returns
*/
}, {
key: "session",
value: function session(name, data) {
if (!name) {
throw new _Exception["default"]('SessionStorage Error', 'The first parameter must not be empty');
}
// 是否有存储数据
if (_Lib["default"].isUndefined(data)) {
// Get
return sessionStorage.getItem(name);
} else if (_Lib["default"].getTag(data) === '[object Null]') {
// Remove
sessionStorage.removeItem(name);
} else {
// Set
sessionStorage.setItem(name, JSON.stringify(data));
}
}
/**
* Method localStorage
* @param {String} name 名称
* @param {*} data 数据 data=null时 为删除
* @returns
*/
}, {
key: "local",
value: function local(name, data) {
if (!name) {
throw new _Exception["default"]('LocalStorage Error', 'The first parameter must not be empty');
}
// 是否有存储数据
if (_Lib["default"].isUndefined(data)) {
// Get
return localStorage.getItem(name);
} else if (_Lib["default"].getTag(data) === '[object Null]') {
// Remove
localStorage.removeItem(name);
} else {
// Set
if (!_Lib["default"].isObject(data)) {
localStorage.setItem(name, data);
} else {
localStorage.setItem(name, JSON.stringify(data));
}
}
}
/**
* Method localStorage UNIAPP
* @param {*} name
* @param {*} data
* @returns
*/
}, {
key: "storage",
value: function storage(name, data) {
if (!uni) {
return this.local(name, data);
}
// set
if (name && data) {
if (typeof data !== 'string') {
data = JSON.stringify(data);
}
uni.setStorageSync(name, data);
}
// get
else if (name && !data && data !== null) {
return uni.getStorageSync(name);
}
// del
else if (name && data === null) {
uni.removeStorageSync(name);
}
}
/**
* Method async localStorage UNIAPP
* @param {*} name
* @param {*} data
* @returns
*/
}, {
key: "asyncStorage",
value: function asyncStorage(name, data) {
if (!uni) {
return this.local(name, data);
}
// set
if (name && data) {
if (typeof data !== 'string') {
data = JSON.stringify(data);
}
return new Promise(function (resolve) {
uni.setStorage({
key: name,
data: data,
success: function success() {
resolve(true);
},
fail: function fail() {
resolve(false);
}
});
});
}
// get
else if (name && !data && data !== null) {
return new Promise(function (resolve) {
uni.getStorage({
key: name,
success: function success(res) {
resolve(res.data);
},
fail: function fail() {
resolve('');
}
});
});
}
// del
else if (name && data === null) {
return new Promise(function (resolve) {
uni.removeStorage({
key: name,
success: function success(res) {
resolve(true);
},
fail: function fail() {
resolve(false);
}
});
});
}
}
/**
* http 请求
* @param {*} api App->configs->Api.js url/method/token
* @param {*} data 请求数据
* @param {*} handle 处理函数 处理response
* @returns
*/
}, {
key: "http",
value: function () {
var _http = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(api) {
var data,
handle,
response,
_args = arguments;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
data = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
handle = _args.length > 2 ? _args[2] : undefined;
if (!_Lib["default"].isFunction(handle)) {
_context.next = 7;
break;
}
_context.next = 5;
return this.app.get('$request').http(api, data);
case 5:
response = _context.sent;
return _context.abrupt("return", handle(response));
case 7:
_context.next = 9;
return this.app.get('$request').http(api, data);
case 9:
return _context.abrupt("return", _context.sent);
case 10:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function http(_x) {
return _http.apply(this, arguments);
}
return http;
}()
/**
* Send Diy Request 发送一个自定义请求
* @param {String} api
* @param {JSON} data
* @param {JSON} config
* @returns {Promise<*>}
*/
}, {
key: "send",
value: function () {
var _send = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(api, data) {
var config,
_args2 = arguments;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
config = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
_context2.next = 3;
return this.app.get('$request').send(api, data, config);
case 3:
return _context2.abrupt("return", _context2.sent);
case 4:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function send(_x2, _x3) {
return _send.apply(this, arguments);
}
return send;
}()
/**
* checkAuth 权限检测
* 使用方式 $helper.checkAuth('order.add') $helper.checkAuth() 如果是vue.js下 router.beforeEach() 中间件拦截 使用
* @param {String} name arg 不传时 检测的是路由跳转 传入时是按钮/组件调用的检测
* @returns
*/
}, {
key: "checkAuth",
value: function checkAuth() {
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
return this.app.get('$auth').check(name);
}
}]);
return Helper;
}(_Service2["default"]);
exports["default"] = Helper;