## 新建CabloyJS项目
在进行后续模块的安装之前,您必须先创建一个CabloyJS项目
> 请务必参照文档步骤配置MySQL数据库连接参数
> 请参见:[指南:快速开始](https://cabloy.com/zh-cn/articles/guide-quick-start.html)
## 安装企业微信套件
安装企业微信套件`a-wxwork`
``` bash
$ npm run cli :store:sync a-wxwork
```
## 安装企业微信测试模块(可选)
`企业微信测试模块`用于演示如何在模块`a-wxwork`的基础上进行具体的业务开发(同时包含企业微信小程序的demo程序)。`企业微信测试模块`由`test-party`套件提供,参见:[Cabloy商店:test-party](https://store.cabloy.com/zh-cn/articles/test-party.html)
``` bash
$ npm run cli :store:sync test-party
```
## 配置企业微信参数
CabloyJS提供了两种方式来配置企业微信参数:
1. `后台管理页面`:页面路径为`系统应用/基础管理/认证管理`
2. `项目配置`:直接在项目配置文件中配置`自建应用`和`小程序`的参数
`src/backend/config/config.default.js`
``` javascript
// modules
config.modules = {
'a-wxwork': {
account: {
wxwork: {
scenes: {
selfBuilt: {
corpid: 'ww1fe9daaaa045aaaa',
agentid: '1000008',
secret: 'JLz3NL6PbFaaaabp64_RJpxaaaa7xROrgxraaaa-XXs',
message: {
token: 'zNjSn7aaaaoJNk',
encodingAESKey: 'DHc6kaaaa6BuGdnD6NRHtohqbCaaaaMDfgHtoaaaaUV',
reply: {
default: 'You are welcome!',
},
},
},
contacts: {
secret: 'jwvLlaaaa-1Zfa4KaaaaL193-6Y5ChURkEDaaaa630Y',
message: {
token: 'X1g3Dooaaaa1WwWYlzaaaaB5OiN',
encodingAESKey: 'qJKICJaaaaC1DfM3Td5lr54H8Pla499EgJ9aaaaxGzg',
},
},
},
// minis
wxworkmini: {
scenes: {
default: {
agentId: '1000005',
secret: 'jwaaaacRK-1Zfa4K01aaaa93-6Y5ChURkEDaaaa630Y',
appID: 'wx823df0aaaab9659f',
},
},
},
},
},
},
};
```
| 名称 | 说明 |
|----|----|
| wxwork.scenes | 配置所有微信应用的参数,包括:企业微信内置应用、第三方应用,以及自建应用。如需访问其他应用提供的API接口,直接在`wxwork.scenes`添加新的配置即可 |
| wxwork.scenes.selfBuilt | 自建应用 |
| wxwork.scenes.contacts | 企业微信内置应用 - 通讯录应用 |
| wxworkmini.scenes | 支持多个微信小程序。为了实际开发上的便利,我们默认提供一个`default`小程序。如果需要开发其他微信小程序,直接在`wxworkmini.scenes`添加新的配置即可 |
## 运行
启动后端服务
``` bash
$ npm run dev:backend
```
启动前端服务
``` bash
$ npm run dev:front
```
## nginx配置
由于企业微信应用一定要绑定域名。为了支持开发调试,可以有不同的策略。如果我们想在服务器上配置开发环境,然后通过nginx把前端服务和后端服务反向代理给前端,请参见:[nginx配置](https://cabloy.com/zh-cn/articles/nginx.html)
## 如何访问系统
### 1. 进入后台管理页面
* 网址:
* 用户名:root
* 密码:123456
### 2. 同步通讯录
只有加入到企业微信通讯录中的用户才可以访问`自建应用`和`企业微信小程序`。因此,我们需要先进行通讯录同步操作
> 当第一次同步完部门和成员后,以后所有的变更(增、删、改)都会自动进行同步
依次进入:`首页`->`设置`->`企业微信`->`通讯录管理`
![contacts-sync-zhcn](https://portal.cabloy.com/api/a/file/file/download/290fa8460c3a45ccb9b86546a6627ffe.gif)
### 3. 企业微信Mobile网页
在`企业微信`中直接访问首页,系统会自动进行企业微信登录
* 首页:
### 4. 企业微信Web登录
在`浏览器`中直接访问首页,登录页面会自动显示`企业微信登录`按钮,点击按钮,即可显示二微信,通过手机企业微信扫描,自动完成登录
* 首页:
> 需要进入企业微信的管理后台,进入`自建应用`,在`开发者接口`启用`企业微信授权登录`,`授权回调域`设置为
> `yourdomain.com`
## 企业微信小程序
测试模块`test-wxwork`已经包含了一个企业微信小程序的demo程序,使用步骤如下:
1. 在`微信开发者工具`中直接导入demo程序,目录路径:`{project}/src/suite-vendor/test-party/modules/test-wxwork/front/demo/miniprogram`
2. 修改小程序中的`appid`,文件路径:`{project}/src/suite-vendor/test-party/modules/test-wxwork/front/demo/miniprogram/project.config.json`
3. 修改初始化参数:
`{project}/src/suite-vendor/test-party/modules/test-wxwork/front/demo/miniprogram/app.js`
``` javascript
// 初始化cabloy
const cabloyOptions = {
base: {
providerScene: 'default',
locale: 'en-us',
},
api: {
baseURL: 'http://yourdomain.com',
},
};
this.cabloy = Cabloy(this, cabloyOptions);
```
默认对应的是`default`小程序,如果要开发其他小程序,只需修改如下参数
| 名称 | 说明 |
|----|----|
| base.providerScene | 小程序场景名,默认为`default` |
| base.locale | 前端默认使用的语言 |
| api.baseURL | 后端服务的API地址 |