feat: 新增安全学习页面退出提示功能

1. 新增多语言词条用于温馨提示和退出确认弹窗
2. 调整视频页面UI布局适配全屏显示
3. 优化蓝牙延迟返回逻辑避免重复跳转主页
4. 为安全学习页面添加返回确认弹窗逻辑
5. 为安全学习页面预制体绑定退出提示弹窗组件
This commit is contained in:
“虞渠成” 2026-07-14 13:43:57 +08:00
parent b83bf75330
commit 5105f6fbfa
5 changed files with 279 additions and 4 deletions

View File

@ -1523,6 +1523,16 @@
"key": "100305",
"zh": "国家/地区",
"en": "Country/Region"
},
{
"key": "100306",
"zh": "温馨提示",
"en": "Tips"
},
{
"key": "100307",
"zh": "答题进度将不会被保存,确定退出?",
"en": "Assessment progress will not be saved. Exit now?"
}

View File

@ -5265,6 +5265,7 @@ RectTransform:
- {fileID: 3344115969272692373}
- {fileID: 4979664660209189838}
- {fileID: 1852129750215414410}
- {fileID: 8390716373871088365}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -5328,6 +5329,7 @@ MonoBehaviour:
- {fileID: 9123274365802173091}
- {fileID: 8645046711372268641}
topUI: {fileID: 5964361374726533750}
backTip: {fileID: 2496965656737255716}
--- !u!1 &9067201341321877501
GameObject:
m_ObjectHideFlags: 0
@ -5866,6 +5868,262 @@ MonoBehaviour:
type: 3}
sonObjs: []
questionQueue: []
--- !u!1001 &2581667851608837118
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 3132605764276053906}
m_Modifications:
- target: {fileID: 1507386632888176871, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1507386632888176871, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1507386632888176871, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.x
value: 530
objectReference: {fileID: 0}
- target: {fileID: 1507386632888176871, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.y
value: 90
objectReference: {fileID: 0}
- target: {fileID: 1507386632888176871, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 295
objectReference: {fileID: 0}
- target: {fileID: 1507386632888176871, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -362
objectReference: {fileID: 0}
- target: {fileID: 4296973555611399213, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4296973555611399213, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4296973555611399213, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.x
value: 530
objectReference: {fileID: 0}
- target: {fileID: 4296973555611399213, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.y
value: 45
objectReference: {fileID: 0}
- target: {fileID: 4296973555611399213, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 295
objectReference: {fileID: 0}
- target: {fileID: 4296973555611399213, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -55
objectReference: {fileID: 0}
- target: {fileID: 4685927451915885120, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.y
value: 392
objectReference: {fileID: 0}
- target: {fileID: 5819498693055166909, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_Name
value: "\u9000\u51FA\u63D0\u9192"
objectReference: {fileID: 0}
- target: {fileID: 5819498693055166909, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMax.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6932510086501176331, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: textKey
value: 100306
objectReference: {fileID: 0}
- target: {fileID: 6936886167337472632, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6936886167337472632, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6936886167337472632, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.x
value: 530
objectReference: {fileID: 0}
- target: {fileID: 6936886167337472632, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_SizeDelta.y
value: 92
objectReference: {fileID: 0}
- target: {fileID: 6936886167337472632, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 295
objectReference: {fileID: 0}
- target: {fileID: 6936886167337472632, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -140
objectReference: {fileID: 0}
- target: {fileID: 7452104535586638788, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: textKey
value: 100307
objectReference: {fileID: 0}
- target: {fileID: 8129608870612343553, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_Text
value: Assessment progress will not be saved. Exit now?
objectReference: {fileID: 0}
- target: {fileID: 8554119746467992561, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
propertyPath: m_Text
value: Tips
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 52c284b3dc8d7b94297736ede9ad1f7e, type: 3}
--- !u!114 &2496965656737255716 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 104968393464765146, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
m_PrefabInstance: {fileID: 2581667851608837118}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ce7f9a66c3b832343bd86c4b491d90c8, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &8390716373871088365 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6314676893636565267, guid: 52c284b3dc8d7b94297736ede9ad1f7e,
type: 3}
m_PrefabInstance: {fileID: 2581667851608837118}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &2596339697786043469
PrefabInstance:
m_ObjectHideFlags: 0

View File

@ -2922,10 +2922,10 @@ RectTransform:
- {fileID: 4456453622763294627}
m_Father: {fileID: 3526220891912601925}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: -200}
m_SizeDelta: {x: 688, y: 60}
m_SizeDelta: {x: -60, y: 60}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &76054174154722392
CanvasRenderer:

View File

@ -144,6 +144,7 @@ namespace Kill.Bluetooth
private System.Collections.IEnumerator DelayedGoHome()
{
yield return new WaitForSeconds(1f);
if(UIManager.Instance.nowPageName!=UIManager.PageName.homePage)
UIManager.Instance?.OpenMainPage(UIManager.PageName.homePage);
}
void Start()

View File

@ -24,6 +24,7 @@ namespace Kill.UI.Pages
// 题目数据
private List<QuestionInfo> questions = new List<QuestionInfo>();
private int currentQuestionIndex = 0;
public WindowTipCtrl backTip;
void Awake()
{
@ -140,6 +141,11 @@ namespace Kill.UI.Pages
UIManager.Instance.OpenPage(UIManager.PageName.connectDevicePage,null,true);
}
public void BackAction()
{
backTip.Init(SureBack,()=>{backTip.gameObject.SetActive(false);});
backTip.gameObject.SetActive(true);
}
public void SureBack()
{
UIManager.Instance.OpenPage(UIManager.PageName.homePage,null,true);
}