新建CabloyJS项目

在进行后续模块的安装之前,您必须先创建一个CabloyJS项目

请务必参照文档步骤配置MySQL数据库连接参数、Redis连接参数

请参见:指南:快速开始

安装微信套件

安装微信套件a-wechat

  1. 1$ npm run cli :store:sync a-wechat

安装微信测试模块(可选)

微信测试模块用于演示如何在模块a-wechat的基础上进行具体的业务开发(同时包含微信小程序的demo程序)。微信测试模块test-party套件提供,参见:Cabloy商店:test-party

  1. 1$ npm run cli :store:sync test-party

配置微信参数

CabloyJS提供了两种方式来配置微信参数:

  1. 后台管理页面:页面路径为系统应用/基础管理/认证管理

  2. 项目配置:直接在项目配置文件中配置微信公众号Web微信登录微信小程序的参数

src/backend/config/config.default.js

  1. 1// modules
  2. 2config.modules = {
  3. 3 'a-wechat': {
  4. 4 account: {
  5. 5 // 微信公众号
  6. 6 wechat: {
  7. 7 appID: 'wxf27f7550a33caaaa',
  8. 8 appSecret: 'bbbb6a3addddbccccc200f973e91aaaa',
  9. 9 message: {
  10. 10 token: 'CabloyJS',
  11. 11 encodingAESKey: 'qHvLnaaaabufbbbbIbkRBcccctxUIBGddddCo5aeeee',
  12. 12 reply: {
  13. 13 // 默认回复
  14. 14 default: 'You are welcome!',
  15. 15 // 当关注公众号时的回复
  16. 16 subscribe: 'You are subscribed!',
  17. 17 },
  18. 18 },
  19. 19 },
  20. 20 // web登录
  21. 21 wechatweb: {
  22. 22 appID: '',
  23. 23 appSecret: '',
  24. 24 },
  25. 25 // 微信小程序
  26. 26 wechatmini: {
  27. 27 scenes: {
  28. 28 default: {
  29. 29 appID: 'wx823df04764b9bbbb',
  30. 30 appSecret: 'c2eaaaada3bbbbe4073cccc381bbdddd',
  31. 31 message: {
  32. 32 token: 'CabloyJS',
  33. 33 encodingAESKey: 'kakPaaaa48mbubbbbRe0w0ccccGbj1v0rWowctVdddd',
  34. 34 },
  35. 35 },
  36. 36 },
  37. 37 },
  38. 38 },
  39. 39 },
  40. 40};
  • account.wechat: 微信公众号
  • account.wechatweb: 支持微信登录Web网站,需要事先通过微信开放平台申请网站应用,获得appID和appSecret
  • account.wechatmini: 支持多个微信小程序。为了实际开发上的便利,我们默认提供一个default小程序。如果需要开发其他微信小程序,直接在scenes添加新的配置即可

运行

启动后端服务

  1. 1$ npm run dev:backend

启动前端服务

  1. 1$ npm run dev:front

nginx配置

由于微信应用一定要绑定域名。为了支持开发调试,可以有不同的策略。如果我们想在服务器上配置开发环境,然后通过nginx把前端服务和后端服务反向代理给前端,请参见:nginx配置

如何访问系统

1. 进入后台管理页面

2. 微信公众号网页

微信中或微信开发者工具中直接访问首页,系统会自动进行微信登录

3. 微信Web登录

浏览器中直接访问首页,登录页面会自动显示微信登录按钮,点击按钮,即可显示二微信,通过手机微信扫描,自动完成登录

微信小程序开发

测试模块test-wechat已经包含了一个微信小程序的demo程序,使用步骤如下:

  1. 微信开发者工具中直接导入demo程序,目录路径:{project}/src/module/test-wechat/front/demo/miniprogram

  2. 修改小程序中的appid,文件路径:{project}/src/module/test-wechat/front/demo/miniprogram/project.config.json

  3. 修改初始化参数:

{project}/src/module/test-wechat/front/demo/miniprogram/app.js

  1. 1// 初始化cabloy
  2. 2const cabloyOptions = {
  3. 3 base: {
  4. 4 providerScene: 'default',
  5. 5 locale: 'en-us',
  6. 6 },
  7. 7 api: {
  8. 8 baseURL: 'http://yourdomain.com',
  9. 9 },
  10. 10};
  11. 11this.cabloy = Cabloy(this, cabloyOptions);

默认对应的是default小程序,如果要开发其他小程序,只需修改如下参数

名称 说明
base.providerScene 小程序场景名,默认为default
base.locale 前端默认使用的语言
api.baseURL 后端服务的API地址