跨平台组件方案设计

一、背景说明

    模块是对业务的抽象,组件是对功能的抽象,组件化的目的是为了将高频使用的功能点抽象成独立的插件,供开发者调用,提高开发效率;跨平台组件通过对不同芯片平台的兼容适配,提供给应用开发者无差异化的无感接口;解决以往同一个功能组件,各芯片端/业务线需要分开维护,造成人力浪费的问题;跨平台组件示意图如下:

 

二、设计原则

2.1 功能独立

组件内部不能互相显式调用,上层组件可以依赖下层组件接口,不同组件之间可以隐式调用;

2.2 功能单一

一个组件实现一个功能;

2.3 组件分类

组件按照功能可以分为4种:通用组件、基础组件、业务组件、应用组件,各组件说明见下表:

类别

功能

备注

平台组件

平台相关的硬件抽象层,抽象硬件基础能力,比如PWM,FLASH、UART、TIMER等,兼容不同厂家SDK,向上层业务提供统一接口,连接业务和不同芯片平台,其它组件可以显式调用;

说明:不同协议,不同芯片平台驱动实现有差异,建议分芯片平台抽象组件,比如ST的芯片是一个组件,乐鑫的硬件抽象层放到一个组件;虽然不同芯片类型的驱动能力放到不同组件,但是各芯片的sal接口命名是统一的,可以由上层业务统一显式调用。

 

通用组件

集成通用工具,比如:字符转换接口,加解密接口等

 

基础组件

提供基础服务/能力,比如:红外解码,按键事件等

 

业务组件

品类通用业务功能,通常相对稳定;

 

应用组件

是对高频定制业务的抽象,需要适应本地业务变化,持续集成,比如:遥控器/按钮对应的功能库,大客户定制业务等。

问题:考虑后续集成功能规模较大,Flash资源可能不够。

暂行办法:拆分成颗粒度适当的组件,通过配置项配置;

优点:不使用的组件不占用硬件资源;

缺点:颗粒度太小,组件数量太多,不好管理。

 

2.4 组件下沉

将相对稳定的业务下沉,对于那些由于不同品类导致的差异化部分通过注册的方式向开发者提供接口,处理执行结果;比如倒计时功能,照明品类是开关灯,电工品类是开关插座,开关灯/开关插座/其它操作 就是执行结果,应该放到应用层由开发者处理;

2.5 方便剪裁

每个组件都可以单独编译,不能出现不编译某个组件编译报错的情况(个别基础组件除外);每个组件只提供给开发者一个初始化接口;

2.6 兼容接口

组件接口分为:兼容性接口,非兼容性接口两种,实际情况也是如此,很难做到所有接口兼容;但是原则上讲,尽量做成兼容接口;

 

三、平台适配

针对不同芯片平台的差异处理,基本思路是增加适配层,主要是对硬件驱动的接口适配,有无操作系统适配。具体内容如下:

3.1 硬件适配

    对不同硬件的适配,通过增加一个软件抽象层实现,格式类似 manufacturer_sal_xx(),一般芯片厂商都提供了硬件抽象层manufacturer_hal_xx(),但是有些厂商的原厂SDK接口没有抽象hal层。所以如果是已经提供了manufacturer_hal_xx() 接口那么只需要再抽一个manufacturer_sal_xx.h头文件接口即可,头文件中的内容如下:(manufacturer 一般是厂商名缩写)

#define manufacturer_sal_xx()   esp_hal_xx()

    如果芯片平台调用的原厂SDK没有提供hal层,那么需要新增两个文件作为软件适配层,分别是:manufacturer_sal_xx.h,manufacturer_sal_xx.c;manufacturer_sal_xx.h中主要是函数声明,比如:

extern VOID manufacturer_sal_xx(VOID arg);

    manufacturer_sal_xx.c中则是对原厂接口的抽象层封装,比如:

VOID manufacturer_sal_xx(VOID arg)
{
    // to do
}

    为什么所有芯片不对标某些厂商的manufacturer_hal_xx()接口,那么原来hal接口就可以直接使用;这里有个顾虑,主要是担心有些入参无法适配或者不好适配,或者原来接口不符合我们预期,于是单独拉个软件抽象层;

