1.1.21 • Published 6 months ago

dov-miniapp v1.1.21

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

dov - 基于JSON配置的小程序静态化框架

开发无代码、静态轻运维:写好JSON配置,就完成了小程序开发。

设计思路

  • 小程序:无需开发,极简内容发布一次即可。
  • 配置文件:JSON标准格式,存储在CDN,支持版本管理。

特点:

  • 无代码:仅需初始化发布一次
  • 无发布:修改JSON即可实现变更
  • 轻架构:轻松对接云CDN架构,可支撑海量请求

示例

微信扫码体验: Hi多福

源码参考:https://github.com/damonpeng/dov-miniapp.git

快速开始

1. 安装

npm install -S dov-miniapp

在微信开发者工具,选择“工具 -> 构建npm”,即可在项目中使用。

2. 发布小程序载体

完整代码包,见miniprogram文件夹。下载后,通过开发者工具提审发布一次即可,也可以融入普通小程序混合开发。 如何申请小程序,及代码提审发布流程,请查看微信官网文档。

3. 配置内容JSON

示例配置文件,见manifest文件夹,按需修改。

配置文档

按照struct层级:site - channel - page - module - component 分级说明。

"struct": "site" 级功能

开启分享

{
  "struct": "site",
  "settings": {
    "shareInfo": {
      "title": "${default}",
      "path": "${default}",
      "query": "${default}",
      "image": "${default}"
    }
  }

其中:

  • ${default}: 优先取 page 配置的title字段,site 保底
  • ${logo}:取 site 的icon字段

设置启动音频

App({
  async onLaunch(options) {
    this.dov.start({
      audio: '/static/media/loading.mp3'
    });
  }
})

配置操作反馈(todo)

{
  "struct": "site",
  "settings": {
    "feedback": {
      "audio": "AUDIO URL",
      "vibrate": true
    }
  }
}

接入意见反馈

兔小槽接入:https://txc.qq.com/helper/WEAPPGuide

{
  "struct": "site",
  "plugins": {
    "txc": {
      "productId": 具体ID
    }
  }
}

"struct": "channel" 级功能

"struct": "page" 级功能

设置屏幕常亮

{
  "struct": "page",
  "settings": {
    "keepScreenOn": true
  }
}

"struct": "module" 级功能

隐藏模块标题

{
  "struct": "module",
  "settings": {
    "hideTitle": true
  }
}

"struct": "component" 级功能

支持的组件如下表。

组件名称功能
card图文卡
cell通栏条,支持折叠
grid网格
player音乐播放器
swiper图片轮播

全局样式定制

参见:https://github.com/youzan/vant-weapp/blob/dev/packages/common/style/var.less

Todos

  • 页面背景色设置,目前还在pages/*.wxss设置
  • 字体加载走配置,当前还未真机生效
  • JSON 配置文件的可视化工具,让内容变更更便捷
  • 更多结合服务端提供的插件功能

加入贡献

欢迎加入,提交MR。

本地调试:调试中JSON数据文件频繁变更,可以指定本地文件。可将请求远程URL替换为本地,如:http://127.0.0.1:PORT/appservice/manifest/。其中端口号PORT可在network抓包查看headerReferer中获取。

致谢

built with love.

1.1.19

6 months ago

1.1.18

6 months ago

1.1.17

6 months ago

1.1.21

6 months ago

1.1.20

6 months ago

1.1.16

6 months ago

1.1.15

6 months ago

1.1.14

6 months ago

1.1.13

6 months ago

1.1.9

6 months ago

1.1.8

6 months ago

1.1.7

6 months ago

1.1.6

6 months ago

1.1.5

6 months ago

1.1.4

6 months ago

1.1.3

6 months ago

1.1.12

6 months ago

1.1.11

6 months ago

1.1.10

6 months ago

1.1.2

7 months ago