鸿蒙金融理财全栈项目——风险控制、合规审计、产品创新

鸿蒙金融理财全栈项目——风险控制、合规审计、产品创新

《鸿蒙APP开发从入门到精通》第18篇:鸿蒙金融理财全栈项目——风险控制、合规审计、产品创新 📊🛡️🚀

在这里插入图片描述

内容承接与核心价值

这是《鸿蒙APP开发从入门到精通》的第18篇——风险控制、合规审计、产品创新篇100%承接第17篇的金融理财项目架构,并基于金融场景的风险控制、合规审计、产品创新要求,设计并实现鸿蒙金融理财全栈项目的风险控制、合规审计、产品创新功能

学习目标

  • 掌握鸿蒙金融理财项目的风险控制设计与实现;
  • 实现风险评估、风险监控、风险预警;
  • 理解合规审计在金融场景的核心设计与实现;
  • 实现合规检查、合规审计、合规报告;
  • 掌握产品创新在金融场景的设计与实现;
  • 实现产品创新、产品优化、产品推广;
  • 优化金融理财项目的用户体验(风险控制、合规审计、产品创新)。

学习重点

  • 鸿蒙金融理财项目的风险控制设计原则;
  • 合规审计在金融场景的应用;
  • 产品创新在金融场景的设计要点。

一、 风险控制基础 🎯

1.1 风险控制定义

风险控制是指对金融理财项目的风险进行识别、评估、监控、预警的过程,主要包括以下方面:

  • 风险评估:评估用户的风险承受能力;
  • 风险监控:监控金融产品的风险;
  • 风险预警:对风险进行预警。

1.2 风险控制架构

风险控制采用分层架构,由以下部分组成:

  • 风险评估层:负责用户的风险评估;
  • 风险监控层:负责金融产品的风险监控;
  • 风险预警层:负责对风险进行预警。

二、 风险控制实战 🛠️

2.1 实战目标

基于金融场景的风险控制要求,实现以下功能:

  • 风险评估:评估用户的风险承受能力;
  • 风险监控:监控金融产品的风险;
  • 风险预警:对风险进行预警。

2.2 🔧 风险评估实现

1. 风险评估工具类

⌨️ entry/src/main/ets/utils/RiskAssessmentUtil.ets

import risk from'@ohos.risk';// 风险评估工具类exportclassRiskAssessmentUtil{privatestatic instance: RiskAssessmentUtil |null=null;private riskHelper: risk.RiskHelper |null=null;// 单例模式staticgetInstance(): RiskAssessmentUtil {if(!RiskAssessmentUtil.instance){ RiskAssessmentUtil.instance =newRiskAssessmentUtil();}return RiskAssessmentUtil.instance;}// 初始化风险评估工具asyncinit():Promise<void>{if(!this.riskHelper){this.riskHelper = risk.createRiskHelper();}}// 评估用户的风险承受能力asyncassessUserRisk():Promise<risk.RiskAssessmentResult>{if(!this.riskHelper){returnnull;}const result =awaitthis.riskHelper.assessUserRisk();return result;}// 获取用户的风险评估报告asyncgetUserRiskAssessmentReport():Promise<risk.UserRiskAssessmentReport>{if(!this.riskHelper){returnnull;}const result =awaitthis.riskHelper.getUserRiskAssessmentReport();return result;}}
2. 风险评估应用

⌨️ entry/src/main/ets/pages/RiskAssessmentPage.ets

