客户端配置管理

一、常规配置


1. 基础配置

alt 基础配置

2. 启动链

alt 启动链配置

main 为仓库名称,跟着的为场景 ID

3. 仓库数组

alt 仓库数组配置

4. 服务端证书

客户端绑定的服务端 SSL 证书,即要放置在客户端的服务器 SSL 证书,以便校验证书。 alt 服务端证书配置

5. 行为采集

用户行为分析服务器采集地址:ip:port/collect alt 额外(行为采集)配置

{
    "app_name": "科蓝移动金融",
    // 启动链
    "chains": {
        "startup": ["main.splash", "main.page_launcher"]
    },
    // central.dat预加载刷新时间间隔(秒)
    "prefetch_interval": 600,
    // 仓库数组,默认是main仓库,一般配置一个仓库,可配置多个
    "repos": [
        {
            "index": "main",
            "name": "主仓库",
            "url": "./main/repo.dat",
            "isEncrypt": true,
            "alg": "aes256cfb",
            "key": "Q1NJSSBrZXkgZXhhbXBsZQ=="
        }
    ],
    // 服务器SSL/TLS证书配置
    "tls_server": {
        // 是否跳过校验服务器证书链和主机名
        "skipverify": "true",
        // 是否使用自定义根证书,如果“false”,下边ca字段不用配置。
        "bindca": "false",
        // 填写自定义证书(base64编码形式,不能有空格)。可填写叶子证书,也可只填写中间ca证书。只填写中间ca证书可防止证书过期后更换证书无法访问服务器的问题
        "ca": []
    },
    "app_info": {
        // 行为采集(埋点)服务器地址
        "behavior_url": "http://118.144.87.52:9991/collect",
        // 行为采集上送信息是否加密开关
        "behavior_encryptmode": false
    },
    // 启动应用资源更新方式:同步(sync)、异步(async)
    "launchModel": "sync"
}

二、全局配置


全局场景参数配置,优先级会低于每个场景的单独场景参数配置。

场景参数请移步weex 文档->MADP2.0 扩展 API 及插件(七、仓库配置文件 repo.json 场景的 params 配置)

alt 全局参数配置

三、通讯服务


1. 跨域路径

alt 通讯服务配置

  1. 跨域路径中类型为trusted表示配置可信服务器地址,所有信任的服务器地址可在此处进行配置,与服务器通信产生的session或者token只有在与可信服务器通讯过程中进行发送。
  2. 跨域路径中类型为allowed表示配置允许服务器地址,这里配置的地址客户端可与其进行通讯,但不会发送相关session与token。

2. 映射路径

alt 通讯服务配置

映射路径是为解决浏览器跨域问题而设计的映射配置,如果当前需要发起与当前服务器地址而不一致的跨域服务器地址时,通讯模块会根据映射配置去查找对应的跨域服务器的地址而发起通讯。当应用中有对应的映射路径发送交易时,通讯模块会使用真实的路径进行通讯。

通常,映射路径配置的是访问其他服务器(例如交易服务器地址)实际地址,我们写的前端页面里就不用直接写死这个服务器地址,而是用映射路径的标识/xxxx/代替。

客户端访问我们后管放置的前端页面资源,不用单独配置映射路径标识,前端页面资源默认的映射地址就是注册表 registry.json 里配置的 central_url 地址路径的前半部分,也就是资源服务器地址。

因为客户端访问的资源服务器上的页面资源 dat 文件所在的 main 文件夹和客户端访问的 central.dat 是在一个路径下。

alt 发布版本后的main仓库资源

通讯服务配置对应到的 json 文件

/**
 * hosts.json
 */
{
    // 跨域信任设置
    "path": [
        {
            "url": "https://demo.madp.tech/debugger/",
            "type": "trusted"
        },
        {
            "url": "https://mob.csii.com.cn/",
            "type": "allowed"
        },
        {
            "url": "http://115.182.90.215:10030",
            "type": "trusted"
        }
    ],
    // 映射地址配置
    "map": [
        {
            // 自定义设置的标识
            "index": "/gift/",
            // 映射的实际服务器地址
            "url": "http://198.1.241.213:10004/portal/",
            // 请求和响应报文是否加密
            "isEncrypt": false,
            // 加密算法
            "alg": "aes256",
            // 加密公钥
            "key": "Q1NJSSBrZXkgZXhhbXBsZQ=="
        },
        {
            "index": "/portal/gift/",
            "url": "http://198.1.241.213:10004/portal/",
            "isEncrypt": false,
            "alg": "aes256",
            "key": ""
        },
        {
            "index": "/pmobile/",
            "url": "http://10.1.1.185:8081/weex/",
            "isEncrypt": false,
            "alg": "aes256",
            "key": ""
        }
    ]
}

