跳到主要内容鸿蒙金融理财全栈项目:风险控制、合规审计与产品创新 | 极客日志TypeScriptPay大前端算法
鸿蒙金融理财全栈项目:风险控制、合规审计与产品创新
鸿蒙金融理财全栈项目实现风险控制、合规审计及产品创新功能。通过分层架构设计风险评估、监控及预警机制,集成合规检查、审计与报告生成模块。利用 ArkTS 语言开发工具类与应用页面,完成金融产品创新、优化及推广流程。项目涵盖用户风险能力评估、产品风险监控、合规性验证及新产品开发界面交互,提供完整的金融级应用安全与运营解决方案。
www7 浏览 鸿蒙金融理财全栈项目:风险控制、合规审计与产品创新
一、风险控制基础
1.1 风险控制定义
风险控制是指对金融理财项目的风险进行识别、评估、监控、预警的过程,主要包括以下方面:
- 风险评估:评估用户的风险承受能力;
- 风险监控:监控金融产品的风险;
- 风险预警:对风险进行预警。
1.2 风险控制架构
风险控制采用分层架构,由以下部分组成:
- 风险评估层:负责用户的风险评估;
- 风险监控层:负责金融产品的风险监控;
- 风险预警层:负责对风险进行预警。
二、风险控制实战
2.1 实战目标
基于金融场景的风险控制要求,实现以下功能:
- 风险评估:评估用户的风险承受能力;
- 风险监控:监控金融产品的风险;
- 风险预警:对风险进行预警。
2.2 风险评估实现
1. 风险评估工具类
entry/src/main/ets/utils/RiskAssessmentUtil.ets
import risk from '@ohos.risk';
export class RiskAssessmentUtil {
private static instance: RiskAssessmentUtil | null = null;
private riskHelper: risk.RiskHelper | null = null;
static getInstance(): RiskAssessmentUtil {
if (!RiskAssessmentUtil.instance) {
RiskAssessmentUtil.instance = new RiskAssessmentUtil();
}
return RiskAssessmentUtil.instance;
}
async init(): Promise<void> {
if (!this.riskHelper) {
this.riskHelper = risk.createRiskHelper();
}
}
async assessUserRisk(): Promise<risk.RiskAssessmentResult> {
if (!this.riskHelper) return null;
const result = await this.riskHelper.assessUserRisk();
return result;
}
async getUserRiskAssessmentReport(): Promise<risk.UserRiskAssessmentReport> {
if (!this.riskHelper) return null;
const result = await this.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 () => {
await this.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();
}
async assessUserRisk(): Promise<void> {
this.riskAssessmentResult = await RiskAssessmentUtil.getInstance().assessUserRisk();
}
}
2.3 风险监控实现
1. 风险监控工具类
entry/src/main/ets/utils/RiskMonitoringUtil.ets
import monitoring from '@ohos.monitoring';
export class RiskMonitoringUtil {
private static instance: RiskMonitoringUtil | null = null;
private monitoringHelper: monitoring.MonitoringHelper | null = null;
static getInstance(): RiskMonitoringUtil {
if (!RiskMonitoringUtil.instance) {
RiskMonitoringUtil.instance = new RiskMonitoringUtil();
}
return RiskMonitoringUtil.instance;
}
async init(): Promise<void> {
if (!this.monitoringHelper) {
this.monitoringHelper = monitoring.createMonitoringHelper();
}
}
async monitorFinancialProductRisk(): Promise<Array<monitoring.FinancialProductRisk>> {
if (!this.monitoringHelper) return [];
const result = await this.monitoringHelper.monitorFinancialProductRisk();
return result;
}
async getFinancialProductRiskReport(productId: number): Promise<monitoring.FinancialProductRiskReport> {
if (!this.monitoringHelper) return null;
const result = await this.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();
}
async monitorFinancialProductRisk(): Promise<void> {
this.financialProductRisk = await RiskMonitoringUtil.getInstance().monitorFinancialProductRisk();
}
}
2.4 风险预警实现
1. 风险预警工具类
entry/src/main/ets/utils/RiskWarningUtil.ets
import warning from '@ohos.warning';
export class RiskWarningUtil {
private static instance: RiskWarningUtil | null = null;
private warningHelper: warning.WarningHelper | null = null;
static getInstance(): RiskWarningUtil {
if (!RiskWarningUtil.instance) {
RiskWarningUtil.instance = new RiskWarningUtil();
}
return RiskWarningUtil.instance;
}
async init(): Promise<void> {
if (!this.warningHelper) {
this.warningHelper = warning.createWarningHelper();
}
}
async issueRiskWarning(): Promise<Array<warning.RiskWarning>> {
if (!this.warningHelper) return [];
const result = await this.warningHelper.issueRiskWarning();
return result;
}
async handleRiskWarning(warningId: number): Promise<warning.RiskWarningResult> {
if (!this.warningHelper) return null;
const result = await this.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();
}
async issueRiskWarning(): Promise<void> {
this.riskWarning = await RiskWarningUtil.getInstance().issueRiskWarning();
}
async handleRiskWarning(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';
export class ComplianceCheckUtil {
private static instance: ComplianceCheckUtil | null = null;
private complianceHelper: compliance.ComplianceHelper | null = null;
static getInstance(): ComplianceCheckUtil {
if (!ComplianceCheckUtil.instance) {
ComplianceCheckUtil.instance = new ComplianceCheckUtil();
}
return ComplianceCheckUtil.instance;
}
async init(): Promise<void> {
if (!this.complianceHelper) {
this.complianceHelper = compliance.createComplianceHelper();
}
}
async checkFinancialProductCompliance(productId: number): Promise<compliance.ComplianceCheckResult> {
if (!this.complianceHelper) return null;
const result = await this.complianceHelper.checkFinancialProductCompliance(productId);
return result;
}
async getFinancialProductComplianceReport(productId: number): Promise<compliance.ComplianceReport> {
if (!this.complianceHelper) return null;
const result = await this.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;
@State productId: string = '';
build() {
Column({ space: 16 }) {
Text('合规检查').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
InputComponent({ placeholder: '请输入金融产品 ID', value: this.productId, onChange: (value: string) => {
this.productId = value;
}, type: InputType.Number });
ButtonComponent({ text: '进行合规检查', onClick: async () => {
await this.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();
}
async checkFinancialProductCompliance(): 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';
export class ComplianceAuditUtil {
private static instance: ComplianceAuditUtil | null = null;
private auditHelper: audit.AuditHelper | null = null;
static getInstance(): ComplianceAuditUtil {
if (!ComplianceAuditUtil.instance) {
ComplianceAuditUtil.instance = new ComplianceAuditUtil();
}
return ComplianceAuditUtil.instance;
}
async init(): Promise<void> {
if (!this.auditHelper) {
this.auditHelper = audit.createAuditHelper();
}
}
async auditFinancialProductCompliance(productId: number): Promise<audit.ComplianceAuditResult> {
if (!this.auditHelper) return null;
const result = await this.auditHelper.auditFinancialProductCompliance(productId);
return result;
}
async getFinancialProductComplianceAuditReport(productId: number): Promise<audit.ComplianceAuditReport> {
if (!this.auditHelper) return null;
const result = await this.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;
@State productId: string = '';
build() {
Column({ space: 16 }) {
Text('合规审计').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
InputComponent({ placeholder: '请输入金融产品 ID', value: this.productId, onChange: (value: string) => {
this.productId = value;
}, type: InputType.Number });
ButtonComponent({ text: '进行合规审计', onClick: async () => {
await this.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();
}
async auditFinancialProductCompliance(): 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';
export class ComplianceReportUtil {
private static instance: ComplianceReportUtil | null = null;
private reportHelper: report.ReportHelper | null = null;
static getInstance(): ComplianceReportUtil {
if (!ComplianceReportUtil.instance) {
ComplianceReportUtil.instance = new ComplianceReportUtil();
}
return ComplianceReportUtil.instance;
}
async init(): Promise<void> {
if (!this.reportHelper) {
this.reportHelper = report.createReportHelper();
}
}
async generateFinancialProductComplianceReport(productId: number): Promise<report.ComplianceReport> {
if (!this.reportHelper) return null;
const result = await this.reportHelper.generateFinancialProductComplianceReport(productId);
return result;
}
async downloadFinancialProductComplianceReport(productId: number): Promise<report.ComplianceReportDownloadResult> {
if (!this.reportHelper) return null;
const result = await this.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;
@State productId: string = '';
build() {
Column({ space: 16 }) {
Text('合规报告').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
InputComponent({ placeholder: '请输入金融产品 ID', value: this.productId, onChange: (value: string) => {
this.productId = value;
}, type: InputType.Number });
ButtonComponent({ text: '生成合规报告', onClick: async () => {
await this.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();
}
async generateFinancialProductComplianceReport(): 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';
export class ProductInnovationUtil {
private static instance: ProductInnovationUtil | null = null;
private innovationHelper: innovation.InnovationHelper | null = null;
static getInstance(): ProductInnovationUtil {
if (!ProductInnovationUtil.instance) {
ProductInnovationUtil.instance = new ProductInnovationUtil();
}
return ProductInnovationUtil.instance;
}
async init(): Promise<void> {
if (!this.innovationHelper) {
this.innovationHelper = innovation.createInnovationHelper();
}
}
async developNewFinancialProduct(productData: innovation.FinancialProductData): Promise<innovation.ProductInnovationResult> {
if (!this.innovationHelper) return null;
const result = await this.innovationHelper.developNewFinancialProduct(productData);
return result;
}
async optimizeExistingFinancialProduct(productId: number, productData: innovation.FinancialProductData): Promise<innovation.ProductInnovationResult> {
if (!this.innovationHelper) return null;
const result = await this.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 () => {
await this.developNewFinancialProduct();
}, disabled: !this.productData.productName || !this.productData.productDescription });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
ProductInnovationUtil.getInstance().init();
}
async developNewFinancialProduct(): 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';
export class ProductOptimizationUtil {
private static instance: ProductOptimizationUtil | null = null;
private optimizationHelper: optimization.OptimizationHelper | null = null;
static getInstance(): ProductOptimizationUtil {
if (!ProductOptimizationUtil.instance) {
ProductOptimizationUtil.instance = new ProductOptimizationUtil();
}
return ProductOptimizationUtil.instance;
}
async init(): Promise<void> {
if (!this.optimizationHelper) {
this.optimizationHelper = optimization.createOptimizationHelper();
}
}
async optimizeExistingFinancialProduct(productId: number, productData: optimization.FinancialProductData): Promise<optimization.ProductOptimizationResult> {
if (!this.optimizationHelper) return null;
const result = await this.optimizationHelper.optimizeExistingFinancialProduct(productId, productData);
return result;
}
async analyzeFinancialProductOptimizationSuggestions(productId: number): Promise<Array<optimization.ProductOptimizationSuggestion>> {
if (!this.optimizationHelper) return [];
const result = await this.optimizationHelper.analyzeFinancialProductOptimizationSuggestions(productId);
return result;
}
}
4.4 产品推广实现
1. 产品推广工具类
entry/src/main/ets/utils/ProductPromotionUtil.ets
import promotion from '@ohos.promotion';
export class ProductPromotionUtil {
private static instance: ProductPromotionUtil | null = null;
private promotionHelper: promotion.PromotionHelper | null = null;
static getInstance(): ProductPromotionUtil {
if (!ProductPromotionUtil.instance) {
ProductPromotionUtil.instance = new ProductPromotionUtil();
}
return ProductPromotionUtil.instance;
}
async init(): Promise<void> {
if (!this.promotionHelper) {
this.promotionHelper = promotion.createPromotionHelper();
}
}
async promoteFinancialProduct(productId: number): Promise<promotion.ProductPromotionResult> {
if (!this.promotionHelper) return null;
const result = await this.promotionHelper.promoteFinancialProduct(productId);
return result;
}
async getFinancialProductPromotionReport(productId: number): Promise<promotion.ProductPromotionReport> {
if (!this.promotionHelper) return null;
const result = await this.promotionHelper.getFinancialProductPromotionReport(productId);
return result;
}
}
五、项目配置与部署
5.1 配置文件修改
在 entry/src/main/module.json5 中添加风险控制、合规审计、产品创新配置:
{
"module": {
"requestPermissions": [],
"abilities": [],
"widgets": [],
"pages": []
}
}
5.2 项目部署
- 编译项目:在 DevEco Studio 中点击「Build」→「Build HAP」,编译项目。
- 部署到设备:将编译后的 HAP 文件部署到鸿蒙设备上。
- 测试金融理财项目:
- 在应用中查看风险评估的效果;
- 在应用中查看风险监控的效果;
- 在应用中查看风险预警的效果;
- 在应用中查看合规检查的效果;
- 在应用中查看合规审计的效果;
- 在应用中查看合规报告的效果;
- 在应用中查看产品创新的效果;
- 在应用中查看产品优化的效果;
- 在应用中查看产品推广的效果。
六、项目运行与效果验证
6.1 效果验证
- 风险评估:评估用户的风险承受能力;
- 风险监控:监控金融产品的风险;
- 风险预警:对风险进行预警;
- 合规检查:检查金融产品的合规性;
- 合规审计:审计金融产品的合规性;
- 合规报告:生成金融产品的合规报告;
- 产品创新:开发新的金融产品;
- 产品优化:优化现有金融产品;
- 产品推广:推广金融产品。
七、总结
本文完成了鸿蒙金融理财项目的风险控制设计与实现,包括风险评估、监控、预警。实现了合规检查、审计、报告的核心设计。完成了产品创新、优化、推广的设计与实现。通过 ArkTS 语言开发了相关工具类与应用页面,提供了完整的金融级应用安全与运营解决方案。
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- Gemini 图片去水印
基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
- HTML转Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online