聚合文章列表
21 浏览

2017移动Web APP开发指南

进入2017年,移动开发中采用前端Web技术来取代原生App进行开发越来越风靡,这些得益于JS框架的发展,框架设计演变也更加偏向于移动端,在库体积、效果、性能都比原来版本有长足的进展。本文是对2017年移动WebApp开发库的总结,方便各位读者进行技术选型,同时提供示例来方便学习。文章目录JS框架2017年国内移动WebAPP开发中Vue可谓一枝独秀,可以看到很多公司基于Vue2.0制作了组件库并完成App的制作。Vue在入门学习曲线、库体积以及使用设计上相比React或Angular2都有优势,性能上也完全没有问题。如果你的移动WebAPP项目功能不太复杂,团队参与人数不多,那么使用Vue相关组件和库来进行技术栈构建是2017年最佳的选择。React在移动Web开发中推出了ReactNative解决方案,可惜这个方案因为原生编译的难度,目前仍然没有完全适应生产要求。在移动端直接使用React库需要配合其他UI组件库,例如Framework7。如果是单页应用场景,React还是有性能上的优势,但是工程维护比较困难,对项目成员对

Vue.js 2017-11-23 发布
18 浏览

CSS单位全解

对于网页布局的单位,只知道px是仅仅不够的,还需要知道其他几个比较常见的单位,特别是css3推出的一些新的度量单位。emem是一种相对单位,它相对于父元素的字体大小。em常用于存在缩放需求时使用,比如在多行文本段落中,如果行高设置为line-height:18px,如果文字的大小因为缩放发生改变,行高值是不会随之改变的,一直都是18px,如果将行高设置成一种相对值line-height:1.2em,那么此时的行高值就会随着字体的大小改变而变化。因为em是相对于父元素的字体大小,所以该单位存在明显的嵌套层级关系,浏览器默认的字体大小是16px,因此1em=16px,需要注意的是chrome浏览器能够显示的最小字体是12px,当字体大小设置小于12px字体将按照12px显示。SeethePenembyYeaseonZhang(@YeaseonZhang)onCodePen.remrem(rootem)是一种相对单位,和em不同点是rem

CSS 2017-11-24 发布
22 浏览

NSQ分布式消息队列

首发于苏依蜀黍de小木屋写文章登录NSQ分布式消息队列苏依5hoursagoArealtimedistributedmessagingplatform一.简介开源社区可选的队列一搜一大把,断断续续RabbitMQ/Celery/Kue都有用过,但或多或少,因为语言以及维护、可扩展性方面,都不是很令人满意。举例来说RabbitMQ语言不通,维护困难;Celery总有奇奇怪怪的问题(我姿势不对?);Kue依赖Redis就目前的使用来说,还是挺方便的,至少我的测试环境还没出个太大问题;唔,好像忘了kafka...(Java万年黑表示不想多说)想用NSQ的原因大概是:golang开发分布式设计部署简单客户端丰富http接口简单易用稳定性高?(官网文档写的,有待验证!)二.使用据说部署简单,怎么个简单法呢?看下面:#docker-compose.ymlversion:'3'services:nsqlookupd:image:nsqio/nsqcommand:/nsqlookupd#p

消息系统 2017-11-23 发布
AD 友情赞助
16 浏览

Celery 源码解析八:State 和 Result

Celery源码解析八:State和Result在前面几篇解析中,我们已经看过了Worker是如何运行的,Task是如何创建的,以及怎么被路由到Worker中,除了这些之外,我们还对流量限制,Worker控制和Task/Worker产生和处理Event进行了介绍。但这却不是全部,今天我将继续和大家一起来看看Celery的TaskResult和State相关的内容。TaskState在celery/celery/states.py中,可以看到Task的所有State至于如果想要看Task的状态转变,那我们就需要回顾一下Task从产生到完成的过程,如果是一个普通的Task的话,那么它的执行流程应该是:从Producer产生-①->MQ-②->Consumer接收-③->执行策略执行-④->执行完成那么这里的①②③④有没有设置状态,并且状态是啥,就是我们关注的重点了,ok,那我们就跟随之前的脚步快速得发掘一番:这个是同步发送消息的

消息系统 2017-11-23 发布
16 浏览

Semtech推出全新工具 开发人员使用LoRaWAN协议体验改善