import{ RiskAssessmentUtil }from'../utils/RiskAssessmentUtil';@Entry@Component struct RiskAssessmentPage {@State riskAssessmentResult: risk.RiskAssessmentResult |null=null;build(){Column({ space:16}){Text('风险评估').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');ButtonComponent({ text:'进行风险评估',onClick:async()=>{awaitthis.assessUserRisk();}, disabled:false});if(this.riskAssessmentResult){Text(`风险等级:${this.riskAssessmentResult.riskLevel}`).fontSize(14).textColor('#000000');Text(`风险得分:${this.riskAssessmentResult.riskScore}`).fontSize(14).textColor('#666666');Text(`风险描述:${this.riskAssessmentResult.riskDescription}`).fontSize(14).textColor('#666666');}}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化风险评估 RiskAssessmentUtil.getInstance().init();}asyncassessUserRisk():Promise<void>{this.riskAssessmentResult =await RiskAssessmentUtil.getInstance().assessUserRisk();}}

2.3 🔧 风险监控实现

1. 风险监控工具类

⌨️ entry/src/main/ets/utils/RiskMonitoringUtil.ets

import monitoring from'@ohos.monitoring';// 风险监控工具类exportclassRiskMonitoringUtil{privatestatic instance: RiskMonitoringUtil |null=null;private monitoringHelper: monitoring.MonitoringHelper |null=null;// 单例模式staticgetInstance(): RiskMonitoringUtil {if(!RiskMonitoringUtil.instance){ RiskMonitoringUtil.instance =newRiskMonitoringUtil();}return RiskMonitoringUtil.instance;}// 初始化风险监控工具asyncinit():Promise<void>{if(!this.monitoringHelper){this.monitoringHelper = monitoring.createMonitoringHelper();}}// 监控金融产品的风险asyncmonitorFinancialProductRisk():Promise<Array<monitoring.FinancialProductRisk>>{if(!this.monitoringHelper){return[];}const result =awaitthis.monitoringHelper.monitorFinancialProductRisk();return result;}// 获取金融产品的风险报告asyncgetFinancialProductRiskReport(productId:number):Promise<monitoring.FinancialProductRiskReport>{if(!this.monitoringHelper){returnnull;}const result =awaitthis.monitoringHelper.getFinancialProductRiskReport(productId);return result;}}
2. 风险监控应用

⌨️ entry/src/main/ets/pages/RiskMonitoringPage.ets

import{ RiskMonitoringUtil }from'../utils/RiskMonitoringUtil';@Entry@Component struct RiskMonitoringPage {@State financialProductRisk:Array<monitoring.FinancialProductRisk>=[];build(){Column({ space:16}){Text('风险监控').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');ListComponent({ data:this.financialProductRisk,renderItem:(item: monitoring.FinancialProductRisk, index:number)=>{Row({ space:16}){Text(item.productName).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');Text(`风险等级:${item.riskLevel}`).fontSize(14).textColor('#666666');Text(`风险得分:${item.riskScore}`).fontSize(14).textColor('#666666');}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom:8});},onItemClick:(item: monitoring.FinancialProductRisk, index:number)=>{ router.pushUrl({ url:'/pages/FinancialProductRiskReportPage', params:{ productId: item.productId }});}});}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化风险监控 RiskMonitoringUtil.getInstance().init();// 监控金融产品的风险this.monitorFinancialProductRisk();}asyncmonitorFinancialProductRisk():Promise<void>{this.financialProductRisk =await RiskMonitoringUtil.getInstance().monitorFinancialProductRisk();}}

2.4 🔧 风险预警实现

1. 风险预警工具类

⌨️ entry/src/main/ets/utils/RiskWarningUtil.ets

import warning from'@ohos.warning';// 风险预警工具类exportclassRiskWarningUtil{privatestatic instance: RiskWarningUtil |null=null;private warningHelper: warning.WarningHelper |null=null;// 单例模式staticgetInstance(): RiskWarningUtil {if(!RiskWarningUtil.instance){ RiskWarningUtil.instance =newRiskWarningUtil();}return RiskWarningUtil.instance;}// 初始化风险预警工具asyncinit():Promise<void>{if(!this.warningHelper){this.warningHelper = warning.createWarningHelper();}}// 对风险进行预警asyncissueRiskWarning():Promise<Array<warning.RiskWarning>>{if(!this.warningHelper){return[];}const result =awaitthis.warningHelper.issueRiskWarning();return result;}// 处理风险预警asynchandleRiskWarning(warningId:number):Promise<warning.RiskWarningResult>{if(!this.warningHelper){returnnull;}const result =awaitthis.warningHelper.handleRiskWarning(warningId);return result;}}
2. 风险预警应用

⌨️ entry/src/main/ets/pages/RiskWarningPage.ets

