# 为什么使用uni-config-center
实际开发中很多插件需要配置文件才可以正常运行,如果每个插件都单独进行配置的话就会产生下面这样的目录结构
```bash
cloudfunctions
└─────common 公共模块
├─plugin-a // 插件A对应的目录
│ ├─index.js
│ ├─config.json // plugin-a对应的配置文件
│ └─other-file.cert // plugin-a依赖的其他文件
└─plugin-b // plugin-b对应的目录
├─index.js
└─config.json // plugin-b对应的配置文件
```
假设插件作者要发布一个项目模板,里面使用了很多需要配置的插件,无论是作者发布还是用户使用都是一个大麻烦。
uni-config-center就是用了统一管理这些配置文件的,使用uni-config-center后的目录结构如下
```bash
cloudfunctions
└─────common 公共模块
├─plugin-a // 插件A对应的目录
│ └─index.js
├─plugin-b // plugin-b对应的目录
│ └─index.js
└─uni-config-center
├─index.js // config-center入口文件
├─plugin-a
│ ├─config.json // plugin-a对应的配置文件
│ └─other-file.cert // plugin-a依赖的其他文件
└─plugin-b
└─config.json // plugin-b对应的配置文件
```
使用uni-config-center后的优势
- 配置文件统一管理,分离插件主体和配置信息,更新插件更方便
- 支持对config.json设置schema,插件使用者在HBuilderX内编写config.json文件时会有更好的提示(后续HBuilderX会提供支持)
# 用法
在要使用uni-config-center的公共模块或云函数内引入uni-config-center依赖,请参考:[使用公共模块](https://uniapp.dcloud.net.cn/uniCloud/cf-common)
```js
const createConfig = require('uni-config-center')
const uniIdConfig = createConfig({
pluginId: 'uni-id', // 插件id
defaultConfig: { // 默认配置
tokenExpiresIn: 7200,
tokenExpiresThreshold: 600,
},
customMerge: function(defaultConfig, userConfig) { // 自定义默认配置和用户配置的合并规则,不设置的情况侠会对默认配置和用户配置进行深度合并
// defaudltConfig 默认配置
// userConfig 用户配置
return Object.assign(defaultConfig, userConfig)
}
})
// 以如下配置为例
// {
// "tokenExpiresIn": 7200,
// "passwordErrorLimit": 6,
// "bindTokenToDevice": false,
// "passwordErrorRetryTime": 3600,
// "app-plus": {
// "tokenExpiresIn": 2592000
// },
// "service": {
// "sms": {
// "codeExpiresIn": 300
// }
// }
// }
// 获取配置
uniIdConfig.config() // 获取全部配置,注意:uni-config-center内不存在对应插件目录时会返回空对象
uniIdConfig.config('tokenExpiresIn') // 指定键值获取配置,返回:7200
uniIdConfig.config('service.sms.codeExpiresIn') // 指定键值获取配置,返回:300
uniIdConfig.config('tokenExpiresThreshold', 600) // 指定键值获取配置,如果不存在则取传入的默认值,返回:600
// 获取文件绝对路径
uniIdConfig.resolve('custom-token.js') // 获取uni-config-center/uni-id/custom-token.js文件的路径
// 引用文件(require)
uniIDConfig.requireFile('custom-token.js') // 使用require方式引用uni-config-center/uni-id/custom-token.js文件。文件不存在时返回undefined,文件内有其他错误导致require失败时会抛出错误。
// 判断是否包含某文件
uniIDConfig.hasFile('custom-token.js') // 配置目录是否包含某文件,true: 文件存在,false: 文件不存在
```
没有合适的资源?快使用搜索试试~ 我知道了~
童话故事(uni-app) 微信搜索小程序:童话故事a
共61个文件
json:18个
js:14个
wxss:6个
需积分: 0 0 下载量 114 浏览量
2023-07-27
20:05:44
上传
评论
收藏 182KB ZIP 举报
温馨提示
1.在线收听童话故事,可供于想学习uni-app的小伙伴学习。
资源推荐
资源详情
资源评论
收起资源包目录
min.zip (61个子文件)
min
pages.json 369B
pages
index
index.vue 4KB
App.vue 761B
uni_modules
uni-config-center
uniCloud
cloudfunctions
common
uni-config-center
package.json 177B
index.js 11KB
changelog.md 220B
readme.md 4KB
package.json 2KB
uni-id-common
uniCloud
cloudfunctions
common
uni-id-common
package.json 491B
index.js 11KB
changelog.md 2KB
readme.md 110B
package.json 2KB
manifest.json 3KB
uniCloud-aliyun
cloudfunctions
listen_get
package.json 95B
index.js 452B
listen_node
package.json 96B
index.js 211B
database
JQL查询.jql 994B
main.js 352B
.vite
unpackage
dist
build
mp-weixin
pages
index
index.wxml 255B
index.js 2KB
index.json 104B
index.wxss 102B
app.json 316B
project.config.json 724B
app.js 534B
app.wxss 788B
component
card.wxml 366B
card.js 389B
card.json 48B
card.wxss 975B
common
vendor.js 138KB
static
logo.png 4KB
icon_21.svg 422B
icon_20.svg 401B
dev
mp-weixin
project.private.config.json 377B
pages
index
index.wxml 255B
index.js 6KB
index.json 104B
index.wxss 123B
app.json 316B
project.config.json 724B
app.js 1KB
app.wxss 298B
component
card.wxml 366B
card.js 850B
card.json 48B
card.wxss 2KB
common
vendor.js 309KB
static
logo.png 4KB
icon_21.svg 422B
icon_20.svg 401B
component
card.vue 2KB
uni.scss 2KB
index.html 672B
uni.promisify.adaptor.js 309B
static
logo.png 4KB
icon_21.svg 422B
icon_20.svg 401B
.hbuilderx
launch.json 571B
共 61 条
- 1
资源评论
码圣ζ
- 粉丝: 5
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功