JLBA202505130001_关于吉林银行新建AI智能培训系统的需求_修复iOS需要追踪数据的权限

This commit is contained in:
2026-03-26 15:30:20 +08:00
parent 1ff072ba32
commit 08ccbf637c
18 changed files with 147 additions and 140 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ ENV = 'development'
VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
# DEV
@@ -1240,7 +1240,7 @@
CODE_SIGN_ENTITLEMENTS = HBuilder/HBuilder.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 285;
CURRENT_PROJECT_VERSION = 291;
DEVELOPMENT_TEAM = 2EP6SRRN43;
ENABLE_BITCODE = NO;
ENABLE_TESTABILITY = YES;
@@ -1322,7 +1322,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 285;
CURRENT_PROJECT_VERSION = 291;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = 2EP6SRRN43;
ENABLE_BITCODE = NO;
@@ -131,8 +131,6 @@
<string></string>
<key>NSPhotoLibraryUsageDescription</key>
<string>从相册选择错题截图提交学习反馈、上传照片更换个人资料头像</string>
<key>NSUserTrackingUsageDescription</key>
<string>请放心,开启权限不会获取您在其他站点的隐私信息,该权限仅用于标识设备并保障服务安全与提示浏览体验</string>
<key>StatusBarBackground</key>
<string>#FFFFFF</string>
<key>UIApplicationShortcutItems</key>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
uni-view[data-v-2421641b],uni-scroll-view[data-v-2421641b],uni-swiper-item[data-v-2421641b]{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}@font-face{font-family:uvicon-iconfont;src:url(../../assets/uvicons.04d281cc.ttf) format("truetype")}.uv-icon[data-v-2421641b]{display:flex;align-items:center}.uv-icon--left[data-v-2421641b]{flex-direction:row-reverse;align-items:center}.uv-icon--right[data-v-2421641b]{flex-direction:row;align-items:center}.uv-icon--top[data-v-2421641b]{flex-direction:column-reverse;justify-content:center}.uv-icon--bottom[data-v-2421641b]{flex-direction:column;justify-content:center}.uv-icon__icon[data-v-2421641b]{font-family:uvicon-iconfont;position:relative;display:flex;flex-direction:row;align-items:center}.uv-icon__icon--primary[data-v-2421641b]{color:#06f}.uv-icon__icon--success[data-v-2421641b]{color:#5ac725}.uv-icon__icon--error[data-v-2421641b]{color:#f56c6c}.uv-icon__icon--warning[data-v-2421641b]{color:#f9ae3d}.uv-icon__icon--info[data-v-2421641b]{color:#909399}.uv-icon__img[data-v-2421641b]{height:auto;will-change:transform}.uv-icon__label[data-v-2421641b]{line-height:1}.popup-view[data-v-20520c4b]{width:100vw;height:100vh}.body-title[data-v-20520c4b]{height:2.8125rem;text-align:center;font-size:1.03125rem;padding-top:.3125rem;line-height:1.4375rem;box-sizing:border-box;background-color:#fff;font-weight:500;color:#000;position:fixed;top:var(--status-bar-height);left:0;width:100vw;z-index:10000}.body-title .arrow-icon[data-v-20520c4b]{position:absolute;left:.65625rem;top:.15625rem;color:#000;padding:.46875rem}
uni-view[data-v-2421641b],uni-scroll-view[data-v-2421641b],uni-swiper-item[data-v-2421641b]{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}@font-face{font-family:uvicon-iconfont;src:url(../../assets/uvicons.04d281cc.ttf) format("truetype")}.uv-icon[data-v-2421641b]{display:flex;align-items:center}.uv-icon--left[data-v-2421641b]{flex-direction:row-reverse;align-items:center}.uv-icon--right[data-v-2421641b]{flex-direction:row;align-items:center}.uv-icon--top[data-v-2421641b]{flex-direction:column-reverse;justify-content:center}.uv-icon--bottom[data-v-2421641b]{flex-direction:column;justify-content:center}.uv-icon__icon[data-v-2421641b]{font-family:uvicon-iconfont;position:relative;display:flex;flex-direction:row;align-items:center}.uv-icon__icon--primary[data-v-2421641b]{color:#06f}.uv-icon__icon--success[data-v-2421641b]{color:#5ac725}.uv-icon__icon--error[data-v-2421641b]{color:#f56c6c}.uv-icon__icon--warning[data-v-2421641b]{color:#f9ae3d}.uv-icon__icon--info[data-v-2421641b]{color:#909399}.uv-icon__img[data-v-2421641b]{height:auto;will-change:transform}.uv-icon__label[data-v-2421641b]{line-height:1}.popup-view[data-v-4574acd6]{width:100vw;height:100vh}.body-title[data-v-4574acd6]{height:2.8125rem;text-align:center;font-size:1.03125rem;padding-top:.3125rem;line-height:1.4375rem;box-sizing:border-box;background-color:#fff;font-weight:500;color:#000;position:fixed;top:var(--status-bar-height);left:0;width:100vw;z-index:10000}.body-title .arrow-icon[data-v-4574acd6]{position:absolute;left:.65625rem;top:.15625rem;color:#000;padding:.46875rem}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
@@ -20,6 +20,10 @@
height: 100%;
}
/* body {
padding-bottom: 100px;
} */
.operate {
position: fixed;
bottom: 20px;
@@ -54,10 +58,14 @@
#down {
margin-left: 10px;
}
</style>
</head>
<body>
/* #pdf-view {
padding-bottom: 40px;
} */
</style>
</head>
<body>
<div class="operate">
<div id="up">+</div>
<div id="number">100</div>
@@ -71,7 +79,7 @@
<script src="./pdf/pdfh5.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
var pdfh5;
$(function () {
$(function() {
$("#pdf-view").show()
var url = getQuery('url');
pdfh5 = new Pdfh5('#pdf-view', {
@@ -82,15 +90,16 @@
});
//pdf准备开始渲染,此时可以拿到pdf总页数
pdfh5.on("ready", function () {
pdfh5.on("ready", function() {
console.log("pdf准备开始渲染,总页数:" + this.totalNum)
})
//监听pdf渲染成功
pdfh5.on("success", function (time) {
pdfh5.on("success", function(time) {
time = time / 1000
console.log("pdf渲染完成,总耗时" + time + "秒");
})
})
function getQuery(name) {
// 正则:[找寻'&' + 'url参数名字' = '值' + '&']'&'可以不存在)
let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
@@ -102,7 +111,7 @@
return null;
}
let count = 100;
$('#up').click(function () {
$('#up').click(function() {
var div = $('.pdfjs .pdfViewer .pageContainer img')
var width = div.width();
var add = width / 10;
@@ -111,7 +120,7 @@
div.width(width + add)
$('#number').text(count);
})
$('#down').click(function () {
$('#down').click(function() {
var div = $('.pdfjs .pdfViewer .pageContainer img')
var width = div.width();
var add = width / 10;
@@ -121,6 +130,6 @@
$('#number').text(count);
})
</script>
</body>
</body>
</html>
@@ -11,7 +11,7 @@ let isRecording = false;
let audioEngine: AVAudioEngine | null = null;
//音频输入节点(全局变量,避免被释放)
let inputNode: AVAudioInputNode | null = null;
const targetSampleRate:Double = 16000.0; // 和采集时的目标格式一致
const targetSampleRate:Double = 8000.0; // 和采集时的目标格式一致
const channels = 1; // 实际以采集时的声道数为准(可从inputFormat获取)
// 新增:录音启动时间戳(毫秒)
let recordStartTime: number | null = null;