实现如何实现js的模块化化,如何优雅的回到主页面

&nbsp&nbsp &
&nbsp&nbsp
&nbsp&nbsp &
&nbsp&nbsp
在Android中的组件化开发,在我的理解来说就是想要你就加进来不要的话就直接删除,所以直接添加类这一方法是不行的,而Java的反射对我们来说,是很好的支持。只不过两个模块之间要继承同一个类,这样子才能实现。下面是反射的代码:publicclassOne{publicStringaa=&aa&;publicstaticStringbb=&static&;privateStringpriva=&private&;Str
本篇文章不是教大家如何搭建和使用模块化,这样的文章网上太多了。主要是和大家探讨下在使用模块的过程有哪些问题、解决方案是什么?以及其他方面的一些思考。诸如使用模块化有哪些好处等等的客套话我就不说了。直接上我们云收银模块化结构图:我们把模块定义为两种:一种是可运行的业务module(BusinessModule)、一种是库module(LibraryModule)供BusinessModule使用。它们之间的依赖关系从上图可以看出来,还有一些细节图上没有体现出来,我通过一段简短的
前言项目越做越大,每次编译的时间越来越长,体验特别不好,在加上协同开发的时候,项目管理问题,因此开始了我的Android项目的模块化开发之旅。1.模块化开发的优势单独模块开发,编译迅速,调试方便模块之间相互解耦,协同开发不容易出错实际使用后,项目打包后的体积也小了很多2.遇到的问题和解决方案模块之间的数据传递模块之间使用ARouter进行跳转采用事件总线的方式,自定义RxBus进行数据传递模块管理AndroidStudio中gradle.properties文件中进行配置,是
在上一篇文章中Android模块化探索和实践(1):基本思路讲到模块化中使用Dagger2会有些特殊的坑,这篇文章我就争取把这个坑填上。问题在采用普通(非模块化)架构的项目中使用Dagger2,一般会通过ApplicationComponent、ActivityComponent、FragmentComponent等方式来控制所注入对象的生命周期,其生命周期分别是Application全局单例、Activity局部单例和Fragment局部单例,很自然的,只需要处理好Comp
原文地址:Android架构思考(模块化、多进程)关于模块化(组件化)这个问题,我想每个开发者可能都认真的思考过。随着项目的开发,业务不断壮大,业务模块越来越多,各个模块间相互引用,耦合越来越严重,同时有些项目(比如我们公司)还伴随着子应用单独包装推广,影子应用单独发布等等需求,重新调整架构迫在眉睫。今天,我们就来聊聊模块化(组件化),这篇文章同时也是我这几年,对项目架构的理解。最初的超小型项目当我们最开始做Android项目的时候,大多数人都是没考虑项目架构的,我们先上一张
随着移动平台的不断发展,软件慢慢变的越来越复杂,业务繁多,体积臃肿;为了降低大型软件复杂性和耦合度,同时也为了适应模块重用、多团队并行开发测试等等需求,Android社区提出了两种解决方案:模块化和插件化。插件化暂且按下不提,本文主要讲述模块化。从基本思路上来讲,模块化的实现大体上来讲都是差不多的,本文将着重讲述基本思路。此外,在实践的过程中也有特别的地方:Databinding在模块化中的坑,Dagger2在模块化中的应用,页面统一跳转,模块化通信方式设计,模块层级架构设计
使用Router实现的模块化,如何优雅的回到主页面版权声明:本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有。未经允许,不得转载。一、前言现在越来越多的App以Router路由的形式,来实现模块化。一般而言,这种Router的方案,从外部直接调起的方式,是由一个ProxyActivity做一个代理,然后再由它去跳转到项目内的其他目标TargetActivity。这样的实现,理论上,是可以从外部调起App内所有的Activity的。但是这样就面临一个问
一.MVP0.背景最早接触到MVP这种设计模式,是在14年读《打造高质量Android应用:Android开发必知的50个诀窍》一书中了解到,而之后也逐步尝试去使用,至今体验下来,它不是一个可以完美到可以生搬硬套到各个场景的模式,正确地使用才能最好地发挥它的作用。1.作用简介分层:将代码分层,抽取出数据、模型、界面。复用:对V层或者P层接口的多种实现。2.作用-分层我们大部分对MVP着迷的一个原因是早期写业务复杂的Activity时,代码量过于庞大,导致可读性很差。而MVP通
本篇是在之前的两篇文章基础上讲解的,如果没看过,走这里:Android模块化简单教程Android模块化之登录业务处理示例代码还是那个:https://github.com/FamliarMan/ModularizationProject通常来说,我们引入一个第三方库,只需要在OpenSourceLibrary中的gradle文件中添加一个依赖即可,这样任何一个业务module都可以使用该库的功能。但是,有一种库例外,这种库会利用用apt或annotationProcesso
当项目大到一定程度后,公司各个模块的业务相互耦合,维护的时候非常困难,另外项目大到一定程度后,编译速度也是个坑爹的东西,所以这个时候模块化就显得很有必要了。最近公司一直在推进这方面的工作,于是我也从gayhub上fork了一个项目动手实践起来,下面做个简单的记录。先贴代码,对着代码看更直观:示例代码1.模块划分模块化的第一步就是模块划分要明确,否则所谓的模块化无从谈起。由于本项目直接fork自https://github.com/BaronZ88/Modularization
关于Android模块化我有一些话不知当讲不当讲最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。[TOC]模块化场景为什么需要模块化?当一个App用户量增多,业务量增长以后,就会有很多开发工程师参与同一个项目,人员增加了,原先小团队的开发方式已经不合适了。原先的一份代码,现在需要多个人来维护,每个人的代码质量也不相同,在进行代码Review的时候,也是比较困难的,同时也容易会产生代码冲突的问
关于Android模块化我有一些话不知当讲不当讲最近公司一个项目使用了模块化设计,本人参与其中的一个小模块开发,但是整体的设计并不是我架构设计的,开发半年有余,在此记录下来我的想法。[TOC]模块化场景为什么需要模块化?当一个App用户量增多,业务量增长以后,就会有很多开发工程师参与同一个项目,人员增加了,原先小团队的开发方式已经不合适了。原先的一份代码,现在需要多个人来维护,每个人的代码质量也不相同,在进行代码Review的时候,也是比较困难的,同时也容易会产生代码冲突的问
前言什么是模块化项目由多个模块构成,模块间解耦、可重用。每个模块可以独立运行。为什么要模块化当项目越来越复杂,体积也变得臃肿,为了降低复杂性和耦合度、提高模块重用性、单模块运行提高编译打包效率等等,模块化是很好的解决方案。目标项目拆分为多个子工程,大概有三类:基础组件、业务模块、聚合业务模块的app模块.结构图如下:perfect.png其中app模块是application工程,其他模块都是library工程,library工程可以打成aar上传maven,使用maven依
大家好,我系苍王。以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。[Android]如何做一个崩溃率少于千分之三噶应用app--章节列表写了二十多篇的简书,到这里已经写了很多关于很多组件化内容的文章,但是很多对组件化,模块化,插件化的概念还是不理解。很多同学,都觉得如何划分模块,如何划分组件,如何做隔离解耦,如何做分层产生了疑虑,有些时候无从下手。这里还是需要给大家普及一下概念性的说明吧。一.组件化关于组件化,看过我第一编开篇文章的,会看到这个图
这是一个有关安卓MVC框架模式的短系列,目的是思索和分析安卓中MVC模式更为真实的一面。系列:-安卓中MVC模式的深度思索和实践(一)转载请标明出处:http://blog.csdn.net/cysion1989/article/details/在上一篇中,主要从一个比较传统但又精致的角度重新审视了一下安卓中的MVC模式。首先回顾一下上篇中最后有关MVC的观点,核心是分层,重点是职责如何单一和清晰化:-视图V,具备展示职责,职责的划分是通过与控制者的改变无关这
本文首发于《程序员》杂志五月刊,此版本有部分纠错与调整一、前言万维网发明人TimBerners-Lee谈到设计原理时说过:“简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命。”由此可见模块化之于软件工程领域的重要性。从2016年开始,模块化在Android社区越来越多的被提及。随着移动平台的不断发展,移动平台上的软件慢慢走向复杂化,体积也变得臃肿庞大;为了降低大型软件复杂性和耦合度,同时也为了适应模块重用、多团队并行开发测试等等需求,模块化在Android平台上变
随着有赞电商业务的不断发展壮大,App端所承担的功能也越来越重,特别是代码几易其主之后开始变得杂乱无章,牵一发而动全局的事情时常发生。为了应对团队壮大之后的开发模式,我们必须要对业务进行隔离,同时沉淀出通用组件,完善移动开发的基础设施。2.1渐进式重构如果一段代码已经比较稳定,可以从中抽取一部分功能重写,不要一上来就全部推翻重写,可以慢慢淘汰掉老代码。2.2iOS/Android互相参考业务代码总是惊人的相似,两端互相参考的过程中,不但可以Review代码,还能加深对业务的理
代码已经整理好。效果如下图:图1:图2:地址:https://github.com/geeklx/MyApplication/tree/master/p010_recycleviewall/src/main/java/com/example/p010_recycleviewall/shoucang
背景有赞微商城接入了三个厂家的POS机,分别是旺POS、商米、拉卡拉,很久之前都是单独维护这三个POS机的代码分支,每次发版就需要把主线分支合并代码到相应的POS机的分支,这使得POS机的发版流程异常繁琐,而且很容易让POS机的版本内容跟微商城手机App的版本不一致。除此之外,每个POS机的接入方式和使用方法都有很大的区别,使得对应的业务代码就很混乱。此时恰逢微商城项目要搞模块化,正好借机统一所有POS机的代码,让所有POS机的使用在业务中是有统一接口去调用,而且把所有代码都
作者简介原创微信公众号郭霖WeChatID:guolin_blog本篇是Spiny的第二篇投稿,详细地分享了随着项目的发展,不断升级的架构之路。感兴趣的朋友要仔细阅读一下啦。Spiny的博客地址:http://blog.spinytech.com前言关于模块化(组件化)这个问题,我想每个开发者可能都认真的思考过。随着项目的开发,业务不断壮大,业务模块越来越多,各个模块间相互引用,耦合越来越严重,同时有些项目(比如我们公司)还伴随着子应用单独包装推广,影子应用单独发布等等需求,
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供信息,所有相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International使用Router实现的模块化,如何优雅的回到主页面版权声明:本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有。未经允许,不得转载。一、前言现在越来越多的App以Router路由的形式,来实现模块化。一般而言,这种Router的方案,从外部直接调起的方式,是由一个ProxyActivity做一个代理,然后再由它去跳转到项目内的其他目标TargetActivity。这样的实现...
使用 Router 实现的模块化,如何优雅的回到主页面
版权声明:
本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有。
未经允许,不得转载。
现在越来越多的 App 以 Router 路由的形式,来实现模块化。一般而言,这种 Router 的方案,从外部直接调起的方式,是由一个 ProxyActivity 做一个代理,然后再由它去跳转到项目内的其他目标 TargetActivity 。这样的实现,理论上,是可以从外部调起 App 内所有的 Activity 的。
但是这样就面临一个问题,如果从外部调起了一个子页的 Activity,举例是一个影片详情页,如果想在用户回退的时候,进入到应用主页,而非直接退出了。就需要特殊处理了。
本文就以如何优化的回退到我们需要的 Activity 来做一个说明。
二、分析和拆解问题
对于前面举例的情况来说,实际上我们只需要处理好以下问题即可。
如何区分当前 Activity 是从应用内打开,还是从应用外直接打开,就是打开 Activity 的来源。
在区分出来 Activity 打开的来源之后,如何优雅的退回到我们需要的 Activity。
要处理一些特殊情况。
对于这样两个问题,区分来源,最粗暴的方式,就是在 Intent 里增加一个类似 from 的字段,来标记是从那个页面过来的,如果不是我们指定的话,在 finish() 或者 onBackPressed() 的时候,就打开 MainActivity 即可。
这是一个粗暴的方式,虽然它有用,可它不够优雅。
而在 Support v4 22.0.0 开始,针对这样的情况,为我们增加了一个 NavUtils 的类,专门用于处理这种情况,接下来就来看看如何使用它。
NavUtils 从名称上就可以看出来,它是一个用于处理导航的辅助工具类。
先来看看它的方法,它主要的方法主要分三中:
getParentActivityIntent():获得一个用户回退到父Activity 的Intent。
shouldUpRecreateTask():是否需要重新构建一个 Task。
navigateUpTo():回退到 Intent 指定的父 Activity。
为了方便使用 getParentActivityIntent() 提供了很多的重载,但是实际上目的都是一样的,就是拿到我们指定的当前 Activity 的上一级 Activity(父 Activity )。
既然是 Support v4 包下的辅助类,它其实在内部也是做好了很多兼容的处理。它针对不同的 Android Level 做了不同的实现,可以看到 NavUtilsImplBase 和 NavUtilsImplJB 都是为了处理兼容性的问题,他们都实现了 NavUtilsImpl 接口,而且在静态代码块内处理好了兼容性问题。
好了,源码就先聊到这里,先来看看如何使用。
如果想要使用 NavUtils 还需要在 AndroidManifest.xml 中,为 Activity 指定一个父的 Activity。
这里有个 Demo ,有两个 Activity,分别是 MainActivity 和 ChildActivity 。我们需要对 ChildActivity 设定父 Activity。
为 Activity 设定父 Activity,是需要区分版本的,在 4.1 之后,是可以直接使用 android:parentActivityName 直接指定即可。而对于 4.0 及一下的版本,如果想要使用,可以配置 meta-data 标签,name 必须是 android.support.PARENT_ACTIVITY 而 value 就是用来指定父 Activity 的。
先来看看官方推荐的使用示例。
它的流程非常的简单,首先使用 NavUtils.getParentActivityIntent() 方法,获得它的父 Activity,然后使用 NavUtils.shouldUpRecreateTask() 方法,确定当前 Activity 是否需要一个 Task ,如果需要,使用 TaskStackBuilder 来操作,如果不需要就直接调用 NavUtils.navigateUpTo() 方法来继续接下去的逻辑。
可以看到这一套逻辑,非常的简单,如果按照文档的描述,使用起来应该体验挺不错的,但是它有坑,后面讲。
先来看看 NavUtilsImplBase 这个 Api Level 16 以下的 Api 实现,它因为没有一些高版本的 Api,从源码上能看出跟多细节。
简单关注一下它的细节,shouldUpRecreateTask() 方法,实际上是通过校验 Action 是否等于 ACTION_MAIN 来确定的,而 navigateUpTo() 只是为 upIntent 添加了 FLAG_ACTIVITY_CLEAR_TOP 这个 flag ,然后启动父 Activity 并且关闭自己。而 getParentActivityIntent() 的代码,其实核心还是在 NavUtils.getParentActivityName() ,最终可以看到,它和我们配置的一样,是从 meta-data 中获取的数据。
再来看看 NavTilsImplJB 这个 Api Level 16 上的实现。
可以看到,它其实很多逻辑都放在 NavUtilsJB 这个类中。
而它实际上很多方法都是直接调用的 Activity 中对应的方法,有兴趣可以去看看 Activity 的源码中的实现。
四、填坑和最终实现
到这里,基本上就已经了解了 NavUtils 的实现原理了,看样子用起来应该没那么多问题,但是如果实际使用起来,你就会发现有坑了。
1、shouldUpRecreateTask() 永远返回的是 false。
实际上,这并不是 shouldUpRecreateTask() 方法在实现上有什么 Bug,它实际上是给 Notification 使用的,在 Notification 使用 PendingIntent 的时候,使用 TaskStackBuilder 来构建它,其构造一个 Back Task ,在这里就可以使用 shouldUpRecreateTask() 方法来做判断了。
但是大多数情况下,我们并不只是在 Notification 中使用它,并且有一些推送的消息,这个 Notification 并非我们去构造的,而是由第三方 SDK 来构建的,这就导致这种情况并不符合大多数场景。
下面是官方提供的一个 Demo。
有兴趣可以移步到官方文档查看:
https://developer.android.com/guide/topics/ui/notifiers/notifications.html#NotificationResponse
所以我们可以使用 Activity.isTaskRoot() 来做辅助判断,它是 Activity 的方法,可以判断当前 Activity 是否是在当前 Task 的根 Activity,这样就说明再回退的话,实际上就会将当前 Task 完整的清空,表现就是退出去了。
navigateUpTo() 方法从源码上可以看出来,它实际上是强加了一个 FLAG_ACTIVITY_CLEAR_TOP ,然后重新启动它,这样的话,在某些设备上,默认是有动画处理的,因为这里是打开了一个新的页面,而非 finish() 之后,自动回退到上一个页面的操作。
那么解决方案也非常的简单,在判断当前 Activity 不需要使用 TaskStackBuilder 构造一个 Task Stack ,就直接 finish() 掉当前的页面,因为这样的判断说明当前 Activity 是在页面内正常打开的,所以直接 finish() 就可以退回到上一个页面了。
最终改动之后的实现效果就变成了这样,AndroidManifest.xml 中的配置不变。
源文地址:https://www.guoxiongfei.cn/cntech/1878.html使用 Router 实现的模块化,如何优雅的回到主页面_突袭网
当前位置&:&&&&使用 Router 实现的模块化,如何优雅的回到主页面
热门标签:&
使用 Router 实现的模块化,如何优雅的回到主页面
编辑:李利平
一、前言 现在越来越多的 App 以 Router 路由的形式,来实现模块化。一般而言,这种 Router 的方案,从外部直接调起的方式,是由一个 ProxyActivity 做一个代理,然后再由它去跳转到项目内的其他目标 TargetActivity 。这样的实现,理论上,是可以从外部调起 App 内所有的 Activity 的。 但是这样就面临一个问题,如果从外部调起了一个子页的 Activity,举例是一个影片详情页,如果想在用户回退的时候,进入到应用主页,而非直接退出了。就需要特殊处理了。 本文就以如何优化的回退到我们需要的 Activity 来做一个说明。 二、分析和拆解问题 对于前面举例的情况来说,实际上我们只需要处理好以下问题即可。 如何区分当前 Activity 是从应用内打开,还是从应用外直接打开,就是打开 Activity 的来源。 在区分出来 Activity 打开的来源之后,如何优雅的退回到我们需要的 Activity。 要处理一些特殊情况。 对于这样几个问题,区分来源,最粗暴的方式,就是在 Intent 里增加一个类似from的字段,来标记是从那个页面过来的,如果不是我们指定的话,在 或者 的时候,就打开MainActivity即可。 这是一个粗暴的方式,虽然它有用,可它不够优雅。 而在 Support v4 22.0.0 开始,针对这样的情况,为我们增加了一个NavUtils的类,专门用于处理这种情况,接下来就来看看如何使用它。 三、NavUtils 如何使用 NavUtils从名称上就可以看出来,它是一个用于处理导航的辅助工具类。
先来看看它的方法,它主要的方法主要分三中: getParentActivityIntent():获得一个用户回退到父Activity 的Intent。 shouldUpRecreateTask():是否需要重新构建一个 Task。 navigateUpTo():回退到 Intent 指定的父 Activity。 为了方便使用 提供了很多的重载,但是实际上目的都是一样的,就是拿到我们指定的当前 Activity 的上一级 Activity(父 Activity )。 既然是 Support v4 包下的辅助类,它其实在内部也是做好了很多兼容的处理。它针对不同的 Android Level 做了不同的实现,可以看到NavUtilsImplBase和NavUtilsImplJB都是为了处理兼容性的问题,他们都实现了NavUtilsImpl接口,而且在静态代码块内处理好了兼容性问题。
好了,源码就先聊到这里,先来看看如何使用。 如果想要使用NavUtils还需要在 AndroidManifest.xml 中,为 Activity 指定一个父的 Activity。 这里有个 Demo ,有两个 Activity,分别是 MainActivity 和 ChildActivity 。我们需要对 ChildActivity 设定父 Activity。
为 Activity 设定父 Activity,是需要区分版本的,在 4.1 之后,是可以使用 直接指定即可。而对于 4.0 及一下的版本,如果想要使用,可以配置 标签,name必须是 而value就是用来指定父 Activity 的。 先来看看官方推荐的使用示例。
它的流程非常的简单,首先使用 方法,获得它的父 Activity,然后使用 方法,确定当前 Activity 是否需要一个 Task ,如果需要,使用TaskStackBuilder来操作,如果不需要就直接调用 方法来继续接下去的逻辑。 可以看到这一套逻辑,非常的简单,如果按照文档的描述,使用起来应该体验挺不错的,但是它有坑,后面讲。 三、NavUtils 的源码 先来看看NavUtilsImplBase这个 Api Level 16 以下的 Api 实现,它因为没有一些高版本的 Api,从源码上能看出跟多细节。
简单关注一下它的细节, 方法,实际上是通过校验 Action 是否等于ACTION_MAIN来确定的,而 只是为 upIntent 添加了FLAG_ACTIVITY_CLEAR_TOP这个 flag ,然后启动父 Activity 并且关闭自己。而 的代码,其实核心还是在 ,最终可以看到,它和我们配置的一样,是从 meta-data 中获取的数据。
再来看看NavTilsImplJB这个 Api Level 16 上的实现。
可以看到,它其实很多逻辑都放在NavUtilsJB这个类中。
而它实际上很多方法都是直接调用的 Activity 中对应的方法,有兴趣可以去看看 Activity 的源码中的实现。 四、填坑和最终实现 到这里,基本上就已经了解了NavUtils的实现原理了,看样子用起来应该没那么多问题,但是如果实际使用起来,你就会发现有坑了。 1、shouldUpRecreateTask() 永远返回的是 false。 实际上,这并不是 方法在实现上有什么 Bug,它实际上是给Notification使用的,在Notification使用PendingIntent的时候,使用TaskStackBuilder来构建它,其构造一个 Back Task ,在这里就可以使用 方法来做判断了。 但是大多数情况下,我们并不只是在Notification中使用它,并且有一些推送的消息,这个Notification并非我们去构造的,而是由第三方 SDK 来构建的,这就导致这种情况并不符合大多数场景。 下面是官方提供的一个 Demo。
有兴趣可以移步到官方文档查看: https://developer.android.com/guide/topics/ui/notifiers/notifications.html#NotificationResponse 所以我们可以使用 Activity.isTaskRoot() 来做辅助判断,它是 Activity 的方法,可以判断当前 Activity 是否是在当前 Task 的根 Activity,这样就说明再回退的话,实际上就会将当前 Task 完整的清空,表现就是退出去了。 2、navigateUpTo() 会重新启动MainActivity navigateUpTo()方法从源码上可以看出来,它实际上是强加了一个FLAG_ACTIVITY_CLEAR_TOP,然后重新启动它,这样的话,在某些设备上,默认是有动画处理的,因为这里是打开了一个新的页面,而非finish()之后,自动回退到上一个页面的操作。 那么解决方案也非常的简单,在判断当前 Activity 不需要使用TaskStackBuilder构造一个 Task Stack ,就直接 掉当前的页面,因为这样的判断说明当前 Activity 是在页面内正常打开的,所以直接 就可以退回到上一个页面了。 最终改动之后的实现效果就变成了这样,AndroidManifest.xml中的配置不变。
更多精彩 >>>404 Not Found
The requested URL /a/4157 was not found on this server.利用 python pprint模块 优雅的输出
pprint.pprint(self.result_dic)
使用前输出结果:
{'business_xs_port': '40133', 'micro_port': '40240', 'yhfq_micro_port': '40661', 'yhfq_micro_ip': '192.168.33.74', 'kdc_micro_port': '40809', 'business_xs_ip': '192.168.33.72', 'financial_web_port': '40312', 'kdc_micro_ip': '192.168.33.74', 'micro_ip': '192.168.33.72', 'financial_web_ip': '192.168.33.73'}
使用后输出结果:
{'business_xs_ip': '192.168.33.72',
'business_xs_port': '40133',
'financial_web_ip': '192.168.33.73',
'financial_web_port': '40312',
'kdc_micro_ip': '192.168.33.74',
'kdc_micro_port': '40809',
'micro_ip': '192.168.33.72',
'micro_port': '40240',
'yhfq_micro_ip': '192.168.33.74',
'yhfq_micro_port': '40661'}
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 页面制作模块化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信