f
This commit is contained in:
@@ -15,25 +15,16 @@ VerifyCode:
|
||||
AccessKeyID: "LTAI5tKGB3TVJbMHSoZN3yr9"
|
||||
AccessKeySecret: "OCQ30GWp4yENMjmfOAaagksE18bp65"
|
||||
EndpointURL: "dysmsapi.aliyuncs.com"
|
||||
SignName: "天远查"
|
||||
SignName: "海南海宇大数据"
|
||||
TemplateCode: "SMS_302641455"
|
||||
ValidTime: 300
|
||||
Encrypt:
|
||||
SecretKey: "c8d3e7f2a6b9c1d5e8f3a7b0c4d9e2f1"
|
||||
WestConfig:
|
||||
Url: "http://proxy.tianyuanapi.com/api/invoke"
|
||||
Key: "121a1e41fc1690dd6b90afbcacd80cf4"
|
||||
SecretId: "449159"
|
||||
SecretSecondId: "296804"
|
||||
YushanConfig:
|
||||
ApiKey: "4c566c4a4b543164535455685655316c"
|
||||
AcctID: "YSSJ843926726"
|
||||
Url: "https://api.yushanshuju.com/credit-gw/service"
|
||||
Alipay:
|
||||
AppID: "2021004165608254"
|
||||
AppID: "2021006123622041"
|
||||
PrivateKey: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCPsXuwFJeHAL8CwI0QdD9GP7xQ8eejIoQKg6J3/peu26su68JCtGSRhlDm/7vbLHJcFR6h7at+INoz2juc7SqlmNO7i9wKc3+Ua0487y1G2fCsneRNxTTqbceBZwqjj9/AAN0u5/4nSl0bcqTeMddofdpTGOvwGvIJh6CZgCglnhMZnH4D6H6yiIyZf7Q6k2d/qBpVGK8kluYEtSnf/vEQCHhxRx+/DgTL7V1LjbA3BYoPTELZ15JAj0uIzuxextAtxOm4+Huli0RJFAN3q/to2L1Zs8yYY1gKJyTaPWKsJWBx8zI+gZcC/e45k6CZnGgh1Fn3+Xqkf7eGxJGGHs1fAgMBAAECggEAM2rkApbrvdBDiV2TXK7sMVv/K8vUAmkIbKa7zUpZxqUuNSUBp1LbpcM1UeNyujPGXDLmejUMp55j1igiKr4nA4iTQ0oBm+/GWDqpjV5cijzURUBegIGvtK9Bs4lGok6KVy839l/nbvHKLVcxrZySIv7dz9xcGNfbghN5IVRdiU/kOokNbtwQNC837piG5q4PHL6bzwIUGbrLED/RDmw/IwVMMmZovcQQ2JAuWJBo9CS9LB0Nc3I4MOPNx/0Rl+5URSSfmJAriL5ihlWckocQCUHwhRpSGQ6Q4xAXFYvb8OsApAQG3WU9SciBfs2wg/QfGNFzwQgGFofPcTQg3DTeuQKBgQDUHBTsgoe3WXnGo6qZKw1zA4OtF67IJJoltHo5JtkBRKCNVU3BJ+q+6i/fn0MBwScKQ1mhPjWe3h+qTRT207RRxGaxb6ljATOiU+BxmpHvu6jP+DVYtP5F3M7MCAGqpDAEoXgoAWttxmijqk+5YuLOLe0j/btCmpzuH7zwxSnqlQKBgQCtbTvaS/g+Jeu4Ml6iv7xi5//JCjeTn2wUJpXnNmN0jn+riRwEO81z4GWuOI8WukZHHAnufI6qWk2sLH0gcdLQ/STsMnl2L3NbeUyO8o5w2JSAlnZDYfaFfasGqFkGJrBLqG6bh/Bk1DP3/Bl6iMEwDbmu7Ptoy8ihokng9dEPIwKBgBHdi6WgGO5IiwlAH85m4eseEKkzpXUWICWs3d6SdxS0QxGkbbgnNI6ACyg6sdoj+rXSlmoOY1XOP7yIYYuoqTd542xui0XbhA3YIr9u1XvrwnxB27xtAj3AK2rkAb/ttF2ve/9inznPzGB8p9plidTz6VVuuacSfsVPxwpAkRdBAoGAR7c9Ifd6b1DFGkWSBuEc6RWhG6Si+OPbELYoFRXTqNZoiynGsSV9v2ZTBemTmkVrXGqG3N0bLezr47/9+lW3ZP7ZrubsfWf/3xrZAt/g8V9OgaI2w4SWKfuepsElFzsWeiLroltjmH58Axd3/cjhgpqaZ3DOQjbK/7QZsvJUAlsCgYEAqTQVhKLizM7BvXu1N6Z2K8trfJbiN+f90XhZIRPkIIcom0PnOfXhRtT76MCxz9n+lwf+alOKOfbQFy0pZtWG/eaFSYroQlXL+EfmqlFPXZR6D0NQLeygWAKH8161IQUh2VF3Qkhle6g6ZkyJA3Ev4RmqH2BYGv8hcZTTHsZ3Ic4="
|
||||
AlipayPublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2CqoCp95w/JV3RT/gzF4/8QmVT1HQNaeW7yUp+mA7x9AbjvlTW/+eRn6oGAL/XhZLjvHD0XjKLVKX0MJVS1aUQHEHEbOJN4Eu8II45OavD4iZISa7Kp9V6AM+i4qTyaeV2wNDnGxHQBaLVUGCfMR+56EK2YpORdE1H9uy72SSQseVb3bmpsV9EW/IJNmcVL/ut3uA1JWAoRmzlQ7ekxg7p8AYXzYPEHQr1tl7W+M4zv9wO9GKZCxIqMA8U3RP5npPfRaCfIRGzXzCqFEEUvWuidOB7frsvN4jiPD07qpL2Bi9LM1X/ee2kC/oM8Uhd7ERZhG8MbZfijZKxgrsDKBcwIDAQAB"
|
||||
AppCertPath: "etc/merchant/appCertPublicKey_2021004165608254.crt"
|
||||
AppCertPath: "etc/merchant/appCertPublicKey_2021006123622041.crt"
|
||||
AlipayCertPath: "etc/merchant/alipayCertPublicKey_RSA2.crt"
|
||||
AlipayRootCertPath: "etc/merchant/alipayRootCert.crt"
|
||||
IsProduction: true
|
||||
@@ -41,14 +32,14 @@ Alipay:
|
||||
ReturnURL: "http://localhost:5678/inquire"
|
||||
|
||||
Wxpay:
|
||||
AppID: "wx442ee1ac1ee75917"
|
||||
MchID: "1682635136"
|
||||
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
|
||||
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
|
||||
AppID: "wxb786749edb73eb04"
|
||||
MchID: "1737653018"
|
||||
MchCertificateSerialNumber: "3FAA5AA8CD9370576F6D4B927FFB5B19164B1A9E"
|
||||
MchApiv3Key: "X7pL9qR2sK5mN8gT3zV6bY1cF4dH9jU2n"
|
||||
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
|
||||
MchPublicKeyID: "PUB_KEY_ID_0116826351362025060900382267001601"
|
||||
MchPublicKeyID: "PUB_KEY_ID_0117376530182026011000212363000800"
|
||||
MchPublicKeyPath: "etc/merchant/pub_key.pem"
|
||||
MchPlatformRAS: "1FFEC3F62E31885FAB4C91ADCB8D7557E9488781"
|
||||
MchPlatformRAS: ""
|
||||
NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/wechat/callback"
|
||||
RefundNotifyUrl: "https://6m4685017o.goho.co/api/v1/paywechat/refund_callback"
|
||||
Applepay:
|
||||
@@ -62,15 +53,13 @@ Applepay:
|
||||
Ali:
|
||||
Code: "d55b58829efb41c8aa8e86769cba4844"
|
||||
SystemConfig:
|
||||
ThreeVerify: false
|
||||
ThreeVerify: true
|
||||
WechatH5:
|
||||
AppID: "wx442ee1ac1ee75917"
|
||||
AppSecret: "c80474909db42f63913b7a307b3bee17"
|
||||
AppID: "wxb786749edb73eb04"
|
||||
AppSecret: "b2aad5ec8788eb1e74a3c385dd5aa282"
|
||||
WechatMini:
|
||||
AppID: "wx781abb66b3368963" # 小程序的AppID
|
||||
AppSecret: "c7d02cdb0fc23c35c93187af9243b00d" # 小程序的AppSecret
|
||||
TycAppID: "wxe74617f3dd56c196"
|
||||
TycAppSecret: "c8207e54aef5689b2a7c1f91ed7ae8a0"
|
||||
AppID: "xxx" # 小程序的AppID
|
||||
AppSecret: "xxxx" # 小程序的AppSecret
|
||||
Query:
|
||||
ShareLinkExpire: 604800 # 7天 = 7 * 24 * 60 * 60 = 604800秒
|
||||
AdminConfig:
|
||||
@@ -86,7 +75,13 @@ Tianyuanapi:
|
||||
BaseURL: "https://api.tianyuanapi.com"
|
||||
Timeout: 60
|
||||
Authorization:
|
||||
FileBaseURL: "https://www.quannengcha.com/api/v1/auth-docs" # 授权书文件访问基础URL
|
||||
FileBaseURL: "https://www.yuyuecha.com/api/v1/auth-docs" # 授权书文件访问基础URL
|
||||
Promotion:
|
||||
PromotionDomain: "http://localhost:8888" # 推广域名(用于生成短链)
|
||||
OfficialDomain: "http://localhost:5678" # 正式站点域名(短链重定向的目标域名)
|
||||
TencentCloud:
|
||||
SecretId: "AKIDIZgZFi172kFZgZFj2A4nT4bAPzQtKtT0"
|
||||
SecretKey: "nRvCINGwPr68xa0CBxVqyta2QrESVZhi"
|
||||
SmsSdkAppId: "1401075256"
|
||||
SignName: "北京正信环宇科技"
|
||||
TemplateId: "2583728"
|
||||
|
||||
@@ -11,7 +11,6 @@ JwtAuth:
|
||||
AccessSecret: "RtK7nQ2pX9bJ5cM8zV6hY3fD1sG4kL7wP0qN5rT8uB2zC"
|
||||
AccessExpire: 2592000
|
||||
RefreshAfter: 1296000
|
||||
|
||||
VerifyCode:
|
||||
AccessKeyID: "LTAI5tKGB3TVJbMHSoZN3yr9"
|
||||
AccessKeySecret: "OCQ30GWp4yENMjmfOAaagksE18bp65"
|
||||
@@ -22,26 +21,26 @@ VerifyCode:
|
||||
Encrypt:
|
||||
SecretKey: "c8d3e7f2a6b9c1d5e8f3a7b0c4d9e2f1"
|
||||
Alipay:
|
||||
AppID: "2021004165608254"
|
||||
AppID: "2021006123622041"
|
||||
PrivateKey: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCPsXuwFJeHAL8CwI0QdD9GP7xQ8eejIoQKg6J3/peu26su68JCtGSRhlDm/7vbLHJcFR6h7at+INoz2juc7SqlmNO7i9wKc3+Ua0487y1G2fCsneRNxTTqbceBZwqjj9/AAN0u5/4nSl0bcqTeMddofdpTGOvwGvIJh6CZgCglnhMZnH4D6H6yiIyZf7Q6k2d/qBpVGK8kluYEtSnf/vEQCHhxRx+/DgTL7V1LjbA3BYoPTELZ15JAj0uIzuxextAtxOm4+Huli0RJFAN3q/to2L1Zs8yYY1gKJyTaPWKsJWBx8zI+gZcC/e45k6CZnGgh1Fn3+Xqkf7eGxJGGHs1fAgMBAAECggEAM2rkApbrvdBDiV2TXK7sMVv/K8vUAmkIbKa7zUpZxqUuNSUBp1LbpcM1UeNyujPGXDLmejUMp55j1igiKr4nA4iTQ0oBm+/GWDqpjV5cijzURUBegIGvtK9Bs4lGok6KVy839l/nbvHKLVcxrZySIv7dz9xcGNfbghN5IVRdiU/kOokNbtwQNC837piG5q4PHL6bzwIUGbrLED/RDmw/IwVMMmZovcQQ2JAuWJBo9CS9LB0Nc3I4MOPNx/0Rl+5URSSfmJAriL5ihlWckocQCUHwhRpSGQ6Q4xAXFYvb8OsApAQG3WU9SciBfs2wg/QfGNFzwQgGFofPcTQg3DTeuQKBgQDUHBTsgoe3WXnGo6qZKw1zA4OtF67IJJoltHo5JtkBRKCNVU3BJ+q+6i/fn0MBwScKQ1mhPjWe3h+qTRT207RRxGaxb6ljATOiU+BxmpHvu6jP+DVYtP5F3M7MCAGqpDAEoXgoAWttxmijqk+5YuLOLe0j/btCmpzuH7zwxSnqlQKBgQCtbTvaS/g+Jeu4Ml6iv7xi5//JCjeTn2wUJpXnNmN0jn+riRwEO81z4GWuOI8WukZHHAnufI6qWk2sLH0gcdLQ/STsMnl2L3NbeUyO8o5w2JSAlnZDYfaFfasGqFkGJrBLqG6bh/Bk1DP3/Bl6iMEwDbmu7Ptoy8ihokng9dEPIwKBgBHdi6WgGO5IiwlAH85m4eseEKkzpXUWICWs3d6SdxS0QxGkbbgnNI6ACyg6sdoj+rXSlmoOY1XOP7yIYYuoqTd542xui0XbhA3YIr9u1XvrwnxB27xtAj3AK2rkAb/ttF2ve/9inznPzGB8p9plidTz6VVuuacSfsVPxwpAkRdBAoGAR7c9Ifd6b1DFGkWSBuEc6RWhG6Si+OPbELYoFRXTqNZoiynGsSV9v2ZTBemTmkVrXGqG3N0bLezr47/9+lW3ZP7ZrubsfWf/3xrZAt/g8V9OgaI2w4SWKfuepsElFzsWeiLroltjmH58Axd3/cjhgpqaZ3DOQjbK/7QZsvJUAlsCgYEAqTQVhKLizM7BvXu1N6Z2K8trfJbiN+f90XhZIRPkIIcom0PnOfXhRtT76MCxz9n+lwf+alOKOfbQFy0pZtWG/eaFSYroQlXL+EfmqlFPXZR6D0NQLeygWAKH8161IQUh2VF3Qkhle6g6ZkyJA3Ev4RmqH2BYGv8hcZTTHsZ3Ic4="
|
||||
AlipayPublicKey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2CqoCp95w/JV3RT/gzF4/8QmVT1HQNaeW7yUp+mA7x9AbjvlTW/+eRn6oGAL/XhZLjvHD0XjKLVKX0MJVS1aUQHEHEbOJN4Eu8II45OavD4iZISa7Kp9V6AM+i4qTyaeV2wNDnGxHQBaLVUGCfMR+56EK2YpORdE1H9uy72SSQseVb3bmpsV9EW/IJNmcVL/ut3uA1JWAoRmzlQ7ekxg7p8AYXzYPEHQr1tl7W+M4zv9wO9GKZCxIqMA8U3RP5npPfRaCfIRGzXzCqFEEUvWuidOB7frsvN4jiPD07qpL2Bi9LM1X/ee2kC/oM8Uhd7ERZhG8MbZfijZKxgrsDKBcwIDAQAB"
|
||||
AppCertPath: "etc/merchant/appCertPublicKey_2021004165608254.crt"
|
||||
AppCertPath: "etc/merchant/appCertPublicKey_2021006123622041.crt"
|
||||
AlipayCertPath: "etc/merchant/alipayCertPublicKey_RSA2.crt"
|
||||
AlipayRootCertPath: "etc/merchant/alipayRootCert.crt"
|
||||
IsProduction: true
|
||||
NotifyUrl: "https://www.quannengcha.com/api/v1/pay/alipay/callback"
|
||||
ReturnURL: "https://www.quannengcha.com/payment/result"
|
||||
NotifyUrl: "https://www.yuyuecha.com/api/v1/pay/alipay/callback"
|
||||
ReturnURL: "https://www.yuyuecha.com/payment/result"
|
||||
Wxpay:
|
||||
AppID: "wx442ee1ac1ee75917"
|
||||
MchID: "1682635136"
|
||||
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
|
||||
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
|
||||
AppID: "wxb786749edb73eb04"
|
||||
MchID: "1737653018"
|
||||
MchCertificateSerialNumber: "3FAA5AA8CD9370576F6D4B927FFB5B19164B1A9E"
|
||||
MchApiv3Key: "X7pL9qR2sK5mN8gT3zV6bY1cF4dH9jU2n"
|
||||
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
|
||||
MchPublicKeyID: "PUB_KEY_ID_0116826351362025060900382267001601"
|
||||
MchPublicKeyID: "PUB_KEY_ID_0117376530182026011000212363000800"
|
||||
MchPublicKeyPath: "etc/merchant/pub_key.pem"
|
||||
MchPlatformRAS: "1FFEC3F62E31885FAB4C91ADCB8D7557E9488781"
|
||||
NotifyUrl: "https://www.quannengcha.com/api/v1/pay/wechat/callback"
|
||||
RefundNotifyUrl: "https://www.quannengcha.com/api/v1/pay/wechat/refund_callback"
|
||||
MchPlatformRAS: ""
|
||||
NotifyUrl: "https://www.yuyuecha.com/api/v1/pay/wechat/callback"
|
||||
RefundNotifyUrl: "https://www.yuyuecha.com/api/v1/pay/wechat/refund_callback"
|
||||
Applepay:
|
||||
ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt"
|
||||
SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt"
|
||||
@@ -53,11 +52,11 @@ Applepay:
|
||||
SystemConfig:
|
||||
ThreeVerify: true
|
||||
WechatH5:
|
||||
AppID: "wx442ee1ac1ee75917"
|
||||
AppSecret: "c80474909db42f63913b7a307b3bee17"
|
||||
AppID: "wxb786749edb73eb04"
|
||||
AppSecret: "b2aad5ec8788eb1e74a3c385dd5aa282"
|
||||
WechatMini:
|
||||
AppID: "wx5bacc94add2da981" # 小程序的AppID
|
||||
AppSecret: "48a2c1e8ff1b7d4c0ff82fbefa64d2d0" # 小程序的AppSecret
|
||||
AppID: "xxx" # 小程序的AppID
|
||||
AppSecret: "xxxx" # 小程序的AppSecret
|
||||
Query:
|
||||
ShareLinkExpire: 604800 # 7天 = 7 * 24 * 60 * 60 = 604800秒
|
||||
AdminConfig:
|
||||
@@ -73,7 +72,13 @@ Tianyuanapi:
|
||||
BaseURL: "https://api.tianyuanapi.com"
|
||||
Timeout: 60
|
||||
Authorization:
|
||||
FileBaseURL: "https://www.quannengcha.com/api/v1/auth-docs" # 授权书文件访问基础URL
|
||||
FileBaseURL: "https://www.yuyuecha.com/api/v1/auth-docs" # 授权书文件访问基础URL
|
||||
Promotion:
|
||||
PromotionDomain: "https://p.quannengcha.com" # 推广域名(用于生成短链)
|
||||
OfficialDomain: "https://www.quannengcha.com" # 正式站点域名(短链重定向的目标域名)
|
||||
PromotionDomain: "https://p.yuyuecha.com" # 推广域名(用于生成短链)
|
||||
OfficialDomain: "https://www.yuyuecha.com" # 正式站点域名(短链重定向的目标域名)
|
||||
TencentCloud:
|
||||
SecretId: "AKIDIZgZFi172kFZgZFj2A4nT4bAPzQtKtT0"
|
||||
SecretKey: "nRvCINGwPr68xa0CBxVqyta2QrESVZhi"
|
||||
SmsSdkAppId: "1401075256"
|
||||
SignName: "北京正信环宇科技"
|
||||
TemplateId: "2583728"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgkidSHV1OeJN84sDD
|
||||
xWLGIVjTyhn6sAQDyHfqKW6lxnGgCgYIKoZIzj0DAQehRANCAAQSAlAcuuuRNFqk
|
||||
aMPVpXxsiR/pwhyM62tFhdFsbULq1C7MItQxKVMKCiwz3r5rZZy7HcbkqL47LPZ1
|
||||
q6V8Wyop
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -1,21 +1,21 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE4jCCAsqgAwIBAgIIYsSr5bKAMl8wDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ04xFjAU
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDCP6fWm1vXXybH
|
||||
m3Ne6PjacGrN2+iMrzWZlzdHCZ31udDPqSUYaZ+78b441KZK/CJFQWeSJ/1h//A+
|
||||
BGsQDKvE/fj2QzN1KkOuQ8WJXNGpixE5uu5bv/QTN/ukurGdA1aO2aFCANumlOmB
|
||||
HkB/B2so57ii8iQQjwK2xM4r3oOU/IfcFGKL+9/QjLGFFp9PJXCDBCgrxxlZGaj1
|
||||
3wowlfVOzlaX94gemQsCYVkuAFIYMAnFHs9cKNZQIU80somW/yy2Gy38N6n7NnbD
|
||||
nvFSaq4GoDROqRgKbRZ5e706d/p7A3aS/2oRqq1jomUIugK8g++LmoHFTgfhfQkI
|
||||
v1aG/nPzAgMBAAECggEAD2RN31J2J42xm/V0YdviBCUOQXugZK1peN8jkSxw6Myt
|
||||
gBbuCo4sCw9vvD8VYjGyYXx6QXmLuV03YyKkfSQT5EsflBvlEu6jaEaUe3rwXhfX
|
||||
6JQoWPrP00oHVZk5g7CFBlK2VW2N+hgonIOSJr6mvhoGZlr7gphiZasYjx9Vm9N3
|
||||
Pbnfru5ttzplYNniwH3DF6ph8VmdbD1nnbWSKLXvHCsXQT2wBcnsIagIH3vyq6K1
|
||||
pc5abWsQJrixOPebpI8jD5w0HxHAqVLx58H/OC2zW/roAw1WS2AkueJ1j7dQ7Z0C
|
||||
mc9Xexz5gcAP0nMAQv+LP7iYqsa/niFhfcTFWfdxkQKBgQD5JkKNmInU2/IVYCwO
|
||||
c483MCSv1+MnbRXlb7vut8T0IupHTU6hCge6C3q3HsjbKSBn8bRChtPUzvw9JFxK
|
||||
QWKiQqQDPLDJ08AIKhfQD2JiLtoikkZN0bF6OTL+Soney1yGx51mlfHM194+PcCJ
|
||||
jF7iWdMVbcBwHbgydNxxIS5cKQKBgQDHlvQ4lw6gvLILpGK494/vNYSJP/Jmd66V
|
||||
3oSGYi84YRKTSwH4NlbBVVieb3Dv+pPugbsXEuFHBif7WsivbYgNTE9++8Yvt0gh
|
||||
duB1G4yh7m/ylQeSuipgQU9tozrU/15cWwmcCRV50wWXBGoVEM0kf7mzEKSxmjYk
|
||||
Qzko/zxSuwKBgQCY6Bc+SViFz3qSDdTcBaXma+CIHsmlH7ipd9px1kzEvEzl95cD
|
||||
FGHLl1H34qfIgUQHJvrHPXHyEBoT+CW/2MMM7DM2XV/ubctT92ln4pkxwqlTQExv
|
||||
Y/s1FLesAtj8Z/hgK0/5bprYab9WmZV5lTGCXzhB1XqeFE9AgCHuODv4iQKBgQC8
|
||||
g2uwd5ytXQydymokYk9klJvWNrvw5GHV1BJAC0Smb6lnzZTSqCBRAxdsrb1yLK7E
|
||||
u2vGY2K7/qiM1DZw23eBd+4t9gg+0VIjqXBfq+GsoNTDvtckUwnrWER5PY831ut9
|
||||
N89fvYS3SAUjmlvIAdKBAtKWusWTqiAxJ/05J7oGOQKBgB5PSr5i0LlupIbKui9t
|
||||
XtXnRqGPxxrZZUpTkyrGOAnlCz/zq2QiwFpBWo/NMHOp0KmxzJpQ8yEY2LWlRZ61
|
||||
Oc9m0J/HtPw3Ohi1treBosEVG/0NOI9Tq1Obny23N51MVibdW6zEIyGUp/DbFS8h
|
||||
5DljdOYX9IYIHHn3Ig4GeTGe
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDgdVgy2xKA4SFz
|
||||
vdQnZ1mLv7hIbnsG7LD2lw6aL8CC0dIokVW+Saq7Oqli6Y9VDXY8/IOMQRgwI9fD
|
||||
KBK9h5SYeIatmCnK6y7qkVQtZf6fOvoqIfvkr3IVJvC5INwHu+rw6h5yffnfDKjH
|
||||
w6Yph4jalBSwBuLgLkwYzD4bq66/18dE2KlkLXjzjdlhL3OFY1uAlvseiRTM4iom
|
||||
TOXgiFKQ5r/6zpwI8KRlfEfZjum3+NnPJ+1UWjqy+sbJ4ECxxtB3dwScA84VY51H
|
||||
cQnv+JNpgmNMora7IUsY24UuerU7Ws9TDrMlFemsArYDlwcpwzAu3q38cIomkCNe
|
||||
Yq6ExlrHAgMBAAECggEANLZ6Kx9Vvhyg/YyEKWjVF8PDpIcFr3+go5igHke+nzpl
|
||||
b4+KInEsfmHta8RMG/5YWUQ4JJUY+B1Cy5s6o3YWyKPthREqJ3SKBR5yNWMxo/V2
|
||||
0LRActldImiNufxkkBBqwX9J/TtmliJj9N4WxMQGuMZ0AU7ssxdMWbqFj3wHQxgZ
|
||||
+cfxzDAu4AO48o6+A5R39Q8fQRqCCZ4d5pZ2xd5h5q+7gsDTuZULkT4Bzh87Zq3f
|
||||
h3FSE4fJ79tG0aDKhG5NscLrsI3zIfZDWPKJeICB2egWS4Jd8nH/6ioad9hdiSv8
|
||||
TdeMKMcLl1jEfVCcMytrZpYA3RpDGCR4yU/Zv/1hQQKBgQD9VEc6CzEBoeYw9ADW
|
||||
Ymrxz62iUd1jzHxVJTdGqtDPwH1oDOMli7u98+2TZLDrP32RrwZVXSswXaA3oqvR
|
||||
GNB20Db5yN3FDLXCH3+DVqEucsb8hkAYONb/8VX9tpqfUBwz9+IDx2J5igAMuClz
|
||||
6d7L86pL4kC/NBO62kk0eE1E5wKBgQDi0yU+YKeFEj1W/Hb5k/e0kIJIcgY01VlI
|
||||
NcFiyvrLsv5fbD4WjyhW9jJj8z6sa8k0T2vvV3mZSL4Hz6vb8RqkPCw1R/xGWE/S
|
||||
89E3pBp2I48rs23bBfVs7vgBFx+VnnDdOeCntZp7dBa5Ok+YAqOHk5YP2ZCk3gjT
|
||||
eG3a/TOfIQKBgQDyqB/yAXZX0fTlP1TuBifaqMvxh+lBB0axaIyiLE0IM6HsYSvT
|
||||
cx3KvjT70p+FN7PYMIcoja4pDgXCRRe/mr1Uke2XJkkHzzzrTbCe5gROsbLZgN80
|
||||
VH3dfBaaiKdjoyDgxrjAVeSF9yJFDMLoPUUkp6qgNYE/pWqguScWE4YwUQKBgQCL
|
||||
WdsMuobQi0ciFNLnPA+3X/yak2ratKQ4Z8Yacsens5zxdOekJmlLG9ATddJwTXv8
|
||||
ZjrSfTRYhscwt1ZHNpX+hnVGeqYzdXf9CwvjGi+jmu8PkxmPsNZ6CUpWKSWfXwrJ
|
||||
7w/lGP4CkGyReZCCvERJO9O6gxiJIVvcx6T+IAbB4QKBgQC09xmYGmJc2xejW5g0
|
||||
iEqhy7oyqRMMRa51EOAfG9qXRdYkQjZ/kEVn5piuDCNVTJci+9VrLRbQFP+Yiqr3
|
||||
zpW10YwNXnQg9bXx21L8RQ/VjPSx8191fVEoGjhC+zTykFnGza4qPQJntlguwaGN
|
||||
EwMXx1W5HcE77Q41EJtuOCljNQ==
|
||||
-----END PRIVATE KEY-----
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEpzCCA4+gAwIBAgIQICUEEJni7ld+YaII5tXCjTANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||
YXNzIDEgUjEwHhcNMjUwNDEwMDQwNTQyWhcNMzAwNDA5MDQwNTQyWjBuMQswCQYDVQQGEwJDTjEz
|
||||
MDEGA1UECgwq5rW35Y2X55yB5a2m5a6H5oCd572R57uc56eR5oqA5pyJ6ZmQ5YWs5Y+4MQ8wDQYD
|
||||
VQQLDAZBbGlwYXkxGTAXBgNVBAMMEDIwODg4NDE4NzM0NTQwNTMwggEiMA0GCSqGSIb3DQEBAQUA
|
||||
A4IBDwAwggEKAoIBAQCPsXuwFJeHAL8CwI0QdD9GP7xQ8eejIoQKg6J3/peu26su68JCtGSRhlDm
|
||||
/7vbLHJcFR6h7at+INoz2juc7SqlmNO7i9wKc3+Ua0487y1G2fCsneRNxTTqbceBZwqjj9/AAN0u
|
||||
5/4nSl0bcqTeMddofdpTGOvwGvIJh6CZgCglnhMZnH4D6H6yiIyZf7Q6k2d/qBpVGK8kluYEtSnf
|
||||
/vEQCHhxRx+/DgTL7V1LjbA3BYoPTELZ15JAj0uIzuxextAtxOm4+Huli0RJFAN3q/to2L1Zs8yY
|
||||
Y1gKJyTaPWKsJWBx8zI+gZcC/e45k6CZnGgh1Fn3+Xqkf7eGxJGGHs1fAgMBAAGjggEqMIIBJjAf
|
||||
BgNVHSMEGDAWgBRxB+IEYRbk5fJl6zEPyeD0PJrVkTAdBgNVHQ4EFgQUb4Kgf8qXsgDnWyG5deLm
|
||||
Rw1DhPowQAYDVR0gBDkwNzA1BgdggRwBbgEBMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9jYS5hbGlw
|
||||
YXkuY29tL2Nwcy5wZGYwDgYDVR0PAQH/BAQDAgbAMDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6Ly9j
|
||||
YS5hbGlwYXkuY29tL2NybDEwMC5jcmwwYAYIKwYBBQUHAQEEVDBSMCgGCCsGAQUFBzAChhxodHRw
|
||||
Oi8vY2EuYWxpcGF5LmNvbS9jYTYuY2VyMCYGCCsGAQUFBzABhhpodHRwOi8vY2EuYWxpcGF5LmNv
|
||||
bTo4MzQwLzANBgkqhkiG9w0BAQsFAAOCAQEAYFgnBMeYL/+DjWpimqTtlGnlDsjPUDOjpZopzSa+
|
||||
HdL4nxWZBW48K+EzN8x45Ua7b1VKNmHWXe1O3X6W2Cz2H53NslVglzipPnxg9REx3Acr+8spkxWe
|
||||
oxX9+1xwbSzBnpwG4UayambP0I6L2V9YQxSiLlLr6t2VuDxwCHVLu83rvnrOdlKjyjZop6oufhC9
|
||||
29BqfVmR6xuZv/VsCRx+BuRqNtHDoOZuP26kRVaHdnZMPPyTVw++cBt5Xh0Pq6vrYr1Nr9Kkp7wy
|
||||
8RW951YTarYY5rDQ8RdaEFxPc+QWKQujVFQCvvt3ktTzrVa1mCgW/vX5qI0hXdPGGbq0DH3dxg==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,23 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEoTCCA4mgAwIBAgIQICYBEOs33ob1Bcbq8xD7hDANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
|
||||
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
|
||||
YXNzIDEgUjEwHhcNMjYwMTEwMDUwMDUwWhcNMzEwMTA5MDUwMDUwWjBoMQswCQYDVQQGEwJDTjEt
|
||||
MCsGA1UECgwk5YyX5Lqs5q2j5L+h546v5a6H56eR5oqA5pyJ6ZmQ5YWs5Y+4MQ8wDQYDVQQLDAZB
|
||||
bGlwYXkxGTAXBgNVBAMMEDIwODgyODAwODc0ODMyMzkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
||||
ggEKAoIBAQCIKtfg9W/XpthZ5Fx0vPXpi8Sh79wWq6zeYlJnP4B6nC75u0BB9l24ubTMUsfbk0S4
|
||||
iFrjnmGrpzNWCK2ZsM7rjfIdzCoOrek/Q2DTjiWFwMngj5kiprFjEnFbRX6MKE6IQTwlbeh9gaDO
|
||||
2jna/TdGxYFAso8h0MJJNONaA3L8j4PeCciMyR1p4ThhxZ2Q2Z1pMfA/83Sy/SD8w60XuQ/UZKCu
|
||||
tIePzv9fAUIhRQ8jljKMtNXh5AoUWdUInGZQf5l8X9Nd6wiK86Rb/HMPKbffozcuioYGYZLAs1YB
|
||||
D00GnWtLvmttKhjNFqIMa7n+R5lJAOPYfJB44Wv61VsdKOFPAgMBAAGjggEqMIIBJjAfBgNVHSME
|
||||
GDAWgBRxB+IEYRbk5fJl6zEPyeD0PJrVkTAdBgNVHQ4EFgQU34KKoqWP49sB7ugiDcjD8eR1IWQw
|
||||
QAYDVR0gBDkwNzA1BgdggRwBbgEBMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9jYS5hbGlwYXkuY29t
|
||||
L2Nwcy5wZGYwDgYDVR0PAQH/BAQDAgbAMDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6Ly9jYS5hbGlw
|
||||
YXkuY29tL2NybDEwOS5jcmwwYAYIKwYBBQUHAQEEVDBSMCgGCCsGAQUFBzAChhxodHRwOi8vY2Eu
|
||||
YWxpcGF5LmNvbS9jYTYuY2VyMCYGCCsGAQUFBzABhhpodHRwOi8vY2EuYWxpcGF5LmNvbTo4MzQw
|
||||
LzANBgkqhkiG9w0BAQsFAAOCAQEAWLx4a7kL7DNuYpdgQCwFi3PaLxqQUt7VbFywlmY6TK4LmxXP
|
||||
tF2uALFCJxW7MJLeixSMkJlOXcyljLJ6td5A32F8YN4BnDvBu1AxYY4vbXjcLTqO0ttI92jjQX+O
|
||||
h3NdTE39cApOe00IKpuF5DUwz0xyPDTPjHqy4AzRIc+3hNg+XwZ1RBaMaYLiHDJb+ckb8uueDRT+
|
||||
NCXLGTdm6zmF8qZNwJqze1bonzlrbSvq6dv06GSSeD2q02rk+HRZZ8qNwvVLUgfl4uIS4gRDAeI5
|
||||
p+vmIH7OFhMJXppvunZRQoxP4g/kDw7aj/ih1IkXK/SQZwckauqzzDTuQ1Ae+s89XA==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,9 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwSy7dS/ICZV38tI0HxM
|
||||
SAIE7+Ug92qryuNlkNyaNDRjfsykHsrPCSsUUQEZblBNmZOLfLQxmAaWC+cQqWCv
|
||||
zfy4rXGAHE1widWFkHGzQzaw6cB0VdDXatK9yAt1PgXdp5jzBRzOn9Z3u4t0s771
|
||||
2zjuxCnLxMq84DovNgh2y0LBiuorWbtuTFTd8SXUGk2Jyuojq/02U3KTuyh+7SmW
|
||||
ffJXKrzhrKwSpGh59e/fFxqX2xGlVoJ1kdohMZPo/7k+e5jP7qjrf93l7JVeUKYa
|
||||
V27hNVowJ4oho21WVCJ1AYo41IbPJWI+6WxlaVeoR4zKix0Mb2timaWayyLoN53y
|
||||
aQIDAQAB
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6z5dx4x8sAU0ANeQ1gSm
|
||||
cu4o2ivdlxE9ENllKLxODS2slfVttTx6IK54oLtYNVcXVBQ5nNatO52c4J7JDpi7
|
||||
pUPlBNMvYffe0e7UlQDMXjiDYJ7wzwZTQOwT3ay8IGFH6RPkdsgBuBqGvLoljB/5
|
||||
7cIALJYzCVGBUuvrvVcJSGHfAgdsDO4NCdxgbd86xNuh2pjAntz2CL/IOoRaK1qL
|
||||
g+rXm3LJlX2h3J1WJgptZYE9Q/Nqq7f3lFaMT2CWpH+NWmJHsSJeJ+vhvA128RWr
|
||||
sVZlqa0EOgRvg1zva34P2WbUL/Mz/vQKucbjpzVNttv0MsM1r/dReAvp62pyQwKK
|
||||
mwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
@@ -24,6 +24,7 @@ type Config struct {
|
||||
AdminConfig AdminConfig
|
||||
TaxConfig TaxConfig
|
||||
Promotion PromotionConfig // 推广链接配置
|
||||
TencentCloud TencentCloudConfig
|
||||
}
|
||||
|
||||
// JwtAuth 用于 JWT 鉴权配置
|
||||
@@ -116,3 +117,10 @@ type PromotionConfig struct {
|
||||
PromotionDomain string // 推广域名(用于生成短链)
|
||||
OfficialDomain string // 正式站点域名(短链重定向的目标域名)
|
||||
}
|
||||
type TencentCloudConfig struct {
|
||||
SecretId string
|
||||
SecretKey string
|
||||
SmsSdkAppId string // 短信应用ID
|
||||
SignName string // 短信签名
|
||||
TemplateId string // 短信模板ID
|
||||
}
|
||||
|
||||
@@ -26,6 +26,6 @@ func NewGetAppVersionLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Get
|
||||
func (l *GetAppVersionLogic) GetAppVersion() (resp *types.GetAppVersionResp, err error) {
|
||||
return &types.GetAppVersionResp{
|
||||
Version: "1.0.0",
|
||||
WgtUrl: "https://www.quannengcha.com/app_version/bdqr_1.0.0.wgt",
|
||||
WgtUrl: "https://www.yuyuecha.com/app_version/bdqr_1.0.0.wgt",
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"context"
|
||||
"bdqr-server/common/xerr"
|
||||
"bdqr-server/pkg/lzkit/crypto"
|
||||
"context"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"bdqr-server/app/main/api/internal/config"
|
||||
"bdqr-server/app/main/model"
|
||||
"bytes"
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"bdqr-server/app/main/api/internal/config"
|
||||
"bdqr-server/app/main/model"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
@@ -163,7 +163,7 @@ func (s *AuthorizationService) generatePDFContent(userInfo map[string]interface{
|
||||
}
|
||||
|
||||
// 构建授权书内容(去掉标题部分)
|
||||
content := fmt.Sprintf(`海南海宇大数据有限公司:
|
||||
content := fmt.Sprintf(`北京正信环宇科技有限公司:
|
||||
本人%s拟向贵司申请大数据分析报告查询业务,贵司需要了解本人相关状况,用于查询大数据分析报告,因此本人同意向贵司提供本人的姓名和手机号等个人信息,并同意贵司向第三方(包括但不限于西部数据交易有限公司)传送上述信息。第三方将使用上述信息核实信息真实情况,查询信用记录,并生成报告。
|
||||
|
||||
授权内容如下:
|
||||
@@ -186,8 +186,8 @@ func (s *AuthorizationService) generatePDFContent(userInfo map[string]interface{
|
||||
附加说明:
|
||||
本人在授权的相关数据将依据法律法规及贵司内部数据管理规范妥善存储,存储期限为法律要求的最短必要时间。超过存储期限或在数据使用目的达成后,贵司将对相关数据进行销毁或匿名化处理。
|
||||
本人有权随时撤回本授权书中的授权,但撤回前的授权行为及其法律后果仍具有法律效力。若需撤回授权,本人可通过贵司官方渠道提交书面申请,贵司将在收到申请后依法停止对本人数据的使用。
|
||||
你通过"全能查",自愿支付相应费用,用于购买海南海宇大数据有限公司的大数据报告产品。如若对产品内容存在异议,可通过邮箱admin@iieeii.com或APP"联系客服"按钮进行反馈,贵司将在收到异议之日起20日内进行核查和处理,并将结果答复。
|
||||
你向海南海宇大数据有限公司的支付方式为:海南海宇大数据有限公司及其经官方授权的相关企业的支付宝账户。
|
||||
你通过"愉悦查",自愿支付相应费用,用于购买北京正信环宇科技有限公司的大数据报告产品。如若对产品内容存在异议,可通过邮箱admin@iieeii.com或APP"联系客服"按钮进行反馈,贵司将在收到异议之日起20日内进行核查和处理,并将结果答复。
|
||||
你向北京正信环宇科技有限公司的支付方式为:北京正信环宇科技有限公司及其经官方授权的相关企业的支付宝账户。
|
||||
|
||||
争议解决机制:
|
||||
若因本授权书引发争议,双方应友好协商解决;协商不成的,双方同意将争议提交至授权书签署地(海南省)有管辖权的人民法院解决。
|
||||
|
||||
71
app/main/api/internal/service/tencentCloudService.go
Normal file
71
app/main/api/internal/service/tencentCloudService.go
Normal file
@@ -0,0 +1,71 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"bdqr-server/app/main/api/internal/config"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
|
||||
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
|
||||
sms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sms/v20210111" //引入sms
|
||||
)
|
||||
|
||||
type TencentCloudService struct {
|
||||
config config.Config
|
||||
TencentSmsClient *sms.Client
|
||||
}
|
||||
|
||||
func NewTencentCloudService(config config.Config) *TencentCloudService {
|
||||
credential := common.NewCredential(
|
||||
config.TencentCloud.SecretId,
|
||||
config.TencentCloud.SecretKey,
|
||||
)
|
||||
cpf := profile.NewClientProfile()
|
||||
cpf.HttpProfile.ReqMethod = "POST"
|
||||
cpf.HttpProfile.ReqTimeout = 10 // 请求超时时间,单位为秒(默认60秒)
|
||||
/* 指定接入地域域名,默认就近地域接入域名为 sms.tencentcloudapi.com ,也支持指定地域域名访问,例如广州地域的域名为 sms.ap-guangzhou.tencentcloudapi.com */
|
||||
cpf.HttpProfile.Endpoint = "sms.tencentcloudapi.com"
|
||||
/* SDK 默认用 TC3-HMAC-SHA256 进行签名,非必要请不要修改该字段 */
|
||||
cpf.SignMethod = "HmacSHA1"
|
||||
cpf.Debug = true
|
||||
/* 实例化 SMS 的 client 对象
|
||||
* 第二个参数是地域信息,可以直接填写字符串 ap-guangzhou,或者引用预设的常量 */
|
||||
client, err := sms.NewClient(credential, "ap-guangzhou", cpf)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return &TencentCloudService{
|
||||
config: config,
|
||||
TencentSmsClient: client,
|
||||
}
|
||||
}
|
||||
|
||||
// SendVerificationCode 发送验证码短信
|
||||
func (t *TencentCloudService) SendVerificationCode(mobile, code string) error {
|
||||
// 判断手机号是否以+86开头,如果没有则自动添加
|
||||
if !strings.HasPrefix(mobile, "+86") {
|
||||
mobile = "+86" + mobile
|
||||
}
|
||||
|
||||
request := &sms.SendSmsRequest{}
|
||||
request.SmsSdkAppId = common.StringPtr(t.config.TencentCloud.SmsSdkAppId)
|
||||
request.SignName = common.StringPtr(t.config.TencentCloud.SignName)
|
||||
request.TemplateParamSet = common.StringPtrs([]string{code})
|
||||
request.TemplateId = common.StringPtr(t.config.TencentCloud.TemplateId)
|
||||
request.PhoneNumberSet = common.StringPtrs([]string{mobile})
|
||||
|
||||
response, err := t.TencentSmsClient.SendSms(request)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "调用腾讯云短信服务失败")
|
||||
}
|
||||
|
||||
if len(response.Response.SendStatusSet) == 0 {
|
||||
return errors.New("腾讯云短信服务返回空响应")
|
||||
}
|
||||
|
||||
if *response.Response.SendStatusSet[0].Code != "Ok" {
|
||||
return errors.Errorf("腾讯云短信服务响应失败: %s", *response.Response.SendStatusSet[0].Message)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"bdqr-server/app/main/api/internal/config"
|
||||
"bdqr-server/app/main/model"
|
||||
"bdqr-server/common/ctxdata"
|
||||
"bdqr-server/pkg/lzkit/lzUtils"
|
||||
"context"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"time"
|
||||
"bdqr-server/app/main/api/internal/config"
|
||||
"bdqr-server/app/main/model"
|
||||
"bdqr-server/common/ctxdata"
|
||||
"bdqr-server/pkg/lzkit/lzUtils"
|
||||
|
||||
"github.com/wechatpay-apiv3/wechatpay-go/core"
|
||||
"github.com/wechatpay-apiv3/wechatpay-go/core/auth/verifiers"
|
||||
@@ -38,8 +38,9 @@ const (
|
||||
type InitType string
|
||||
|
||||
const (
|
||||
InitTypePlatformCert InitType = "platform_cert" // 平台证书初始化
|
||||
InitTypeWxPayPubKey InitType = "wxpay_pubkey" // 微信支付公钥初始化
|
||||
InitTypePlatformCert InitType = "platform_cert" // 平台证书初始化
|
||||
InitTypeWxPayPubKey InitType = "wxpay_pubkey" // 微信支付公钥初始化(混合兼容模式)
|
||||
InitTypeWxPayPubKeyPure InitType = "wxpay_pubkey_pure" // 微信支付公钥初始化(纯公钥模式)
|
||||
)
|
||||
|
||||
type WechatPayService struct {
|
||||
@@ -56,6 +57,8 @@ func NewWechatPayService(c config.Config, userAuthModel model.UserAuthModel, ini
|
||||
return newWechatPayServiceWithPlatformCert(c, userAuthModel)
|
||||
case InitTypeWxPayPubKey:
|
||||
return newWechatPayServiceWithWxPayPubKey(c, userAuthModel)
|
||||
case InitTypeWxPayPubKeyPure:
|
||||
return newWechatPayServiceWithWxPayPubKeyPure(c, userAuthModel)
|
||||
default:
|
||||
logx.Errorf("不支持的初始化类型: %s", initType)
|
||||
panic(fmt.Sprintf("初始化失败,服务停止: %s", initType))
|
||||
@@ -151,7 +154,56 @@ func newWechatPayServiceWithWxPayPubKey(c config.Config, userAuthModel model.Use
|
||||
notifyHandler := notify.NewNotifyHandler(
|
||||
mchAPIv3Key,
|
||||
verifiers.NewSHA256WithRSACombinedVerifier(certificateVisitor, mchPublicKeyID, *mchPublicKey))
|
||||
logx.Infof("微信支付客户端初始化成功(微信支付公钥方式)")
|
||||
logx.Infof("微信支付客户端初始化成功(微信支付公钥方式-混合兼容模式)")
|
||||
return &WechatPayService{
|
||||
config: c,
|
||||
wechatClient: client,
|
||||
notifyHandler: notifyHandler,
|
||||
userAuthModel: userAuthModel,
|
||||
}
|
||||
}
|
||||
|
||||
// newWechatPayServiceWithWxPayPubKeyPure 使用微信支付公钥初始化微信支付服务(纯公钥模式)
|
||||
func newWechatPayServiceWithWxPayPubKeyPure(c config.Config, userAuthModel model.UserAuthModel) *WechatPayService {
|
||||
// 从配置中加载商户信息
|
||||
mchID := c.Wxpay.MchID
|
||||
mchCertificateSerialNumber := c.Wxpay.MchCertificateSerialNumber
|
||||
mchAPIv3Key := c.Wxpay.MchApiv3Key
|
||||
mchPrivateKeyPath := c.Wxpay.MchPrivateKeyPath
|
||||
mchPublicKeyID := c.Wxpay.MchPublicKeyID
|
||||
mchPublicKeyPath := c.Wxpay.MchPublicKeyPath
|
||||
|
||||
// 从文件中加载商户私钥
|
||||
mchPrivateKey, err := utils.LoadPrivateKeyWithPath(mchPrivateKeyPath)
|
||||
if err != nil {
|
||||
logx.Errorf("加载商户私钥失败: %v", err)
|
||||
panic(fmt.Sprintf("初始化失败,服务停止: %v", err))
|
||||
}
|
||||
|
||||
// 从文件中加载微信支付公钥
|
||||
mchPublicKey, err := utils.LoadPublicKeyWithPath(mchPublicKeyPath)
|
||||
if err != nil {
|
||||
logx.Errorf("加载微信支付公钥失败: %v", err)
|
||||
panic(fmt.Sprintf("初始化失败,服务停止: %v", err))
|
||||
}
|
||||
|
||||
// 使用商户私钥和其他参数初始化微信支付客户端
|
||||
opts := []core.ClientOption{
|
||||
option.WithWechatPayPublicKeyAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchPublicKeyID, mchPublicKey),
|
||||
}
|
||||
client, err := core.NewClient(context.Background(), opts...)
|
||||
if err != nil {
|
||||
logx.Errorf("创建微信支付客户端失败: %v", err)
|
||||
panic(fmt.Sprintf("初始化失败,服务停止: %v", err))
|
||||
}
|
||||
|
||||
// 纯公钥模式:只使用公钥进行验签,不注册证书下载器,不使用平台证书
|
||||
// 使用 SHA256WithRSAPubkeyVerifier 直接使用公钥进行验签
|
||||
notifyHandler := notify.NewNotifyHandler(
|
||||
mchAPIv3Key,
|
||||
verifiers.NewSHA256WithRSAPubkeyVerifier(mchPublicKeyID, *mchPublicKey))
|
||||
|
||||
logx.Infof("微信支付客户端初始化成功(微信支付公钥方式-纯公钥模式)")
|
||||
return &WechatPayService{
|
||||
config: c,
|
||||
wechatClient: client,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package svc
|
||||
|
||||
import (
|
||||
"time"
|
||||
"bdqr-server/app/main/api/internal/config"
|
||||
"bdqr-server/app/main/api/internal/middleware"
|
||||
"bdqr-server/app/main/api/internal/service"
|
||||
tianyuanapi "bdqr-server/app/main/api/internal/service/tianyuanapi_sdk"
|
||||
"bdqr-server/app/main/model"
|
||||
"time"
|
||||
|
||||
"github.com/hibiken/asynq"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
@@ -90,6 +90,7 @@ type ServiceContext struct {
|
||||
DictService *service.DictService
|
||||
ImageService *service.ImageService
|
||||
AuthorizationService *service.AuthorizationService
|
||||
TencentCloudService *service.TencentCloudService
|
||||
}
|
||||
|
||||
// NewServiceContext 创建服务上下文
|
||||
@@ -170,7 +171,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
|
||||
|
||||
// ============================== 业务服务初始化 ==============================
|
||||
alipayService := service.NewAliPayService(c)
|
||||
wechatPayService := service.NewWechatPayService(c, userAuthModel, service.InitTypeWxPayPubKey)
|
||||
wechatPayService := service.NewWechatPayService(c, userAuthModel, service.InitTypeWxPayPubKeyPure)
|
||||
applePayService := service.NewApplePayService(c)
|
||||
apiRequestService := service.NewApiRequestService(c, featureModel, productFeatureModel, tianyuanapi)
|
||||
verificationService := service.NewVerificationService(c, tianyuanapi, apiRequestService)
|
||||
@@ -183,7 +184,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
|
||||
dictService := service.NewDictService(adminDictTypeModel, adminDictDataModel)
|
||||
imageService := service.NewImageService()
|
||||
authorizationService := service.NewAuthorizationService(c, authorizationDocumentModel)
|
||||
|
||||
tencentCloudService := service.NewTencentCloudService(c)
|
||||
// ============================== 异步任务服务 ==============================
|
||||
asynqServer := asynq.NewServer(
|
||||
asynq.RedisClientOpt{Addr: c.CacheRedis[0].Host, Password: c.CacheRedis[0].Pass},
|
||||
@@ -270,6 +271,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
|
||||
DictService: dictService,
|
||||
ImageService: imageService,
|
||||
AuthorizationService: authorizationService,
|
||||
TencentCloudService: tencentCloudService,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user