60 lines
2.8 KiB
JavaScript
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;
|