阅读(1110) (8)

百度智能小程序 获取运行环境信息同步接口

2020-08-13 16:19:24 更新

swan.getEnvInfoSync

Tip:基础库 3.140.1 之前,无法判断接口是否调用失败;基础库 3.140.1 及以后,接口调用失败时会返回一个标准的Error对象,可通过instanceof来判断接口是否调用失败。

解释:获取运行环境信息同步接口

方法参数

同步返回参数说明

参数 类型 说明
appKey String 智能小程序 App Key
appName String 智能小程序名称
lastAppURL String 智能小程序最近一次打开的调起协议
sdkVersion String 基础库版本
scheme String 调起协议的协议头
env String 智能小程序的版本(基础库 3.90.12 开始支持)。有效值:development,trial,production 。
development 代表开发版本;
trial 代表体验版本;
production 代表线上版本。

示例 

在开发者工具中打开


图片示例

代码示例

<view class="wrap">
    <view class="card-area">
        <view class="list-area border-bottom" s-for="item in infoList">
        <view class="result-item">
            <text class="result-item-key-6">{{item.chineseName}}</text>
            <text class="result-item-value">{{item.value}}</text>
        </view>
        </view>
        <view class="button-group">
            <button bind:tap="getEnvInfoSync" type="primary" hover-stop-propagation="true">获取运行环境信息</button>
        </view>
    </view>
</view>
Page({
    data: {
        infoList: [{
            engName: 'appKey',
            chineseName: 'App Key',
            value: ''
        }, {
            engName: 'appName',
            chineseName: '小程序名称',
            value: ''
        }, {
            engName: 'lastAppURL',
            chineseName: '调起协议',
            value: ''
        }, {
            engName: 'sdkVersion',
            chineseName: '基础库版本',
            value: ''
        }, {
            engName: 'scheme',
            chineseName: '协议头',
            value: ''
        }, {
            engName: 'env',
            chineseName: '小程序版本',
            value: ''
        }
    ]
    },
    getEnvInfoSync() {
        let res = swan.getEnvInfoSync();
        // 基础库 3.140.1 之前,无法判断接口是否调用失败
        // 基础库 3.140.1 及以后,通过 instanceof 来判断接口是否调用失败
        if (!(res instanceof Error)) {
            this.updateInfoList(res);
            console.log('getEnvInfoSync success', res);
        }
        else {
            console.log('getEnvInfoSync fail', res.message);
        }
    },
    updateInfoList(res) {
        let infoList = this.data.infoList;
        for (let item of infoList) {
            if (res[item.engName] === '') {
                item.value = '暂无';
            }
            else {
                item.value = res[item.engName];
            }
        }
        this.setData('infoList', infoList);
    }
});

Bug & Tip

  • Tip:基础库 3.140.1 之前,无法判断接口是否调用失败;基础库 3.140.1 及以后,接口调用失败时会返回一个标准的Error对象,可通过instanceof来判断接口是否调用失败。