网关高性能模拟和混合信号半导体及先进算法领先供应商SemtechCorporation(Nasdaq:SMTC)今日宣布:推出集成了Semtech的LoRa®器件和无线射频技术(LoRa技术)的微微型(picocell)网关模拟器,其中包括Linux实用程序和Microsoft®Windows支持软件,并提供一个免费的、非商用的LoRaWANTM网络服务器演示平台。全新的工具将帮助低功耗广域网(LPWAN)应用开发人员快速地将其基于LoRa技术的物联网(IoT)产品创意形成样品并进行演示。基于LoRa的Picocell网关USB模拟器Semtech基于LoRa的picocell网关模拟器可以很容易地通过一个USB端口连接到一个基于Linux或Windows的处理器上,它们是LoRaWAN网关开发人员最常用的软件系统。WindowsGUI在不需要额外开发板的情况下可简化网络连接。该工具的目标是加速将物联网技术部署在下一代智能应用中的过程。在初始原型阶段之外,多家LoRa联盟(LoRaAllianceTM)会员可提供兼容的商用、可生产级

程序员 2017-11-23 发布
18 浏览

2018年即将到来的八大Web发展趋势

自网络出现以来,一直处于不断发展的状态。Mosaic和NetscapeNavigator在早期推广互联网方面功不可没。从那以后,每年都会出现一些新概念、新想法和新趋势,纵然其中有好有坏。从这些年来的变化和趋势中,我们能得到一个重要教训:成功往往是与把握变革的浪潮有关,而不会随之而来。您可以通过探索未来的趋势,并在他人之前将适用于您的东西结合在一起来实现这一点。以下是八项网络发展趋势,该趋势将2018年对整个行业产生巨大影响:改进在线支持连接用户比以往任何时候都显得更为重要。聊天机器人—那些通过文字或听觉方式与我们进行对话的计算机程序,允许网站有24/7的联系点,而不需要维持24小时的客户服务部门。聊天机器人的发展引发了一些问题,诸如回答常见问题、引导人们访问信息或页面甚至是如何完成交易等。随着消费者越来越适应聊天机器人的想法,也越来越懂得应该如何与他们交互,因此消费者对拥有聊天机器人的网站期望值将会有所增加。渐进式Web应用程序最近一项有关手机使用情况的研究发现,手机应用时间占移动媒体总时间的89%。这是有道理的,利用类

程序员 2017-11-23 发布
AD 友情赞助
17 浏览

企业转型的必修课 2 | 钛坦白第63期

