五个页面按 h5/css 的 style.css → ui-20261009 → ui-20261012 覆盖顺序逐条重排, 换算规则固定为 calc(N * var(--u)) → 2N rpx,固定 px 的字号保持 px。 - app.acss:换回 H5 设计 token(方角小倒角按钮 10rpx、卡片 14rpx、.chev 折线箭头) - splash/profile/history:底图与按钮文字图改用 H5 资源,隐私/政策弹窗按 H5 重排 - report:环形分用 conic-gradient、人脸裁切窗口叠加 face_maps、标记点百分比盒、 侧脸皱纹 pending/unavailable 文案;用 Playwright 抓 H5 94 个选择器几何比对, 整页高 2438.7 vs 2438.67 - camera:淘宝 <camera> 组件在真机整页崩溃(嵌了微信专有的 <cover-view>), 改为默认系统相机 + `config.nativeCamera` 开关 + pages/camtest 冒烟页验证组件 - permissions:淘宝用带前缀的 scope.camera(裸名返回 5022 Scope:camera信息不存在), 先试带前缀再退回裸名,拒绝后不再重复弹窗 - voice:非 HTTPS 资源导致的异常不再冒泡成整页崩溃;app.js 加开发版错误 toast - 开发版入口:权限诊断(启动页/相机页)、相机组件测试 - 测试 20/20(新增权限与相机能力用例)
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
var config = require('../../config');
|
|
var transport = require('../../utils/transport');
|
|
var original = { transport: config.transport, baseUrl: config.baseUrl };
|
|
|
|
if (config.mvpLocal) {
|
|
config.transport = 'direct';
|
|
config.baseUrl = config.mvpBaseUrl;
|
|
}
|
|
|
|
Page({
|
|
data: {
|
|
configText: '',
|
|
resultText: '',
|
|
loading: false
|
|
},
|
|
|
|
onLoad: function () {
|
|
this.setData({
|
|
configText: JSON.stringify({
|
|
environment: config.environment,
|
|
transport: config.transport,
|
|
cloudType: config.cloudType || 'empty',
|
|
baseUrl: config.baseUrl,
|
|
cloudAppId: config.cloudAppId || '(empty)',
|
|
cloudEnv: config.cloudEnv
|
|
}, null, 2)
|
|
});
|
|
this.onPing();
|
|
},
|
|
|
|
call: function (path, body) {
|
|
var that = this;
|
|
this.setData({ loading: true, resultText: '请求中...' });
|
|
transport.request(path, body || {}).then(function (data) {
|
|
that.setData({ loading: false, resultText: JSON.stringify(data, null, 2) });
|
|
}).catch(function (err) {
|
|
// 真机上没法看 console,把云网关的 code/msg 一起显示出来
|
|
var detail = err && err.message ? err.message : String(err);
|
|
if (err && err.code) detail = err.code + ' / ' + detail;
|
|
if (err && err.msg && err.msg !== err.message) detail += ' | ' + err.msg;
|
|
that.setData({ loading: false, resultText: 'ERROR: ' + detail });
|
|
});
|
|
},
|
|
|
|
onPing: function () {
|
|
this.call('/api/taobao/ping', {});
|
|
},
|
|
|
|
onWhoami: function () {
|
|
this.call('/api/taobao/whoami', {});
|
|
},
|
|
|
|
onEcho: function () {
|
|
this.call('/api/taobao/echo', { hello: 'world', at: Date.now() });
|
|
},
|
|
|
|
onBack: function () {
|
|
my.navigateBack();
|
|
},
|
|
|
|
onUnload: function () {
|
|
config.transport = original.transport;
|
|
config.baseUrl = original.baseUrl;
|
|
}
|
|
});
|