@yelon/bis 12.0.18 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bis.d.ts +1 -0
- package/{esm2015/bis.js → esm2020/bis.mjs} +0 -0
- package/esm2020/layout/act.guard.mjs +108 -0
- package/{esm2015/layout/bis.config.js → esm2020/layout/bis.config.mjs} +0 -0
- package/esm2020/layout/contact/contact.component.mjs +492 -0
- package/esm2020/layout/contact/contact.service.mjs +146 -0
- package/esm2020/layout/layout.mjs +5 -0
- package/esm2020/layout/layout.module.mjs +73 -0
- package/{esm2015/layout/path-to-regexp.service.js → esm2020/layout/path-to-regexp.service.mjs} +9 -8
- package/{esm2015/layout/public_api.js → esm2020/layout/public_api.mjs} +3 -3
- package/esm2020/layout/stomp.config.mjs +18 -0
- package/{esm2015/layout/widgets/index.js → esm2020/layout/widgets/index.mjs} +0 -0
- package/esm2020/layout/widgets/yz.application.component.mjs +271 -0
- package/esm2020/layout/widgets/yz.clear-storage.component.mjs +45 -0
- package/esm2020/layout/widgets/yz.fullscreen.component.mjs +45 -0
- package/esm2020/layout/widgets/yz.i18n.component.mjs +115 -0
- package/esm2020/layout/widgets/yz.notify.component.mjs +184 -0
- package/esm2020/layout/widgets/yz.them-btn.component.mjs +196 -0
- package/esm2020/layout/widgets/yz.user.component.mjs +112 -0
- package/esm2020/layout/yz.auth.service.mjs +156 -0
- package/esm2020/layout/yz.basic.component.mjs +207 -0
- package/esm2020/layout/yz.default.interceptor.mjs +203 -0
- package/esm2020/layout/yz.i18n.service.mjs +93 -0
- package/esm2020/layout/yz.startup.service.mjs +137 -0
- package/esm2020/layout/yz.stomp.service.mjs +88 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/{esm2015/shared/public_api.js → esm2020/shared/public_api.mjs} +0 -0
- package/{esm2015/shared/shared-yelon.module.js → esm2020/shared/shared-yelon.module.mjs} +0 -0
- package/{esm2015/shared/shared-zorro.module.js → esm2020/shared/shared-zorro.module.mjs} +0 -0
- package/{esm2015/shared/shared.js → esm2020/shared/shared.mjs} +0 -0
- package/esm2020/shared/shared.module.mjs +116 -0
- package/{esm2015/shared/style-icons.js → esm2020/shared/style-icons.mjs} +0 -0
- package/fesm2015/{bis.js → bis.mjs} +1 -1
- package/fesm2015/bis.mjs.map +1 -0
- package/fesm2015/{layout.js → layout.mjs} +610 -279
- package/fesm2015/layout.mjs.map +1 -0
- package/fesm2015/{shared.js → shared.mjs} +101 -7
- package/fesm2015/shared.mjs.map +1 -0
- package/fesm2020/bis.mjs +6 -0
- package/fesm2020/bis.mjs.map +1 -0
- package/fesm2020/layout.mjs +2796 -0
- package/fesm2020/layout.mjs.map +1 -0
- package/fesm2020/shared.mjs +1106 -0
- package/fesm2020/shared.mjs.map +1 -0
- package/layout/act.guard.d.ts +3 -0
- package/layout/contact/contact.component.d.ts +4 -1
- package/layout/contact/contact.service.d.ts +4 -1
- package/layout/layout.d.ts +1 -3
- package/layout/layout.module.d.ts +18 -0
- package/layout/package.json +5 -6
- package/layout/path-to-regexp.service.d.ts +3 -0
- package/layout/public_api.d.ts +2 -0
- package/layout/widgets/yz.application.component.d.ts +3 -0
- package/layout/widgets/yz.clear-storage.component.d.ts +3 -0
- package/layout/widgets/yz.fullscreen.component.d.ts +3 -1
- package/layout/widgets/yz.i18n.component.d.ts +3 -0
- package/layout/widgets/yz.notify.component.d.ts +3 -0
- package/layout/widgets/yz.them-btn.component.d.ts +3 -0
- package/layout/widgets/yz.user.component.d.ts +3 -0
- package/layout/yz.auth.service.d.ts +3 -0
- package/layout/yz.basic.component.d.ts +11 -2
- package/layout/yz.default.interceptor.d.ts +3 -0
- package/layout/yz.i18n.service.d.ts +3 -0
- package/layout/yz.startup.service.d.ts +3 -0
- package/layout/yz.stomp.service.d.ts +6 -3
- package/package.json +46 -18
- package/shared/package.json +5 -6
- package/shared/shared-zorro.module.d.ts +2 -2
- package/shared/shared.d.ts +1 -0
- package/shared/shared.module.d.ts +93 -0
- package/bis.metadata.json +0 -1
- package/bundles/bis.umd.js +0 -18
- package/bundles/bis.umd.js.map +0 -1
- package/bundles/layout.umd.js +0 -2671
- package/bundles/layout.umd.js.map +0 -1
- package/bundles/shared.umd.js +0 -1249
- package/bundles/shared.umd.js.map +0 -1
- package/esm2015/layout/act.guard.js +0 -115
- package/esm2015/layout/contact/contact.component.js +0 -434
- package/esm2015/layout/contact/contact.service.js +0 -150
- package/esm2015/layout/layout.js +0 -8
- package/esm2015/layout/layout.module.js +0 -47
- package/esm2015/layout/stomp.config.js +0 -20
- package/esm2015/layout/widgets/yz.application.component.js +0 -200
- package/esm2015/layout/widgets/yz.clear-storage.component.js +0 -39
- package/esm2015/layout/widgets/yz.fullscreen.component.js +0 -36
- package/esm2015/layout/widgets/yz.i18n.component.js +0 -78
- package/esm2015/layout/widgets/yz.notify.component.js +0 -157
- package/esm2015/layout/widgets/yz.them-btn.component.js +0 -146
- package/esm2015/layout/widgets/yz.user.component.js +0 -81
- package/esm2015/layout/yz.auth.service.js +0 -158
- package/esm2015/layout/yz.basic.component.js +0 -101
- package/esm2015/layout/yz.default.interceptor.js +0 -204
- package/esm2015/layout/yz.i18n.service.js +0 -102
- package/esm2015/layout/yz.startup.service.js +0 -138
- package/esm2015/layout/yz.stomp.service.js +0 -91
- package/esm2015/shared/shared.module.js +0 -22
- package/fesm2015/bis.js.map +0 -1
- package/fesm2015/layout.js.map +0 -1
- package/fesm2015/shared.js.map +0 -1
- package/layout/layout.metadata.json +0 -1
- package/shared/shared.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../packages/bis/layout/yz.i18n.service.ts","../../../../packages/bis/layout/widgets/yz.application.component.ts","../../../../packages/bis/layout/widgets/yz.i18n.component.ts","../../../../packages/bis/layout/widgets/yz.notify.component.ts","../../../../packages/bis/layout/widgets/yz.them-btn.component.ts","../../../../packages/bis/layout/bis.config.ts","../../../../packages/bis/layout/widgets/yz.user.component.ts","../../../../packages/bis/layout/widgets/yz.clear-storage.component.ts","../../../../packages/bis/layout/widgets/yz.fullscreen.component.ts","../../../../packages/bis/layout/contact/contact.service.ts","../../../../packages/bis/layout/contact/contact.component.ts","../../../../packages/bis/layout/stomp.config.ts","../../../../packages/bis/layout/yz.stomp.service.ts","../../../../packages/bis/layout/yz.basic.component.ts","../../../../packages/bis/layout/layout.module.ts","../../../../packages/bis/layout/yz.auth.service.ts","../../../../packages/bis/layout/yz.default.interceptor.ts","../../../../packages/bis/layout/yz.startup.service.ts","../../../../packages/bis/layout/path-to-regexp.service.ts","../../../../packages/bis/layout/act.guard.ts","../../../../packages/bis/layout/public_api.ts","../../../../packages/bis/layout/layout.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","// 请参考:https://ng.yunzainfo.com/docs/i18n\nimport { Platform } from '@angular/cdk/platform';\nimport { registerLocaleData } from '@angular/common';\nimport ngEn from '@angular/common/locales/en';\nimport ngZh from '@angular/common/locales/zh';\nimport ngZhTw from '@angular/common/locales/zh-Hant';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { enUS as dfEn, zhCN as dfZhCn, zhTW as dfZhTw } from 'date-fns/locale';\n\nimport {\n YelonLocaleService,\n en_US as yelonEnUS,\n SettingsService,\n zh_CN as yelonZhCn,\n zh_TW as yelonZhTw,\n _HttpClient,\n YunzaiI18nBaseService\n} from '@yelon/theme';\nimport { YunzaiConfigService } from '@yelon/util/config';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { en_US as zorroEnUS, NzI18nService, zh_CN as zorroZhCN, zh_TW as zorroZhTW } from 'ng-zorro-antd/i18n';\n\ninterface LangConfigData {\n abbr: string;\n text: string;\n ng: NzSafeAny;\n zorro: NzSafeAny;\n date: NzSafeAny;\n yelon: NzSafeAny;\n}\n\nconst DEFAULT = 'zh-CN';\nconst LANGS: { [key: string]: LangConfigData } = {\n 'zh-CN': {\n text: '简体中文',\n ng: ngZh,\n zorro: zorroZhCN,\n date: dfZhCn,\n yelon: yelonZhCn,\n abbr: '🇨🇳'\n },\n 'zh-TW': {\n text: '繁体中文',\n ng: ngZhTw,\n zorro: zorroZhTW,\n date: dfZhTw,\n yelon: yelonZhTw,\n abbr: '🇭🇰'\n },\n 'en-US': {\n text: 'English',\n ng: ngEn,\n zorro: zorroEnUS,\n date: dfEn,\n yelon: yelonEnUS,\n abbr: '🇬🇧'\n }\n};\n\n@Injectable({ providedIn: 'root' })\nexport class YzI18NService extends YunzaiI18nBaseService {\n protected _defaultLang = DEFAULT;\n private _langs = Object.keys(LANGS).map(code => {\n const item = LANGS[code];\n return { code, text: item.text, abbr: item.abbr };\n });\n\n constructor(\n private http: _HttpClient,\n private settings: SettingsService,\n private nzI18nService: NzI18nService,\n private yelonLocaleService: YelonLocaleService,\n private platform: Platform,\n cogSrv: YunzaiConfigService\n ) {\n super(cogSrv);\n const defaultLang = this.getDefaultLang();\n this._defaultLang = this._langs.findIndex(w => w.code === defaultLang) === -1 ? DEFAULT : defaultLang;\n }\n\n private getDefaultLang(): string {\n if (!this.platform.isBrowser) {\n return DEFAULT;\n }\n if (this.settings.layout.lang) {\n return this.settings.layout.lang;\n }\n let res = (navigator.languages ? navigator.languages[0] : null) || navigator.language;\n const arr = res.split('-');\n return arr.length <= 1 ? res : `${arr[0]}-${arr[1].toUpperCase()}`;\n }\n\n loadLangData(lang: string): Observable<NzSafeAny> {\n return this.http.get(`assets/tmp/i18n/${lang}.json`);\n }\n\n use(lang: string, data: Record<string, unknown>): void {\n if (this._currentLang === lang) return;\n\n this._data = this.flatData(data, []);\n\n const item = LANGS[lang];\n registerLocaleData(item.ng);\n this.nzI18nService.setLocale(item.zorro);\n this.nzI18nService.setDateLocale(item.date);\n this.yelonLocaleService.setLocale(item.yelon);\n this._currentLang = lang;\n\n this._change$.next(lang);\n }\n\n getLangs(): Array<{ code: string; text: string; abbr: string }> {\n return this._langs;\n }\n}\n","import { ChangeDetectionStrategy, Component, Injector, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { CacheService } from '@yelon/cache';\nimport { _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\n\nimport { YzI18NService } from '../yz.i18n.service';\n\nexport enum TOPIC {\n FULL,\n OWN,\n EVERY\n}\n\nexport interface HeaderTopic {\n // 忘了\n attribute: any;\n // 子菜单\n children: HeaderTopic[];\n // 描述\n intro: string;\n // key\n key: string;\n // 名称\n name: string;\n // 打开方式\n target: string;\n // 是否有权限打开\n auth: boolean;\n // 路径\n url: string;\n // 版本\n version: string;\n}\n\n@Component({\n selector: 'yz-header-application',\n template: `\n <!-- template start-->\n <ng-template #search>\n <div nz-row class=\"yz-application-list-search\">\n <nz-input-group [nzPrefix]=\"prefixTemplate\">\n <input\n type=\"text\"\n nz-input\n placeholder=\"{{ 'application.search' | i18n }}\"\n [(ngModel)]=\"searchValue\"\n (ngModelChange)=\"onSearch()\"\n />\n <ng-template #prefixTemplate>\n <i nz-icon nzType=\"search\" nzTheme=\"outline\"></i>\n </ng-template>\n </nz-input-group>\n </div>\n </ng-template>\n <ng-template #ld>\n <div class=\"yz-application-list\">\n <ul>\n <li *ngFor=\"let d of listData\">\n <h5>{{ d.name }}</h5>\n <a href=\"javascript:;\" *ngFor=\"let cd of d.children\" (click)=\"open(cd)\">{{ cd.name }}</a>\n </li>\n </ul>\n </div>\n </ng-template>\n <!-- template end-->\n\n <!-- button start-->\n <div class=\"yunzai-default__nav-item\" (click)=\"diffChange()\"> {{ 'application.button' | i18n }}</div>\n <!-- button end-->\n\n <!-- header start-->\n <div class=\"yz-application\" nz-row *ngIf=\"active\">\n <div nz-col [nzSpan]=\"3\" class=\"yz-application-topic\">\n <div class=\"yz-application-text\" (click)=\"full()\">{{ 'application.all' | i18n }}</div>\n <div class=\"yz-application-text\" (click)=\"own()\">{{ 'application.mine' | i18n }}</div>\n <div class=\"yz-application-text\" *ngFor=\"let d of topicData\" (click)=\"every(d)\">\n {{ d.name }}\n </div>\n </div>\n <div nz-col [nzSpan]=\"21\" [ngSwitch]=\"topic\" class=\"yz-application-container\">\n <div *ngSwitchCase=\"T.FULL\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngSwitchCase=\"T.OWN\">\n <ng-template [ngTemplateOutlet]=\"search\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"ld\"></ng-template>\n </div>\n <div *ngSwitchCase=\"T.EVERY\" class=\"yz-application-list\">\n <div class=\"yz-application-list-item\">\n <ul>\n <li *ngFor=\"let d of listData\" (click)=\"open(d)\">\n <a href=\"javascript:;\">\n <h4>{{ d.name }}</h4>\n <p>{{ d.intro }}</p>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n <!-- header end-->\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderApplicationComponent implements OnInit, OnDestroy {\n T = TOPIC;\n active: boolean = false;\n topicData: HeaderTopic[] = [];\n listData: HeaderTopic[] = [];\n topic: TOPIC = TOPIC.FULL;\n choosed: HeaderTopic | undefined;\n searchValue: string | null = null;\n subs: Subscription[] = [];\n\n constructor(\n private inject: Injector,\n private cacheService: CacheService,\n private i18n: YzI18NService,\n private http: _HttpClient\n ) {}\n\n ngOnInit(): void {\n this.topicData = this.cacheService.get('_yz_header', { mode: 'none' });\n this.listData = this.cacheService.get('_yz_header', { mode: 'none' });\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(f => f.unsubscribe());\n }\n\n diffChange(flag?: boolean) {\n if (flag) {\n this.active = flag;\n } else {\n this.active = !this.active;\n }\n }\n\n initTopic(topic: TOPIC) {\n this.searchValue = null;\n this.listData = this.cacheService.get('_yz_header', { mode: 'none' });\n this.topic = topic;\n }\n\n full() {\n this.initTopic(TOPIC.FULL);\n }\n\n own() {\n this.initTopic(TOPIC.OWN);\n const temp: HeaderTopic[] = this.cacheService.get('_yz_header', { mode: 'none' });\n this.listData = temp\n .filter((topic: HeaderTopic) => {\n topic.children = topic.children.filter((child: HeaderTopic) => {\n return child.auth;\n });\n return topic;\n })\n .filter((topic: HeaderTopic) => {\n return topic.children.length > 0;\n });\n }\n\n every(e: HeaderTopic) {\n this.initTopic(TOPIC.EVERY);\n this.choosed = e;\n const temp: HeaderTopic[] = this.cacheService.get('_yz_header', { mode: 'none' });\n this.listData = [...temp.filter(t => t.key === e.key)[0].children];\n }\n\n onSearch() {\n const temp: HeaderTopic[] = this.cacheService.get('_yz_header', { mode: 'none' });\n // 如果搜索输入的有值\n if (this.searchValue) {\n // 过滤菜单过滤出搜索的值\n this.listData = temp\n .filter((topic: HeaderTopic) => {\n if (this.i18n.fanyi(topic.name).includes(this.searchValue!)) {\n return topic;\n } else {\n topic.children = topic.children.filter((child: HeaderTopic) => {\n return this.i18n.fanyi(child.name).includes(this.searchValue!);\n });\n return topic;\n }\n })\n .filter((topic: HeaderTopic) => {\n return topic.children.length > 0;\n });\n } else {\n // 如果没有值,取消搜索\n this.listData = this.cacheService.get('_yz_header', { mode: 'none' });\n }\n }\n\n open(topic: HeaderTopic) {\n if (topic.key) {\n this.subs.push(\n this.http\n .post(`/app-manager/web-scan/save`, {\n appId: topic.key,\n createDate: new Date()\n })\n .subscribe()\n );\n }\n switch (topic.target) {\n case 'href':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'blank':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n case 'target':\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n default:\n this.inject.get(WINDOW).location.href = topic.url;\n break;\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';\n\nimport { YUNZAI_I18N_TOKEN, SettingsService } from '@yelon/theme';\nimport { BooleanInput, InputBoolean } from '@yelon/util/decorator';\n\nimport { YzI18NService } from '../yz.i18n.service';\n\n@Component({\n selector: 'yz-header-i18n',\n template: `\n <div *ngIf=\"showLangText\" nz-dropdown [nzDropdownMenu]=\"langMenu\" nzPlacement=\"bottomRight\">\n <i nz-icon nzType=\"global\"></i>\n {{ 'menu.lang' | i18n }}\n <i nz-icon nzType=\"down\"></i>\n </div>\n <i\n *ngIf=\"!showLangText\"\n nz-dropdown\n [nzDropdownMenu]=\"langMenu\"\n nzPlacement=\"bottomRight\"\n nz-icon\n nzType=\"global\"\n ></i>\n <nz-dropdown-menu #langMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n nz-menu-item\n *ngFor=\"let item of langs\"\n [nzSelected]=\"item.code === curLangCode\"\n (click)=\"change(item.code)\"\n >\n <span role=\"img\" [attr.aria-label]=\"item.text\" class=\"pr-xs\">{{ item.abbr }}</span>\n {{ item.text }}\n </li>\n </ul>\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderI18NComponent {\n static ngAcceptInputType_showLangText: BooleanInput;\n /** Whether to display language text */\n @Input() @InputBoolean() showLangText = true;\n\n get langs(): Array<{ code: string; text: string; abbr: string }> {\n return this.i18n.getLangs();\n }\n\n get curLangCode(): string {\n return this.settings.layout.lang;\n }\n\n constructor(\n private settings: SettingsService,\n @Inject(YUNZAI_I18N_TOKEN) private i18n: YzI18NService,\n @Inject(DOCUMENT) private doc: any\n ) {}\n\n change(lang: string): void {\n const spinEl = this.doc.createElement('div');\n spinEl.setAttribute('class', `page-loading ant-spin ant-spin-lg ant-spin-spinning`);\n spinEl.innerHTML = `<span class=\"ant-spin-dot ant-spin-dot-spin\"><i></i><i></i><i></i><i></i></span>`;\n this.doc.body.appendChild(spinEl);\n\n this.i18n.loadLangData(lang).subscribe(res => {\n this.i18n.use(lang, res);\n this.settings.setLayout('lang', lang);\n setTimeout(() => this.doc.location.reload());\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Injector,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { forkJoin, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { formatDistanceToNow } from 'date-fns';\n\nimport { NoticeIconSelect, NoticeItem } from '@yelon/abc/notice-icon';\nimport { YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\nimport { log } from '@yelon/util/other';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzI18nService } from 'ng-zorro-antd/i18n';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { YzI18NService } from '../yz.i18n.service';\n\n@Component({\n selector: 'yz-header-notify',\n template: `\n <notice-icon\n [data]=\"data\"\n [count]=\"count\"\n [loading]=\"loading\"\n btnClass=\"yunzai-default__nav-item\"\n btnIconClass=\"yunzai-default__nav-item-icon\"\n (select)=\"select($event)\"\n (clear)=\"clear($event)\"\n ></notice-icon>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderNotifyComponent implements OnInit, OnDestroy {\n data: NoticeItem[] = [\n {\n key: 'msg',\n title: this.y18n.fanyi('notify.message'),\n list: [],\n emptyText: this.y18n.fanyi('notify.message.emptyText'),\n emptyImage: './assets/tmp/img/message.svg',\n clearText: this.y18n.fanyi('notify.message.clearText')\n },\n {\n key: 'todo',\n title: this.y18n.fanyi('notify.todo'),\n list: [],\n emptyText: this.y18n.fanyi('notify.todo.emptyText'),\n emptyImage: './assets/tmp/img/todo.svg',\n clearText: this.y18n.fanyi('notify.todo.clearText')\n },\n {\n key: 'notice',\n title: this.y18n.fanyi('notify.notice'),\n list: [],\n emptyText: this.y18n.fanyi('notify.notice.emptyText'),\n emptyImage: './assets/tmp/img/notice.svg',\n clearText: this.y18n.fanyi('notify.notice.clearText')\n }\n ];\n loading = false;\n count = 0;\n subs: Subscription[] = [];\n\n constructor(\n private injector: Injector,\n private msg: NzMessageService,\n @Inject(YUNZAI_I18N_TOKEN) private y18n: YzI18NService,\n private nzI18n: NzI18nService,\n private cdr: ChangeDetectorRef,\n private httpClient: _HttpClient\n ) {}\n\n ngOnInit(): void {\n this.loadData();\n }\n\n loadData(): void {\n this.count = 0;\n this.loading = true;\n this.subs.push(\n forkJoin(this.loadTodo(), this.loadMessage()).subscribe(() => {\n this.loading = false;\n this.cdr.detectChanges();\n })\n );\n }\n\n loadMessage(): Observable<void> {\n log('notify.component: ', 'fetch message list');\n const formatMessageStatus = (status: string): NzSafeAny => {\n switch (status) {\n case '0':\n return { extra: this.y18n.fanyi('notify.unread'), color: 'red' };\n case '1':\n return { extra: this.y18n.fanyi('notify.readed'), color: 'green' };\n default:\n return { extra: this.y18n.fanyi('notify.nostatus'), color: 'primary' };\n }\n };\n return this.httpClient\n .post(`/message-center-3/my-msg-and-todo/msg-list`, {\n pageNum: 1,\n pageSize: 10,\n status: '0'\n })\n .pipe(\n map((response: NzSafeAny) => {\n const viewMessage = this.data.filter(d => d.key === 'msg')[0];\n viewMessage.list = response.data.list.map((m: NzSafeAny) => {\n return {\n ...m,\n avatar: m?.imgUrl || './assets/tmp/img/message.png',\n title: m.systemName,\n description: m.content,\n extra: formatMessageStatus(m.status).extra,\n color: formatMessageStatus(m.status).color,\n datetime: formatDistanceToNow(new Date(m.date), { locale: this.nzI18n.getDateLocale() })\n };\n });\n this.count += viewMessage.list.length;\n })\n );\n }\n\n loadTodo(): Observable<void> {\n log('notify.component: ', 'fetch todo list');\n const formatTodoStatus = (status: string): NzSafeAny => {\n switch (status) {\n case '0':\n return { extra: this.y18n.fanyi('notify.unstart'), color: 'red' };\n case '1':\n return { extra: this.y18n.fanyi('notify.started'), color: 'green' };\n default:\n return { extra: this.y18n.fanyi('notify.nostatus'), color: 'primary' };\n }\n };\n return this.httpClient\n .post(`/message-center-3/my-msg-and-todo/todo-list`, {\n pageNum: 1,\n pageSize: 10,\n status: '0'\n })\n .pipe(\n map((response: NzSafeAny) => {\n const viewTodo = this.data.filter(d => d.key === 'todo')[0];\n viewTodo.list = response.data.list.map((t: NzSafeAny) => {\n return {\n ...t,\n avatar: t?.imgUrl || './assets/tmp/img/todo.png',\n title: t.systemName,\n description: t.content,\n datetime: formatDistanceToNow(new Date(t.date), { locale: this.nzI18n.getDateLocale() }),\n extra: formatTodoStatus(t.status).extra,\n color: formatTodoStatus(t.status).color\n };\n });\n this.count += viewTodo.list.length;\n })\n );\n }\n\n clear(type: string): void {\n const t = this.data.filter(d => d.title === type)[0];\n if (t.key == 'msg' || t.key == 'notice') {\n this.subs.push(\n this.httpClient.post(`/message-center-3/my-msg-and-todo/msg-clear`, {}).subscribe(_ => {\n this.msg.success(`${this.y18n.fanyi('notify.clear')} ${type}`);\n this.loadData();\n })\n );\n }\n if (t.key == 'todo') {\n this.loadData();\n }\n }\n\n select(res: NoticeIconSelect): void {\n this.injector.get(WINDOW).open(res.item.url);\n this.loadData();\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(a => a.unsubscribe());\n }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n Inject,\n Optional\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ThemeBtnType, YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';\nimport { YunzaiConfigService } from '@yelon/util/config';\n\nexport interface YzThemeBtnType extends ThemeBtnType {\n color?: string;\n}\n\n@Component({\n selector: 'yz-header-theme-btn',\n template: `\n <div\n class=\"yunzai-default__nav-item\"\n nz-dropdown\n [nzDropdownMenu]=\"iconMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <svg nz-tooltip class=\"anticon\" role=\"img\" width=\"21\" height=\"21\" viewBox=\"0 0 21 21\" fill=\"currentColor\">\n <g fill-rule=\"evenodd\">\n <g fill-rule=\"nonzero\">\n <path\n d=\"M7.02 3.635l12.518 12.518a1.863 1.863 0 010 2.635l-1.317 1.318a1.863 1.863 0 01-2.635 0L3.068 7.588A2.795 2.795 0 117.02 3.635zm2.09 14.428a.932.932 0 110 1.864.932.932 0 010-1.864zm-.043-9.747L7.75 9.635l9.154 9.153 1.318-1.317-9.154-9.155zM3.52 12.473c.514 0 .931.417.931.931v.932h.932a.932.932 0 110 1.864h-.932v.931a.932.932 0 01-1.863 0l-.001-.931h-.93a.932.932 0 010-1.864h.93v-.932c0-.514.418-.931.933-.931zm15.374-3.727a1.398 1.398 0 110 2.795 1.398 1.398 0 010-2.795zM4.385 4.953a.932.932 0 000 1.317l2.046 2.047L7.75 7 5.703 4.953a.932.932 0 00-1.318 0zM14.701.36a.932.932 0 01.931.932v.931h.932a.932.932 0 010 1.864h-.933l.001.932a.932.932 0 11-1.863 0l-.001-.932h-.93a.932.932 0 110-1.864h.93v-.931a.932.932 0 01.933-.932z\"\n ></path>\n </g>\n </g>\n </svg>\n </div>\n <nz-dropdown-menu #iconMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li\n nz-menu-item\n *ngFor=\"let theme of types\"\n (click)=\"onThemeChange(theme.key)\"\n [style]=\"{ color: theme.color }\"\n >\n <i nz-icon nzType=\"bg-colors\"></i>\n {{ theme.text | i18n }}\n </li>\n </ul>\n <!-- <div nz-menu class=\"wd-xl animated jello\">-->\n <!-- <div nz-row [nzJustify]=\"'space-between'\" [nzAlign]=\"'middle'\" class=\"app-icons\">-->\n <!-- <div nz-col [nzSpan]=\"4\" *ngFor=\"let theme of types\" (click)=\"onThemeChange(theme.key)\">-->\n <!-- <i nz-icon nzType=\"bg-colors\" class=\"text-white\" [style]=\"{ backgroundColor: theme.color }\"></i>-->\n <!-- <span [ngStyle]=\"{ color: theme.color }\">{{ theme.text | i18n }}</span>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- </div>-->\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderThemBtnComponent implements OnInit, OnDestroy {\n private theme = 'default';\n @Input() types: YzThemeBtnType[] = [\n { key: 'default', text: 'theme.default', color: '#2163ff' },\n { key: 'compact', text: 'theme.compact', color: '#2163ff' },\n { key: 'dark', text: 'theme.dark', color: '#020202' },\n { key: 'yuhong', text: 'theme.yuhong', color: '#C04851' },\n { key: 'danjuhuang', text: 'theme.danjuhuang', color: '#FBA414' },\n { key: 'xinghuang', text: 'theme.xinghuang', color: '#F28E16' },\n { key: 'shilv', text: 'theme.shilv', color: '#57C3C2' },\n { key: 'zhulv', text: 'theme.zhulv', color: '#1BA784' },\n { key: 'youlan', text: 'theme.youlan', color: '#1781B5' },\n { key: 'dianqing', text: 'theme.dianqing', color: '#1661AB' },\n { key: 'shangengzi', text: 'theme.shangengzi', color: '#61649F' },\n { key: 'shuiniuhui', text: 'theme.shuiniuhui', color: '#2F2F35' }\n ];\n @Input() devTips = `When the dark.css file can't be found, you need to run it once: npm run theme`;\n @Input() deployUrl = '';\n private destroy$ = new Subject<void>();\n dir: Direction = 'ltr';\n\n constructor(\n private renderer: Renderer2,\n private configSrv: YunzaiConfigService,\n private platform: Platform,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n @Optional() private directionality: Directionality,\n @Inject(YUNZAI_THEME_BTN_KEYS) private KEYS: string\n ) {}\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n this.initTheme();\n }\n\n private initTheme(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = localStorage.getItem(this.KEYS) || 'default';\n this.updateChartTheme();\n this.onThemeChange(this.theme);\n }\n\n private updateChartTheme(): void {\n this.configSrv.set('chart', { theme: this.theme === 'dark' ? 'dark' : '' });\n }\n\n onThemeChange(theme: string): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.theme = theme;\n this.renderer.setAttribute(this.doc.body, 'data-theme', theme);\n const dom = this.doc.getElementById(this.KEYS);\n if (dom) {\n dom.remove();\n }\n localStorage.removeItem(this.KEYS);\n if (theme !== 'default') {\n const el = this.doc.createElement('link');\n el.type = 'text/css';\n el.rel = 'stylesheet';\n el.id = this.KEYS;\n el.href = `${this.deployUrl}assets/style.${theme}.css`;\n\n localStorage.setItem(this.KEYS, theme);\n this.doc.body.append(el);\n }\n this.updateChartTheme();\n }\n\n ngOnDestroy(): void {\n const el = this.doc.getElementById(this.KEYS);\n if (el != null) {\n this.doc.body.removeChild(el);\n }\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util';\n\nexport const BUSINESS_DEFAULT_CONFIG: YunzaiBusinessConfig = {\n baseUrl: '/backstage',\n systemCode: 'portal',\n loginForm: null,\n refreshTokenEnabled: true,\n refreshTokenType: 're-request'\n};\n\nexport function mergeBisConfig(srv: YunzaiConfigService): YunzaiBusinessConfig {\n return srv.merge('bis', BUSINESS_DEFAULT_CONFIG)!;\n}\n","import { ChangeDetectionStrategy, Component, Inject, Injector, OnInit } from '@angular/core';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { YA_SERVICE_TOKEN, ITokenService } from '@yelon/auth';\nimport { CacheService } from '@yelon/cache';\nimport { WINDOW, YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util';\n\nimport { mergeBisConfig } from '../bis.config';\n\nexport interface UserLink {\n icon: string;\n name: string;\n url: string;\n}\n\n@Component({\n selector: 'yz-header-user',\n template: `\n <div\n class=\"yunzai-default__nav-item d-flex align-items-center px-sm\"\n nz-dropdown\n nzPlacement=\"bottomRight\"\n [nzDropdownMenu]=\"userMenu\"\n >\n <nz-avatar [nzSrc]=\"icon\" nzSize=\"small\" class=\"mr-sm\"></nz-avatar>\n {{ username }}\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <div nz-menu class=\"width-sm\">\n <div nz-menu-item *ngFor=\"let m of menus\" (click)=\"to(m.url)\">\n <i nz-icon [nzType]=\"m.icon\" class=\"mr-sm\"></i>\n {{ m.name | i18n }}\n </div>\n <li nz-menu-divider></li>\n <div nz-menu-item (click)=\"logout()\">\n <i nz-icon nzType=\"logout\" class=\"mr-sm\"></i>\n {{ 'menu.account.logout' | i18n }}\n </div>\n </div>\n </nz-dropdown-menu>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderUserComponent implements OnInit {\n private config: YunzaiBusinessConfig;\n\n constructor(\n private injector: Injector,\n private msg: NzMessageService,\n @Inject(YA_SERVICE_TOKEN) private tokenService: ITokenService,\n // @ts-ignore\n private configService: YunzaiConfigService,\n private cacheService: CacheService\n ) {\n this.config = mergeBisConfig(configService);\n }\n\n icon: string = '';\n username: string = '';\n menus: UserLink[] = [];\n\n ngOnInit(): void {\n const projectInfo = this.cacheService.get('_yz_project_info', { mode: 'none' });\n const user = this.cacheService.get('_yz_user', { mode: 'none' });\n this.username = user.realname ? user.realname : '未命名';\n this.icon = user.avatarId\n ? `${this.config.baseUrl}/filecenter/file/${user.avatarId}`\n : `./assets/tmp/img/avatar.jpg`;\n this.menus = projectInfo.profileList;\n }\n\n logout(): void {\n localStorage.clear();\n this.tokenService.clear();\n this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;\n }\n\n to(href: string): void {\n if (href) {\n this.injector.get(WINDOW).open(href);\n } else {\n this.msg.error('该菜单没有配置链接!');\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';\n\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NzModalService } from 'ng-zorro-antd/modal';\n\n@Component({\n selector: 'yz-header-clear-storage',\n template: `\n <i nz-icon nzType=\"tool\"></i>\n {{ 'menu.clear.local.storage' | i18n }}\n `,\n host: {\n '[class.d-block]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderClearStorageComponent {\n constructor(private modalSrv: NzModalService, private messageSrv: NzMessageService) {}\n\n @HostListener('click')\n _click(): void {\n this.modalSrv.confirm({\n nzTitle: 'Make sure clear all local storage?',\n nzOnOk: () => {\n localStorage.clear();\n this.messageSrv.success('Clear Finished!');\n }\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';\n\nimport * as screenfull from 'screenfull';\n\n@Component({\n selector: 'yz-header-fullscreen',\n template: `\n <i nz-icon [nzType]=\"status ? 'fullscreen-exit' : 'fullscreen'\"></i>\n {{ (status ? 'menu.fullscreen.exit' : 'menu.fullscreen') | i18n }}\n `,\n host: {\n '[class.d-block]': 'true'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzHeaderFullScreenComponent {\n status = false;\n private get sf(): screenfull.Screenfull {\n return screenfull as screenfull.Screenfull;\n }\n\n @HostListener('window:resize')\n _resize(): void {\n this.status = this.sf.isFullscreen;\n }\n\n @HostListener('click')\n _click(): void {\n if (this.sf.isEnabled) {\n this.sf.toggle();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTreeNodeOptions } from 'ng-zorro-antd/tree';\n\nimport { CacheService } from '@yelon/cache';\nimport { _HttpClient } from '@yelon/theme';\n\nexport interface BaseUserParam {\n realName?: string;\n userCode?: string;\n deptId?: string;\n roleId?: string;\n friendGroupId?: string;\n userTypes?: string;\n buildId?: string;\n floor?: string;\n roomId?: string;\n // FIXME: fix that use personType or peopleType or anything type\n rylb?: string;\n}\n\nexport interface Page<T> {\n pageNum: number;\n pageSize: number;\n pageParam?: T;\n}\n\nexport interface PageRes<T> {\n endRow: number;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n isFirstPage: boolean;\n isLastPage: boolean;\n list: T[];\n navigateFirstPage: number;\n navigateLastPage: number;\n navigatePages: number;\n navigatepageNums: number[];\n nextPage: number;\n pageNum: number;\n pageSize: number;\n pages: number;\n prePage: number;\n size: number;\n startRow: number;\n total: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContactService {\n constructor(private http: _HttpClient, private cache: CacheService) {}\n\n // TIPS: How to write an override function in typescript\n /**\n * 部门树查询\n *\n * @param clas 包含班级\n * @returns 可观察部门树\n */\n dept(clas: boolean): Observable<NzTreeNodeOptions[]>;\n /**\n * 部门树查询\n *\n * @param clas 包含班级\n * @param his 包含历史班级\n * @returns 可观察部门树\n */\n dept(clas: boolean, his: boolean): Observable<NzTreeNodeOptions[]>;\n /**\n * 部门树查询\n *\n * @param clas 包含班级\n * @param his 包含历史班级\n * @param grade 系部\n * @returns 可观察部门树\n */\n dept(clas: boolean, his: boolean, grade: boolean): Observable<NzTreeNodeOptions[]>;\n /**\n * 部门树查询\n *\n * @param clas 包含班级\n * @param his 包含历史班级\n * @param grade 系部\n * @param gradeID 系部ID\n * @returns 可观察部门树\n */\n dept(clas: boolean, his: boolean, grade: boolean, gradeID: string): Observable<NzTreeNodeOptions[]>;\n /**\n * 部门树查询\n *\n * @param clas 包含班级\n * @param his 包含历史班级\n * @param grade 系部\n * @param gradeID 系部ID\n * @returns 可观察部门树\n */\n dept(clas?: boolean, his?: boolean, grade?: boolean, gradeID?: string): Observable<NzTreeNodeOptions[]> {\n let baseUrl = `/auth/baseDepartMent/tree?debug=false`;\n\n if (clas) {\n baseUrl += `&includeClass=true`;\n } else {\n baseUrl += `&includeClass=false`;\n }\n\n if (his) {\n baseUrl += `&includeHisClass=true`;\n } else {\n baseUrl += `&includeHisClass=false`;\n }\n\n if (grade) {\n baseUrl += `&deptTypes=2,class`;\n }\n\n if (gradeID) {\n baseUrl += `&gradeId=${gradeID}`;\n }\n\n return this.http.get(baseUrl).pipe(\n map((response: NzSafeAny) => {\n return response.data || [];\n })\n );\n }\n\n page<U, T>(uri: string, page: Page<U>): Observable<PageRes<T>> {\n return this.http.post(`${uri}/queryListForPage`, page);\n }\n\n pageBaseUser(page: Page<BaseUserParam>): Observable<PageRes<NzSafeAny>> {\n return this.page<BaseUserParam, NzSafeAny>('/auth/baseUser', page);\n }\n\n getUserByIds(ids: string[]): Observable<any[]> {\n return this.http\n .post('/auth/baseUser/users', {\n userIds: ids\n })\n .pipe((response: NzSafeAny) => {\n return response.data || [];\n });\n }\n\n /**\n * 查询人员信息\n *\n * @param userIds[] 用户id数组,[\"aaa\",\"bbb\",\"ccc\"]\n */\n getUserByUserIds(userIds: any): Observable<any[]> {\n return this.http\n .post(`/auth/baseUser/users`, {\n userIds: userIds\n })\n .pipe(\n map((response: NzSafeAny) => {\n return response.data ? response.data : [];\n })\n );\n }\n\n /**\n * 获取角色组角色\n *\n * @param roleGroupCode 角色组code\n */\n getGroupRole(roleGroupCode: string): Observable<NzTreeNodeOptions[]> {\n return this.http\n .post(`/auth/baseRole/findGroupRole`, {\n roleGroupCode: roleGroupCode\n })\n .pipe(\n map((response: NzSafeAny) => {\n return response.data ? response.data : [];\n })\n );\n }\n\n /**\n * 查询当前用户好友分组\n */\n getFriendGroup(): Observable<any[]> {\n return this.http.post(`/contact/appcontact/findGroup`, {}).pipe(\n map((response: NzSafeAny) => {\n return response.data ? response.data : [];\n })\n );\n }\n\n /**\n * 查询年级\n */\n getGrade(): Observable<any[]> {\n return this.http.get(`/auth/gradeYear/queryListForPage`).pipe(\n map((response: NzSafeAny) => {\n return response.data ? response.data : [];\n })\n );\n }\n\n /**\n * 查询人员类别列表\n */\n getRylbs(): Observable<any[]> {\n return this.http.post(`/auth/baseTeacher/queryRylbs`, {}).pipe(\n map((response: NzSafeAny) => {\n return response.data ? response.data : [];\n })\n );\n }\n\n /**\n * 获取学生公寓树\n *\n * @param isPower 是否带有权限,默认false\n * @param treeType 树类型 0:宿舍楼 1:宿舍楼+层 2:宿舍楼+层+房间\n */\n getDormTree(isPower: boolean, treeType: number): Observable<any[]> {\n const user = this.cache.get('_yz_user', { mode: 'none' });\n let params = {};\n if (isPower) {\n params = {\n isPower: isPower,\n userId: user.userId,\n treeType: treeType\n };\n } else {\n params = {\n isPower: isPower,\n treeType: treeType\n };\n }\n\n return this.http.post(`/auth/dorm/tree`, params).pipe(\n map((response: NzSafeAny) => {\n return response.data ? response.data : [];\n })\n );\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit,\n AfterViewInit,\n Optional,\n ViewChild,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTreeNodeOptions, NzFormatEmitEvent } from 'ng-zorro-antd/tree';\n\nimport { STComponent } from '@yelon/abc/st';\n\nimport { ContactService } from './contact.service';\n\n@Component({\n selector: 'contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.less']\n})\nexport class ContactComponent implements OnInit, OnDestroy, AfterViewInit {\n subs: Subscription[] = [];\n\n /**\n * tabset\n */\n @Optional() @Input() nzTabsetSearch: string | null = null;\n @Optional() @Input() nzTabsetLoading: boolean = false;\n\n /**\n * 树展开状态\n */\n @Optional() @Input() nzExpandAll: boolean = true;\n\n /**\n * 部门树和部门查询的一些选项/可传可不传\n */\n @Optional() @Input() nzDepts: NzTreeNodeOptions[] = [];\n private _nzDeptsCopy: NzTreeNodeOptions[] = [];\n @Optional() @Input() nzDeptTreeVirtualHeight: string | null = null;\n @Optional() @Input() nzDeptClass: boolean = true;\n @Optional() @Input() nzDeptClassHistory: boolean = true;\n @Optional() @Input() nzDeptGrade: boolean = false;\n @Optional() @Input() nzDeptGradeID: string;\n\n /**\n * 角色树\n */\n @Optional() @Input() nzRoles: NzTreeNodeOptions[] = [];\n private _nzRolesCopy: NzTreeNodeOptions[] = [];\n @Optional() @Input() nzRoleTreeVirtualHeight: string | null = null;\n\n /**\n * 好友分组\n */\n @Optional() @Input() nzFriendGroups: NzSafeAny[] = [];\n _nzFriendGroupsCopy: NzSafeAny[] = [];\n\n /**\n * table组件,帮助文档: https://ng.yunzainfo.com/components/st/zh?#API\n */\n @ViewChild('st', { static: false }) st: STComponent;\n\n /**\n * 联系人\n */\n @Optional() @Input() defaultContacts: string[] = [];\n @Optional() @Input() nzContacts: NzSafeAny[] = [];\n @Optional() @Input() nzContactLoading: boolean = false;\n\n /**\n * 提交和提交按钮\n */\n @Optional() @Input() button: boolean = true;\n @Output() readonly confirmed: EventEmitter<NzSafeAny[]> = new EventEmitter();\n\n constructor(private contact: ContactService, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * 初始化,首先加载部门树和默认选中的人的数据\n */\n ngOnInit(): void {\n this.onTabsetDept();\n this.onContactsInit();\n }\n\n /**\n * 视图初始化完毕后进行table初始化\n */\n ngAfterViewInit(): void {\n this.onTableInit();\n }\n\n /**\n * 初始化默认选中联系人\n */\n onContactsInit(): void {\n if (this.defaultContacts && this.defaultContacts.length > 0) {\n this.nzContactLoading = true;\n this.subs.push(\n this.contact.getUserByUserIds(this.defaultContacts).subscribe(contacts => {\n this.nzContacts = contacts;\n this.nzContactLoading = false;\n this.refresh();\n })\n );\n }\n }\n\n /**\n * table初始化\n */\n onTableInit(): void {\n // 设置表头\n this.st.resetColumns({\n columns: [\n { title: '选择', type: 'checkbox' },\n { title: '序号', type: 'no' },\n { title: '姓名', index: 'realName' },\n { title: '学号/工号', index: 'userCode' },\n { title: '部门', index: 'dept.deptName' }\n ]\n });\n // 订阅table点击checkbox事件变化\n this.subs.push(\n this.st.change.subscribe(e => {\n if (e.type === 'checkbox') {\n // 点击checkbox新增联系人\n const contactIds = this.nzContacts.map(c => c.userId);\n this.nzContacts = this.nzContacts.concat(e.checkbox!.filter(c => !contactIds.includes(c.userId)));\n // 取消checkbox取消联系人\n const cancelIds = this.st.list.filter(d => !d.checked).map(d => d.userId);\n this.nzContacts = this.nzContacts.filter(d => !cancelIds.includes(d.userId));\n }\n })\n );\n }\n\n /**\n * tabset进入加载状态\n */\n onTabsetLoadStart(): void {\n this.nzTabsetLoading = true;\n }\n\n /**\n * tabset取消加载状态\n */\n onTabsetLoadEnd(): void {\n this.nzTabsetLoading = false;\n }\n\n /**\n * tabset搜索框清除\n */\n onTabsetSearchClean(): void {\n this.nzDepts = this._nzDeptsCopy;\n this.nzRoles = this._nzRolesCopy;\n this.nzFriendGroups = this._nzFriendGroupsCopy;\n this.nzTabsetSearch = null;\n }\n\n /**\n * tabset搜索框输入\n *\n * @param type 类型\n * @param value 值\n */\n onTabsetSearchChange(type: 'dept' | 'role' | 'friendGroup', value: string): void {\n this.onTabsetLoadStart();\n if (!value || value === '') {\n this.nzDepts = this._nzDeptsCopy;\n this.nzRoles = this._nzRolesCopy;\n this.nzFriendGroups = this._nzFriendGroupsCopy;\n } else {\n const trees: NzTreeNodeOptions[] = [];\n if (type === 'dept') {\n this.searchTree(value, this._nzDeptsCopy, trees);\n this.nzDepts = trees;\n }\n if (type === 'role') {\n this.searchTree(value, this._nzRolesCopy, trees);\n this.nzRoles = trees;\n }\n if (type === 'friendGroup') {\n this.nzFriendGroups = this._nzFriendGroupsCopy.filter(f => {\n return !f.name.indexOf(value);\n });\n }\n }\n this.onTabsetLoadEnd();\n this.refresh();\n }\n\n /**\n * tabset切换到部门\n */\n onTabsetDept(): void {\n this.onTabsetSearchClean();\n if (!this.nzDepts || this.nzDepts.length === 0) {\n this.onTabsetDeptFlush();\n }\n }\n\n /**\n * tabset切换到角色\n */\n onTabsetRole(): void {\n this.onTabsetSearchClean();\n if (!this.nzRoles || this.nzRoles.length === 0) {\n this.onTabsetRoleFlush(null as NzSafeAny);\n }\n }\n\n /**\n * tabset切换到好友分组\n */\n onTabsetFriendGroup(): void {\n this.onTabsetSearchClean();\n if (!this.nzFriendGroups || this.nzFriendGroups.length === 0) {\n this.onTabsetFriendGroupFlush();\n }\n }\n\n /**\n * 获取部门树\n */\n onTabsetDeptFlush(): void {\n this.onTabsetLoadStart();\n this.subs.push(\n this.contact\n .dept(this.nzDeptClass, this.nzDeptClassHistory, this.nzDeptGrade, this.nzDeptGradeID)\n .subscribe((trees: NzTreeNodeOptions[]) => {\n this.expandTree(trees);\n this.nzDepts = trees;\n this._nzDeptsCopy = trees;\n this.onTabsetLoadEnd();\n this.refresh();\n })\n );\n }\n\n // 获取角色树\n onTabsetRoleFlush(groupRoleCode: string): void {\n this.onTabsetLoadStart();\n this.subs.push(\n this.contact.getGroupRole(groupRoleCode).subscribe((roles: NzTreeNodeOptions[]) => {\n this.expandTree(roles);\n this.nzRoles = roles;\n this._nzRolesCopy = roles;\n this.onTabsetLoadEnd();\n this.refresh();\n })\n );\n }\n\n // 获取好友分组列表\n onTabsetFriendGroupFlush(): void {\n this.onTabsetLoadStart();\n this.subs.push(\n this.contact.getFriendGroup().subscribe((group: NzSafeAny[]) => {\n this.nzFriendGroups = group;\n this._nzFriendGroupsCopy = group;\n this.onTabsetLoadEnd();\n this.refresh();\n })\n );\n }\n\n /**\n * 部门树点击\n *\n * @param e 节点\n */\n onDeptClick(e: NzFormatEmitEvent): void {\n // 构造分页请求,直接传入stTable组件,剩下的所有交给组件自己完成\n this.st.data = '/auth/baseUser/queryListForPage';\n this.st.req = {\n allInBody: true,\n method: 'POST',\n type: 'page',\n reName: {\n pi: 'pageNum',\n ps: 'pageSize'\n },\n body: {\n pageParam: {\n deptId: e.keys?.pop()\n }\n }\n };\n // table数据预处理\n this.st.res = {\n process: data => {\n this.onTableCheck(data);\n return data;\n }\n };\n // 加载第一页\n this.st.load(1);\n }\n\n /**\n * 角色树点击\n *\n * @param e 节点\n */\n onRoleClick(e: NzFormatEmitEvent): void {\n // 构造分页请求,直接传入stTable组件,剩下的所有交给组件自己完成\n this.st.data = '/auth/baseUser/queryListForPage';\n this.st.req = {\n allInBody: true,\n method: 'POST',\n type: 'page',\n reName: {\n pi: 'pageNum',\n ps: 'pageSize'\n },\n body: {\n pageParam: {\n roleId: e.keys?.pop()\n }\n }\n };\n // table数据预处理\n this.st.res = {\n process: data => {\n this.onTableCheck(data);\n return data;\n }\n };\n // 加载第一页\n this.st.load(1);\n }\n\n /**\n * 好友分组点击\n *\n * @param e 分组\n */\n onFriendGroupClick(e: NzSafeAny): void {\n // 构造分页请求,直接传入stTable组件,剩下的所有交给组件自己完成\n this.st.data = '/auth/baseUser/queryListForPage';\n this.st.req = {\n allInBody: true,\n method: 'POST',\n type: 'page',\n reName: {\n pi: 'pageNum',\n ps: 'pageSize'\n },\n body: {\n pageParam: {\n friendGroupId: e.id\n }\n }\n };\n // table数据预处理\n this.st.res = {\n process: data => {\n this.onTableCheck(data);\n return data;\n }\n };\n // 加载第一页\n this.st.load(1);\n }\n\n /**\n * 点击右侧联系人进行删除\n *\n * @param c 点击的联系人\n */\n onContactRemove(c: NzSafeAny): void {\n this.nzContacts = this.nzContacts.filter(contact => {\n return contact.userId != c.userId;\n });\n this.st.reload();\n }\n\n /**\n * 预处理table当前页数据,和nzContat对比,确定checkbox状态\n *\n * @param data 预处理数据\n */\n onTableCheck(data: NzSafeAny[]): void {\n const ids = this.nzContacts.map(u => u.userId);\n data.forEach(d => {\n if (ids.includes(d.userId)) {\n d.checked = true;\n } else {\n d.checked = false;\n }\n });\n }\n\n /**\n * 递归树寻找name相同节点\n *\n * @param name 名称\n * @param trees 需要递归的树\n * @param list 搜索结果\n */\n searchTree(name: string, trees: NzTreeNodeOptions[], list: NzTreeNodeOptions[]): void {\n if (trees && trees.length && trees.length > 0) {\n trees.forEach((tree: NzTreeNodeOptions) => {\n if (tree.title.indexOf(name) != -1) {\n list.push(tree);\n }\n if (tree.children) {\n this.searchTree(name, tree.children, list);\n }\n });\n }\n }\n\n /**\n * 递归树展开所有有子节点的节点\n *\n * @param trees 需要展开的树\n */\n expandTree(trees: NzTreeNodeOptions[]): void {\n if (trees && trees.length && trees.length > 0) {\n trees.forEach(tree => {\n if (!tree.children || tree.children.length === 0) {\n tree.expanded = false;\n tree.isLeaf = true;\n }\n if (tree.children) {\n tree.expanded = this.nzExpandAll;\n tree.isLeaf = false;\n this.expandTree(tree.children);\n }\n });\n }\n }\n\n /**\n * 刷新当前页面\n */\n refresh(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n /**\n * 确认按钮output数据\n */\n confirm(): void {\n this.confirmed.next(this.nzContacts);\n }\n\n /**\n * 销毁函数\n */\n ngOnDestroy(): void {\n this.nzDepts = [];\n this.nzRoles = [];\n this.nzContacts = [];\n this.subs.forEach(s => s.unsubscribe());\n }\n}\n","import { log, YunzaiConfigService, YunzaiStompConfig } from '@yelon/util';\n\nexport const STOMP_DEFAULT_CONFIG: YunzaiStompConfig = {\n connectHeaders: {\n login: 'guest',\n passcode: 'guest'\n },\n brokerURL: '/websocket/ws/',\n heartbeatIncoming: 1000 * 60,\n heartbeatOutgoing: 1000 * 60,\n reconnectDelay: 30000000,\n debug: msg => {\n log(msg);\n }\n};\n\nexport function mergeStompConfig(srv: YunzaiConfigService): YunzaiStompConfig {\n return srv.merge('stomp', STOMP_DEFAULT_CONFIG)!;\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, Injector, isDevMode } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nimport { RxStomp } from '@stomp/rx-stomp';\nimport { IRxStompPublishParams } from '@stomp/rx-stomp/esm6/i-rx-stomp-publish-params';\nimport { IMessage, StompHeaders } from '@stomp/stompjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\n\nimport { CacheService } from '@yelon/cache';\nimport { log, WINDOW, YunzaiBusinessConfig, YunzaiConfigService, YunzaiStompConfig } from '@yelon/util';\n\nimport { mergeBisConfig } from './bis.config';\nimport { mergeStompConfig } from './stomp.config';\n\nexport interface StompMessage {\n title?: string;\n content?: string;\n href?: string;\n type?: string;\n}\n\nexport interface IconStompMessage extends StompMessage {\n icon?: string;\n}\n\nexport interface UserStompMessage extends StompMessage {\n useruri?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class YzStompService {\n config: YunzaiStompConfig;\n bisConfig: YunzaiBusinessConfig;\n rxStomp: RxStomp;\n user: NzSafeAny;\n subs: Subscription[] = [];\n\n constructor(\n private csr: YunzaiConfigService,\n private cache: CacheService,\n private injector: Injector,\n private notification: NzNotificationService\n ) {\n if (!this.user) {\n this.user = this.cache.get('_yz_user', { mode: 'none' });\n }\n if (!this.config) {\n this.config = mergeStompConfig(this.csr);\n }\n if (!this.bisConfig) {\n this.bisConfig = mergeBisConfig(csr);\n }\n if (!this.rxStomp) {\n this.rxStomp = new RxStomp();\n if (isDevMode()) {\n log('yz.stomp.service: is dev mode');\n log('yz.stomp.service: ', `config is ${JSON.stringify(this.config)}`);\n this.rxStomp.configure(this.config);\n return;\n }\n const { location } = this.injector.get(DOCUMENT);\n const { protocol, host } = location;\n log('yz.stomp.service: ', `protocol is ${protocol},host is ${host}`);\n if (protocol.includes('http') && !protocol.includes('https')) {\n this.config.brokerURL = `ws://${host}${this.config.brokerURL}`;\n }\n if (protocol.includes('https')) {\n this.config.brokerURL = `wss://${host}${this.config.brokerURL}`;\n }\n log('yz.stomp.service: ', `config is ${this.config}`);\n this.rxStomp.configure(this.config);\n }\n }\n\n listen(): void {\n this.subs.push(\n this.rxStomp.watch(`/topic/layout_${this.user.username}`).subscribe(message => {\n this.createNotification(JSON.parse(message.body));\n })\n );\n this.subs.push(\n this.rxStomp.watch(`/topic/layout_xx_${this.user.username}`).subscribe((message: any) => {\n this.logoutNotification(JSON.parse(message.body));\n })\n );\n this.rxStomp.activate();\n }\n\n createNotification(message: StompMessage): void {\n this.notification.create(message.type!, message.title!, `<a href=${message.href}>${message.content}</a>`);\n }\n\n logoutNotification(message: StompMessage): void {\n this.notification.create(message.type!, message.title!, `${message.content},剩余时间5秒`);\n setTimeout(() => {\n this.cache.clear();\n localStorage.clear();\n this.injector.get(WINDOW).location.href = `${this.bisConfig.baseUrl}/cas-proxy/app/logout`;\n }, 5000);\n }\n\n unListen(): void {\n this.subs.forEach(s => s.unsubscribe());\n this.rxStomp.deactivate().then();\n }\n\n publish(parameters: IRxStompPublishParams): void {\n this.rxStomp.publish(parameters);\n }\n\n watch(destination: string, headers?: StompHeaders): Observable<IMessage> {\n return this.rxStomp.watch(destination, headers);\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { CacheService } from '@yelon/cache';\nimport { LayoutDefaultOptions } from '@yelon/theme/layout-default';\n\nimport { YzStompService } from './yz.stomp.service';\n\n@Component({\n selector: 'yz-layout-basic',\n template: `\n <layout-default [options]=\"options\" [asideUser]=\"asideUserTpl\" [content]=\"contentTpl\">\n <layout-default-header-item direction=\"left\">\n <yz-header-application></yz-header-application>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yz-header-notify></yz-header-notify>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <yz-header-theme-btn></yz-header-theme-btn>\n </layout-default-header-item>\n\n <layout-default-header-item direction=\"right\" hidden=\"mobile\">\n <div\n layout-default-header-item-trigger\n nz-dropdown\n [nzDropdownMenu]=\"settingsMenu\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n >\n <i nz-icon nzType=\"setting\"></i>\n </div>\n <nz-dropdown-menu #settingsMenu=\"nzDropdownMenu\">\n <div nz-menu style=\"width: 200px;\">\n <div nz-menu-item>\n <yz-header-fullscreen></yz-header-fullscreen>\n </div>\n <div nz-menu-item>\n <yz-header-clear-storage></yz-header-clear-storage>\n </div>\n <div nz-menu-item>\n <yz-header-i18n></yz-header-i18n>\n </div>\n </div>\n </nz-dropdown-menu>\n </layout-default-header-item>\n <layout-default-header-item direction=\"right\">\n <yz-header-user></yz-header-user>\n </layout-default-header-item>\n <ng-template #asideUserTpl>\n <div nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"userMenu\" class=\"yunzai-default__aside-user\">\n <nz-avatar class=\"yunzai-default__aside-user-avatar\" [nzSrc]=\"icon\"></nz-avatar>\n <div class=\"yunzai-default__aside-user-info\">\n <strong>{{ text }}</strong>\n <p class=\"mb0\">{{ intro }}</p>\n </div>\n </div>\n <nz-dropdown-menu #userMenu=\"nzDropdownMenu\">\n <ul nz-menu>\n <li nz-menu-item routerLink=\"/\">{{ 'menu.backtohome' | i18n }}</li>\n </ul>\n </nz-dropdown-menu>\n </ng-template>\n <ng-template #contentTpl>\n <reuse-tab #reuseTab></reuse-tab>\n <router-outlet (activate)=\"reuseTab.activate($event)\"></router-outlet>\n </ng-template>\n </layout-default>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YzLayoutBasicComponent implements OnInit, OnDestroy {\n options: LayoutDefaultOptions = {\n logoExpanded: `./assets/logo-full.svg`,\n logoCollapsed: `./assets/logo.svg`\n };\n\n intro: string = '';\n text: string = '';\n icon: string = '';\n\n constructor(private cacheService: CacheService, private yzStompService: YzStompService) {}\n\n ngOnInit(): void {\n const current: NzSafeAny = this.cacheService.get('_yz_current', { mode: 'none' });\n const project: NzSafeAny = this.cacheService.get('_yz_project_info', { mode: 'none' });\n this.text = current.text ? current.text : '应用名称';\n this.intro = current.intro ? current.intro : '应用描述';\n this.icon = current.icon ? current.icon : `./assets/tmp/img/avatar.jpg`;\n this.options.logoExpanded = project.maxLogoUrl ? project.maxLogoUrl : `./assets/logo-full.svg`;\n this.options.logoCollapsed = project.miniLogoUrl ? project.miniLogoUrl : `./assets/logo.svg`;\n this.yzStompService.listen();\n }\n\n ngOnDestroy(): void {\n this.yzStompService.unListen();\n }\n}\n","/*\n * @Author: cui <devcui@outlook.com>\n * @Editor: microsoft vscode\n * @Date: 2021-11-27 11:30:50\n * @LastEditTime: 2021-11-27 14:38:46\n * @LastEditors: cui <devcui@outlook.com>\n * @Description: empty description\n * @FilePath: \\yelon\\packages\\bis\\layout\\layout.module.ts\n * LICENSE HERE\n */\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { YzSharedModule } from '@yelon/bis/shared';\nimport { YUNZAI_THEME_BTN_KEYS } from '@yelon/theme/theme-btn';\n\nimport { ContactComponent } from './contact/contact.component';\nimport {\n YzHeaderApplicationComponent,\n YzHeaderNotifyComponent,\n YzHeaderThemBtnComponent,\n YzHeaderUserComponent,\n YzHeaderClearStorageComponent,\n YzHeaderFullScreenComponent,\n YzHeaderI18NComponent\n} from './widgets';\nimport { YzLayoutBasicComponent } from './yz.basic.component';\nconst COMPONENTS = [\n ContactComponent,\n YzLayoutBasicComponent,\n YzHeaderApplicationComponent,\n YzHeaderNotifyComponent,\n YzHeaderThemBtnComponent,\n YzHeaderUserComponent,\n YzHeaderFullScreenComponent,\n YzHeaderClearStorageComponent,\n YzHeaderI18NComponent\n];\n\n@NgModule({\n imports: [HttpClientModule, CommonModule, FormsModule, RouterModule, ReactiveFormsModule, YzSharedModule],\n providers: [\n {\n provide: YUNZAI_THEME_BTN_KEYS,\n useValue: 'site-theme'\n }\n ],\n declarations: [...COMPONENTS],\n exports: [...COMPONENTS]\n})\nexport class YunzaiLayoutModule {}\n","import { Injectable, Injector } from '@angular/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { map, mergeAll, mergeMap } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { ITokenModel, ITokenService, mergeConfig as mergeAuthConfig, YA_SERVICE_TOKEN } from '@yelon/auth';\nimport { CacheService } from '@yelon/cache';\nimport { _HttpClient } from '@yelon/theme';\nimport { WINDOW, YunzaiAuthConfig, YunzaiBusinessConfig } from '@yelon/util';\nimport { YunzaiConfigService } from '@yelon/util/config';\nimport { log } from '@yelon/util/other';\n\nimport { mergeBisConfig } from './bis.config';\n\n@Injectable({ providedIn: 'root' })\nexport class YzAuthService {\n protected option: YunzaiAuthConfig;\n protected bis: YunzaiBusinessConfig;\n\n constructor(private injector: Injector) {\n this.option = mergeAuthConfig(this.csr);\n this.bis = mergeBisConfig(this.csr);\n }\n\n private get csr(): YunzaiConfigService {\n return this.injector.get(YunzaiConfigService);\n }\n\n private get tokenService(): ITokenService {\n return this.injector.get(YA_SERVICE_TOKEN);\n }\n\n private get httpClient(): _HttpClient {\n return this.injector.get(_HttpClient);\n }\n\n private get cacheService(): CacheService {\n return this.injector.get(CacheService);\n }\n\n askToken(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'askToken');\n if (this.tokenService.get()?.token) {\n return of(this.tokenService.get()!);\n } else {\n if (this.bis.loginForm) {\n return this.fetchTokenByUP();\n } else {\n return this.fetchTokenByCas();\n }\n }\n }\n\n fetchTokenByUP(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'fetchTokenByUP');\n return this.httpClient.post(`/auth/oauth/token?_allow_anonymous=true`, this.bis.loginForm).pipe(\n map((response: NzSafeAny) => {\n const { access_token, expires_in, refresh_token, scope, token_type } = response;\n return {\n token: access_token,\n expired: expires_in,\n refreshToken: refresh_token,\n tokenType: token_type,\n scope\n };\n })\n );\n }\n\n fetchTokenByCas(): Observable<ITokenModel> {\n log('yz.auth.service: ', 'fetchTokenByCas');\n const uri = encodeURIComponent(this.injector.get(WINDOW).location.href);\n return this.httpClient\n .get(`/cas-proxy/app/validate_full?callback=${uri}&_allow_anonymous=true×tamp=${new Date().getTime()}`)\n .pipe(\n map((response: NzSafeAny) => {\n switch (response.errcode) {\n case 2000:\n const { access_token, expires_in, refresh_token, scope, token_type } = response.data;\n return {\n token: access_token,\n expired: expires_in,\n refreshToken: refresh_token,\n tokenType: token_type,\n scope\n } as ITokenModel;\n case 2001:\n this.injector.get(WINDOW).location.href = response.msg;\n throw Error(\"Cookie Error: Can't find Cas Cookie,So jump to login!\");\n default:\n if (response.data) {\n console.error(response.data);\n throw Error(response.data);\n } else if (response.msg) {\n console.error(response.msg);\n throw Error(response.msg);\n } else {\n console.error('cas unknown error');\n throw Error('Unknown Error: Cas auth exception!');\n }\n }\n })\n );\n }\n\n login(): Observable<void> {\n log('yz.auth.service: ', 'login white login form->', this.bis.loginForm);\n return this.askToken().pipe(\n mergeMap(token => {\n log('yz.auth.service: get token->', token);\n this.csr.set('auth', {\n token_send_key: 'Authorization',\n token_send_template: `${token.tokenType} \\${token}`,\n token_send_place: 'header'\n });\n log('yz.auth.service: ', 'set token');\n this.tokenService.set(token);\n return this.cacheInit();\n }),\n mergeAll()\n );\n }\n\n cacheInit(): Observable<void[]> {\n log('yz.auth.service: ', 'cacheInit');\n const user = this.cacheService.get('_yz_user', { mode: 'none' });\n const header = this.cacheService.get('_yz_header', { mode: 'none' });\n const project = this.cacheService.get('_yz_project_info', { mode: 'none' });\n return forkJoin(of(user), of(header), of(project)).pipe(\n mergeMap(([u, h, p]) => {\n let list = [];\n // user cache\n if (!u) {\n log('yz.auth.service: ', 'fetch user cache');\n list.push(\n this.httpClient.get(`/auth/user`).pipe(\n map((user: NzSafeAny) => {\n this.cacheService.set('_yz_user', user.principal);\n })\n )\n );\n } else {\n log('yz.auth.service: ', 'user recache');\n list.push(of<NzSafeAny>(() => {}));\n }\n // header cache\n if (!h) {\n log('yz.auth.service: ', 'fetch header cache');\n list.push(\n this.httpClient.get(`/auth/allheader/v2`).pipe(\n map((header: NzSafeAny) => {\n this.cacheService.set('_yz_header', header.data);\n })\n )\n );\n } else {\n log('yz.auth.service: ', 'header recache');\n list.push(of<NzSafeAny>(() => {}));\n }\n // project cache\n if (!p) {\n log('yz.auth.service: ', 'fetch project cache');\n list.push(\n this.httpClient.get(`/app-manager/project/info`).pipe(\n map((info: NzSafeAny) => {\n this.cacheService.set('_yz_project_info', info.data);\n })\n )\n );\n } else {\n log('yz.auth.service: ', 'project recache');\n list.push(of<NzSafeAny>(() => {}));\n }\n return forkJoin(list);\n })\n );\n }\n}\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpHeaders,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n HttpResponseBase\n} from '@angular/common/http';\nimport { Injectable, Injector } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, of, throwError } from 'rxjs';\nimport { catchError, filter, mergeMap, switchMap, take } from 'rxjs/operators';\n\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\n\nimport { YA_SERVICE_TOKEN, ITokenService } from '@yelon/auth';\nimport { YUNZAI_I18N_TOKEN, _HttpClient } from '@yelon/theme';\nimport { WINDOW } from '@yelon/util';\nimport { YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util/config';\nimport { log } from '@yelon/util/other';\n\nimport { mergeBisConfig } from './bis.config';\n\nconst CODEMESSAGE: { [key: number]: string } = {\n 200: '服务器成功返回请求的数据。',\n 201: '新建或修改数据成功。',\n 202: '一个请求已经进入后台排队(异步任务)。',\n 204: '删除数据成功。',\n 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',\n 401: '用户没有权限(令牌、用户名、密码错误)。',\n 403: '用户得到授权,但是访问是被禁止的。',\n 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',\n 406: '请求的格式不可得。',\n 410: '请求的资源被永久删除,且不会再得到的。',\n 422: '当创建一个对象时,发生一个验证错误。',\n 500: '服务器发生错误,请检查服务器。',\n 502: '网关错误。',\n 503: '服务不可用,服务器暂时过载或维护。',\n 504: '网关超时。'\n};\n\n/**\n * 默认HTTP拦截器,其注册细节见 `app.module.ts`\n */\n@Injectable()\nexport class YzDefaultInterceptor implements HttpInterceptor {\n private jump = false;\n private refreshToking = false;\n private refreshToken$: BehaviorSubject<any> = new BehaviorSubject<any>(null);\n\n private get notification(): NzNotificationService {\n return this.injector.get(NzNotificationService);\n }\n\n private get tokenSrv(): ITokenService {\n return this.injector.get(YA_SERVICE_TOKEN);\n }\n\n private get http(): _HttpClient {\n return this.injector.get(_HttpClient);\n }\n\n private get config(): YunzaiBusinessConfig {\n return mergeBisConfig(this.injector.get(YunzaiConfigService));\n }\n\n private goTo(url: string): void {\n setTimeout(() => this.injector.get(Router).navigateByUrl(url));\n }\n\n constructor(private injector: Injector) {\n if (this.config.refreshTokenType === 'auth-refresh') {\n console.error(\"can't use auth-refresh, please change yz.default.interceptor to default.interceptor!\");\n }\n }\n\n private checkStatus(ev: HttpResponseBase): void {\n if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) {\n return;\n }\n\n if (ev instanceof HttpErrorResponse && (ev.error.message || ev.error.errorMessage)) {\n if (ev.error.errorMessage) {\n this.notification.error(`发生了一些错误 `, ev.error.errorMessage);\n } else {\n this.notification.error(`发生了一些错误 `, ev.error.message);\n }\n return;\n }\n\n if (ev instanceof HttpResponse && ev.body.errorMessage) {\n this.notification.error(`发生了一些错误 `, ev.body.errorMessage);\n return;\n }\n const errortext = CODEMESSAGE[ev.status] || ev.statusText;\n this.notification.error(`请求错误 ${ev.status}: ${ev.url}`, errortext);\n }\n\n private ToLogin() {\n this.notification.error(`未登录或登录状态已过期,5秒后将跳转到登录页面。`, ``);\n setTimeout(() => {\n localStorage.clear();\n this.injector.get(WINDOW).location.href = `${this.config.baseUrl}/cas-proxy/app/logout`;\n }, 5000);\n }\n\n private reAttachToken(req: HttpRequest<any>): HttpRequest<any> {\n const token = this.tokenSrv.get()?.token;\n return req.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n }\n\n private refreshTokenRequest(): Observable<any> {\n const model = this.tokenSrv.get();\n const form = new FormData();\n form.set('refresh_token', model?.refreshToken);\n log('yz.default.interceptor: use the refresh token to request a new token', model?.refreshToken);\n return this.http.post(`/auth/user/token/refresh?_allow_anonymous=true`, form);\n }\n\n private tryRefreshToken(ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandler): Observable<any> {\n // 连刷新Token的请求都错了,那就是真错了\n if (['/auth/oauth/token'].some(url => req.url.includes(url))) {\n this.ToLogin();\n return throwError(ev);\n }\n\n // 正在刷新token,所有其他请求排队\n if (this.refreshToking) {\n return this.refreshToken$.pipe(\n filter(v => !!v),\n take(1),\n switchMap(() => next.handle(this.reAttachToken(req)))\n );\n }\n\n //尝试调用刷新 Token\n this.refreshToking = true;\n this.refreshToken$.next(null);\n\n // 处理Token\n return this.refreshTokenRequest().pipe(\n switchMap(res => {\n log('yz.default.interceptor: refresh token accessed -> ', res);\n // 重新保存新 token\n const { access_token, expires_in, refresh_token, scope, token_type } = res;\n this.tokenSrv.set({\n token: access_token,\n expired: expires_in,\n refreshToken: refresh_token,\n tokenType: token_type,\n scope\n });\n // 通知后续请求继续执行\n this.refreshToking = false;\n this.refreshToken$.next(res);\n // 重新发起请求\n return next.handle(this.reAttachToken(req));\n }),\n catchError(err => {\n this.refreshToking = false;\n this.ToLogin();\n return throwError(err);\n })\n );\n }\n\n private getAdditionalHeaders(headers?: HttpHeaders): { [name: string]: string } {\n const res: { [name: string]: string } = {};\n const lang = this.injector.get(YUNZAI_I18N_TOKEN).currentLang;\n if (!headers?.has('Accept-Language') && lang) {\n res['Accept-Language'] = lang;\n }\n return res;\n }\n\n private handleData(ev: HttpResponseBase, req: HttpRequest<any>, next: HttpHandler): Observable<any> {\n this.checkStatus(ev);\n switch (ev.status) {\n case 200:\n return of(ev);\n case 401:\n if (this.config.refreshTokenEnabled && this.config.refreshTokenType === 're-request') {\n return this.tryRefreshToken(ev, req, next);\n }\n this.ToLogin();\n break;\n case 403:\n case 404:\n case 500:\n if (this.jump) {\n this.goTo(`/exception/${ev.status}`);\n }\n break;\n default:\n if (ev instanceof HttpErrorResponse) {\n console.warn(\n '未可知错误,大部分是由于后端不支持跨域CORS或无效配置引起,请参考 https://ng.yunzainfo.com/docs/server 解决跨域问题',\n ev\n );\n }\n break;\n }\n if (ev instanceof HttpErrorResponse) {\n return throwError(ev);\n } else {\n return of(ev);\n }\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n log('yz.default.interceptor.ts: ', 'request ', req);\n // 统一加前缀\n let url = req.url;\n if (!url.startsWith('https://') && !url.startsWith('http://')) {\n url = this.config.baseUrl + url;\n }\n if (url.includes('.json') && url.includes('assets')) {\n url = req.url;\n }\n // 加入语言头\n const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) });\n return next.handle(newReq).pipe(\n mergeMap(ev => {\n // 允许统一对请求错误处理\n if (ev instanceof HttpResponseBase) {\n return this.handleData(ev, newReq, next);\n }\n // 若一切都正常,则后续操作\n return of(ev);\n }),\n catchError((err: HttpErrorResponse) => this.handleData(err, newReq, next))\n );\n }\n}\n","import { APP_INITIALIZER, Inject, Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\n\nimport { ACLService } from '@yelon/acl';\nimport { ICONS } from '@yelon/bis/shared';\nimport { CacheService } from '@yelon/cache';\nimport { Menu, MenuService, SettingsService, TitleService, User, YUNZAI_I18N_TOKEN } from '@yelon/theme';\nimport { deepCopy, log, YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconService } from 'ng-zorro-antd/icon';\n\nimport { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';\nimport { YzAuthService } from './yz.auth.service';\nimport { YzI18NService } from './yz.i18n.service';\n\nexport function mapYzSideToYelonMenu(menus: Menu[]): void {\n menus.forEach(menu => {\n menu.badgeDot = menu.badge_dot || null;\n menu.badgeStatus = menu.badge_status || null;\n menu.shortcutRoot = menu.shortcut_root || null;\n menu.reuse = true;\n if (menu.children) {\n mapYzSideToYelonMenu(menu.children);\n }\n });\n}\n\nexport function generateAbility(menus: Menu[], abilities: string[], prefix: string): void {\n menus.forEach(menu => {\n if (menu.link) {\n prefix += menu.link;\n } else {\n prefix += '';\n }\n if (menu.menuAuths) {\n menu.menuAuths.forEach((a: string) => {\n abilities.push(`${prefix}:${a}`);\n abilities.push(a);\n });\n }\n\n if (menu.children) {\n generateAbility(menu.children, abilities, prefix);\n }\n });\n}\n\n@Injectable()\nexport class YzStartupService {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n\n constructor(\n iconSrv: NzIconService,\n private menuService: MenuService,\n @Inject(YUNZAI_I18N_TOKEN) private i18n: YzI18NService,\n private settingService: SettingsService,\n private aclService: ACLService,\n private titleService: TitleService,\n private yzAuthService: YzAuthService,\n private cacheService: CacheService,\n private configService: YunzaiConfigService\n ) {\n this.bis = mergeBisConfig(this.configService);\n iconSrv.addIcon(...ICONS);\n }\n\n load(): Observable<void> {\n log('startup.service: ', 'load');\n const defaultLang = this.i18n.defaultLang;\n return this.i18n.loadLangData(defaultLang).pipe(\n mergeMap(langData => {\n log('startup.service: ', 'set i18n, defaultLang->', defaultLang, ' langData->', langData);\n this.i18n.use(defaultLang, langData);\n return of(null);\n }),\n mergeMap(() => {\n return this.yzAuthService.login();\n }),\n mergeMap(v => {\n // preloader finish\n this.systemInit();\n log('startup.service: preloader finish');\n const win = window as NzSafeAny;\n if (win && win.appBootstrap) {\n win.appBootstrap();\n }\n return of(v);\n })\n );\n }\n\n systemInit(): void {\n log('startup.service: system init');\n // user\n const user: User = this.cacheService.get('_yz_user', { mode: 'none' });\n // menu\n const ms = deepCopy(user.menu).filter((m: Menu) => m.systemCode && m.systemCode === this.bis.systemCode) as Menu[];\n mapYzSideToYelonMenu(ms);\n const currentMenu = ms.pop() || [];\n this.menuService.add([currentMenu]);\n\n // logo app\n this.settingService.setApp({ name: currentMenu.text, description: currentMenu.intro });\n this.settingService.setUser({\n name: user.realname || 'no name',\n avatar: `${this.bis.baseUrl}/filecenter/file/${user.avatarId}` || '',\n email: user.email || 'no email'\n });\n\n // title\n this.titleService.default = currentMenu && currentMenu.text ? currentMenu.text : 'default application name';\n this.titleService.setTitle(currentMenu && currentMenu.text ? currentMenu.text : 'no title');\n\n // acl\n const abilities: string[] = [];\n generateAbility([currentMenu], abilities, '');\n this.aclService.attachRole(\n user?.roles\n .map((role: NzSafeAny) => {\n return role.roleValue;\n })\n .filter((a: NzSafeAny) => !!a) || []\n );\n this.aclService.attachAbility(abilities);\n\n // cache current\n this.cacheService.set('_yz_current', {\n text: currentMenu.text,\n intro: currentMenu.intro,\n icon: currentMenu.appIconUrl\n });\n }\n}\n\nexport function YzStartupServiceFactory(startupService: YzStartupService): () => Observable<void> {\n return () => startupService.load();\n}\n\n//@ts-ignore\nexport const YZ_APPINIT_PROVIDES = [\n YzStartupService,\n {\n provide: APP_INITIALIZER,\n useFactory: YzStartupServiceFactory,\n deps: [YzStartupService],\n multi: true\n }\n];\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PathToRegexpService {\n constructor() {}\n DEFAULT_DELIMITER = '/';\n\n PATH_REGEXP = new RegExp(\n ['(\\\\\\\\.)', '(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?'].join('|'),\n 'g'\n );\n\n parse(str: any, options: any) {\n const tokens = [];\n let key = 0;\n let index = 0;\n let path = '';\n const defaultDelimiter = (options && options.delimiter) || this.DEFAULT_DELIMITER;\n const whitelist = (options && options.whitelist) || undefined;\n let pathEscaped = false;\n let res;\n\n while ((res = this.PATH_REGEXP.exec(str)) !== null) {\n const m = res[0];\n const escaped = res[1];\n const offset = res.index;\n path += str.slice(index, offset);\n index = offset + m.length;\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1];\n pathEscaped = true;\n continue;\n }\n\n let prev = '';\n const name = res[2];\n const capture = res[3];\n const group = res[4];\n const modifier = res[5];\n\n if (!pathEscaped && path.length) {\n const k = path.length - 1;\n const c = path[k];\n const matches = whitelist ? whitelist.indexOf(c) > -1 : true;\n\n if (matches) {\n prev = c;\n path = path.slice(0, k);\n }\n }\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path);\n path = '';\n pathEscaped = false;\n }\n\n const repeat = modifier === '+' || modifier === '*';\n const optional = modifier === '?' || modifier === '*';\n const pattern = capture || group;\n const delimiter = prev || defaultDelimiter;\n\n tokens.push({\n name: name || key++,\n prefix: prev,\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n pattern: pattern\n ? this.escapeGroup(pattern)\n : `[^${this.escapeString(delimiter === defaultDelimiter ? delimiter : delimiter + defaultDelimiter)}]+?`\n });\n }\n\n // Push any remaining characters.\n if (path || index < str.length) {\n tokens.push(path + str.substr(index));\n }\n\n return tokens;\n }\n compile(str: any, options: any) {\n return this.tokensToFunction(this.parse(str, options), options);\n }\n\n tokensToFunction(tokens: any, options: any) {\n const matches = new Array(tokens.length);\n\n for (let i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp(`^(?:${tokens[i].pattern})$`, this.flags(options));\n }\n }\n\n return function (data: any, options: any) {\n let path = '';\n const encode = (options && options.encode) || encodeURIComponent;\n const validate = options ? options.validate !== false : true;\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n\n if (typeof token === 'string') {\n path += token;\n continue;\n }\n\n const value = data ? data[token.name] : undefined;\n let segment;\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError(`Expected \"${token.name}\" to not repeat, but got array`);\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue;\n }\n\n throw new TypeError(`Expected \"${token.name}\" to not be empty`);\n }\n\n for (let j = 0; j < value.length; j++) {\n segment = encode(value[j], token);\n\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(`Expected all \"${token.name}\" to match \"${token.pattern}\"`);\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment;\n }\n\n continue;\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n segment = encode(String(value), token);\n\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(`Expected \"${token.name}\" to match \"${token.pattern}\", but got \"${segment}\"`);\n }\n\n path += token.prefix + segment;\n continue;\n }\n\n if (token.optional) {\n continue;\n }\n\n throw new TypeError(`Expected \"${token.name}\" to be ${token.repeat ? 'an array' : 'a string'}`);\n }\n\n return path;\n };\n }\n\n escapeString(str: any) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1');\n }\n\n escapeGroup(group: any) {\n return group.replace(/([=!:$/()])/g, '\\\\$1');\n }\n\n flags(options: any) {\n return options && options.sensitive ? '' : 'i';\n }\n\n regexpToRegexp(path: any, keys: any) {\n if (!keys) {\n return path;\n }\n\n const groups = path.source.match(/\\((?!\\?)/g);\n\n if (groups) {\n for (let i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n pattern: null\n });\n }\n }\n\n return path;\n }\n\n arrayToRegexp(path: any, keys: any, options: any): RegExp {\n const parts = [];\n\n for (let i = 0; i < path.length; i++) {\n parts.push(this.pathToRegexp(path[i], keys, options).source);\n }\n\n return new RegExp(`(?:${parts.join('|')})`, this.flags(options));\n }\n\n stringToRegexp(path: any, keys: any, options: any) {\n return this.tokensToRegExp(this.parse(path, options), keys, options);\n }\n\n tokensToRegExp(tokens: any, keys: any, options: any) {\n options = options || {};\n\n const strict = options.strict;\n const start = options.start !== false;\n const end = options.end !== false;\n const delimiter = options.delimiter || this.DEFAULT_DELIMITER;\n const endsWith = []\n .concat(options.endsWith || [])\n .map(this.escapeString)\n .concat('$')\n .join('|');\n let route = start ? '^' : '';\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n\n if (typeof token === 'string') {\n route += this.escapeString(token);\n } else {\n const capture = token.repeat\n ? `(?:${token.pattern})(?:${this.escapeString(token.delimiter)}(?:${token.pattern}))*`\n : token.pattern;\n\n if (keys) {\n keys.push(token);\n }\n\n if (token.optional) {\n if (!token.prefix) {\n route += `(${capture})?`;\n } else {\n route += `(?:${this.escapeString(token.prefix)}(${capture}))?`;\n }\n } else {\n route += `${this.escapeString(token.prefix)}(${capture})`;\n }\n }\n }\n\n if (end) {\n if (!strict) {\n route += `(?:${this.escapeString(delimiter)})?`;\n }\n\n route += endsWith === '$' ? '$' : `(?=${endsWith})`;\n } else {\n const endToken = tokens[tokens.length - 1];\n const isEndDelimited =\n typeof endToken === 'string' ? endToken[endToken.length - 1] === delimiter : endToken === undefined;\n\n if (!strict) {\n route += `(?:${this.escapeString(delimiter)}(?=${endsWith}))?`;\n }\n if (!isEndDelimited) {\n route += `(?=${this.escapeString(delimiter)}|${endsWith})`;\n }\n }\n\n return new RegExp(route, this.flags(options));\n }\n\n pathToRegexp(path: any, keys: any, options: any) {\n if (path instanceof RegExp) {\n return this.regexpToRegexp(path, keys);\n }\n\n if (Array.isArray(path)) {\n return this.arrayToRegexp(/** @type {!Array} */ path, keys, options);\n }\n\n return this.stringToRegexp(/** @type {string} */ path, keys, options);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n CanActivateChild,\n Router,\n RouterStateSnapshot,\n UrlTree\n} from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { CacheService } from '@yelon/cache';\nimport { Menu, User } from '@yelon/theme';\nimport { deepCopy, log, YunzaiBusinessConfig, YunzaiConfigService } from '@yelon/util';\n\nimport { BUSINESS_DEFAULT_CONFIG, mergeBisConfig } from './bis.config';\nimport { PathToRegexpService } from './path-to-regexp.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActGuard implements CanActivate, CanActivateChild {\n private bis: YunzaiBusinessConfig = BUSINESS_DEFAULT_CONFIG;\n private menus: NzSafeAny[] = [];\n private links: string[] = [];\n\n constructor(\n private configService: YunzaiConfigService,\n private cacheService: CacheService,\n private pathToRegexp: PathToRegexpService,\n private router: Router\n ) {\n log('act: ');\n this.bis = mergeBisConfig(this.configService);\n log('act: config ', this.bis);\n const user: User = this.cacheService.get('_yz_user', { mode: 'none' });\n log('act: user ', user);\n this.menus = deepCopy(user.menu).filter(\n (m: Menu) => m.systemCode && m.systemCode === this.bis.systemCode\n ) as Menu[];\n log('act: menus ', this.menus);\n this.getAllLinks(this.menus, this.links);\n log('act: links ', this.links);\n }\n\n canActivate(\n _: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n log('act: can activate ', state);\n if (this.preHandle(state)) {\n return true;\n }\n log('act: can activate child prehandle success');\n let canactivate = false;\n this.links.forEach((link: string) => {\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n log(`act: ${link} test ${state.url.split('?')[0]}`);\n if (regexp.test(state.url.split('?')[0])) {\n canactivate = true;\n log(`act: test value ${canactivate}`);\n return;\n }\n });\n if (canactivate) {\n log(`act: test sucess`);\n return true;\n } else {\n log(`act: test error`);\n this.router.navigate(['displayIndex']);\n return false;\n }\n }\n\n canActivateChild(\n _: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n log('act: can activate child ', state);\n if (this.preHandle(state)) {\n return true;\n }\n log('act: can activate child prehandle success');\n\n let canactivate = false;\n this.links.forEach((link: string) => {\n const regexp: RegExp = this.pathToRegexp.stringToRegexp(link, null, null);\n if (regexp.test(state.url.split('?')[0])) {\n log(`act: ${link} test ${state.url.split('?')[0]}`);\n canactivate = true;\n log(`act: test value ${canactivate}`);\n return;\n }\n });\n if (canactivate) {\n log(`act: test sucess`);\n return true;\n } else {\n log(`act: test error`);\n this.router.navigate(['displayIndex']);\n return false;\n }\n }\n\n preHandle(state: RouterStateSnapshot): boolean {\n return (\n state.url.includes('error') ||\n state.url.includes('exception') ||\n state.url.includes('displayIndex') ||\n state.url === '' ||\n state.url === null ||\n state.url === '/' ||\n state.url.includes('iframePage')\n );\n }\n\n getAllLinks(menu: Menu[], links: string[]): void {\n menu.forEach((sider: Menu) => {\n if (sider.link) {\n links.push(sider.link);\n }\n if (sider.children && sider.children.length > 0) {\n this.getAllLinks(sider.children, links);\n }\n });\n }\n}\n","export * from './widgets';\nexport * from './layout.module';\nexport * from './yz.auth.service';\nexport * from './yz.basic.component';\nexport * from './yz.default.interceptor';\nexport * from './yz.i18n.service';\nexport * from './yz.startup.service';\nexport * from './bis.config';\nexport * from './stomp.config';\nexport * from './yz.stomp.service';\nexport * from './act.guard';\nexport * from './path-to-regexp.service';\n// export * from './contact/contact.component';\n// export * from './contact/contact.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ContactComponent as ɵa} from './contact/contact.component';\nexport {ContactService as ɵb} from './contact/contact.service';\nexport {YzHeaderApplicationComponent as ɵc,YzHeaderClearStorageComponent as ɵh,YzHeaderFullScreenComponent as ɵg,YzHeaderI18NComponent as ɵi,YzHeaderNotifyComponent as ɵd,YzHeaderThemBtnComponent as ɵe,YzHeaderUserComponent as ɵf} from './widgets';"],"names":["ngZh","zorroZhCN","dfZhCn","yelonZhCn","ngZhTw","zorroZhTW","dfZhTw","yelonZhTw","ngEn","zorroEnUS","dfEn","yelonEnUS","registerLocaleData","YunzaiI18nBaseService","Injectable","_HttpClient","SettingsService","NzI18nService","YelonLocaleService","Platform","YunzaiConfigService","TOPIC","WINDOW","Component","ChangeDetectionStrategy","Injector","CacheService","Inject","YUNZAI_I18N_TOKEN","DOCUMENT","Input","InputBoolean","forkJoin","log","map","formatDistanceToNow","NzMessageService","ChangeDetectorRef","Subject","takeUntil","Renderer2","Directionality","Optional","YUNZAI_THEME_BTN_KEYS","YA_SERVICE_TOKEN","NzModalService","HostListener","screenfull","EventEmitter","ViewChild","Output","RxStomp","isDevMode","NzNotificationService","NgModule","HttpClientModule","CommonModule","FormsModule","RouterModule","ReactiveFormsModule","YzSharedModule","mergeAuthConfig","of","mergeMap","mergeAll","BehaviorSubject","Router","HttpErrorResponse","HttpResponse","throwError","filter","take","switchMap","catchError","HttpResponseBase","ICONS","deepCopy","NzIconService","MenuService","ACLService","TitleService","APP_INITIALIZER"],"mappings":"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"}
|