第一次提交
This commit is contained in:
6
uni_modules/uni-config-center/changelog.md
Normal file
6
uni_modules/uni-config-center/changelog.md
Normal file
@@ -0,0 +1,6 @@
|
||||
## 0.0.3(2022-11-11)
|
||||
- 修复 config 方法获取根节点为数组格式配置时错误的转化为了对象的Bug
|
||||
## 0.0.2(2021-04-16)
|
||||
- 修改插件package信息
|
||||
## 0.0.1(2021-03-15)
|
||||
- 初始化项目
|
||||
81
uni_modules/uni-config-center/package.json
Normal file
81
uni_modules/uni-config-center/package.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"id": "uni-config-center",
|
||||
"displayName": "uni-config-center",
|
||||
"version": "0.0.3",
|
||||
"description": "uniCloud 配置中心",
|
||||
"keywords": [
|
||||
"配置",
|
||||
"配置中心"
|
||||
],
|
||||
"repository": "",
|
||||
"engines": {
|
||||
"HBuilderX": "^3.1.0"
|
||||
},
|
||||
"dcloudext": {
|
||||
"sale": {
|
||||
"regular": {
|
||||
"price": "0.00"
|
||||
},
|
||||
"sourcecode": {
|
||||
"price": "0.00"
|
||||
}
|
||||
},
|
||||
"contact": {
|
||||
"qq": ""
|
||||
},
|
||||
"declaration": {
|
||||
"ads": "无",
|
||||
"data": "无",
|
||||
"permissions": "无"
|
||||
},
|
||||
"npmurl": "",
|
||||
"type": "unicloud-template-function"
|
||||
},
|
||||
"directories": {
|
||||
"example": "../../../scripts/dist"
|
||||
},
|
||||
"uni_modules": {
|
||||
"dependencies": [],
|
||||
"encrypt": [],
|
||||
"platforms": {
|
||||
"cloud": {
|
||||
"tcb": "y",
|
||||
"aliyun": "y"
|
||||
},
|
||||
"client": {
|
||||
"App": {
|
||||
"app-vue": "u",
|
||||
"app-nvue": "u"
|
||||
},
|
||||
"H5-mobile": {
|
||||
"Safari": "u",
|
||||
"Android Browser": "u",
|
||||
"微信浏览器(Android)": "u",
|
||||
"QQ浏览器(Android)": "u"
|
||||
},
|
||||
"H5-pc": {
|
||||
"Chrome": "u",
|
||||
"IE": "u",
|
||||
"Edge": "u",
|
||||
"Firefox": "u",
|
||||
"Safari": "u"
|
||||
},
|
||||
"小程序": {
|
||||
"微信": "u",
|
||||
"阿里": "u",
|
||||
"百度": "u",
|
||||
"字节跳动": "u",
|
||||
"QQ": "u"
|
||||
},
|
||||
"快应用": {
|
||||
"华为": "u",
|
||||
"联盟": "u"
|
||||
},
|
||||
"Vue": {
|
||||
"vue2": "y",
|
||||
"vue3": "u"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
93
uni_modules/uni-config-center/readme.md
Normal file
93
uni_modules/uni-config-center/readme.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# 为什么使用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: 文件不存在
|
||||
```
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "uni-config-center",
|
||||
"version": "0.0.3",
|
||||
"description": "配置中心",
|
||||
"main": "index.js",
|
||||
"keywords": [],
|
||||
"author": "DCloud",
|
||||
"license": "Apache-2.0"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"passwordSecret": "passwordSecret-demo",
|
||||
"tokenSecret": "tokenSecret-demo",
|
||||
"tokenExpiresIn": 604800,
|
||||
"tokenExpiresThreshold": 3600,
|
||||
"passwordErrorLimit": 6,
|
||||
"bindTokenToDevice": false,
|
||||
"passwordErrorRetryTime": 3600,
|
||||
"autoSetInviteCode": true,
|
||||
"forceInviteCode": false,
|
||||
"app": {
|
||||
"tokenExpiresIn": 604800,
|
||||
"oauth": {
|
||||
"weixin": {
|
||||
"appid": "",
|
||||
"appsecret": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"mp-weixin": {
|
||||
"oauth": {
|
||||
"weixin": {
|
||||
"appid": "",
|
||||
"appsecret": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"mp-alipay": {
|
||||
"oauth": {
|
||||
"alipay": {
|
||||
"appid": "2021003156628508",
|
||||
"privateKey": "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCB0yG7GKPjNIEhpjS6T4um1W92BcgLKh2p28vB12dapWFB9eg3a1/jh66egKEyPR0NowZGvcaWOAZ/HXyCcDnpnFix/s/Yqb85Uwq9uFrkmB3ms2RHm3TM+WNnENcLy0wVCekcR1kcZZuYVWs/xHar/omoSAAhWdMWApVAwrFFCHZxCuIw0VaJbmlfFQedlVbfXgE94n+lNi5rG0JSnMo6MQimBCaeIfsZlWbKFBH9mrEpkte+Q4vJDH6p6odpG/hkhC+9VascMLwhW4N3+5g7GDRj1QGM7HjWou2cQ36w5LCU8xk55ur50c6HcxoQqZjFUvykfCYSNMThUhLHrnnHAgMBAAECggEACECplkEcueauhrsQAv/nerV6nmADtWH5/MAyFaJhuYtlwVGmb09uCwKnAQBgPtdPr3w7e+e4ZfgtwYrYTVpg9A6yPK5b/APeWgCDYEgFzx40WGPy7fJd3GHGBdk2MlO8BGJa5SdL7NgwqeBULvuIJ6rIiV/6UiRpnK6RWkqGBkNKO9AqQSGbvTI8jJ+NBAqmLeIk7Os9kCOiwZLqwPI9XVd+/exeOwsMTo/K5mKqpc1MltAhXYoeuzHGYtOyPCsgOOu3EBbivSCBN5gqy87JohJAScVmCyPTmDq1E2N6JkSujrBpS70VstnAt6g4fZQoidC9aSqF/i8xID8a0rI8wQKBgQDBsG/MQnLvvuonTLeHd7A737V4qRWTtntpxXJ8VWTl+M9PYoA7J4SKRicxvCHka2Cr1ITL62bEfl1MRFmz9BsKlpBVxhsOT49CPMIedpq3e92iOR/SqF161A1DBSVNYziTIbE6h5I1gZp+ZcFLKXXtsu0LpzNgYJlnS6V0e66UMQKBgQCrlwqNL+H5PPAOhiFswUK9ztjoAks7nBE8B//EJ29M3mUFf0isNMj8ta7DPQsQK1zmej/PQSKRoG/t55ao8Svrd29d2V4UYUNQWMb3YWN+QGdIy1ta25hJlwdkKbQJIYAQ8/8i5Y6BnCLwLuj7KMpWBuPWkl2YDfRjJlAhz85HdwKBgQCweVFjiieuyQQPSpbtlt+7rdhqV6SRMXLArGXjYurLnidE7Tpoq1jXo5OSfRdkR3GNHdTg91prLbdUBfK1Q3Rf8U8Q169PGq4sa69ykh3lj7YgWGvmRADoKMzsg4O5Pu4NIGWaLmvI1I0vHQdAtEX+jUftlin5ZgpfU00tFIO8AQKBgQClK45Hm9js3sDBalHQazQAm5TluBeNOMzKOXT073TOzKD3qq9cvK7fu0+PtjnpBaS2YuT7btqEzagQnMXEt+osDdrQvwU1nu558AsOY9uu0vXY949npUwxQkUmIJKh23J4Xzav88K6dn6XLsCry3cBWj6E9H1NedlOe7nU4kDRPwKBgQC1oK7oeO0qSNGE8bhnZLAyRnmWLGGSPMf+oBocox4nixcknrPjsWBEJcI0keGanaiam94VkftFnl2c6ZW8229bpimdYj9891VN+8NvBSYTR7lOuTXRZUtTLu9ocgJ/aGQJRXHs+hwZeHcY1PnEkCi6IJXb6e2+Kq2mbdz30mqOww=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"mp-qq": {
|
||||
"oauth": {
|
||||
"qq": {
|
||||
"appid": "",
|
||||
"appsecret": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"service": {
|
||||
"sms": {
|
||||
"name": "重要",
|
||||
"codeExpiresIn": 180,
|
||||
"smsKey": "",
|
||||
"smsSecret": "",
|
||||
"templateId": ""
|
||||
},
|
||||
"univerify": {
|
||||
"appid": "",
|
||||
"apiKey": "",
|
||||
"apiSecret": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDsjCCApqgAwIBAgIQICISFJ0q3ljWeIAX7m9HqTANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||
YXNzIDIgUjEwHhcNMjIxMjE0MDgwNDU0WhcNMjcxMjEzMDgwNDU0WjCBkjELMAkGA1UEBhMCQ04x
|
||||
LTArBgNVBAoMJOi0tea4r+mAn+WNmuiDvea6kOenkeaKgOaciemZkOWFrOWPuDEPMA0GA1UECwwG
|
||||
QWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+aciemZkOWFrOWP
|
||||
uC0yMDg4NDMxODA1NTI0NDIyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmjyz+57i
|
||||
qWQE7MbqA2/OIsuEETKA2+qJbc84IeiOdjar9vQegsGxCjYqGTUMJRt/iG1JvwEbvxhVZ1WUyE8K
|
||||
8dX1x79zr7ZjMkbz+sVsFUd2jsn90NRd8mElqOKs7Mf2vjBDveHOOPQTg975855AB8RhFVYtc5RE
|
||||
cjjAqGsOYjuXFPq9VNsQkwC+QM/WJ3APENmcozNYog1uIqPMcN4xXTYVUQSRfqonUI/+jD+Fun7+
|
||||
Qek27JPg6qpG0MjIxAIf5Q1UTmsQh8TMEgyyhcKATTqKbpSxIURju6Nt+7sLa2lJaav+lw/EK4LZ
|
||||
CnQwylhxOu7NAxJ/DAXIFtFslfMwtwIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gwDQYJKoZIhvcN
|
||||
AQELBQADggEBACTkpajSwNhyiHuKKlcupqD6A/J4lynGeGGuuy33IIp7bJ4gcTIf90R0Tn1JlZWv
|
||||
mmDW2+7NZx1SnTDmj6Ten9ud1jJF3713vcwB9pUyuthiznu8ANOKOHsvsgCi7aQRPLTpOpCIIZj1
|
||||
rsuVqIATxP4SMSDxC9X8cGEw2jUCIrXZMi2Q8WRsrGhxKW1qhNS9v7F9mnhn3a6ESxF4GDH2mxbs
|
||||
qKex3D331yQh2i9E6f1016JKhJMuRfu3qTbzG6f58kFp/M8uGt5Crfw+1ePsHRKODJ8PlMxefUap
|
||||
ZvoDgaQgS+FEEjNNUiOJhyzTgjRigwk87Tnkpa5EWZXt9kR7eeY=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE4jCCAsqgAwIBAgIIYsSr5bKAMl8wDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ04xFjAU
|
||||
BgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEw
|
||||
LwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMy
|
||||
MjE0MzQxNVoXDTM3MTEyNjE0MzQxNVowgYIxCzAJBgNVBAYTAkNOMRYwFAYDVQQKDA1BbnQgRmlu
|
||||
YW5jaWFsMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE5MDcGA1UEAwwwQW50IEZp
|
||||
bmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBDbGFzcyAyIFIxMIIBIjANBgkqhkiG9w0B
|
||||
AQEFAAOCAQ8AMIIBCgKCAQEAsLMfYaoRoPRbmDcAfXPCmKf43pWRN5yTXa/KJWO0l+mrgQvs89bA
|
||||
NEvbDUxlkGwycwtwi5DgBuBgVhLliXu+R9CYgr2dXs8D8Hx/gsggDcyGPLmVrDOnL+dyeauheARZ
|
||||
fA3du60fwEwwbGcVIpIxPa/4n3IS/ElxQa6DNgqxh8J9Xwh7qMGl0JK9+bALuxf7B541Gr4p0WEN
|
||||
G8fhgjBV4w4ut9eQLOoa1eddOUSZcy46Z7allwowwgt7b5VFfx/P1iKJ3LzBMgkCK7GZ2kiLrL7R
|
||||
iqV+h482J7hkJD+ardoc6LnrHO/hIZymDxok+VH9fVeUdQa29IZKrIDVj65THQIDAQABo2MwYTAf
|
||||
BgNVHSMEGDAWgBRfdLQEwE8HWurlsdsio4dBspzhATAdBgNVHQ4EFgQUSqHkYINtUSAtDPnS8Xoy
|
||||
oP9p7qEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIB
|
||||
AIQ8TzFy4bVIVb8+WhHKCkKNPcJe2EZuIcqvRoi727lZTJOfYy/JzLtckyZYfEI8J0lasZ29wkTt
|
||||
a1IjSo+a6XdhudU4ONVBrL70U8Kzntplw/6TBNbLFpp7taRALjUgbCOk4EoBMbeCL0GiYYsTS0mw
|
||||
7xdySzmGQku4GTyqutIGPQwKxSj9iSFw1FCZqr4VP4tyXzMUgc52SzagA6i7AyLedd3tbS6lnR5B
|
||||
L+W9Kx9hwT8L7WANAxQzv/jGldeuSLN8bsTxlOYlsdjmIGu/C9OWblPYGpjQQIRyvs4Cc/mNhrh+
|
||||
14EQgwuemIIFDLOgcD+iISoN8CqegelNcJndFw1PDN6LkVoiHz9p7jzsge8RKay/QW6C03KNDpWZ
|
||||
EUCgCUdfHfo8xKeR+LL1cfn24HKJmZt8L/aeRZwZ1jwePXFRVtiXELvgJuM/tJDIFj2KD337iV64
|
||||
fWcKQ/ydDVGqfDZAdcU4hQdsrPWENwPTQPfVPq2NNLMyIH9+WKx9Ed6/WzeZmIy5ZWpX1TtTolo6
|
||||
OJXQFeItMAjHxW/ZSZTok5IS3FuRhExturaInnzjYpx50a6kS34c5+c8hYq7sAtZ/CNLZmBnBCFD
|
||||
aMQqT8xFZJ5uolUaSeXxg7JFY1QsYp5RKvj4SjFwCGKJ2+hPPe9UyyltxOidNtxjaknOCeBHytOr
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,88 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
|
||||
EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
|
||||
MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
|
||||
UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
|
||||
MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
|
||||
V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
|
||||
W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
|
||||
MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
|
||||
53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
|
||||
pDoiVhsLwg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
|
||||
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
|
||||
YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
|
||||
YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
|
||||
MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
|
||||
BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
|
||||
aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
|
||||
rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
|
||||
xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
|
||||
dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
|
||||
vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
|
||||
YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
|
||||
Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
|
||||
DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
|
||||
SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
|
||||
PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
|
||||
9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
|
||||
AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
|
||||
tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
|
||||
nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
|
||||
tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
|
||||
JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
|
||||
IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
|
||||
05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
|
||||
T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
|
||||
kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
|
||||
PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
|
||||
1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
|
||||
jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
|
||||
77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
|
||||
kT9qhqn+lw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
|
||||
EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
|
||||
dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
|
||||
dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
|
||||
WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
|
||||
CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
|
||||
YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
|
||||
IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
|
||||
WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
|
||||
rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
|
||||
4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
|
||||
zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
|
||||
wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
|
||||
Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
|
||||
BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
|
||||
E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
|
||||
MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
|
||||
MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
|
||||
bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
|
||||
b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
|
||||
nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
|
||||
4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
|
||||
wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
|
||||
WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
|
||||
z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
|
||||
KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
|
||||
uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
|
||||
MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
|
||||
emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
|
||||
U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
|
||||
UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
|
||||
DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
|
||||
1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
|
||||
Yf4Zr0fJsGuv
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,24 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEsTCCA5mgAwIBAgIQICISFPsd7d6S/92S3ulaADANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||
YXNzIDEgUjEwHhcNMjIxMjE0MDgwNDUzWhcNMjcxMjEzMDgwNDUzWjB5MQswCQYDVQQGEwJDTjEt
|
||||
MCsGA1UECgwk6LS15riv6YCf5Y2a6IO95rqQ56eR5oqA5pyJ6ZmQ5YWs5Y+4MQ8wDQYDVQQLDAZB
|
||||
bGlwYXkxKjAoBgNVBAMMITIwODg0MzE4MDU1MjQ0MjItMjAyMTAwMzE1NjYyODUwODCCASIwDQYJ
|
||||
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAIHTIbsYo+M0gSGmNLpPi6bVb3YFyAsqHanby8HXZ1ql
|
||||
YUH16DdrX+OHrp6AoTI9HQ2jBka9xpY4Bn8dfIJwOemcWLH+z9ipvzlTCr24WuSYHeazZEebdMz5
|
||||
Y2cQ1wvLTBUJ6RxHWRxlm5hVaz/Edqv+iahIACFZ0xYClUDCsUUIdnEK4jDRVoluaV8VB52VVt9e
|
||||
AT3if6U2LmsbQlKcyjoxCKYEJp4h+xmVZsoUEf2asSmS175Di8kMfqnqh2kb+GSEL71VqxwwvCFb
|
||||
g3f7mDsYNGPVAYzseNai7ZxDfrDksJTzGTnm6vnRzodzGhCpmMVS/KR8JhI0xOFSEseueccCAwEA
|
||||
AaOCASkwggElMB8GA1UdIwQYMBaAFHEH4gRhFuTl8mXrMQ/J4PQ8mtWRMB0GA1UdDgQWBBQl97aw
|
||||
SWQ8zp5+e9RD6afVEnbJYTBABgNVHSAEOTA3MDUGB2CBHAFuAQEwKjAoBggrBgEFBQcCARYcaHR0
|
||||
cDovL2NhLmFsaXBheS5jb20vY3BzLnBkZjAOBgNVHQ8BAf8EBAMCBsAwLwYDVR0fBCgwJjAkoCKg
|
||||
IIYeaHR0cDovL2NhLmFsaXBheS5jb20vY3JsNzIuY3JsMGAGCCsGAQUFBwEBBFQwUjAoBggrBgEF
|
||||
BQcwAoYcaHR0cDovL2NhLmFsaXBheS5jb20vY2E2LmNlcjAmBggrBgEFBQcwAYYaaHR0cDovL2Nh
|
||||
LmFsaXBheS5jb206ODM0MC8wDQYJKoZIhvcNAQELBQADggEBAKV9NyKZ16oEm0VqRSm3hacwRYml
|
||||
8ViSNbQU5RGh/moWWAAzOkeMRP/CGpYMAh9LhipdyGgSlYioeKA+tQomF+zkcotWkqXP4sy0BnqG
|
||||
UpXdrBNFytU7RiAPt3GzPiKer9ed4A4JVnkxtfDNgPx9/NvalFKvjS+ZNTJgijaYxRtIgCf1E6wL
|
||||
uVSSt4LT7+0zCNVSUUC+JVM5889jkO32L4YOP5I3vEpVJX2+2Y4jCp/H08rZ+6IAt7cdUlNPD8mr
|
||||
1qC35DuoKDoay7b3VO56cgEC2ee3dSFemMYI3LAbz75PXgEEvzoyKGsD29lPTu6wTko8bev7P+mH
|
||||
Rui9hJcXkCk=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,23 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path')
|
||||
module.exports = {
|
||||
// 统一 - 支付回调地址,格式为 "服务空间ID":"URL化地址"
|
||||
"notifyUrl": {
|
||||
// 本地开发环境-支付回调地址
|
||||
"mp-3a96d416-40a3-47e3-8433-4e0760422059": "mp-3a96d416-40a3-47e3-8433-4e0760422059.bspapp.com/uni-pay-co",
|
||||
// 线上正式环境-支付回调地址
|
||||
"mp-3a96d416-40a3-47e3-8433-4e0760422059": "https://mp-3a96d416-40a3-47e3-8433-4e0760422059.bspapp.com/uni-pay-co",
|
||||
},
|
||||
// 支付宝相关(证书记得选java版本)
|
||||
"alipay": {
|
||||
"enable": true, // 是否启用支付宝支付
|
||||
// 支付宝 - 小程序支付配置
|
||||
"mp": {
|
||||
"appId": "2021003156628508", // 支付宝小程序appid
|
||||
"privateKey": "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCB0yG7GKPjNIEhpjS6T4um1W92BcgLKh2p28vB12dapWFB9eg3a1/jh66egKEyPR0NowZGvcaWOAZ/HXyCcDnpnFix/s/Yqb85Uwq9uFrkmB3ms2RHm3TM+WNnENcLy0wVCekcR1kcZZuYVWs/xHar/omoSAAhWdMWApVAwrFFCHZxCuIw0VaJbmlfFQedlVbfXgE94n+lNi5rG0JSnMo6MQimBCaeIfsZlWbKFBH9mrEpkte+Q4vJDH6p6odpG/hkhC+9VascMLwhW4N3+5g7GDRj1QGM7HjWou2cQ36w5LCU8xk55ur50c6HcxoQqZjFUvykfCYSNMThUhLHrnnHAgMBAAECggEACECplkEcueauhrsQAv/nerV6nmADtWH5/MAyFaJhuYtlwVGmb09uCwKnAQBgPtdPr3w7e+e4ZfgtwYrYTVpg9A6yPK5b/APeWgCDYEgFzx40WGPy7fJd3GHGBdk2MlO8BGJa5SdL7NgwqeBULvuIJ6rIiV/6UiRpnK6RWkqGBkNKO9AqQSGbvTI8jJ+NBAqmLeIk7Os9kCOiwZLqwPI9XVd+/exeOwsMTo/K5mKqpc1MltAhXYoeuzHGYtOyPCsgOOu3EBbivSCBN5gqy87JohJAScVmCyPTmDq1E2N6JkSujrBpS70VstnAt6g4fZQoidC9aSqF/i8xID8a0rI8wQKBgQDBsG/MQnLvvuonTLeHd7A737V4qRWTtntpxXJ8VWTl+M9PYoA7J4SKRicxvCHka2Cr1ITL62bEfl1MRFmz9BsKlpBVxhsOT49CPMIedpq3e92iOR/SqF161A1DBSVNYziTIbE6h5I1gZp+ZcFLKXXtsu0LpzNgYJlnS6V0e66UMQKBgQCrlwqNL+H5PPAOhiFswUK9ztjoAks7nBE8B//EJ29M3mUFf0isNMj8ta7DPQsQK1zmej/PQSKRoG/t55ao8Svrd29d2V4UYUNQWMb3YWN+QGdIy1ta25hJlwdkKbQJIYAQ8/8i5Y6BnCLwLuj7KMpWBuPWkl2YDfRjJlAhz85HdwKBgQCweVFjiieuyQQPSpbtlt+7rdhqV6SRMXLArGXjYurLnidE7Tpoq1jXo5OSfRdkR3GNHdTg91prLbdUBfK1Q3Rf8U8Q169PGq4sa69ykh3lj7YgWGvmRADoKMzsg4O5Pu4NIGWaLmvI1I0vHQdAtEX+jUftlin5ZgpfU00tFIO8AQKBgQClK45Hm9js3sDBalHQazQAm5TluBeNOMzKOXT073TOzKD3qq9cvK7fu0+PtjnpBaS2YuT7btqEzagQnMXEt+osDdrQvwU1nu558AsOY9uu0vXY949npUwxQkUmIJKh23J4Xzav88K6dn6XLsCry3cBWj6E9H1NedlOe7nU4kDRPwKBgQC1oK7oeO0qSNGE8bhnZLAyRnmWLGGSPMf+oBocox4nixcknrPjsWBEJcI0keGanaiam94VkftFnl2c6ZW8229bpimdYj9891VN+8NvBSYTR7lOuTXRZUtTLu9ocgJ/aGQJRXHs+hwZeHcY1PnEkCi6IJXb6e2+Kq2mbdz30mqOww==", // 支付宝商户私钥
|
||||
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'), // 支付宝商户公钥路径
|
||||
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'), // 支付宝公钥路径
|
||||
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'), // 支付宝根证书路径
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,3 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -0,0 +1,137 @@
|
||||
# uni-pay配置说明
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
.
|
||||
├── alipay──────────────────────────────# 支付宝证书目录
|
||||
│ └── alipayCertPublicKey_RSA2.crt────────────────# 支付宝商户公钥证书
|
||||
│ └── alipayRootCert.crt──────────────────────────# 支付宝根证书
|
||||
│ └── appCertPublicKey.crt────────────────────────# 支付宝公钥证书
|
||||
├── wxpay───────────────────────────────# 微信支付证书目录
|
||||
│ └── apiclient_cert.pem─────────────────────────# 微信商户公钥证书
|
||||
│ └── apiclient_key.pem──────────────────────────# 微信商户私钥证书
|
||||
│ └── apiclient_cert.p12──────────────────────────────────# 微信商户p12格式的证书
|
||||
├── config.js──────────────────────────# 支付配置文件
|
||||
```
|
||||
|
||||
**注意:即使你不需要证书,也不要删除默认的空白证书(否则会报fs.readFileSync(__dirname+'/wxpay/apiclient_cert.p12') 找不到文件的错误。)**
|
||||
|
||||
## config.js 介绍
|
||||
|
||||
```js
|
||||
const fs = require('fs');
|
||||
const path = require('path')
|
||||
module.exports = {
|
||||
// 统一 - 支付回调地址,格式为 "服务空间ID":"URL化地址"
|
||||
"notifyUrl": {
|
||||
// 本地开发环境-支付回调地址
|
||||
"b267e273-19a7-4288-99c7-f6f27f9c5b77": "https://b267e273-19a7-4288-99c7-f6f27f9c5b77.bspapp.com/uni-pay-co",
|
||||
// 线上正式环境-支付回调地址
|
||||
"499e2a37-0c77-418a-82aa-3e5820ecb057": "https://499e2a37-0c77-418a-82aa-3e5820ecb057.bspapp.com/uni-pay-co",
|
||||
},
|
||||
"notifyKey":"5FB2CD73C7B53918728417C50762E6D45FB2CD73C7B53918728417C50762E6D4", // 跨云函数通信时的加密密钥,建议手动改下,不要使用默认的密钥,长度保持在64位以上即可
|
||||
// 微信支付相关
|
||||
"wxpay": {
|
||||
"enable": true, // 是否启用微信支付
|
||||
// 微信 - 小程序支付
|
||||
"mp": {
|
||||
"appId": "", // 小程序的appid
|
||||
"secret": "", // 小程序的secret
|
||||
"mchId": "", // 商户id
|
||||
"key": "", // v2的api key
|
||||
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12'), // v2需要用到的证书
|
||||
"v3Key": "", // v3的api key
|
||||
"appCertPath": path.join(__dirname, 'wxpay/apiclient_cert.pem'), // v3需要用到的证书
|
||||
"appPrivateKeyPath": path.join(__dirname, 'wxpay/apiclient_key.pem'), // v3需要用到的证书
|
||||
"version": 2, // 启用支付的版本 2代表v2版本 3 代表v3版本
|
||||
},
|
||||
// 微信 - APP支付
|
||||
"app": {
|
||||
"appId": "", // app开放平台下的应用的appid
|
||||
"secret": "", // app开放平台下的应用的secret
|
||||
"mchId": "", // 商户id
|
||||
"key": "", // v2的api key
|
||||
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12'), // v2需要用到的证书
|
||||
"v3Key": "", // v3的api key
|
||||
"appCertPath": path.join(__dirname, 'wxpay/apiclient_cert.pem'), // v3需要用到的证书
|
||||
"appPrivateKeyPath": path.join(__dirname, 'wxpay/apiclient_key.pem'), // v3需要用到的证书
|
||||
"version": 2, // 启用支付的版本 2代表v2版本 3 代表v3版本
|
||||
},
|
||||
// 微信 - 扫码支付
|
||||
"native": {
|
||||
"appId": "", // 可以是小程序或公众号或app开放平台下的应用的任意一个appid
|
||||
"secret": "", // secret
|
||||
"mchId": "", // 商户id
|
||||
"key": "", // v2的api key
|
||||
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12'), // v2需要用到的证书
|
||||
"v3Key": "", // v3的api key
|
||||
"appCertPath": path.join(__dirname, 'wxpay/apiclient_cert.pem'), // v3需要用到的证书
|
||||
"appPrivateKeyPath": path.join(__dirname, 'wxpay/apiclient_key.pem'), // v3需要用到的证书
|
||||
"version": 2, // 启用支付的版本 2代表v2版本 3 代表v3版本
|
||||
},
|
||||
// 微信 - 公众号支付
|
||||
"jsapi": {
|
||||
"appId": "", // 公众号的appid
|
||||
"secret": "", // 公众号的secret
|
||||
"mchId": "", // 商户id
|
||||
"key": "", // v2的api key
|
||||
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12'), // v2需要用到的证书
|
||||
"v3Key": "", // v3的api key
|
||||
"appCertPath": path.join(__dirname, 'wxpay/apiclient_cert.pem'), // v3需要用到的证书
|
||||
"appPrivateKeyPath": path.join(__dirname, 'wxpay/apiclient_key.pem'), // v3需要用到的证书
|
||||
"version": 2, // 启用支付的版本 2代表v2版本 3 代表v3版本
|
||||
},
|
||||
// 微信 - 手机外部浏览器H5支付
|
||||
"mweb": {
|
||||
"appId": "", // 可以是小程序或公众号或app开放平台下的应用的任意一个appid
|
||||
"secret": "", // secret
|
||||
"mchId": "", // 商户id
|
||||
"key": "", // v2的api key
|
||||
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12'), // v2需要用到的证书
|
||||
"v3Key": "", // v3的api key
|
||||
"appCertPath": path.join(__dirname, 'wxpay/apiclient_cert.pem'), // v3需要用到的证书
|
||||
"appPrivateKeyPath": path.join(__dirname, 'wxpay/apiclient_key.pem'), // v3需要用到的证书
|
||||
"version": 2, // 启用支付的版本 2代表v2版本 3 代表v3版本
|
||||
// 场景信息,必填
|
||||
"sceneInfo": {
|
||||
"h5_info": {
|
||||
"type": "Wap", // 此值固定Wap
|
||||
"wap_url": "", // 你的H5首页地址,必须和你发起支付的页面的域名一致。
|
||||
"wap_name": "", // 你的H5网站名称
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
// 支付宝相关(证书记得选java版本)
|
||||
"alipay": {
|
||||
"enable": true, // 是否启用支付宝支付
|
||||
// 支付宝 - 小程序支付配置
|
||||
"mp": {
|
||||
"appId": "", // 支付宝小程序appid
|
||||
"privateKey": "", // 支付宝商户私钥
|
||||
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'), // 支付宝商户公钥路径
|
||||
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'), // 支付宝公钥路径
|
||||
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'), // 支付宝根证书路径
|
||||
},
|
||||
// 支付宝 - APP支付配置
|
||||
"app": {
|
||||
"appId": "", // 支付宝开放平台下应用的appid
|
||||
"privateKey": "", // 支付宝商户私钥
|
||||
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'), // 支付宝商户公钥路径
|
||||
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'), // 支付宝公钥路径
|
||||
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'), // 支付宝根证书路径
|
||||
},
|
||||
// 支付宝 - H5支付配置(包含:网站二维码、手机H5,需申请支付宝当面付接口权限)
|
||||
"native": {
|
||||
"appId": "", // 支付宝开放平台下应用的appid
|
||||
"privateKey": "", // 支付宝商户私钥
|
||||
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'), // 支付宝商户公钥路径
|
||||
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'), // 支付宝公钥路径
|
||||
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'), // 支付宝根证书路径
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user