3.2 系统适配

    由于目前很多WiFi芯片是基于RTOS进行应用开发,BT和ZigBee更多是基于裸机开发,那么跨平台组件就涉及到是否支持OS的适配问题,RTOS内核主要包括几大模块:线程管理,任务调度,线程通信,内存管理、时钟管理,中断管理;但是由于有些模块在裸机上实现比较复杂,考虑到当前业务场景的使用频率,暂时只实现部分OS接口适配,分为兼容性适配层和非兼容性适配层,其中裸机实现比较复杂的放到非兼容性适配层。针对OS和裸机接口需要再做一个适配层,这个适配层和上述硬件适配层的sal功能类似。

3.2.1 兼容性适配层

  • 定时器
  • 内存管理
  • 消息队列

3.2.2 非兼容性适配层

     裸机实现比较复杂的OS功能放到非兼容性适配层,代码越复杂,出错的概率就越高,按照实际情况做取舍,以下内容暂时不做适配:

  • 线程管理
  • 互斥锁
  • ... ...

3.3 通信适配

    通信能力主要是指上下行数据,对于设备端而言,也就是指令接收和数据上报,不同芯片平台的上报接口也不同。由于三种芯片平台的通信能力不同,数据链路不同,数据格式也不同,为了抽象不同平台的通信能力,将数据上报抽象成句柄的方式,句柄包括WIFI,BT、ZigBee设备的上报能力;不同芯片平台只需要给句柄赋值,然后调用接口即可,如下图伪代码:

typdef struct{
    PT_TYPE_E pt_type; // 协议类型
    union{
        WIFI_HANDLE_S   wifi_handle;
        BT_HANDLE_S     bt_handle;
        ZIGBEE_HANDLE_S zigbee_hanle;
    }REPORT_HANDLE;
}MANU_REPORT_HANDLE_S;

RET_E manufacturer_data_report(MAUN_REPORT_HANDLE_S* manu_report_handle)
{
    //to do
}




example:

MAUN_REPORT_HANDLE_S manu_report_handle;
//to do
RET_E ret = manu_data_report(&manu_report_handle);
if(RET_OK != ret){
    PR_ERR("manufacturer report data err, %d", ret);
    return ret;
}

3.3.5 指令接收

    不同芯片平台收到的数据也不同,那么对于组件而言,如何适配这些不同格式的数据?答案是:组件不适配。不同的芯片平台,数据格式不同,这些数据在业务逻辑层转换成组件支持的数据格式,比如收到的是压缩数据,就先将数据解压,然后才能被组件解析。

 

3.4 功耗适配

关于低功耗实现,很多芯片是放在sdk上处理,如果应用上有显式调用就抽出来;

平台有用到就抽出来,没用到就空函数。

 

四、设计规范

4.1 编码规范

 

