This commit is contained in:
liangzai 2024-12-24 19:50:36 +08:00
parent 08b8825abd
commit 22fe77f26a
31 changed files with 382 additions and 207 deletions

View File

@ -2,12 +2,11 @@
"version" : "1.0",
"configurations" : [
{
"playground" : "standard",
"playground" : "custom",
"type" : "uni-app:app-ios"
},
{
"app-plus" :
{
"app-plus" : {
"launchtype" : "local"
},
"type" : "uniCloud"

Binary file not shown.

View File

@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFyzCCBLOgAwIBAgIQJWS27ihJedi6JX9bSk4CoTANBgkqhkiG9w0BAQsFADB1
MUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBD
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTELMAkGA1UECwwCRzMxEzARBgNVBAoMCkFw
cGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTI0MTEyMDA2MjAyNVoXDTI1MTEyMDA2
MjAyNFowgaYxGjAYBgoJkiaJk/IsZAEBDAo3NlE3TThXRjZLMTAwLgYDVQQDDCdp
UGhvbmUgRGV2ZWxvcGVyOiBmdXNpIGxpdSAoM01WNzRUOEtUNSkxEzARBgNVBAsM
ClI0RFY3VkY2SDcxNDAyBgNVBAoMK0hhaW5hbiBYdWV5dXNpIE5ldHdvcmsgVGVj
aG5vbG9neSBDby4sIEx0ZC4xCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA3km9CiYZty9RJhn7X0hWZYi9rmfDFsSQjtDCxCQV9W7O
miLHSZIU3o+xTyr+X+9egXL2DIgMVpn8BDxNgC8BY6AMvhlBy8yHCbK2EJPrutqX
78CYY9G6Cre9R4OxOiUBsW34O0bObqagBC1POknQpL3Cla/7S6Kn7cjcIb4Dllco
r/n25Mr8rFVZEHgiOgMHju0hn5QzR/wVcA61vRfEZManHsB+MmKI323mq7pyV6D5
aLcG2m65OHi4HIz/eEm7as5NG4xIyYIQsfEgwAAZYsrpwzLRIg9uh7QsBmYr/NRZ
SJlK9gBPTnrPQ517RRnIA2As//ZoIG8bi59VSmUPQQIDAQABo4ICIzCCAh8wDAYD
VR0TAQH/BAIwADAfBgNVHSMEGDAWgBQJ/sAVkPmvZAqSErkmKGMMl+ynsjBwBggr
BgEFBQcBAQRkMGIwLQYIKwYBBQUHMAKGIWh0dHA6Ly9jZXJ0cy5hcHBsZS5jb20v
d3dkcmczLmRlcjAxBggrBgEFBQcwAYYlaHR0cDovL29jc3AuYXBwbGUuY29tL29j
c3AwMy13d2RyZzMwMzCCAR4GA1UdIASCARUwggERMIIBDQYJKoZIhvdjZAUBMIH/
MIHDBggrBgEFBQcCAjCBtgyBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUg
YnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBs
aWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2Vy
dGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRl
bWVudHMuMDcGCCsGAQUFBwIBFitodHRwczovL3d3dy5hcHBsZS5jb20vY2VydGlm
aWNhdGVhdXRob3JpdHkvMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMDMB0GA1UdDgQW
BBTX2EgxLl+irOnOYtlgQwBwxgvpWTAOBgNVHQ8BAf8EBAMCB4AwEwYKKoZIhvdj
ZAYBAgEB/wQCBQAwDQYJKoZIhvcNAQELBQADggEBACb1PyLRXf66cTo5D7Grn5Ll
BveYJO7Vn7b3rZgelm22O5fCuYTlpckwtFES1r4FG5GF+oTyd7RoSajbpBT8shI+
HPVcnJ++9aP1y/5EgpmKQno8IwqdXxGW+TKNsh4/PdAbVB5qUpiCxqRowAVHTHZI
fTiJT9kvvazA0wBeVQla59j1zC/UaZYoziiCDSLsfl7Kkd7UcwBxcgPTo2S+E6dU
ihA6H36Ef/7QLJwInDzN+zjIEsof7k/VNaet/Ub6CGOTKg8fAb3wakGVT547idE7
TjjCym78euH6lc+tNAnomqzntB1Pa3NkiW8PHP5mSL3RFaKhzbJu7FE8kCw/T/E=
-----END CERTIFICATE-----

View File

@ -1,7 +1,5 @@
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
2. 司法涉诉
3. 风险人员检测(异常名单)
4. 个人不良
5. 人企关联
股东人企关联
6. 借贷意向
7. 特殊名单padding
7. 特殊名单

View File

@ -1,6 +1,5 @@
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
2. 司法涉诉
3. 个人不良 // 西部未启用
3. 个人不良
4. 人企关联
5. 借贷意向
6. 单人婚姻状态

View File

@ -1,6 +1,4 @@
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
2. 司法涉诉
3. 特殊名单
4. 个人不良
5. 借贷意向
6. 资格证书

View File

@ -1,6 +1,4 @@
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
2. 司法涉诉
3. 风险人员检测(异常名单)
4. 个人不良
5. 借贷意向
6. 特殊名单

View File

@ -1,9 +1,7 @@
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
2. 司法涉诉
3. 风险人员检测(异常名单)
4. 个人不良
5. 人企关联
5. 股东人企关联
6. 借贷意向
7. 特殊名单
8. 借贷行为
9. 婚姻信息调查
9. 单人婚姻

View File

@ -1,9 +1,7 @@
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
2. 司法涉诉
3. 风险人员检测(异常名单)
4. 个人不良
5. 借贷行为
6. 借贷意向
7. 特殊名单
8. 偿贷压力
9. 婚姻状态
股东人企关联

View File

@ -5,7 +5,7 @@ export default defineManifestConfig({
'appid': '__UNI__CC3DA09',
'description': '',
'versionName': '1.0.0',
'versionCode': '101',
'versionCode': '104',
'transformPx': false,
/* 5+App特有相关 */
'app-plus': {
@ -31,6 +31,7 @@ export default defineManifestConfig({
distribute: {
/* android打包配置 */
android: {
package: 'com.quannengcha.app',
permissions: [
'<uses-permission android:name="android.permission.INTERNET"/>',
'<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
@ -43,13 +44,21 @@ export default defineManifestConfig({
NSLocalNetworkUsageDescription: '需要访问您的网络来提供更好的服务',
},
idfa: false,
bundleIdentifier: 'com.allinone.check',
},
/* SDK配置 */
sdkConfigs: {
payment: {
appleiap: {
inAppPurchase: true,
},
// #ifdef APP-ANDROID
alipay: {
__platform__: ['ios', 'android'],
},
// #endif
},
},
icons: {

View File

@ -43,8 +43,7 @@
"build:quickapp-webview-union": "uni build -p quickapp-webview-union",
"type-check": "vue-tsc --noEmit",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"postinstall": "npx simple-git-hooks"
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@dcloudio/uni-app": "3.0.0-4020420240722002",
@ -61,6 +60,7 @@
"@dcloudio/uni-mp-weixin": "3.0.0-4020420240722002",
"@dcloudio/uni-mp-xhs": "3.0.0-4020420240722002",
"@dcloudio/uni-quickapp-webview": "3.0.0-4020420240722002",
"@rollup/rollup-win32-x64-msvc": "^4.27.4",
"@vueuse/core": "^11.1.0",
"crypto-js": "^4.2.0",
"vue": "~3.4.21",
@ -93,7 +93,6 @@
"miniprogram-api-typings": "^3.12.3",
"sass": "~1.79.0",
"sass-embedded": "~1.79.0",
"simple-git-hooks": "^2.11.1",
"typescript": "~5.5.4",
"unocss": "^0.62.4",
"unplugin-auto-import": "^0.18.3",

View File

@ -50,6 +50,9 @@ importers:
'@dcloudio/uni-quickapp-webview':
specifier: 3.0.0-4020420240722002
version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))
'@rollup/rollup-win32-x64-msvc':
specifier: ^4.27.4
version: 4.27.4
'@vueuse/core':
specifier: ^11.1.0
version: 11.1.0(vue@3.4.38(typescript@5.5.4))
@ -141,9 +144,6 @@ importers:
sass-embedded:
specifier: ~1.79.0
version: 1.79.6
simple-git-hooks:
specifier: ^2.11.1
version: 2.11.1
typescript:
specifier: ~5.5.4
version: 5.5.4
@ -1921,6 +1921,11 @@ packages:
cpu: [x64]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.27.4':
resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==}
cpu: [x64]
os: [win32]
'@sinonjs/commons@1.8.6':
resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
@ -4834,10 +4839,6 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
simple-git-hooks@2.11.1:
resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==}
hasBin: true
sirv@2.0.4:
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
engines: {node: '>= 10'}
@ -7909,6 +7910,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.24.1':
optional: true
'@rollup/rollup-win32-x64-msvc@4.27.4': {}
'@sinonjs/commons@1.8.6':
dependencies:
type-detect: 4.0.8
@ -11361,8 +11364,6 @@ snapshots:
signal-exit@4.1.0: {}
simple-git-hooks@2.11.1: {}
sirv@2.0.4:
dependencies:
'@polka/url': 1.0.0-next.28

View File

@ -1,40 +0,0 @@
{
"prompt": "template",
"title": "用户协议和隐私政策",
"message": "感谢您使用全能查APP! 我们非常重视您的隐私保护和个人信息保护在您使用全能查APP前请您仔细阅读、充分理解<a href=\"/pages/userAgreement\">《用户协议》</a>和<a href=\"/pages/privacyPolicy\">《隐私政策》</a>的各项条款。如果您同意,请点击下方按钮开始接受我们的服务。",
"buttonAccept": "同意并继续",
"buttonRefuse": "退出应用",
"hrefLoader": "default",
"second": {
"title": "确认提示",
"message": "您点击同意并继续视为您已同意上诉协议的全部内容",
"buttonAccept": "同意并继续",
"buttonRefuse": "退出"
},
"styles": {
"backgroundColor": "#FFFFFF",
"borderRadius": "10px",
"title": {
"color": "#333333",
"fontSize": "18px",
"fontWeight": "bold"
},
"message": {
"color": "#666666",
"fontSize": "14px",
"lineHeight": "1.5"
},
"buttonAccept": {
"color": "#333333",
"backgroundColor": "#007AFF",
"borderRadius": "5px",
"padding": "10px 20px"
},
"buttonRefuse": {
"color": "#333333",
"backgroundColor": "#FF3B30",
"borderRadius": "5px",
"padding": "10px 20px"
}
}
}

View File

@ -112,3 +112,10 @@ export function payment(data) {
data,
})
}
export function iapPaymentCallback(data) {
return request({
url: `/pay/iap_callback`,
method: 'POST',
data,
})
}

8
src/components.d.ts vendored
View File

@ -18,19 +18,16 @@ declare module 'vue' {
LTitle: typeof import('./components/LTitle.vue')['default']
PrivacyModel: typeof import('./components/PrivacyModel.vue')['default']
QiunDataChartsQiunDataCharts: typeof import('./components/qiun-data-charts/qiun-data-charts.vue')['default']
QiunErrorQiunError: typeof import('./components/qiun-error/qiun-error.vue')['default']
QiunLoadingLoading1: typeof import('./components/qiun-loading/loading1.vue')['default']
QiunLoadingLoading2: typeof import('./components/qiun-loading/loading2.vue')['default']
QiunLoadingLoading3: typeof import('./components/qiun-loading/loading3.vue')['default']
QiunLoadingLoading4: typeof import('./components/qiun-loading/loading4.vue')['default']
QiunLoadingLoading5: typeof import('./components/qiun-loading/loading5.vue')['default']
QiunLoadingQiunLoading: typeof import('./components/qiun-loading/qiun-loading.vue')['default']
}
}
Button: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['default']
WdButton: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['default']
WdCell: typeof import('wot-design-uni/components/wd-cell/wd-cell.vue')['default']
WdCheckbox: typeof import('wot-design-uni/components/wd-checkbox/wd-checkbox.vue')['default']
WdCollapse: typeof import('wot-design-uni/components/wd-collapse/wd-collapse.vue')['default']
WdCollapseItem: typeof import('wot-design-uni/components/wd-collapse-item/wd-collapse-item.vue')['default']
WdDivider: typeof import('wot-design-uni/components/wd-divider/wd-divider.vue')['default']
WdIcon: typeof import('wot-design-uni/components/wd-icon/wd-icon.vue')['default']
WdImg: typeof import('wot-design-uni/components/wd-img/wd-img.vue')['default']
@ -38,7 +35,6 @@ Button: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['defa
WdLoadmore: typeof import('wot-design-uni/components/wd-loadmore/wd-loadmore.vue')['default']
WdNavbar: typeof import('wot-design-uni/components/wd-navbar/wd-navbar.vue')['default']
WdNoticeBar: typeof import('wot-design-uni/components/wd-notice-bar/wd-notice-bar.vue')['default']
WdPopup: typeof import('wot-design-uni/components/wd-popup/wd-popup.vue')['default']
WdRadio: typeof import('wot-design-uni/components/wd-radio/wd-radio.vue')['default']
WdRadioGroup: typeof import('wot-design-uni/components/wd-radio-group/wd-radio-group.vue')['default']
WdTabbar: typeof import('wot-design-uni/components/wd-tabbar/wd-tabbar.vue')['default']

View File

@ -21,7 +21,13 @@ function refusePrivacy() {
acceptPrivacy()
}
else {
uni.exitApp()
const platform = uni.getSystemInfoSync().platform
if (platform === 'android') {
plus.runtime.quit()
}
else if (platform === 'ios') {
plus.runtime.launchApplication({ action: 'QUIT' })
}
}
},
})

View File

@ -23,6 +23,7 @@ onMounted(() => {
const pageName = currentPage.split('/').pop()
tabbar.value = pageName
})
function toComplaint() {
uni.navigateTo({
url: '/pages/complaint',

View File

@ -1,109 +1,115 @@
{
"name" : "全能查",
"appid" : "__UNI__CC3DA09",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "101",
"transformPx" : false,
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
"name": "全能查",
"appid": "__UNI__CC3DA09",
"description": "",
"versionName": "1.0.0",
"versionCode": "104",
"transformPx": false,
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
"modules" : {
"Payment" : {}
"modules": {
"Payment": {}
},
"distribute" : {
"android" : {
"permissions" : [
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>"
],
"package": "com.quannengcha.app"
},
"ios": {
"privacyDescription": {
"NSLocalNetworkUsageDescription": "需要访问您的网络来提供更好的服务"
},
"idfa": false,
"bundleIdentifier": "com.allinone.check"
},
"sdkConfigs": {
"payment": {
"appleiap": {
"inAppPurchase": true
},
"alipay": {
"__platform__": [
"ios",
"android"
]
},
"ios" : {
"privacyDescription" : {
"NSLocalNetworkUsageDescription" : "需要访问您的网络来提供更好的服务"
},
"idfa" : false,
"dSYMs" : false
},
"sdkConfigs" : {
"payment" : {
"alipay" : {
"__platform__" : [ "ios", "android" ]
}
}
},
"ad" : {}
"icons": {
"android": {
"hdpi": "src/static/icons/72x72.png",
"xhdpi": "src/static/icons/96x96.png",
"xxhdpi": "src/static/icons/144x144.png",
"xxxhdpi": "src/static/icons/192x192.png"
},
"icons" : {
"android" : {
"hdpi" : "src/static/icons/72x72.png",
"xhdpi" : "src/static/icons/96x96.png",
"xxhdpi" : "src/static/icons/144x144.png",
"xxxhdpi" : "src/static/icons/192x192.png"
"ios": {
"appstore": "src/static/icons/1024x1024.png",
"ipad": {
"app": "src/static/icons/76x76.png",
"app@2x": "src/static/icons/152x152.png",
"notification": "src/static/icons/20x20.png",
"notification@2x": "src/static/icons/40x40.png",
"proapp@2x": "src/static/icons/167x167.png",
"settings": "src/static/icons/29x29.png",
"settings@2x": "src/static/icons/58x58.png",
"spotlight": "src/static/icons/40x40.png",
"spotlight@2x": "src/static/icons/80x80.png"
},
"ios" : {
"appstore" : "src/static/icons/1024x1024.png",
"ipad" : {
"app" : "src/static/icons/76x76.png",
"app@2x" : "src/static/icons/152x152.png",
"notification" : "src/static/icons/20x20.png",
"notification@2x" : "src/static/icons/40x40.png",
"proapp@2x" : "src/static/icons/167x167.png",
"settings" : "src/static/icons/29x29.png",
"settings@2x" : "src/static/icons/58x58.png",
"spotlight" : "src/static/icons/40x40.png",
"spotlight@2x" : "src/static/icons/80x80.png"
},
"iphone" : {
"app@2x" : "src/static/icons/120x120.png",
"app@3x" : "src/static/icons/180x180.png",
"notification@2x" : "src/static/icons/40x40.png",
"notification@3x" : "src/static/icons/60x60.png",
"settings@2x" : "src/static/icons/58x58.png",
"settings@3x" : "src/static/icons/87x87.png",
"spotlight@2x" : "src/static/icons/80x80.png",
"spotlight@3x" : "src/static/icons/120x120.png"
"iphone": {
"app@2x": "src/static/icons/120x120.png",
"app@3x": "src/static/icons/180x180.png",
"notification@2x": "src/static/icons/40x40.png",
"notification@3x": "src/static/icons/60x60.png",
"settings@2x": "src/static/icons/58x58.png",
"settings@3x": "src/static/icons/87x87.png",
"spotlight@2x": "src/static/icons/80x80.png",
"spotlight@3x": "src/static/icons/120x120.png"
}
}
}
},
"background" : "#000000",
"compatible" : {
"ignoreVersion" : true
"background": "#000000",
"compatible": {
"ignoreVersion": true
}
},
"quickapp" : {},
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
"quickapp": {},
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false
},
"usingComponents" : true,
"darkmode" : false,
"themeLocation" : "theme.json"
"usingComponents": true,
"darkmode": false,
"themeLocation": "theme.json"
},
"mp-alipay" : {
"usingComponents" : true
"mp-alipay": {
"usingComponents": true
},
"mp-baidu" : {
"usingComponents" : true
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao" : {
"usingComponents" : true
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics" : {
"enable" : false
"uniStatistics": {
"enable": false
},
"vueVersion" : "3",
"h5" : {
"darkmode" : false,
"themeLocation" : "theme.json"
"vueVersion": "3",
"h5": {
"darkmode": false,
"themeLocation": "theme.json"
}
}

View File

@ -57,6 +57,12 @@
"layout": "page",
"title": "全能查收款"
},
{
"path": "pages/payb",
"type": "page",
"layout": "page",
"title": "全能查收款"
},
{
"path": "pages/privacyPolicy",
"type": "page",

View File

@ -6,13 +6,12 @@ function toInquire(name) {
}
const services = ref([
{ title: '个人风险', name: 'riskassessment', subtitle: '一查全知', bg: '/static/image/index_icon_2.png', bgColor: 'bg-indigo-400', position: 'left' },
{ title: '婚恋风险', name: 'marriage', subtitle: '查婚姻状态让爱无忧', bg: '/static/image/index_icon_1.png', bgColor: ' bg-pink-400 ', position: 'right' },
{ title: '家政服务', name: 'homeservice', subtitle: '用人有保障', bg: '/static/image/index_icon_3.png', bgColor: ' bg-teal-500 ', position: 'left' },
{ title: '租赁风险', name: 'rentalinfo', subtitle: '一查明了', bg: '/static/image/index_icon_4.png', bgColor: ' bg-sky-500 ', position: 'left' },
{ title: '企业报告', name: 'companyinfo', subtitle: '合作更安心', bg: '/static/image/index_icon_5.png', bgColor: ' bg-blue-400 ', position: 'right' },
{ title: '人事背调', name: 'backgroundcheck', subtitle: '选人更放心', bg: '/static/image/index_icon_6.png', bgColor: ' bg-orange-400 ', position: 'left' },
{ title: '贷前调查', name: 'preloanbackgroundcheck', subtitle: '放心借贷', bg: '/static/image/index_icon_7.png', bgColor: ' bg-red-400 ', position: 'right' },
{ title: '个人风险', name: 'riskassessment', subtitle: '一查全知', bg: '/static/image/index_icon_2.png', bgColor: 'bg-indigo-400', position: 'rounded-tl-[35px] rounded-bl-[35px] rounded-tr-lg rounded-br-lg' },
{ title: '婚恋风险', name: 'marriage', subtitle: '查婚姻状态让爱无忧', bg: '/static/image/index_icon_1.png', bgColor: ' bg-pink-400 ', position: 'rounded-tr-[35px] rounded-br-[35px] rounded-tl-lg rounded-bl-lg' },
{ title: '家政服务', name: 'homeservice', subtitle: '用人有保障', bg: '/static/image/index_icon_3.png', bgColor: ' bg-teal-500 ', position: 'rounded-tl-[35px] rounded-bl-[35px] rounded-tr-lg rounded-br-lg' },
{ title: '租赁风险', name: 'rentalinfo', subtitle: '一查明了', bg: '/static/image/index_icon_4.png', bgColor: ' bg-sky-500 ', position: 'rounded-tl-[35px] rounded-bl-[35px] rounded-tr-lg rounded-br-lg' },
{ title: '企业报告', name: 'companyinfo', subtitle: '合作更安心', bg: '/static/image/index_icon_5.png', bgColor: ' bg-blue-400 ', position: 'rounded-tr-[35px] rounded-br-[35px] rounded-tl-lg rounded-bl-lg' },
{ title: '人事背调', name: 'backgroundcheck', subtitle: '招聘有保障,选人更放心', bg: '/static/image/index_icon_6.png', bgColor: ' bg-orange-400 ', position: 'rounded-[35px] col-span-2' },
])
const noticeText = ref([])
@ -48,9 +47,7 @@ function toHistory() {
<template v-for="(service, index) in services" :key="index">
<view
class="relative flex flex-col px-4 py-2 shadow-lg" :class="[
service.position === 'left'
? 'rounded-tl-[35px] rounded-bl-[35px] rounded-tr-lg rounded-br-lg'
: 'rounded-tr-[35px] rounded-br-[35px] rounded-tl-lg rounded-bl-lg',
service.position,
service.bgColor,
service.title === '婚恋风险' ? 'row-span-2' : '',
]" :style="`background: url(${service.bg}) no-repeat; background-size: cover; background-position: center;`"

View File

@ -177,7 +177,7 @@ onUnmounted(() => {
class="flex-1 border-b border-gray-200 border-b-solid"
/>
<view
class="ml-2 rounded-lg border-none px-2 py-2 text-sm font-bold outline-none ring-none transition duration-300"
class="ml-2 flex-shrink-0 rounded-lg border-none px-2 py-2 text-sm font-bold outline-none ring-none transition duration-300"
:class="isCountingDown || !isPhoneNumberValid ? 'cursor-not-allowed bg-gray-300 text-gray-500' : 'bg-blue-500 text-white hover:bg-blue-600'"
@click="sendVerificationCode"
>

View File

@ -135,7 +135,7 @@ onUnmounted(() => {
>
</view>
<view
class="ml-2 rounded-lg px-4 py-2 text-sm font-bold transition duration-300 focus:outline-none"
class="ml-2 flex-shrink-0 rounded-lg px-4 py-2 text-sm font-bold transition duration-300 focus:outline-none"
:class="isCountingDown || !isPhoneNumberValid ? 'cursor-not-allowed bg-gray-300 text-gray-500' : 'bg-blue-500 text-white hover:bg-blue-600'"
@click="sendVerificationCode"
>

164
src/pages/payb.vue Normal file
View File

@ -0,0 +1,164 @@
<script setup>
import { iapPaymentCallback, payment, queryProvisionalOrder } from '@/api/apis'
const selectedPaymentMethod = ref('appleiap')
const id = ref(null)
const order = ref({
productName: '',
price: null,
})
async function handlePayment() {
try {
if (selectedPaymentMethod.value === 'appleiap') {
const paymentResponse = await payment({ id: id.value, pay_method: selectedPaymentMethod.value })
if (paymentResponse.code === 200) {
uni.showLoading({ title: '加载中' })
const productID = paymentResponse.data.prepay_id
const orderID = paymentResponse.data.order_id
const iapChannel = await getIapChannel()
const products = await requestProduct(iapChannel, [productID])
if (products.length > 0) {
const product = products[0]
uni.requestPayment({
provider: 'appleiap',
orderInfo: { productid: product.productid },
success: async (iapRes) => {
const callbackResponse = await iapPaymentCallback({
order_id: orderID,
transaction_receipt: iapRes.transactionReceipt,
})
if (callbackResponse.code === 200) {
handlePaySuccess(orderID)
}
else {
console.error('支付回调处理失败:', callbackResponse)
}
},
fail: (err) => {
console.error('支付失败:', err)
},
})
}
else {
console.error('未找到对应的产品信息')
}
}
else {
console.error('支付请求失败:', paymentResponse)
}
}
else {
console.error('未选择 Apple IAP 支付方式')
}
}
catch (error) {
console.error('支付流程中发生错误:', error)
}
finally {
uni.hideLoading()
}
}
async function getIapChannel() {
return new Promise((resolve, reject) => {
uni.showLoading({ title: '加载中' })
plus.payment.getChannels((channels) => {
const iapChannel = channels.find(channel => channel.id === 'appleiap')
if (iapChannel) {
resolve(iapChannel)
}
else {
reject(new Error('未找到 Apple IAP 支付通道'))
}
}, (error) => {
reject(new Error(`获取支付通道失败:${error.message}`))
})
})
}
async function requestProduct(iapChannel, productIds) {
return new Promise((resolve, reject) => {
uni.showLoading({ title: '加载中' })
console.log('请求的产品 ID 列表:', productIds)
iapChannel.requestOrder(productIds, (products) => {
resolve(products)
}, (error) => {
reject(new Error(`请求产品信息失败:${error.message}`))
})
})
}
function handlePaySuccess(orderID) {
uni.redirectTo({
url: `/pages/result?id=${orderID}`,
})
}
onLoad((option) => {
if (option.id) {
id.value = option.id
queryProvisionalOrder(option.id).then((res) => {
console.log('res', res)
if (res.code === 200) {
order.value.productName = res.data.product.product_name
order.value.price = res.data.product.sell_price
}
})
}
})
</script>
<template>
<view class="min-h-screen from-blue-200 via-sky-200 to-sky-100 bg-gradient-to-b p-6">
<view class="card">
<h1 class="mb-4 text-xl font-bold">
订单支付
</h1>
<view class="my-10 text-center">
<view class="text-2xl font-bold">
¥{{ order.price }}
</view>
<view class="text-gray-600">
{{ order.productName }}
</view>
</view>
<view class="mb-4">
<label class="mb-2 block text-sm text-gray-600">支付方式</label>
<wd-radio-group v-model="selectedPaymentMethod" shape="dot" size="large">
<view class="border-3 border-blue-500 rounded-lg border-solid px-4 py-2">
<wd-radio value="appleiap">
<view class="flex items-center">
<image
src="/static/image/apple.svg"
mode="aspectFit"
class="mr-1 h-5 w-5"
/> Apple Pay
</view>
</wd-radio>
</view>
</wd-radio-group>
</view>
<button
class="w-full rounded-xl from-blue-500 via-blue-500 to-blue-400 bg-gradient-to-b px-4 py-2 text-white"
@click="handlePayment"
>
立即支付
</button>
</view>
</view>
</template>
<style scoped>
:deep(.wd-radio) {
margin-top: 0;
}
</style>
<route lang="json">
{
"layout": "page",
"title": "全能查收款"
}
</route>

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1732615487801" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3146" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M905.714286 694.285714q-22.285714 71.428571-70.285714 142.857143-73.714286 112-146.857143 112-28 0-80-18.285714-49.142857-18.285714-86.285714-18.285714-34.857143 0-81.142857 18.857143-46.285714 19.428571-75.428571 19.428571-86.857143 0-172-148-84-149.142857-84-287.428571 0-130.285714 64.571429-213.714286 64-82.285714 162.285714-82.285714 41.142857 0 101.142857 17.142857 59.428571 17.142857 78.857143 17.142857 25.714286 0 81.714286-19.428571 58.285714-19.428571 98.857143-19.428571 68 0 121.714286 37.142857 29.714286 20.571429 59.428571 57.142857-45.142857 38.285714-65.142857 67.428571-37.142857 53.714286-37.142857 118.285714 0 70.857143 39.428571 127.428571t90.285714 72zm-214.857143-670.285714q0 34.857143-16.571429 77.714286-17.142857 42.857143-53.142857 78.857143-30.857143 30.857143-61.714286 41.142857-21.142857 6.285714-59.428571 9.714286 1.714286-85.142857 44.571429-146.857143 42.285714-61.142857 142.857143-84.571429 0.571429 1.714286 1.428571 6.285714t1.428571 6.285714q0 2.285714 2.857143 5.714286t2.857143 5.714286z" p-id="3147"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 31 KiB

1
src/uni-pages.d.ts vendored
View File

@ -14,6 +14,7 @@ interface NavigateToOptions {
"/pages/login" |
"/pages/me" |
"/pages/pay" |
"/pages/payb" |
"/pages/privacyPolicy" |
"/pages/queryHistory" |
"/pages/result copy" |

View File

@ -40,18 +40,18 @@ export default async () => {
UnoCSS(),
],
server: {
// proxy: {
// '/api/v1': {
// target: 'https://app.quannengcha.com', // 本地接口地址
// changeOrigin: true,
// },
// },
proxy: {
'/api/v1': {
target: 'https://6m4685017o.goho.co', // 本地接口地址
target: 'https://app.quannengcha.com', // 本地接口地址
changeOrigin: true,
},
},
// proxy: {
// '/api/v1': {
// target: 'https://6m4685017o.goho.co', // 本地接口地址
// changeOrigin: true,
// },
// },
},
})
}