FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 配置小程序

# 1. 全局配置

app.json 文件用来对小程序进行全局配置,页面路径、窗口表现、设置网络超时时间、设置 tabbar 等;如果页面内存在的json文件,配置同样的选项,则会覆盖全局的配置(页面内的json 文件只能配置部分选项,具体可参看页面内的配置);

以下是示例配置文件 app.json:

{
  "pages": [
    "pages/index/index",
    "pages/my/my"
  ],
  "window": {
    "navigationBarTitleText": "FinClip 小程序 Demo",
    "navigationBarHideCloseButton": true, // 隐藏胶囊关闭按钮
    "navigationBarHideMoreButton": true, // 隐藏胶囊更多按钮
    "navigationStyle": "default/custom/hide"
  },
  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }, {
      "pagePath": "pages/my/my",
      "text": "个人中心"
    }]
  },
  "networkTimeout": {
    "request": 10000,
  },
  "debug": true
}

完整配置项说明请参考小程序全局配置

# 2. 页面配置

用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径+文件名 信息,pages 数组的第一项代表小程序的首页,增加或减少页面,都需要对 pages 数组进行手动增加或减少,值得注意的是,pages 数组中的项目不能重复。

如开发目录为:

├── app.js
├── app.json
├── app.ftss
├── pages
│   │── index
│   │   ├── index.fxml
│   │   ├── index.js
│   │   ├── index.json
│   │   └── index.ftss
│   └── my
│       ├── my.fxml
│       └── my.js

则需要在 app.json 中写

{
  "pages":[
    "pages/index/index",
    "pages/my/my"
  ]
}

完整配置项说明请参考小程序页面配置

# 3. sitemap 配置

FinClip 现已开放小程序内搜索,开发者可以通过 sitemap.json 配置,当用户的搜索词条触发该索引时,小程序的页面将可能展示在搜索结果中。

# 3.1 sitemap 配置

小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被 FinClip 索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引;

sitemap.json 有以下配置项

属性 类型 必填 描述
rules Object[] 索引规则列表

# 3.2 rules 配置项

rules 配置项指定了索引规则,每项规则为一个JSON对象,属性如下所示:

属性 类型 必填 默认值 取值 取值说明
action string "allow" "allow"、"disallow" 命中该规则的页面是否能被索引
page string "*"、页面的路径 * 表示所有页面,不能作为通配符使用
params string[] [] 当 page 字段指定的页面在被本规则匹配时可能使用的页面参数名称的列表(不含参数值)
matching string "inclusive" 参考 matching 取值说明 当 page 字段指定的页面在被本规则匹配时,此参数说明 params 匹配方式
priority Number 优先级,值越大则规则越早被匹配,否则默认从上到下匹配

matching 取值说明

说明
exact 当小程序页面的参数列表等于 params 时,规则命中
inclusive 当小程序页面的参数列表包含 params 时,规则命中
exclusive 当小程序页面的参数列表与 params 交集为空时,规则命中
partial 当小程序页面的参数列表与 params 交集不为空时,规则命中

# 3.3 配置示例

# 3.3.1 示例1

{
  "rules":[{
    "action": "allow",
    "page": "path/to/page",
    "params": ["a", "b"],
    "matching": "exact"
  }, {
    "action": "disallow",
    "page": "path/to/page"
  }]
}
  • path/to/page?a=1&b=2 => 优先索引
  • path/to/page => 不被索引
  • path/to/page?a=1 => 不被索引
  • path/to/page?a=1&b=2&c=3 => 不被索引
  • 其他页面都会被索引

# 3.3.2 示例2

{
  "rules":[{
    "action": "allow",
    "page": "path/to/page",
    "params": ["a", "b"],
    "matching": "inclusive"
  }, {
    "action": "disallow",
    "page": "path/to/page"
  }]
}
  • path/to/page?a=1&b=2 => 优先索引
  • path/to/page?a=1&b=2&c=3 => 优先索引
  • path/to/page => 不被索引
  • path/to/page?a=1 => 不被索引
  • 其他页面都会被索引

# 3.3.3 示例3

{
  "rules":[{
    "action": "allow",
    "page": "path/to/page",
    "params": ["a", "b"],
    "matching": "exclusive"
  }, {
    "action": "disallow",
    "page": "path/to/page"
  }]
}
  • path/to/page => 优先索引
  • path/to/page?c=3 => 优先索引
  • path/to/page?a=1 => 不被索引
  • path/to/page?a=1&b=2 => 不被索引
  • 其他页面都会被索引

# 3.3.4 示例4

{
  "rules":[{
    "action": "allow",
    "page": "path/to/page",
    "params": ["a", "b"],
    "matching": "partial"
  }, {
    "action": "disallow",
    "page": "path/to/page"
  }]
}
  • path/to/page?a=1 => 优先索引
  • path/to/page?a=1&b=2 => 优先索引
  • path/to/page => 不被索引
  • path/to/page?c=3 => 不被索引
  • 其他页面都会被索引

注意

  • 没有 sitemap.json 则默认所有页面都能被索引
  • {"action": "allow", "page": "*"} 是优先级最低的默认规则,未显式指明 "disallow" 的都默认被索引
© 2021 凡泰极客

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

400-066-00210755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单