oak-general-business/lib/features/index.js

60 lines
2.8 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.initialize = exports.create = void 0;
const tslib_1 = require("tslib");
const token_1 = require("./token");
const extraFile_1 = require("./extraFile");
const application_1 = require("./application");
const config_1 = require("./config");
const template_1 = require("./template");
const wechatSdk_1 = require("./wechatSdk");
const wechatMenu_1 = require("./wechatMenu");
const wechatPublicTag_1 = require("./wechatPublicTag");
const userWechatPublicTag_1 = require("./userWechatPublicTag");
const theme_1 = tslib_1.__importDefault(require("./theme"));
const appVersion_1 = require("../utils/appVersion");
function create(basicFeatures) {
const application = new application_1.Application(basicFeatures.cache, basicFeatures.localStorage, (0, appVersion_1.oakGetPackageJsonVersion)());
const token = new token_1.Token(basicFeatures.cache, basicFeatures.localStorage, basicFeatures.environment, application);
const wechatMenu = new wechatMenu_1.WechatMenu(basicFeatures.cache, basicFeatures.localStorage);
const wechatPublicTag = new wechatPublicTag_1.WechatPublicTag(basicFeatures.cache, basicFeatures.localStorage);
const userWechatPublicTag = new userWechatPublicTag_1.UserWechatPublicTag(basicFeatures.cache, basicFeatures.localStorage);
const extraFile = new extraFile_1.ExtraFile(basicFeatures.cache, application);
const config = new config_1.Config(basicFeatures.cache);
const template = new template_1.Template(basicFeatures.cache);
const wechatSdk = new wechatSdk_1.WechatSdk(basicFeatures.cache, basicFeatures.localStorage, basicFeatures.environment);
const theme = new theme_1.default(basicFeatures.localStorage);
return {
token,
extraFile,
application,
config,
template,
wechatSdk,
theme,
wechatMenu,
wechatPublicTag,
userWechatPublicTag,
};
}
exports.create = create;
const selectionRewriter_1 = require("../utils/selectionRewriter");
async function initialize(features, access, config, clazzes) {
features.cache.registerSelectionRewriter(selectionRewriter_1.rewriteSelection);
features.cache.registerOperationRewriter(selectionRewriter_1.rewriteOperation);
await features.application.initialize((0, appVersion_1.oakGetPackageJsonVersion)(), access.http.hostname, undefined, config?.applicationExtraProjection);
if (process.env.OAK_PLATFORM === 'web') {
features.wechatSdk.setLandingUrl(window.location.href);
}
if (clazzes) {
features.extraFile.registerCos(clazzes);
}
// 小程序自动登录
if (process.env.OAK_PLATFORM === 'wechatMp' && !config?.dontAutoLoginInWechatmp) {
if (!features.token.getTokenValue()) {
await features.token.loginWechatMp();
}
}
}
exports.initialize = initialize;