图片来源:视觉中国企业转型,有时候是企业为了寻找到新的经济增长点,优化资源的分配,提升自身价值,不得不做出的选择。企业转型也是国家经济发展的要求。早在十一届三中全会就提出了产业结构调整,在这30多年间不断强调深化产业结构改革,到今年10月的国务院常务会议,国家通过了《深化“互联网+先进制造业”发展工业互联网的指导意见》,提出要大力发展实体经济,加快转型升级。转型有时候还是持久战,比如万达从1993年到2016年经历了4次转型,从原本单一的地产企业转型到以服务业为主的全方位企业。苏宁作为零售业的巨头,从2009年就开始了漫长的转型之路。同时转型又是一项高风险的战略行为,需要企业经营者做长期的准备,进行更全面的考虑。在钛坦白第58期,我们邀请了万博新经济研究院院长滕泰、中搜网络董事长兼总裁陈沛,以及智慧云领导力发展机构创始合伙人、小村资本合伙人兼首席战略官陈雪频等三位钛客,深入解析企业在转型期应注意的事宜,解答企业经营者的疑惑(干货:http://www.tmtpost.com/tag/1508094)。在本期钛坦白,我们再次

软件架构 2017-11-23 发布
20 浏览

MySQL迁移至SQLite

由于最近学习了Django,想着不然把自己的Blog从Typecho迁移到Django的框架中,其实上层差别不是特别大,一个是PHP一个是Python。下层的话,由于我初学Django基本的教程都是通过SQLite作为默认的数据库的。刚好我做Android开发的时候,其实数据库使用的就是SQLite。因此着手把数据库进行迁移下。遇到了一些坑,记录一下。网上很多SQLite转MySQL的教程,唯独没有MySQL转SQLite的方案。找了几个,大体上的方案都很类似。先将MySQL的DB转换成txt格式,通过批处理修改一下创建表的语法,然后在生成一个SQLite的数据库。实际操作起来不是特别方便,我选择了这个回答下面的方案。得益于dumblob这位开发者开源的这个项目,我在服务器端通过mysqldump和它的脚本生成了一个SQLite3的DB,将其考到本地。由于这个脚本只是生成表结构的,并没有将数据导入进来,所以下一步的计划是将数据导入到新生成的SQLite3DB中。在导入的过程中发现了,若按照正常的生成

MySQL 2017-11-23 发布
11 浏览

Otter探索(一):canal基本概念

终于把otter同步跑起来了,感觉还是应该需要做一下小结,第一是防止自己忘记,第二是方便他人,因为才疏学浅,希望不对的地方大家予以指正。这篇主要是介绍一下Canal,因为Otter设计基于Canal开发的。工作原理这里我们主要引用官网介绍mysql主备复制实现从上层来看,复制分成三步:master将改变记录到二进制日志(binarylog)中(这些记录叫做二进制日志事件,binarylogevents,可以通过showbinlogevents进行查看);slave将master的binarylogevents拷贝到它的中继日志(relaylog);slave重做中继日志中的事件,将改变反映它自己的数据。canal的工作原理原理相对比较简单:canal模拟mysqlslave的交互协议,伪装自己为mysqlslave,向mysqlmaster发送dump协议mysqlmaster收到dump请求,开始推送binarylog给slave(也就是canal)canal解析binarylog对象(原始为

MySQL 2017-11-23 发布
AD 友情赞助
19 浏览

缺陷跟踪管理系统 OTRS

系统环境:Centos6.9mysql-server-5.1.73-3.el6_5.x86_64Httpd-2.2.15-29.el6.centos.x86_64Otrs-3.3.5-02.noarch.rpm下载地址:OTRS一、Mysqlinstallyum-yinstallmysql-server/etc/init.d/mysqldstartmysqladmin-urootpassword123mysql-uroot-pEnterpassword:>>输入刚才的设置的密码mysql>createuser'otrs'@'localhost'identifiedby'otrs';>>创建数据库用户otrsmysql>grantallonotrs.*to'otrs'@'localhost';>>授权otrs用户mysql>flushprivileges;>>最后刷新下数据库更改数据库开机自启动chkconfig

MySQL 2017-11-26 发布
21 浏览

tsbatis-tools 批量Entity导出

tsbatis现在还在preview版本,大量的测试工作还没有完成,但是已经发现一个问题,就是每次写entity会很浪费时间,为了提高效率,我们开发了一个工具来解决这个问题。目前可以支持sqlite和mysql批量导出entity。TsBatis-Tools下载tsbatis-tools基于express开发,所以我们可以再github上面下载源码:https://github.com/wz2cool/tsbatis-tools运行运行程序也非常简单,和node程序运行一致。$npminstall$npmstart然后我们就可以打开http://localhost:3000访问即可。sqlite支持文件选择对于sqlite支持,我们需要填写sqlite文件所在地址即可。选择表我们选择那些表需要导出成为tsbatis的Entity,然后点击Export按钮即可。mysql支持链接地址对于mysql支持,我们需要填写mysql数据的链接信息。选择表这里选择表和上面sqlit

MySQL 2017-11-23 发布
23 浏览

vue+webpack 升级后在原有项目上的适配问题

古人云:不作死就不会死本人的项目是vue+webpack,vue单文件中使用了Jade模板与less预编译器起因是因为谈论到Jade模板问题,Jade早已改名为Pug,并且发布了2.0版本,想着不如升级了吧,顺便把webpack与vue也一并升级了,事实证明,升级需谨慎==首先之前的版本如下:"vue":"2.4.2""webpack":"2.7.0"升级后的版本为:"vue":"2.5.7""webpack":"3.8.1"运行npmupdate,一切正常,然而运行vue项目就开始报错了//webpack报错(node:45948)DeprecationWarning:loaderUtils.parseQuery()receivedanon-stringvaluewhichcanbeproblematic,seehttps://github.com/webpack/loader-utils/issues/56parseQuery()wil

Vue.js 2017-11-23 发布
AD 友情赞助
17 浏览

Vue2 源码漫游(二)

描述:在(一)中其实已经把Vue作为MVVM的框架中数据流相关跑了一遍。这一章我们先看mount这一步,这样Vue大的主线就基本跑通了。然后我们再去看compile,v-bind等功能性模块的处理。一、出发点path:platforms\web\entry-runtime-with-compiler.js这里对原本的公用$mount方法进行了代理.实际的直接方法是core/instance/lifecycle.js中的mountComponent方法。根据组件模板的不同形式这里出现了两个分支,一个核心:分支:1、组件参数中有render属性:执行mount.call(this,el,hydrating)2、组件参数中没有render属性:将template/el转换为render方法核心:Vue.prototype._render公共方法/*@flow*/importconfigfrom'core/config'import{warn,cached}from'core/util/index'import{mark

Vue.js 2017-11-23 发布
15 浏览

通过JS实现的密码加密

1、base64加密在页面中引入base64.js文件,调用方法为:base64加密varb=newBase64();varstr=b.encode("admin:admin");alert("base64encode:"+str);//解密str=b.decode(str);alert("base64decode:"+str);///前端学习交流群4615932242、md5加密在页面中引用md5.js文件,调用方法为md5加密</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>JavaScript</span></i></span> <span><i class="fa fa-clock-o large"> 2017-10-26 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view" data-toggle="tooltip" data-placement="top" title="文章被浏览0次"> <span>0</span> <small>浏览</small> </div> </div> <div class="media-body"> <h4><a class="media-heading title" href="/article/details/B15ks55E">border属性的多方位应用和实现自适应三角形</a></h4> <p class="post-item-summary"> border属性是在实际的应用中使用频率比较高的一个属性,除了作为边框使用,利用border属性的一些特征以及表现方式,可以在实现一些比较常见的效果(如等高布局,上下固定内容滚动布局和绘制CSS图标等),利用css3新增的属性值(如使用图片填充边框)可以实现一些更复杂的效果。本文不介绍border的属性的基本应用方法,将直接介绍如何通过border属性实现一些常见的效果。利用border画三角形和梯形等多边形在CSS中,常见的平面图形为矩形以及圆形。但是难免有些情景需要我们利用CSS去绘制三角形、梯形和平行四边形等。此时我们可以利用border在渲染时的一些表现特点来实现这些功能。以下讲解如何一步一步得到三角形。首先我们写一个div,样式如下.border{width:200px;height:100px;margin:0auto;border-top:40pxsolidred;border-bottom:40pxsolidgreen;border-left:40pxsolidyellow;b</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>CSS</span></i></span> <span><i class="fa fa-clock-o large"> 2017-11-23 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view" data-toggle="tooltip" data-placement="top" title="文章被浏览0次"> <span>0</span> <small>浏览</small> </div> </div> <div class="media-body"> <h4><a class="media-heading title" href="/article/details/wQQ1PCHo">2017 年 10 月:15 个有趣的 JS 和 CSS 库</a></h4> <p class="post-item-summary"> {"debug":false,"apiRoot":"","paySDK":"https:\u002F\u002Fpay.zhihu.com\u002Fapi\u002Fjs","wechatConfigAPI":"\u002Fapi\u002Fwechat\u002Fjssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":"2|6dca2cb9|55fe4ed80cac4a8e40ac498c54e718dd59fd01810bf81f940cfc1a8c5df91ddd5fab188a|1511426724","X-UDID":null,"Authorization":"oauthc3cef7c66a1843f8b3a9e6a1e3160e20"}}</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>CSS</span></i></span> <span><i class="fa fa-clock-o large"> 2017-11-23 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view" data-toggle="tooltip" data-placement="top" title="文章被浏览0次"> <span>0</span> <small>浏览</small> </div> </div> <div class="media-body"> <h4><a class="media-heading title" href="/article/details/V2tuE35a">WEB 前端菜鸟,感觉很迷茫,该怎么做?</a></h4> <p class="post-item-summary"> 前几天看到这样的问题先说问题吧:感觉前端涉及到的东西太多了,自己也很浮躁,看了挺多书,可是代码缺敲得却不多。技术菜,又什么都想学,比如现在纠结要不要先学scss或者php或者angularjs,backbone等框架,还是深入学习html5+css3?然后看了一些招聘要求发现又有一些坑要填,经常处于焦躁状态,感觉心好累,然后心一累,又知乎上看各种打鸡血的东西,这鸡血一打多,头脑就热起来了,就想毕业去北京闯一闯了,但又好担心去了找不到工作,想问下前辈们,要找到3000以上的前端工作的话,我得在哪方面多准备?计算机行业很多领域都符合82定律,也就是20%的东西的使用频率占到80%,所以很适合囫囵吞枣,因此我们的重点就是把这20%学起来,而首先要做的就是把这20%的东西找出来。在我看来前端这20%的东西大概就是常用的html标签,css的盒子模型,基本的原生js,以及熟练使用jquery,ajax,常见浏览器的兼容。拿下这些东西意义非凡,一方面证明你适合做前端这份工作,另一方面这些技能能让你找到一份工作。让你能够从容地去学习剩下的80%。总</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>CSS</span></i></span> <span><i class="fa fa-clock-o large"> 2017-11-23 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view" data-toggle="tooltip" data-placement="top" title="文章被浏览0次"> <span>0</span> <small>浏览</small> </div> </div> <div class="media-body"> <h4><a class="media-heading title" href="/article/details/0oCSJ2pR">Riot - 你的下一个框架</a></h4> <p class="post-item-summary"> 我为什么要用Riot优点明显,体积小,加载快,继承了react,Polymer等框架的优势,并简化他们,主要从以下几个方面考虑:1.自定义标签。Riot在所有浏览器上支持自定义标签,我们能将页面组件化,一个自定义标签结构如下所示:<todo><!--布局--><h3>{item}</h3><!--css--><stylescoped>h3{font-size:14px;}</style><!--业务逻辑--><script>varself=this;self.item=‘Riotsample’;</script></todo>2.对阅读友好有了自定义标签功能后,我们可以用很简洁语言‘拼凑’出复杂的用户界面,加上语义化标签定义,在阅读的时候,很容易看清楚哪个标签是给html加入了什么组件,一共有多少个组件,这样一个页面大致实现什么功能,甚至不用看浏览器展示都能明白。你的代码可能是这样的<body><h1>Acmecommunity</h1><forum-header/><forum-conten</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>CSS</span></i></span> <span><i class="fa fa-clock-o large"> 2017-11-26 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view" data-toggle="tooltip" data-placement="top" title="文章被浏览11次"> <span>11</span> <small>浏览</small> </div> </div> <div class="media-body"> <h4><a class="media-heading title" href="/article/details/Tq0pk62f">vue 项目中实用的小技巧</a></h4> <p class="post-item-summary"> #在Vue项目中引入Bootstrap有时在vue项目中会根据需求引入Bootstrap,而Bootstrap又是依赖于jQuery的,在使用npm安装时,可能会出现一系列的错误1、安装jQuerynpminstalljquery2、安装Bootstrapnpminstallbootstrap@3以上两步,也可以先在package.json配置文件中指定版本号,然后运行npminstall安装完了以后项目是跑不起来的,尽管二者都已经安装成功了,但还是会报错“Bootstrap'sJavaScriptrequiresjQuerynpm”,为了解决这个问题,可以在main.js入口文件中这样引入:import$from'jquery'window.jQuery=$require('bootstrap')接下来,为了能够使用Bootstrap的样式,可以在入口文件中引入bootstrap.css。这个跟引入ElementUI的方法一样import'bootst</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>jQuery</span></i></span> <span><i class="fa fa-clock-o large"> 2017-11-23 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view" data-toggle="tooltip" data-placement="top" title="文章被浏览11次"> <span>11</span> <small>浏览</small> </div> </div> <div class="media-body"> <h4><a class="media-heading title" href="/article/details/j9250yLG">HTML5原生拖拽/拖放⎡Drag & Drop⎦详解</a></h4> <p class="post-item-summary"> 前言拖放(drap&&drop)在我们平时的工作中,经常遇到。它表示:抓取对象以后拖放到另一个位置。目前,它是HTML5标准的一部分。我从几个方面学习并实践这个功能。拖放的流程对应的事件我们先看下拖放的流程:选中--->拖动--->释放然后,我们一步步看下这个过程中,会发生的事情。选中在HTML5标准中,为了使元素可拖动,把draggable属性设置为true。文本、图片和链接是默认可以拖放的,它们的draggable属性自动被设置成了true。图片和链接按住鼠标左键选中,就可以拖放。文本只有在被选中的情况下才能拖放。如果显示设置文本的draggable属性为true,按住鼠标左键也可以直接拖放。draggable属性:设置元素是否可拖动。语法:<elementdraggable="true|false|auto">true:可以拖动false:禁止拖动auto:跟随浏览器定义是否可以拖动拖动每一个可拖动的元素,在拖动过程中,都会经历三个过程,拖动开始-->拖动过程中</p> <div class="post-extra-data"> <span><i class="fa fa-file-text"> <span>HTML5</span></i></span> <span><i class="fa fa-clock-o large"> 2017-11-23 发布</i></span> </div> </div> </div> <div class="media post-item"> <div class="media-left"> <div class="post-left-view"> <span>AD</span> <small>友情赞助</small> </div> </div> <div class="media-body"> <div class="post-item-a-d"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 单个网页 - 3(移动网站,{SITE.DOMAIN}) --> <ins class="adsbygoogle" style="display: block" data-ad-client="ca-pub-5890596333400804" data-ad-slot="1023458179" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> </div> <ul class="pagination"><li><a href="/article/list/1">«</a></li><li><a href="/article/list/203">203</a></li><li><a href="/article/list/204">204</a></li><li><a href="/article/list/205">205</a></li><li><a href="/article/list/206">206</a></li><li class="active"><span>207</span></li><li><a href="/article/list/208">208</a></li><li><a href="/article/list/209">209</a></li><li><a href="/article/list/210">210</a></li><li><a href="/article/list/211">211</a></li><li><a href="/article/list/283">»</a></li></ul> </div> </div> </section> </div> </div> <footer class="ui-footer"> <div class="container"> <p> <a href="/">码友网</a> 版权所有 © 2014-2025 · <span>Powered by .NET 7.0.0 on Linux</span> </p> <p>站点相关: <a href="/sn/latest">最新资讯</a> · <a href="/site/list">开发者必备</a> · <a href="/hot">最多阅读</a> · <a href="/cloudtags">标签云</a> · <a href="/about-us">关于码友网</a> · <a href="/rss/blog.xml">文章RSS</a> · <a href="/rss/sn.xml">资讯RSS</a> · <a href="/rss/question.xml">问答RSS</a> · <a href="/disclaimer">免责声明</a> · <a href="/sitemap.xml">网站地图</a></p> <p>友情链接: <a href='https://www.donet5.com/' target='_blank'>果糖网</a> · <a href='http://www.webyang.net' target='_blank'>WebYang.NET</a> · <a href='http://shiyousan.com/' target='_blank'>十有三博客</a> · <a href='http://www.fangsi.net/' target='_blank'>放肆雷特</a> · <a href='http://www.itsvse.com/' target='_blank'>架构师</a> · <a href='https://walterlv.com' target='_blank'>walterlv</a> · <a href='https://lindexi.oschina.io/lindexi/' target='_blank'>lindexi</a> · <a href='https://www.51aspx.com' target='_blank'>51ASPX</a></p> <p> 联系我们: <span title="码友网官方QQ群"><i class="fa fa-qq" aria-hidden="true"></i>483350228</span> <span title="电子邮箱" style="margin-left: 10px; display: inline-block;"><i class="fa fa-envelope" aria-hidden="true"></i>master@codedefault.com</span> </p> <p>ICP备案:<a href="https://beian.miit.gov.cn/" target="_blank">蜀ICP备14024472号-5</a></p> </div> </footer> <div class="back-to-top"> <a><i class="fa fa-chevron-up" aria-hidden="true"></i></a> </div> </div> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-52484435-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-52484435-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?048c0066de9e8716dc92331471a9af18"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (function () { var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?25ecbe92f623346ba596cbc40c6f342bdc75c1fe4fb0593e94524ca6e1152b7e30632485602430134f60bc55ca391050b680e2741bf7233a8f1da9902314a3fa"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script> <script src="/dist/js/site.min.js?v=QV5jp1YhO49Q5PmbEErECwhoYKLoPHVvHPTAuOjsydk"></script> <script type="text/javascript"> window.cd.isLogin = 0; window.cd.staticsHost = 'https://statics.codedefault.com'; </script> </body> </html>