UNPKG

framework4js

Version:

Framework-for-js is a better Javascript's framework

295 lines (288 loc) 10.6 kB
"use strict"; 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;