小程序本身需要在微信里注册、审核,这个过程比较繁琐。如今,还需要花 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 |
![]() |
![]() |
哈德韦 |
![]() |
fallback node |
举例
我先通过 https://strapi.brickverse.dev/admin/content-manager/collectionType/api::post.post/9 编辑一篇文章,如下图所示:
在发布后,我就同时可以同时通过网页或者微信小程序打开它,网页链接是:
https://taro.jefftian.dev/pages/subpages/brickverse/post?id=9 ,而小程序是:
原理
利用了 React 的 Context 概念,从入口不同,设置整个不同的 App Context 信息,从而使得在界面上,看到完全不同的风格。