小程序本身需要在微信里注册、审核,这个过程比较繁琐。如今,还需要花 30 元做微信认证,并且要进行备案,整个过程需要花很长时间。如果你想要做一个小程序,但是又不想要花这么多时间,可以考虑基于 weapp 项目来做,这样你可以快速地拥有一个小程序,并且可以在小程序里做一些自己的定制化。

基于 weapp 这个开源项目,你可以获得一个租户入口,实际上和独立的小程序没有太大区别。这就像做网站时,不想申请根域名,可以使用二级域名一样方便。虽然不是独立的根域名,但可以省去购买和备案根域名的麻烦。weapp项目允许你建立子域名式的小程序入口,实现类似独立小程序的功能,而无需自己申请小程序和进行复杂的审核工作。这样你就可以快速搭建小程序原型或临时使用,节省大量时间和资源。如果未来需要,还可以直接升级为独立的小程序。weapp提供了一个可靠的小程序托管平台,让你的创意更快实现。

weapp 经过了微信认证和管局备案,因此,通过租户方式入驻,你可以省去这些繁琐的步骤。你只需要 fork weapp 项目,然后用新增 subpages 的方式,来增加自己的页面。最后,提交 PR 到本项目,一旦合并,就可以在小程序里看到你的页面了。

域名

租户 jefftian.dev 入口 pa-ca.me(通过了域名备案) 入口
主入口 https://taro.jefftian.dev https://taro.pa-ca.me
Brickverse https://taro.jefftian.dev/pages/subpages/brickverse/index https://taro.pa-ca.me/pages/subpages/brickverse/index
哈德韦 https://taro.jefftian.dev/pages/yuque/index https://taro.pa-ca.me/pages/yuque/index

小程序

租户 体验版 正式版
Brickverse odr HN 4lr4oe Z Prr11 Lt LR Ra D Bi8 2 1bd8be1f82 Unknown 8311d30696
哈德韦 odr HN 4lr4oe Z Prr11 Lt LR Ra D Bi8 3 a629c58688 fallback node

举例

我先通过 https://strapi.brickverse.dev/admin/content-manager/collectionType/api::post.post/9 编辑一篇文章,如下图所示:

Untitled 2 copy 21c8dbdc0d

在发布后,我就同时可以同时通过网页或者微信小程序打开它,网页链接是:

https://taro.jefftian.dev/pages/subpages/brickverse/post?id=9 ,而小程序是: Unknown 7f6e61d527

原理

利用了 React 的 Context 概念,从入口不同,设置整个不同的 App Context 信息,从而使得在界面上,看到完全不同的风格。