重申下
wx-open
的意义:仅作为官方开源版本的一种本地化部署方案。三方平台开放的接口越来越多,每个用户用到的接口和使用场景也不太相同,推荐的二次开发方式『利用wx-open
项目提供的token
接入其他三方接口』。前端单独部署原理是用NGINX
把自己业务系统API
相关路由的转发到其他端口。
前端源码
如果想在一个系统中完成其他前端页面,可以下载下面这个版本
使用方法
config.toml
的IS_API
为true
,则NGINX
配置需要调整成下面方式,此时前端项目发布不在需要重启API
服务;如果为false
,则项目目录结构必须按照原来的结构(参考wx-open
老版本),但client/dist
目录可以替换成自己build
后的文件。- 下载最新wx-open-api.tar.gz
API,修改config.toml
,新增IS_API=true
,否则会启动失败。
- 如果自己重新发布前端项目,自己只
build
前端代码即可,无需重启接口服务(强烈建议前后端分开部署,要么每次修改代码都得重启wx-open
)
Nginx参考
|
|
二次开发思路
-
首先要把上面的 Go的Api(后面统称wx-open)部署好,主要是让微信平台
callback
,稳定提供最新的小程序token。比如配置的域名是wx-open.com
-
本地用自己常用的开发语言(随便python/node/go/php/java) 起一个web服务(假设端口
8668
),在nginx
配置匹配到wx-open.com/api/python
这个uri
开头的服务都代理到8668
-
方案一 想用一套前端代码把所有三方平台的接口都接了
-
上面前端代码下载。
fork
后,自己本地开发即可 -
前端在本地用
npm run dev
就可以调试了 -
连老接口用
wx-open.com
-
连自己新开发的接口用
wx-open.com/api/python/xxxx
-
-
方案二 不想维护官方的前端代码,自己其他的业务逻辑都写到别的前端项目。
- 新起一个前端项目,其他开发思路同方案一。优点:新项目可以随便用
Vue
、React
以及其他UI组件库
- 新起一个前端项目,其他开发思路同方案一。优点:新项目可以随便用
TODO::有问题留言,尽量把问题描述清楚,如果问题解决了也可以把解决方案留言,方便其他小伙伴排查问题,相关文档后续补充