This commit is contained in:
2023-11-29 16:38:19 +08:00
parent 882419768f
commit e7196c4cdc
79 changed files with 7436 additions and 6564 deletions
File diff suppressed because one or more lines are too long
@@ -1,9 +0,0 @@
{
"name": "uni-config-center",
"version": "0.0.3",
"description": "配置中心",
"main": "index.js",
"keywords": [],
"author": "DCloud",
"license": "Apache-2.0"
}
@@ -1,70 +0,0 @@
{
"passwordSecret": "passwordSecret-demo",
"tokenSecret": "tokenSecret-demo",
"tokenExpiresIn": 604800,
"tokenExpiresThreshold": 259200,
"tokenMaxLimit": 10,
"passwordErrorLimit": 6,
"bindTokenToDevice": false,
"passwordErrorRetryTime": 3600,
"autoSetInviteCode": true,
"forceInviteCode": false,
"preferedAppPlatform": "app-plus",
"preferedWebPlatform": "h5",
"removeDcloudAppid": false,
"app-plus": {
"tokenExpiresIn": 604800,
"oauth": {
"weixin": {
"appid": "",
"appsecret": ""
}
}
},
"mp-weixin": {
"oauth": {
"weixin": {
"appid": "",
"appsecret": ""
}
}
},
"h5-weixin": {
"oauth": {
"weixin": {
"appid": "",
"appsecret": ""
}
}
},
"mp-alipay": {
"oauth": {
"alipay": {
"appid": "",
"privateKey": ""
}
}
},
"mp-qq": {
"oauth": {
"qq": {
"appid": "",
"appsecret": ""
}
}
},
"service": {
"sms": {
"name": "重要",
"codeExpiresIn": 180,
"smsKey": "",
"smsSecret": "",
"templateId": ""
},
"univerify": {
"appid": "",
"apiKey": "",
"apiSecret": ""
}
}
}
@@ -1,3 +0,0 @@
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
@@ -1,15 +0,0 @@
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
@@ -1,3 +0,0 @@
-----BEGIN CERTIFICATE-----
证书内容
-----END CERTIFICATE-----
@@ -1,5 +0,0 @@
### 文件名:
#### 1、`alipayCertPublicKey_RSA2.crt`
#### 2、`alipayRootCert.crt`
#### 3、`appCertPublicKey.crt`
![证书位置](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-cf0c5e69-620c-4f3c-84ab-f4619262939f/61c1582a-2ca7-43d3-92eb-b82136cc583f.png)
@@ -1,128 +0,0 @@
const fs = require('fs');
const path = require('path');
module.exports = {
/**
* 统一支付回调地址,格式为 "服务空间SpaceID":"URL化完整地址"
* 这里的本地开发并不是指 http://localhost:8080/ 的地址,而是另外一个服务空间的ULR化地址(如果你本地开发和线上环境共用同一个服务空间则只需要填线上环境的即可)
* 回调的云函数地址,建议填 /http/vk-pay,因为vk-pay云函数已经写好了回调处理的逻辑,否则你需要自己写全部的回调逻辑。
* 其中vk-pay是可以改名的,只需要修改 uniCloud/cloudfunctions/vk-pay/package.json 文件中的 "path": "/http/vk-pay", 把 /http/vk-pay 改成 /http/xxxx 即可(需要重新上传云函数vk-pay)。
*/
"notifyUrl": {
// 本地开发环境,如果你本地开发和线上环境共用同一个服务空间则只需要填线上环境的即可
"mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5": "https://mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.bspapp.com/http/vk-pay",
// 线上正式环境
"mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5": "https://fc-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/http/vk-pay"
},
/**
* 微信
* 公共参数说明
* appId 微信后台的appId
* secret 微信后台的secret
* mchId 微信支付的商户id
* key 微信支付的api密钥(V2版本)
* pfx 微信支付的p12证书(退款需要)
*/
"wxpay": {
// 微信 - 小程序支付(微信支付申请JSAPI支付)
"mp-weixin": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12')
},
// 微信 - APP支付(微信支付申请APP支付)
"app-plus": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12')
},
// 微信 - H5电脑网站二维码支付(微信支付申请Native支付)
"h5": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12')
},
// 微信 - 公众号支付(微信支付申请JSAPI支付)
"h5-weixin": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12')
},
// 微信 - 手机外部浏览器H5支付(微信支付申请H5支付)
"mweb": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": fs.readFileSync(__dirname + '/wxpay/wxpay.p12'),
// 场景信息,必填
"sceneInfo": {
"h5_info": {
"type": "Wap", // 此值固定Wap
"wap_url": "https://www.xxxxxx.com", // 你的H5首页地址,必须和你发起支付的页面的域名一致。
"wap_name": "网站名称", // 你的H5网站名称
}
}
}
},
/**
* 支付宝(证书记得选java版本)
* 公共参数说明
* mchId 支付宝商户id 2088开头的那个(此参数可以去除)
* appId 支付宝开放平台的应用appId
* secret 支付宝开放平台的应用secret
* privateKey 应用私钥
* alipayPublicCertPath 支付宝公钥证书路径地址 与之对应的 alipayPublicCertContent 为支付宝公钥证书内容(值可以是字符串也可以是Buffer)
* alipayRootCertPath 支付宝根证书路径地址 与之对应的 alipayRootCertContent 为支付宝根证书内容(值可以是字符串也可以是Buffer)
* appCertPath 应用证书路径地址 与之对应的 appCertPathContent 为应用证书内容(值可以是字符串也可以是Buffer)
* sandbox 是否沙箱模式 true 沙箱模式 false 正常模式
*/
"alipay": {
// 支付宝 - 小程序支付配置
"mp-alipay": {
"mchId": "",
"appId": "",
"privateKey": "",
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'),
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'),
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'),
"sandbox": false
},
// 支付宝 - APP支付配置
"app-plus": {
"mchId": "",
"appId": "",
"privateKey": "",
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'),
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'),
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'),
"sandbox": false
},
// 支付宝 - H5支付配置(包含:网站二维码、手机H5,需申请支付宝当面付接口权限)
"h5": {
"mchId": "",
"appId": "",
"privateKey": "",
"alipayPublicCertPath": path.join(__dirname, 'alipay/alipayCertPublicKey_RSA2.crt'),
"alipayRootCertPath": path.join(__dirname, 'alipay/alipayRootCert.crt'),
"appCertPath": path.join(__dirname, 'alipay/appCertPublicKey.crt'),
"sandbox": false
},
// 支付宝 - 转账到支付宝等资金转出接口,其中 appCertSn 和 alipayRootCertSn 通过工具获取
"transfer": {
"mchId": "",
"appId": "",
"privateKey": "",
"appCertSn": "", // 应用证书的序列号
"alipayRootCertSn": "", // 支付宝根证书的序列号
"sandbox": false
}
}
}
@@ -1,3 +0,0 @@
### 文件名:
#### 1、`wxpay.p12`
![证书位置](https://vkceyugu.cdn.bspapp.com/VKCEYUGU-cf0c5e69-620c-4f3c-84ab-f4619262939f/61c1582a-2ca7-43d3-92eb-b82136cc583f.png)
@@ -1,141 +0,0 @@
var uniIdConfig;
var uniPayConfig;
try {
uniIdConfig = require('../uni-id/config.json');
} catch(err) {
console.error("配置文件:uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json 编译错误,请检查!↓↓↓请查看下方的错误提示↓↓↓", err.name, err.message, err);
throw new Error("配置文件:uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json 编译错误,请检查!↑↑↑请查看上方的错误提示↑↑↑");
}
try {
uniPayConfig = require('../uni-pay/config.js');
} catch(err) {
console.error("配置文件:uniCloud/cloudfunctions/common/uni-config-center/uni-pay/config.js 编译错误,请检查!↓↓↓请查看下方的错误提示↓↓↓", err.name, err.message, err);
throw new Error("配置文件:uniCloud/cloudfunctions/common/uni-config-center/uni-pay/config.js 编译错误,请检查!↑↑↑请查看上方的错误提示↑↑↑");
}
module.exports = {
"uni": uniIdConfig,
"uni-pay": uniPayConfig,
"vk": {
"system": {
// 若serviceShutdow:true,则所有云函数无法访问(适用于需要临时关闭后端服务的情况,如迁移数据)
// 注意:本地调试时,需要重新启动本地服务才能生效。
"serviceShutdown": false,
"serviceShutdownDescription": "系统维护中,预计2小时恢复!",
// 云函数默认时区(中国为8)
"targetTimezone": 8
},
// 加密的密钥
"crypto": {
"aes": "dad4c0cb88c7d005bc5e844b8e79a9f0dad4c0cb88c7d005bc5e844b8e79a9f0", // 对称加密的密钥,建议长度在64位-128位(此处建议修改成自己的密钥)
},
// 当 context 内的下面值为空时,赋予默认的值(主要用于解决云函数 URL 后的默认 APPID 问题。
"context": {
"APPID": "", // 默认 dcloud_appid
"PLATFORM": "h5", // 可选项 h5、mp-weixin、app-plus、mp-alipay
"LOCALE": "zh-Hans", // 默认语言
"CLIENTIP":"127.0.0.1", // 默认客户端IP(主要用于解决本地调试无ip的问题)
},
"service": {
// 邮箱发送服务
"email": {
"codeExpiresIn": 180, // 邮件验证码有效期(单位秒)
// qq邮箱参数配置
"qq": {
"host": "smtp.qq.com",
"port": 465,
"secure": true,
"auth": {
"user": "你的邮箱@qq.com",
"pass": "邮箱授权码"
}
},
// 163邮箱配置
"163":{
"host": "smtp.163.com",
"port": 465,
"secure": true,
"auth": {
"user": "",
"pass": ""
}
}
},
// 日志服务
"log": {
// 用户登录日志
"login": {
"status": true // 是否开启用户登录日志
}
},
// 短信服务
"sms": {
// 阿里云短信服务
"aliyun": {
"enable": true, // 是否使用阿里云短信代替unicloud短信发送短信验证码
"accessKeyId": "LTAI4FyY6A493kVYn5ezyAw6", // 短信密钥key
"accessKeySecret": "776MyYZfRb8cQHTe5ji0jBVu1rHfa9", // 短信密钥secret
"signName": "亿利通", // 默认签名
"templateCode": {
"verifyCode": "SMS_210078693" // 验证码短信模板 - 配合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": 1000, // 最大limit限制(目前腾讯云最大1000,阿里云最大1000)
"cancelAddTime": false, // 取消 vk.baseDao.add 时自动生成 _add_time 和 _add_time_str
"cancelAddTimeStr": false, // 仅取消 vk.baseDao.add 时自动生成的 _add_time_str,若已设置 cancelAddTime 为true,则 cancelAddTimeStr 也会强制为true
"getTableData": {
"sortArr": [{ "name": "_add_time", "type": "desc" }], // vk.baseDao.getTableData 默认排序规则 vk.db.unicloud.getTableData.sortArr
}
}
},
// 其他小程序的密钥 当需要多个小程序绑定同一服务空间,并调用小程序服务端API时需要填写 暂只支持微信小程序
"oauth": {
// 微信小程序
"weixin": {
// 密钥列表
"list": [
{ "appid": "", "appsecret": "" },
{ "appid": "", "appsecret": "" }
]
},
// 支付宝
"alipay": {
// 密钥列表
"list": [
{ "appid": "", "privateKey": "" },
{ "appid": "", "privateKey": "" }
]
},
// qq
"qq": {
// 密钥列表
"list": [
{ "appid": "", "appsecret": "" },
{ "appid": "", "appsecret": "" }
]
},
// 抖音
"toutiao": {
// 密钥列表
"list": [
{ "appid": "", "appsecret": "" },
{ "appid": "", "appsecret": "" }
]
}
}
}
};
@@ -1,73 +0,0 @@
## 重要说明
#### 框架目前的配置(不含`uni-id`)在 `cloudfunctions/common/uni-config-center/vk-unicloud/index.js` 中配置
#### `uni-id` 的配置是在 `cloudfunctions/common/uni-config-center/uni-id/config.json` 中配置
#### 每次修改完 配置 中的内容后如果不生效,则尝试以下操作。
```
1. 上传 uni-config-center 公共模块
2. 重新上传 router 云函数
如果是连接本地云函数,则需要重启本地服务才会生效。(hbx的原因)
```
### 由于`uni-id`配置无法打注释,故下方为`uni-id`配置的介绍
```js
{
"passwordSecret": "passwordSecret-demo",// 加密密码所用的密钥,修改会导致所用户之前的密码失效。如一定要修改,请查看https://uniapp.dcloud.io/uniCloud/uni-id?id=modifysecret
"tokenSecret": "tokenSecret-demo", // 生成token所用的密钥,修改会导致所有用户之前的token失效。
"tokenExpiresIn": 604800, // 全平台token过期时间,未指定过期时间的平台会使用此值,604800代表7天
"tokenExpiresThreshold": 3600, // 新增于uni-id 1.1.7版本,checkToken时如果token有效期小于此值则自动获取新token,如果不配置此参数则不开启自动获取新token功能
"passwordErrorLimit": 6, // 密码错误最大重试次数
"bindTokenToDevice": false, // 是否将token和设备绑定,设置为true会进行ua校验
"passwordErrorRetryTime": 3600, // 密码错误重试次数超限之后的冻结时间
"autoSetInviteCode": true, // 是否在用户注册时自动设置邀请码
"forceInviteCode": false, // 是否强制用户注册时必填邀请码,默认为false(需要注意的是目前只有短信验证码注册才可以填写邀请码)
"app-plus": {
"tokenExpiresIn": 604800, // app端 token过期时间
"oauth" : {
// App微信登录所用到的appid、appsecret需要在微信开放平台获取,注意:不是公众平台而是开放平台
"weixin" : {
"appid" : "",
"appsecret" : ""
}
}
},
"mp-weixin": {
"oauth" : {
// 微信小程序登录所用的appid、appsecret需要在对应的小程序管理控制台获取
"weixin" : {
"appid" : "",
"appsecret" : ""
}
}
},
"mp-alipay": {
"oauth" : {
// 支付宝小程序登录用到的appid、privateKey请参考支付宝小程序的文档进行设置或者获取,https://opendocs.alipay.com/open/291/105971#LDsXr
"alipay" : {
"appid" : "",
"privateKey" : ""
}
}
},
"service": {
// unicloud短信
"sms": {
"name": "重要", // 应用名称,对应短信模版的name
"codeExpiresIn": 180, // 验证码过期时间,单位为秒,注意一定要是60的整数倍
"smsKey": "你的smsKey", // 短信密钥key,开通短信服务处可以看到 https://dev.dcloud.net.cn/uniSms
"smsSecret": "你的smsSecret", // 短信密钥secret,开通短信服务处可以看到 https://dev.dcloud.net.cn/uniSms
"templateId":"你的短信模板ID" // 短信模板ID
},
// 一键登录
"univerify": {
"appid":"your appid", // uniapp的appid
"apiKey": "your apiKey", // 一键登录的apiKey
"apiSecret": "your apiSecret" // 一键登录的apiSecret
}
}
}
```