import{ RiskWarningUtil }from'../utils/RiskWarningUtil';@Entry@Component struct RiskWarningPage {@State riskWarning:Array<warning.RiskWarning>=[];build(){Column({ space:16}){Text('风险预警').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');ListComponent({ data:this.riskWarning,renderItem:(item: warning.RiskWarning, index:number)=>{Row({ space:16}){Text(item.warningTime).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');Text(`警告内容:${item.warningContent}`).fontSize(14).textColor('#666666');Text(`警告级别:${item.warningLevel}`).fontSize(14).textColor('#666666');}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom:8});},onItemClick:(item: warning.RiskWarning, index:number)=>{this.handleRiskWarning(item.warningId);}});}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化风险预警 RiskWarningUtil.getInstance().init();// 对风险进行预警this.issueRiskWarning();}asyncissueRiskWarning():Promise<void>{this.riskWarning =await RiskWarningUtil.getInstance().issueRiskWarning();}asynchandleRiskWarning(warningId:number):Promise<void>{const result =await RiskWarningUtil.getInstance().handleRiskWarning(warningId);if(result.success){ promptAction.showToast({ message:'风险预警处理成功'});this.issueRiskWarning();}else{ promptAction.showToast({ message:'风险预警处理失败'});}}}

三、 合规审计实战 🛠️

3.1 实战目标

基于金融场景的合规审计要求,实现以下功能:

  • 合规检查:检查金融产品的合规性;
  • 合规审计:审计金融产品的合规性;
  • 合规报告:生成金融产品的合规报告。

3.2 🔧 合规检查实现

1. 合规检查工具类

⌨️ entry/src/main/ets/utils/ComplianceCheckUtil.ets

import compliance from'@ohos.compliance';// 合规检查工具类exportclassComplianceCheckUtil{privatestatic instance: ComplianceCheckUtil |null=null;private complianceHelper: compliance.ComplianceHelper |null=null;// 单例模式staticgetInstance(): ComplianceCheckUtil {if(!ComplianceCheckUtil.instance){ ComplianceCheckUtil.instance =newComplianceCheckUtil();}return ComplianceCheckUtil.instance;}// 初始化合规检查工具asyncinit():Promise<void>{if(!this.complianceHelper){this.complianceHelper = compliance.createComplianceHelper();}}// 检查金融产品的合规性asynccheckFinancialProductCompliance(productId:number):Promise<compliance.ComplianceCheckResult>{if(!this.complianceHelper){returnnull;}const result =awaitthis.complianceHelper.checkFinancialProductCompliance(productId);return result;}// 获取金融产品的合规报告asyncgetFinancialProductComplianceReport(productId:number):Promise<compliance.ComplianceReport>{if(!this.complianceHelper){returnnull;}const result =awaitthis.complianceHelper.getFinancialProductComplianceReport(productId);return result;}}
2. 合规检查应用

⌨️ entry/src/main/ets/pages/ComplianceCheckPage.ets

