# 8、config升级uni-config-center模块
为了响应官方uni-config-center
模块的推动,现框架的配置中心升级为uni-config-center
模式。此次升级也是为后续升级做铺垫。
注意:本次更新目录结构改动较大,可能你漏一步后运行会报错,这时别慌,来群包解决:22466457
# 快速升级教程(优势:简单)
- 1、右键项目根目录的
package.json
,点击从插件市场更新
,即可一键升级 (但需要注意文件的替换,切记仔细对比,不要直接点合并) - 2、上传
uni-config-center
公共模块 - 3、在
cloudfunctions/router/
目录执行npm i - 4、上传
router
云函数 - 5、完成。(可以尝试运行项目看是否有报错,有问题可以进群解决:22466457,如没有问题,则可以删除原先的config模块了)
# 手动升级教程
- 1、右键
uni_modules
目录,点击从插件市场更新所有插件
- 2、
cloudfunctions/common/uni-config-center/
的根目录新建目录vk-unicloud
- 3、
cloudfunctions/common/uni-config-center/vk-unicloud/
目录新建文件index.js
(注意文件名是index.js
,不是config.js
)代码如下(请重新配置下配置信息)
const uniIdConfig = require('../uni-id/config.json');
module.exports = {
"uni":uniIdConfig,
"vk":{
"system":{
// 若serviceShutdow:true,则所有云函数无法访问(适用于需要临时关闭后端服务的情况,如迁移数据)
// 注意:本地调试时,需要重新启动本地服务才能生效。
"serviceShutdown":false,
"serviceShutdownDescription":"系统维护中,预计2小时恢复!"
},
"service": {
// 邮箱发送服务
"email": {
// qq邮箱参数配置
"qq": {
"host": "smtp.qq.com",
"port": 465,
"secure": true,
"auth": {
"user": "你的邮箱@qq.com",
"pass": "邮箱授权码"
}
}
},
// 日志服务
"log":{
// 用户登录日志
"login":{
"status":true // 是否开启用户登录日志
}
},
// 短信服务
"sms": {
// 阿里云短信服务
"aliyun": {
"enable": false, // 是否使用阿里云短信代替unicloud短信发送短信验证码
"accessKeyId": "", // 短信密钥key
"accessKeySecret": "", // 短信密钥secret
"signName": "", // 默认签名
"templateCode": {
"verifyCode": "" // 验证码短信模板 - 配合uni-id需要
}
}
},
// 开放平台api
"openapi":{
// 百度开放平台 (主要用于身份证识别,营业执照识别等API)
// API Key申请地址:https://cloud.baidu.com/doc/OCR/s/rk3h7xzck 点击右上角注册
"baidu":{
"appid" : "", // 对应的API Key
"appsecret" : "" // 对应的Secret Key
}
}
},
"db":{
"unicloud":{
"maxLimit" : 500, // 最大limit限制(目前腾讯云最大1000,阿里云最大500)
"cancelAddTime" : false,// 取消vk.baseDao.add 时自动生成_add_time和_add_time_str
}
},
// 其他小程序的密钥 当需要多个小程序绑定同一服务空间,并调用小程序服务端API时需要填写 暂只支持微信小程序
"oauth":{
// 微信小程序
"weixin":{
// 密钥列表
"list":[
{
"appid" : "",
"appsecret" : ""
},
{
"appid" : "",
"appsecret" : ""
}
]
}
}
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
4、重新配置下
cloudfunctions/common/uni-config-center/uni-id/config.json
的uni-id配置(此文件内不可写注释)5、修改
cloudfunctions/router/config.js
文件内的代码
替换前:
const createConfig = require('uni-config-center'); // 获取全局配置信息
const config = createConfig({pluginId: 'vk-unicloud'}).requireFile('index.js');
const uniID = require('uni-id'); // uni-id 公共模块
uniID.init(config["uni"]); // 初始化uni-id
const uniPay = require('uni-pay'); // uni-pay 公共模块
const db = uniCloud.database(); // 获取数据库实例
const pubFun = require('./util/pubFunction'); // 自定义公共函数
const urlrewrite = require('./util/urlrewrite'); // url重写(内部转发)
// 自定义过滤器(中间件)
const middlewareService = require('./middleware/index');
// 数据库操作中心
const daoCenter = require('./dao/index');
// 加密解密工具包
const crypto = require('crypto');
const requireFn = function(path){
return require(path);
}
const initConfig = {
baseDir : __dirname, // 云函数根目录地址
requireFn,
config,
uniID,
uniPay,
db,
pubFun,
urlrewrite,
middlewareService,
daoCenter,
crypto
// customUtil :{
// mynpm1:mynpm1
// }
};
module.exports = initConfig;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
替换后:
const requireFn = function(path) {
return require(path);
}
const initConfig = {
baseDir: __dirname, // 云函数根目录地址
requireFn,
customUtil :{
// 你自己的工具包,写这里后即可听过customUtil.mynpm1调用
// mynpm1:mynpm1
}
};
module.exports = initConfig;
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
- 6、删除
cloudfunctions/router/package.json
文件内的以下代码
"config": "file:../common/config",
1
- 7、删除
cloudfunctions/router/package-lock.json
文件和cloudfunctions/router/node_modules
目录 - 8、上传
uni-config-center
公共模块 - 9、在
cloudfunctions/router/
目录执行npm i - 10、上传
router
云函数 - 11、完成。(可以尝试运行项目看是否有报错,有问题可以进群解决:22466457,如没有问题,则可以删除原先的config模块了)