四、缓存策略


alt 缓存策略

1. 缓存配置

分为缓存包含与缓存排除,两个字段可配置多项,其内容需为正则表达式。

  • 缓存排除表示符合该正则表达式的文件不会使用缓存中的数据(无论缓存中是否有该资源文件),其数据都会从web服务器获取。
  • 缓存包含表示只会使用缓存中符合该正则表达式的文件,其他文件从web服务器获取。缓存排除优先级大于缓存包含。

2. 预加载配置

预加载用于有资源更新时,在后台静默地下载需要更新的资源文件。与缓存配置类似,分为预加载排除与预加载包含。排除规则优先级大于包含规则。

  • 预加载排除表示需要更新的资源文件中,符合该正则表达式的文件会将其从后台的更新列表中排除,等到访问到该文件时再去更新拉取对应的资源文件。
  • 预加载包含表示需要更新的资源文件中,符合该正则表达式的文件会将其放入后台的更新列表中,其他不符合该条件的资源文件等到访问到该文件时,再去更新拉取对应的资源文件。

预加载轮询时间间隔,两次预加载之间的时间间隔配置,以秒为单位,建议配置600。

3. 打包及预置包配置

同样分为包含于排除两个部分,排除规则优先级大于包含规则。

  • 打包包含表示只会将符合该正则表达式的原始资源文件进行打包,形成最终的dat格式的加密资源文件,其他不符合该条件的不进行打包。

  • 打包排除表示打包时将符合该正则表达式的原始资源文件排除,不进行打包,其他文件打包形成最终的dat格式的加密资源文件。

  • 预置包包含表示只会将符合该正则表达式的原始资源文件进行打包放入离线资源包内(repo_main.dat),其他不符合该条件的则不放入。

  • 预置包排除表示将符合该正则表达式的原始资源文件进行排除,不放入离线资源包内(repo_main.dat),其他文件则正常打包放入离线资源包内。

五、安全配置


打包资源加密设置,一般不用改。默认即可。 alt 缓存策略 数据加密类型和密钥表示读取资源时资源的加解密算法(目前只支持aes256cfb)和读取资源时资源的加解密算法秘钥(目前只支持aes256cfb,base64形式展示)。最后是文件名加密的密钥。

六、注册表设置


alt 注册表配置

主要可以注册表文件的配置中心服务器地址,灰度文件地址,以及中心服务器加密方式和资源存储的加密方式。

注册表文件地址一般是指向web服务器上资源的地址,在没有部署web服务器的情况下也可以先指向新后管的中心服务器地址代替使用。

指向新后管发布中心服务器地址的配置规则如下:http://ip:port/publish/cId/appId/appId-default/central.dat

具体解释如下:

  • ip:port为新后管的IP地址和端口;
  • publish为固定字段表示访问的是新后管发布的资源;
  • cId表示租户ID,目前只有一个固定为csii;
  • appId表示应用ID,在应用管理页面可以找到应用ID,填入你当前所处应用的应用ID;
  • appId-default表示应用ID-版本号,应用ID上面已经解释,default表示访问的资源为默认版本,如要访问非默认版本,可以填写具体的版本号,版本号请填写发布版本管理中已经发布成功的版本的版本号。
  • central.dat表示中心服务器文件名,可以将中心服务器文件成功下载,还可以下载其它文件:如registry.dat注册表文件,repo_main.dat离线资源文件。
  • 指向新后管灰度地址的配置规则如下:http://ip:port/pubish/cId/appId/gray.dat
  • 具体解释如上。如不需要灰度,不配置此项即可。
  • 如果要下载当前的注册表文件,请到发布版本管理功能中发布新版本资源,从中心服务器地址最后的文件地址central.dat为registry.dat下载对应应用的注册表文件。
  • 最后修改中心服务器地址和灰度文件地址为web服务器地址时,只需要将http://ip:port/publish/修改为对应web服务器的根路径。

灰度文件地址的配置规则如下:http://ip:port/publish/cId/appId/gray.dat。解释同上。