feat: 更新作业纸 footer

This commit is contained in:
R524809
2026-10-26 18:29:47 +08:00
parent 98dc338848
commit 49467c1e3d
7 changed files with 124 additions and 15 deletions
+35 -1
View File
@@ -15,7 +15,7 @@ const deferred = () => {
const tick = () => new Promise(setImmediate);
/** 加载真实配置、请求、认证、App 与切换流程,仅模拟微信运行时和服务端响应。 */
function fixture(storage = new Map()) {
function fixture(storage = new Map(), useDefaultEnvironment = false) {
let version = 'develop';
let app;
let pages = [];
@@ -131,6 +131,12 @@ function fixture(storage = new Map()) {
return exports;
}
load('app');
const config = load('config/api');
if (!useDefaultEnvironment) {
// 既有切换场景从 local 开始,并显式模拟三个环境同址。
config.apiConfig.developmentEnvironment = 'local';
config.apiConfig.productionBaseUrl = config.apiConfig.localBaseUrl;
}
return {
config: load('config/api'),
auth: load('utils/auth'),
@@ -423,3 +429,31 @@ test('Debug 页面调用统一切换入口,失败时隐藏 loading 后显示
});
assert.equal(toasts.length, 0);
});
test('所有包默认请求线上;忽略旧 local 选择,新手动选择仍可持久保存', async () => {
const online = 'https://doodle-api.joeyone.cn/api/v1';
const f = fixture(
new Map([['doodle_develop_api_environment_v1', 'local']]),
true,
);
for (const version of ['develop', 'trial', 'release', 'unknown']) {
f.version(version);
assert.equal(f.config.getApiConfig().environment, 'production');
assert.equal(f.config.getApiConfig().baseUrl, online);
}
f.version('develop');
await f.api.apiRequest('/categories', { auth: 'none' });
assert.equal(f.requests.at(-1).url, `${online}/categories`);
f.config.selectApiEnvironment('local');
assert.equal(
f.config.getApiConfig().baseUrl,
'http://127.0.0.1:8800/api/v1',
);
assert.equal(
fixture(f.storage, true).config.getApiConfig().environment,
'local',
);
f.version('trial');
assert.equal(f.config.getApiConfig().baseUrl, online);
assert.equal(f.config.getApiConfig().environment, 'production');
});