import{ ComplianceCheckUtil }from'../utils/ComplianceCheckUtil';@Entry@Component struct ComplianceCheckPage {@State complianceCheckResult: compliance.ComplianceCheckResult |null=null;build(){Column({ space:16}){Text('合规检查').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');InputComponent({ placeholder:'请输入金融产品ID', value:'',onChange:(value:string)=>{this.productId = value;}, type: InputType.Number });ButtonComponent({ text:'进行合规检查',onClick:async()=>{awaitthis.checkFinancialProductCompliance();}, disabled:!this.productId });if(this.complianceCheckResult){Text(`合规结果:${this.complianceCheckResult.compliant}`).fontSize(14).textColor('#000000');Text(`合规得分:${this.complianceCheckResult.complianceScore}`).fontSize(14).textColor('#666666');Text(`合规描述:${this.complianceCheckResult.complianceDescription}`).fontSize(14).textColor('#666666');}}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化合规检查 ComplianceCheckUtil.getInstance().init();}asynccheckFinancialProductCompliance():Promise<void>{this.complianceCheckResult =await ComplianceCheckUtil.getInstance().checkFinancialProductCompliance(parseInt(this.productId));}}

3.3 🔧 合规审计实现

1. 合规审计工具类

⌨️ entry/src/main/ets/utils/ComplianceAuditUtil.ets

import audit from'@ohos.audit';// 合规审计工具类exportclassComplianceAuditUtil{privatestatic instance: ComplianceAuditUtil |null=null;private auditHelper: audit.AuditHelper |null=null;// 单例模式staticgetInstance(): ComplianceAuditUtil {if(!ComplianceAuditUtil.instance){ ComplianceAuditUtil.instance =newComplianceAuditUtil();}return ComplianceAuditUtil.instance;}// 初始化合规审计工具asyncinit():Promise<void>{if(!this.auditHelper){this.auditHelper = audit.createAuditHelper();}}// 审计金融产品的合规性asyncauditFinancialProductCompliance(productId:number):Promise<audit.ComplianceAuditResult>{if(!this.auditHelper){returnnull;}const result =awaitthis.auditHelper.auditFinancialProductCompliance(productId);return result;}// 获取金融产品的合规审计报告asyncgetFinancialProductComplianceAuditReport(productId:number):Promise<audit.ComplianceAuditReport>{if(!this.auditHelper){returnnull;}const result =awaitthis.auditHelper.getFinancialProductComplianceAuditReport(productId);return result;}}
2. 合规审计应用

⌨️ entry/src/main/ets/pages/ComplianceAuditPage.ets

import{ ComplianceAuditUtil }from'../utils/ComplianceAuditUtil';@Entry@Component struct ComplianceAuditPage {@State complianceAuditResult: audit.ComplianceAuditResult |null=null;build(){Column({ space:16}){Text('合规审计').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');InputComponent({ placeholder:'请输入金融产品ID', value:'',onChange:(value:string)=>{this.productId = value;}, type: InputType.Number });ButtonComponent({ text:'进行合规审计',onClick:async()=>{awaitthis.auditFinancialProductCompliance();}, disabled:!this.productId });if(this.complianceAuditResult){Text(`审计结果:${this.complianceAuditResult.auditResult}`).fontSize(14).textColor('#000000');Text(`审计得分:${this.complianceAuditResult.auditScore}`).fontSize(14).textColor('#666666');Text(`审计描述:${this.complianceAuditResult.auditDescription}`).fontSize(14).textColor('#666666');}}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化合规审计 ComplianceAuditUtil.getInstance().init();}asyncauditFinancialProductCompliance():Promise<void>{this.complianceAuditResult =await ComplianceAuditUtil.getInstance().auditFinancialProductCompliance(parseInt(this.productId));}}

3.4 🔧 合规报告实现

1. 合规报告工具类

⌨️ entry/src/main/ets/utils/ComplianceReportUtil.ets

import report from'@ohos.report';// 合规报告工具类exportclassComplianceReportUtil{privatestatic instance: ComplianceReportUtil |null=null;private reportHelper: report.ReportHelper |null=null;// 单例模式staticgetInstance(): ComplianceReportUtil {if(!ComplianceReportUtil.instance){ ComplianceReportUtil.instance =newComplianceReportUtil();}return ComplianceReportUtil.instance;}// 初始化合规报告工具asyncinit():Promise<void>{if(!this.reportHelper){this.reportHelper = report.createReportHelper();}}// 生成金融产品的合规报告asyncgenerateFinancialProductComplianceReport(productId:number):Promise<report.ComplianceReport>{if(!this.reportHelper){returnnull;}const result =awaitthis.reportHelper.generateFinancialProductComplianceReport(productId);return result;}// 下载金融产品的合规报告asyncdownloadFinancialProductComplianceReport(productId:number):Promise<report.ComplianceReportDownloadResult>{if(!this.reportHelper){returnnull;}const result =awaitthis.reportHelper.downloadFinancialProductComplianceReport(productId);return result;}}
2. 合规报告应用

⌨️ entry/src/main/ets/pages/ComplianceReportPage.ets

import{ ComplianceReportUtil }from'../utils/ComplianceReportUtil';@Entry@Component struct ComplianceReportPage {@State complianceReport: report.ComplianceReport |null=null;build(){Column({ space:16}){Text('合规报告').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');InputComponent({ placeholder:'请输入金融产品ID', value:'',onChange:(value:string)=>{this.productId = value;}, type: InputType.Number });ButtonComponent({ text:'生成合规报告',onClick:async()=>{awaitthis.generateFinancialProductComplianceReport();}, disabled:!this.productId });if(this.complianceReport){Text(`报告编号:${this.complianceReport.reportNumber}`).fontSize(14).textColor('#000000');Text(`报告生成时间:${this.complianceReport.reportGenerateTime}`).fontSize(14).textColor('#666666');Text(`报告内容:${this.complianceReport.reportContent}`).fontSize(14).textColor('#666666');}}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化合规报告 ComplianceReportUtil.getInstance().init();}asyncgenerateFinancialProductComplianceReport():Promise<void>{this.complianceReport =await ComplianceReportUtil.getInstance().generateFinancialProductComplianceReport(parseInt(this.productId));}}

四、 产品创新实战 🛠️

4.1 实战目标

基于金融场景的产品创新要求,实现以下功能:

  • 产品创新:开发新的金融产品;
  • 产品优化:优化现有金融产品;
  • 产品推广:推广金融产品。

4.2 🔧 产品创新实现

1. 产品创新工具类

⌨️ entry/src/main/ets/utils/ProductInnovationUtil.ets

import innovation from'@ohos.innovation';// 产品创新工具类exportclassProductInnovationUtil{privatestatic instance: ProductInnovationUtil |null=null;private innovationHelper: innovation.InnovationHelper |null=null;// 单例模式staticgetInstance(): ProductInnovationUtil {if(!ProductInnovationUtil.instance){ ProductInnovationUtil.instance =newProductInnovationUtil();}return ProductInnovationUtil.instance;}// 初始化产品创新工具asyncinit():Promise<void>{if(!this.innovationHelper){this.innovationHelper = innovation.createInnovationHelper();}}// 开发新的金融产品asyncdevelopNewFinancialProduct(productData: innovation.FinancialProductData):Promise<innovation.ProductInnovationResult>{if(!this.innovationHelper){returnnull;}const result =awaitthis.innovationHelper.developNewFinancialProduct(productData);return result;}// 优化现有金融产品asyncoptimizeExistingFinancialProduct(productId:number, productData: innovation.FinancialProductData):Promise<innovation.ProductInnovationResult>{if(!this.innovationHelper){returnnull;}const result =awaitthis.innovationHelper.optimizeExistingFinancialProduct(productId, productData);return result;}}
2. 产品创新应用

⌨️ entry/src/main/ets/pages/ProductInnovationPage.ets

import{ ProductInnovationUtil }from'../utils/ProductInnovationUtil';@Entry@Component struct ProductInnovationPage {@State productData: innovation.FinancialProductData ={ productName:'', productDescription:'', expectedReturnRate:0, riskLevel:'', minimumInvestment:0};build(){Column({ space:16}){Text('产品创新').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');InputComponent({ placeholder:'请输入产品名称', value:this.productData.productName,onChange:(value:string)=>{this.productData.productName = value;}, type: InputType.Normal });InputComponent({ placeholder:'请输入产品描述', value:this.productData.productDescription,onChange:(value:string)=>{this.productData.productDescription = value;}, type: InputType.MultiLine });InputComponent({ placeholder:'请输入预期收益率', value:`${this.productData.expectedReturnRate}`,onChange:(value:string)=>{this.productData.expectedReturnRate =parseFloat(value);}, type: InputType.Number });InputComponent({ placeholder:'请输入风险等级', value:this.productData.riskLevel,onChange:(value:string)=>{this.productData.riskLevel = value;}, type: InputType.Normal });InputComponent({ placeholder:'请输入最低投资金额', value:`${this.productData.minimumInvestment}`,onChange:(value:string)=>{this.productData.minimumInvestment =parseFloat(value);}, type: InputType.Number });ButtonComponent({ text:'开发新产品',onClick:async()=>{awaitthis.developNewFinancialProduct();}, disabled:!this.productData.productName ||!this.productData.productDescription });}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');}aboutToAppear(){// 初始化产品创新 ProductInnovationUtil.getInstance().init();}asyncdevelopNewFinancialProduct():Promise<void>{const result =await ProductInnovationUtil.getInstance().developNewFinancialProduct(this.productData);if(result.success){ promptAction.showToast({ message:'产品开发成功'});// 重置产品数据this.productData ={ productName:'', productDescription:'', expectedReturnRate:0, riskLevel:'', minimumInvestment:0};}else{ promptAction.showToast({ message:'产品开发失败'});}}}

4.3 🔧 产品优化实现

1. 产品优化工具类

⌨️ entry/src/main/ets/utils/ProductOptimizationUtil.ets

import optimization from'@ohos.optimization';// 产品优化工具类exportclassProductOptimizationUtil{privatestatic instance: ProductOptimizationUtil |null=null;private optimizationHelper: optimization.OptimizationHelper |null=null;// 单例模式staticgetInstance(): ProductOptimizationUtil {if(!ProductOptimizationUtil.instance){ ProductOptimizationUtil.instance =newProductOptimizationUtil();}return ProductOptimizationUtil.instance;}// 初始化产品优化工具asyncinit():Promise<void>{if(!this.optimizationHelper){this.optimizationHelper = optimization.createOptimizationHelper();}}// 优化现有金融产品asyncoptimizeExistingFinancialProduct(productId:number, productData: optimization.FinancialProductData):Promise<optimization.ProductOptimizationResult>{if(!this.optimizationHelper){returnnull;}const result =awaitthis.optimizationHelper.optimizeExistingFinancialProduct(productId, productData);return result;}// 分析金融产品的优化建议asyncanalyzeFinancialProductOptimizationSuggestions(productId:number):Promise<Array<optimization.ProductOptimizationSuggestion>>{if(!this.optimizationHelper){return[];}const result =awaitthis.optimizationHelper.analyzeFinancialProductOptimizationSuggestions(productId);return result;}}

4.4 🔧 产品推广实现

1. 产品推广工具类

⌨️ entry/src/main/ets/utils/ProductPromotionUtil.ets

import promotion from'@ohos.promotion';// 产品推广工具类exportclassProductPromotionUtil{privatestatic instance: ProductPromotionUtil |null=null;private promotionHelper: promotion.PromotionHelper |null=null;// 单例模式staticgetInstance(): ProductPromotionUtil {if(!ProductPromotionUtil.instance){ ProductPromotionUtil.instance =newProductPromotionUtil();}return ProductPromotionUtil.instance;}// 初始化产品推广工具asyncinit():Promise<void>{if(!this.promotionHelper){this.promotionHelper = promotion.createPromotionHelper();}}// 推广金融产品asyncpromoteFinancialProduct(productId:number):Promise<promotion.ProductPromotionResult>{if(!this.promotionHelper){returnnull;}const result =awaitthis.promotionHelper.promoteFinancialProduct(productId);return result;}// 获取金融产品的推广报告asyncgetFinancialProductPromotionReport(productId:number):Promise<promotion.ProductPromotionReport>{if(!this.promotionHelper){returnnull;}const result =awaitthis.promotionHelper.getFinancialProductPromotionReport(productId);return result;}}

五、 项目配置与部署 🚀

5.1 配置文件修改

1. module.json5修改

在「entry/src/main/module.json5」中添加风险控制、合规审计、产品创新配置:

{"module":{"requestPermissions":[// ...],"abilities":[// ...],"widgets":[// ...],"pages":[// ...]}}

5.2 🔧 项目部署

1. 编译项目

在DevEco Studio中点击「Build」→「Build HAP」,编译项目。

2. 部署到设备

将编译后的HAP文件部署到鸿蒙设备上。

3. 测试金融理财项目
  • 在应用中查看风险评估的效果;
  • 在应用中查看风险监控的效果;
  • 在应用中查看风险预警的效果;
  • 在应用中查看合规检查的效果;
  • 在应用中查看合规审计的效果;
  • 在应用中查看合规报告的效果;
  • 在应用中查看产品创新的效果;
  • 在应用中查看产品优化的效果;
  • 在应用中查看产品推广的效果。

六、 项目运行与效果验证 📱

6.1 效果验证

风险评估:评估用户的风险承受能力;
风险监控:监控金融产品的风险;
风险预警:对风险进行预警;
合规检查:检查金融产品的合规性;
合规审计:审计金融产品的合规性;
合规报告:生成金融产品的合规报告;
产品创新:开发新的金融产品;
产品优化:优化现有金融产品;
产品推广:推广金融产品。


七、 总结与未来学习路径 🚀

7.1 总结

本文作为《鸿蒙APP开发从入门到精通》的第18篇,完成了:

  • 鸿蒙金融理财项目的风险控制设计与实现;
  • 风险评估、风险监控、风险预警的实现;
  • 合规审计在金融场景的核心设计与实现;
  • 合规检查、合规审计、合规报告的实现;
  • 产品创新在金融场景的设计与实现;
  • 产品创新、产品优化、产品推广的实现。

7.2 未来学习路径

  • 第19篇:鸿蒙金融理财全栈项目——生态合作、用户运营、数据变现;
  • 第20篇:鸿蒙金融理财全栈项目——运维监控、性能优化、安全加固。

八、 结语 ✅

恭喜你!你已经完成了《鸿蒙APP开发从入门到精通》的第18篇,掌握了金融理财项目的风险控制、合规审计、产品创新核心技术。

从现在开始,你已具备了开发风险可控、合规审计完善、产品创新丰富的金融级应用的能力。未来的2篇文章将逐步优化项目的生态合作、用户运营、数据变现,并最终实现应用的上线与变现。

让我们一起期待鸿蒙生态在金融领域的爆发! 🎉🎉🎉

Read more

WebPShop:Photoshop完整支持WebP格式的全面解决方案

WebPShop:Photoshop完整支持WebP格式的全面解决方案 【免费下载链接】WebPShopPhotoshop plug-in for opening and saving WebP images 项目地址: https://gitcode.com/gh_mirrors/we/WebPShop WebPShop是一款专为Photoshop设计的开源插件,解决了Photoshop对WebP图像格式的兼容性问题。通过这个插件,设计师可以轻松打开、编辑和保存WebP格式图像,无论是静态图片还是动态动画,都能获得原生级别的支持。 快速配置指南 Windows系统安装步骤 1. 进入项目目录下的win文件夹 2. 双击打开WebPShop.sln解决方案文件 3. 在Visual Studio中选择x64架构进行构建 4. 将生成的插件文件复制到Photoshop插件目录即可使用 macOS系统安装指南 1. 打开项目中的mac文件夹 2. 使用Xcode打开webpshop.xcodeproj项目文件 3. 编译生成插件并安装到系统插件目录 核心功

By Ne0inhk

题解:2020-网鼎杯-青年组-Web-AreUSerialz

一、涉及知识点 序列化 serialize():将⼀个变量的数据转换为字符串。 反序列化 unserialize():将序列化后的字符串还原。 魔术方法 __destruct(析构函数):是 PHP 内置的魔术方法,核心作用是释放资源。 魔术方法 __wakeup:是 PHP 内置的魔术方法,当使用unserialize() 函数反序列化一个对象时,PHP 会自动调用该对象所属类的__wakeup方法。核心作用是:初始化反序列化对象资源,即恢复反序列化对象的状态。 二、真题解析步骤 最终目的:获得flag 1、获取源码 第一步:访问目标网站 第二步:前台界面(防御级别高,F12调试一下,不是重点) 第三步:7kscan扫描出 后台页面/子域名页面(更容易破解,重点关注) 第四步:访问后台页面/

By Ne0inhk
Ubuntu 搭建前端环境&Vue实战

Ubuntu 搭建前端环境&Vue实战

文章目录 * 前言 * 1. 系统更新和基础依赖 * 2. 安装 nvm (Node Version Manager) * 方法一:使用官方脚本安装(推荐) * 方法二:手动安装 * 激活 nvm * 3. 使用 nvm 安装和管理 Node.js * 4. 安装 pnpm * 方法一:使用 npm 安装(推荐) * 方法二:使用独立脚本安装 * 配置 pnpm * 5. 安装 Vue 开发环境 * 安装 Vue CLI(传统方式) * 使用 create-vue(Vue 官方推荐) * 6. 用 vite

By Ne0inhk

GLM-4.6V-Flash-WEB在体育赛事精彩瞬间自动剪辑中的角色

GLM-4.6V-Flash-WEB在体育赛事精彩瞬间自动剪辑中的角色 在一场激烈的足球比赛中,从开球到终场哨响的90分钟里,真正“高光”的时刻可能加起来不过几分钟——一次精妙的进球、一张关键红牌、一段激情庆祝。然而,观众却不愿花时间回看整场比赛。他们想要的是:立刻看到最精彩的部分。 这正是现代体育内容平台面临的核心挑战——如何从海量视频流中快速、准确地提取出那些值得传播的“瞬间”?传统依赖人工剪辑的方式早已无法满足实时性与规模化需求,而纯规则驱动的计算机视觉方案又难以理解复杂语义事件(比如“假摔”或“战术角球”)。于是,一个新答案浮现出来:用轻量级多模态大模型来做“智能裁判”和“AI剪辑师”。 这其中,智谱AI推出的 GLM-4.6V-Flash-WEB 正悄然成为这一变革的技术支点。 为什么是它? 我们先抛开术语,思考一个问题:理想的“精彩瞬间检测系统”应该长什么样? * 它得快——不能等比赛结束了才生成集锦; * 它要准——不仅能识别“有人倒地”,还得判断是不是犯规; * 它必须便宜且可控——毕竟不是每家公司都能负担GPT-4V级别的API调用成本; * 最重

By Ne0inhk