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; } });