4.2 组件规范

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java系统软件技术架构设计方案全文共3页,当前为第1页。java系统软件技术架构设计方案全文共3页,当前为第1页。xxx系统力技术架构与平台设计 java系统软件技术架构设计方案全文共3页,当前为第1页。 java系统软件技术架构设计方案全文共3页,当前为第1页。 一、 设计理念 "既要创造客户价值,又要提供良好的用户体验"是xxxx公司的软 件设计理念。 xxxxx 一方面强调对用户要好用,满足用户的使用习惯和思维习 惯,同时要满足用户对成本控制、可管理性以及安全方面的要求,尽 管两者时有冲突,但是,从产品的角度来看,对这两点的整合能力也 是衡量一个软件产品质量的瑟码。 为了实现这种设计思想,我们采用 了种种手段予以解决满足了部分用户的高级应用需求。 此项教学系统采用Java技术,J2EE架构开发的先进的白主群件 平台。Java技术由于其跨平台特性,面向对象特性,安全特性等。 J2EE把数据库访问,Java组件和WE哉术等有机地集成在一起,使 之特别适合于各类医学教学机构复杂的大中型应用, 更好支持B/S结 构,保证系统具有很好的可扩展性。 三层结构:MVCC7式的三层结构设计,保证系统灵活高效; 兼容性:系统跨平台设计,兼容多种关系数据库,适应客户的软 硬件环境。 高性能:采用数据库连接池,通过JDBCS术访问数据库,满足频 繁访问需求;多处采用缓存技术,提高系统整体性能。 完全B/S结构:方便用户使用,方便管理员维护。 结构图: java系统软件技术架构设计方案全文共3页,当前为第2页。java系统软件技术架构设计方案全文共3页,当前为第2页。应用架构图(小型应用) java系统软件技术架构设计方案全文共3页,当前为第2页。 java系统软件技术架构设计方案全文共3页,当前为第2页。 应用架构图(大型应用) 运行环境 java系统软件技术架构设计方案全文共3页,当前为第3页。java系统软件技术架构设计方案全文共3页,当前为第3页。服务器 操作系统:Microsoft Windows NT/2000 或更高版本; java系统软件技术架构设计方案全文共3页,当前为第3页。 java系统软件技术架构设计方案全文共3页,当前为第3页。 Redhat Linux 或其他 Linux、Unix 系统; 内存: 256MB,建议512MB或更多; 硬盘: 20GB,建议40GB以上; 客户机 操作系统:Microsoft Windows 98/NT/2000/XP 浏览器: Microsoft IE 5.0 以上 分辨率:800 X 600以上分辨率,建议1024X 768 java系统软件技术架构设计方案
QTouch组态软件概述   1 概述   QTouch跨平台自动化软件是采用跨平台类库设计,集成了:设备通信、图形显示、数据转换、逻辑处理等功能,提供二次开发的自动化平台软件。其功能强大,协议丰富,简单易用,跨平台支持等特点,在国内的自动化平台软件上属于首创,并具有国际领先水平。   1.1 跨平台支持   QTouch跨平台自动化软件,支持众多的操作系统,从而实现多平台的运行和协作,具有多平台支持,统一开发平台,多平台协作运行,实现智慧及物联,其支持的操作系统如下所示:   1   除上述常见的OS以外,完整的OS支持列表如下:   2   备注中描述的下载安装,可以到官方网站:www.sitcsys.com下载试用。   1.2 智能处理器支持   QTouch尤其在智能终端上的支持性能良好,除支持通用的intel处理器外,更多的支持基于ARM构架的RISC处理器,便于用户采用QTouch软件快速的组件自己的智能化产品。   3   1.3 运行方式   QTouch运行方式分为设计开发环境和运行环境,设计开发环境可以在台式机或笔记本上进行,而运行环境则可以在多种设备上运行,只需要通过usb或RJ45网络进行下载即可。运行方式如下图所示:   4   1.4 功能列表   QTouch软件集成了设备通信、图形界面、数据转换、逻辑处理等四大自动化应用,并提供统一的二次开发环境,在应用上支持:智能设备运行,web访问接口,移动APP应用,本地计算机运行等四种运行方式。功能列表说明如下:   5   应用支持说明如下:   6   1.5 典型应用方向   QTouch具有4个自动化相关的功能和4个应用模式,基本涵盖了工业自动化相关的所有应用,特别在工业设备联网应用上具有多维度的实现方式,因而既具有自动化控制和管理的基础性平台,又具有多系统,多维度的接入方案,是智能化发展潮流中最先进的平台软件。其典型应用如下:   7   8   9   2 QTouch技术详解   2.1 QTouch下载及安装   用户可以从武汉舜通智能科技有限公司的官方网站下载QTouch软件,地址为:www.sitcsys.com,下载页面包含如下版本及内容:   10   2.2 QTouch工程管理器   用户安装完QTouch之后,在桌面上有2个图标,一个是QTouch工程管理器,一个是QTouch运行,QTouch工程管理器即为项目的二次设计平台,QTouch运行则是在计算机上运行设计好的项目工程。显示如下:   11   工程管理器具有如下设计功能:   12   2.3 画面设计   用户通过工程管理器建立好工程之后,通过建立画面,双击启动画面的编辑环境,用户可以在绘图工具上进行画面的设计和运行的数据关联,显示如下:   13   绘图系统具有如下设计功能:   14   JS开发环境如下图所示:   15   2.4 设备通信管理   通过QTouch的工程管理器进行对通信设备的设置和变量的配置,便于用户快速的组建设备通信网络,实现对数据的接入和管理,系统界面如下:   16   设备建立完成之后,在数据库配置工具上,进行设备通信点表的配置,只有完成了点表的配置,QTouch系统才能通过通信线,实现从设备中获取数据,进入QTouch的数据库系统,显示如下:   17   2.5 逻辑编程   QTouch具有丰富的逻辑编程能力,提供2种逻辑处理手段,一个是基于IEC61131-3标准的softPLC,一个是基于c语言的编辑编译系统,通过提供的2种逻辑编程方式,能够实现任意的逻辑处理算法。梯形图编程环境如下所示:   18   C语言编程环境如下所示,用户可以将自己的c语言嵌入进来,也可以自行开发,通过API调用QTouch内存数据或SQL数据。   19   3 应用案例   QTouch跨平台自动化软件最近几年取得了广泛的应用,获得用户的肯定,在跨平台技术创新上处于国内领先水平,具有长足的发展空间,同时也是填补了国内在工业自动化软件平台上的短板。
XXXXX 数字常规对讲机覆盖系统 无线覆盖设计方案  数字常规对讲机覆盖系统 技术方案 设计单位:武汉易达通科技发展有限公司 2015年7月 无线覆盖设计方案全文共10页,当前为第1页。 无线覆盖设计方案全文共10页,当前为第1页。 目 录 一、 需求分析 3 二、 系统架构 3 1. 系统架构 3 2. 系统设备布局 3 3. 频道的规划和使用 3 三、 系统优势 5 四、 主要设备介绍 6 1. 中继信道机: R8200 数字版 6 2. 定向耦合合路器组件:E-FH400-3DB-2 7 3. 接收机多路耦合组件: E-JF400-2 7 4. 合路平台-窄带双工器: E-SGQ-400N 7 5. 室内射频放大组件:E-BDA-3700 8 6. 手持对讲机:DM8660 数字版 8 7. 室内吸顶天线: E-ANTO2 8 8. 定向耦合器: EVDC 9 9. 功率分配器: EVPD2 9 10. 电缆:HCAAYZ-50-12 9 无线覆盖设计方案全文共10页,当前为第2页。 无线覆盖设计方案全文共10页,当前为第2页。 需求分析 无线对讲机覆盖系统主要用来解决大型建筑物内部的信号盲区,通过覆盖使信号在有关空间区域内有效,使客户不再受建筑物空间和屏蔽束缚,实现在有效域内的工作协调和指挥调度需求。室内无线对讲通信的改善,对于业主提升形象、应对突发事件、提高办事效率和为用户提供更好更完美的服务具有很大意义。 根据贵单位的特点,我们认为无线对讲机覆盖系统应满足以下几点: 设计的对讲机覆盖系统的覆盖区域为所有建筑的公共区域、楼梯及电梯轿厢内; 系统设计要求具备八个通信频道,分别各有关部门人员使用。八个频道同时在线进行通信,互相可切换通信的工作频道,并不会互相产生干扰; 本系统设计采用的频率为当地无线电管理局获得许可,并可在建成后获得系统使用许可证; 整个对讲机覆盖系统采用室内吸顶天线和同轴电缆组成的室内无源分布系统来实现信号的覆盖; 系统架构 系统架构 整个无线对讲机覆盖系统是包括信号源和天馈室内分布系统两部分组成。信号源作为系统的核心部件将接收到的对讲机信号处理后,放大并回送到对讲机终端,从而实现建筑内外对讲机之间的桥接作用,天馈室内分布系统作为信号在建筑内传输的网络,遍布建筑各个位置,通过室内天线来发射和接收天线附近对讲机终端的信息,室内分布系统的优劣直接影响到整个覆盖区域的效果。 系统设备布局 信号源-中继控制信道机拟定安装在消防控制室内,由一个立式机柜构成,所有信号都将在这里做汇接处理,经过合路平台后,将信号发散到整个建筑内部。输出的主干线建筑的内部桥架系统将信号传输到各个层面的室内天线上,并通过室内天线将信号发送给移动中的对讲机终端。 无线覆盖设计方案全文共10页,当前为第3页。 无线覆盖设计方案全文共10页,当前为第3页。 频道的规划和使用 可覆盖整个内部的频道为八个,可提供给各有关部门人员使用。其中1-4频道供校园4个不同部门使用。同时其他临时部门可通过脱网频道在部分区域进行通信,既节约了有限的频率资源,又不受干扰的通信。 频道分配 使用部门 通信范围 1信道1时隙 A1酒店A部门内部通讯,可切换频道呼叫其他部门 整个内部区域及 建筑外200米范围 1信道2时隙 A1酒店B部门内部通信,可切换频道呼叫其他部门 整个内部区域及 建筑外200米范围 2信道1时隙 A1酒店C部门内部通信,可切换频道呼叫其他部门 整个内部区域及 建筑外200米范围 2信道2时隙 A1酒店D部门内部通信,可切换频道呼叫其他部门 整个内部区域及 建筑外200米范围 脱网 其他临时部门 内部分区域 无线覆盖设计方案全文共10页,当前为第4页。 无线覆盖设计方案全文共10页,当前为第4页。 系统优势 高效安全的调度管理 数字系统具备固有的安全性,可以防止一般的利用扫描设备等装置进行的窃听,一千六百万个个呼号和组呼号,只有在频率相同,呼号都正确时才能呼通和监听,被监听的机会几乎是零。不会被非法使用者/干扰信号烦扰,当对讲机响起时,一定是与使用者有关的呼叫。 可增加一倍信道容量,降低设备成本 数字信道机将现有信道分为2个时隙,将信道容量增至两倍,并且不需要增加合成设备。扩充了系统容量,降低了用户投资。 数字/模拟系统兼容、保证系统平滑过渡,保护用户资源 数字对讲机能够在模拟和数字两种模式下工作,让用户能够按照自己的规划,有计划地平滑过渡,不会造成通信的中断。数字对讲机能够同时支持模拟信道和数字分组通话(手台、车台),支持模拟信道和数字通话组的混合扫描(手台、车台)。使得跨网移动漫游在一定程度上成为可能,大大方便了用户的使用。 数字音质、使得清晰音质的范围更广 数字系统具备特有的对环境噪声的抑制能力,即使在非常嘈杂的环境下讲话对方也能收听到
Chameleon简写CML,中文名卡梅龙;中文意思变色龙,意味着就像变色龙一样能适应不同环境的跨端整体解决方案。 支持平台:web、微信小程序、支付宝小程序、百度小程序、android(weex)、ios(weex)、qq 小程序、字节跳动小程序、快应用、持续更新中 一端所见即多端所见——多端高度一致,无需关注各端文档。 特点: 多端高度一致 深入到编程语言维度保障一致性,包括框架、生命周期、内置组件、事件通信、路由、界面布局、界面单位、组件作用域、组件通信等高度统一。 丰富的组件 在用 CML 写页面时,chameleon 提供了丰富的组件供开发者使用,内置的有button switch radio checkbox等组件,扩展的有c-picker c-dialog c-loading等等,覆盖了开发工作中常用的组件。 丰富的 API 为了方便开发者的高效开发,chameleon 提供了丰富的 API 库,发布为 npm 包chameleon-api,里面包括了网络请求、数据存储、地理位置、系统信息、动画等方法。 自由定制 API 和组件 基于强大的多态协议,可自由扩展任意 API 和组件,不强依赖框架的更新。各端原始项目中已积累大量组件,也能直接引入到跨端项目中使用。 基于强大的多态协议,充分隔离各端差异化实现,轻松维护一套代码实现跨多端。 智能规范校验 代码规范校验,当出现不符合规范要求的代码时,编辑器会展示智能提示,不用挨个调试各端代码,同时命令行启动窗口也会提示代码的错误位置。 渐进式跨端 既想一套代码运行多端,又不用大刀阔斧的重构项目?不仅可以用 cml 开发页面,也可以将多端重用组件用 cml 开发,直接在原有项目里面调用。 先进前端开发体验 Chameleon 不仅仅是跨端解决方案。基于优秀的前端打包工具 Webpack,吸收了业内多年来积累的最有用的工程化设计,提供了前端基础开发脚手架命令工具,帮助端开发者从开发、联调、测试、上线等全流程高效的完成业务开发。 业务线收集 使用CML业务线收集。
### 回答1: Delphi XE10是一种集成开发环境(IDE),可用于创建跨平台的应用程序。跨平台三层http是指在Delphi XE10中使用三层架构进行跨平台的http通信。 三层架构是一种软件设计模式,将软件系统划分为三个层次:表示层、业务逻辑层和数据访问层。在跨平台的应用开发中,三层架构可以帮助开发人员将应用程序的逻辑和数据访问与UI(用户界面)分离,以便在不同的平台上进行部署和使用。 Delphi XE10提供了强大的组件和工具,可以轻松地实现跨平台的http通信。通过Delphi XE10的http组件,开发人员可以在应用程序中发送和接收http请求和响应。这使得应用程序能够与web服务器进行通信,并使用http协议获取和传输数据。 使用Delphi XE10的跨平台三层http通信,开发人员可以方便地在不同的平台上开发和部署应用程序,无论是在Windows、Mac还是移动设备上。由于Delphi XE10的http组件具有高度可定制性和灵活性,开发人员可以根据自己的需求进行扩展和定制,以实现更复杂的http通信功能。 总之,Delphi XE10提供了跨平台三层http通信的解决方案,为开发人员在各种平台上创建功能强大的应用程序提供了便利。无论是进行数据传输还是与web服务器进行通信,Delphi XE10的强大功能和易用性为开发人员提供了更好的开发体验。 ### 回答2: Delphi XE10是一款强大的集成开发环境(IDE),可以用于跨平台开发。它支持多个操作系统,包括Windows、Mac、iOS和Android等,并且可以轻松实现跨平台的HTTP通信。 跨平台三层HTTP是一种常见的应用架构模式,用于在客户端和服务器之间通过HTTP协议进行通信。它将应用程序分为三层:表示层、业务逻辑层和数据存储层。 表示层负责呈现用户界面,并与用户进行交互。Delphi XE10提供了丰富的用户界面设计工具,可以使用可视化方式设计跨平台的界面,并实现与用户的交互操作。 业务逻辑层是应用程序的核心,负责处理业务逻辑和数据处理。Delphi XE10内置了强大的编程语言和框架,可以轻松实现业务逻辑的处理和数据管理。开发人员可以使用Delphi XE10提供的组件和功能,编写业务逻辑代码,并进行数据处理和操作。 数据存储层负责管理和存储数据。Delphi XE10支持多种数据库连接,可以轻松实现与不同数据库的数据交互。开发人员可以使用Delphi XE10提供的组件和工具,连接到数据库,并进行数据的读取、写入和管理。 总结来说,Delphi XE10是一款强大的跨平台开发工具,可以实现三层HTTP架构模式。它提供了丰富的界面设计工具、强大的编程语言和框架,以及灵活的数据库连接功能,使开发人员可以轻松构建跨平台的应用程序,并实现与服务器的HTTP通信。 ### 回答3: Delphi XE10是一种集成开发环境(IDE),用于创建跨平台应用程序。它支持创建三层架构的应用程序,并可以使用HTTP协议进行数据传输。 跨平台三层意味着应用程序的架构被分为三个层次:表示层、业务逻辑层和数据访问层。在Delphi XE10中,开发人员可以使用不同的界面设计工具创建用户界面,例如FireMonkey和VCL。这些界面可以在不同的操作系统上运行,例如Windows、iOS和Android。 业务逻辑层是应用程序的核心部分,用于处理业务逻辑和数据处理。通过使用Delphi XE10的对象导向编程语言,我们可以编写适应不同平台的代码逻辑,以便应用程序在各个平台上都能正常运行。 数据访问层负责与数据库进行交互,从中读取和写入数据。Delphi XE10支持许多数据库引擎,例如MySQL、SQLite和Oracle。通过使用Delphi XE10提供的数据访问组件,开发人员可以轻松地建立与数据库的连接,执行查询和更新数据。 在跨平台三层架构中,HTTP协议用于实现不同层之间的数据传输。开发人员可以使用Delphi XE10提供的HTTP客户端组件进行数据的发送和接收。这种方式可以在不同的平台上实现数据的交换,使得应用程序能够跨平台运行。 总的来说,Delphi XE10支持开发跨平台的三层架构应用程序,并提供了HTTP协议进行数据传输。这使得开发人员能够在不同的操作系统和平台上创建功能强大的应用程序,并能够方便地处理业务逻辑和与数据库的交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值