分类归档

网站开发

FWQ
小程序
ES6新特性开发微信小程序(10)
可子类化的内建对象(Subclassable Built-ins) 在ES6中,像Array,Date和Dom元素这样的内建对象都可以被子类化。 通过子类工厂实现简单的合成器(Simple mixins via subclass factories) mixin在javascript里可以看作是一种从别的对象”借用”功能的方法。每一个新定义的对象都有一个 prototype属性,其他的对象就可以从这里”借用”功能。这里的功能可以是一个属性,也可以是一个方法。 Mixin支持在一个系统中降解功能的重复性,增加功能的重用性。在一些应用程序也许需要在所有的对象实体共享行为的地方,我们能够通过在一个Mixin中维护这个共享的功能,来很容易的避免任何重复,而因此专注于只实现我们系统中真正彼此不同的功能。 在 ES6 中,我们可以采用全新的基于类继承的 “mixin” 模式设计更优雅的“语义化”接口,这是因为 ES6 中的 extends 可以继承动态构造的类,这一点和其他的静态声明类的编程语言不同。当 ES6 类继承另一个类,被继承的类可以是通过任意表达式创建的动态类。这个特性可以允许实现一种合成器模式,用一个函数来将一个类 C 映射到一个新的继承了C的类。 mixin 式继承的基本形式: 用 mixin…
2024-11-25 阅读全文 →
FWQ
CMS教程
PHPCMS能用Vue开发吗?
PHPCMS能用Vue开发吗? PHPCMS能用Vue开发,只需在PHPCMS模板中引入vue.js,就可以使用Vue进行开发,Vue是一套用于构建用户界面的渐进式JavaScript框架,该框架目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。 Vue 特点 易用 立即学习“”; 在有HTML CSS JavaScript的基础上,快速上手。 灵活 简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。 性能 20kb min+gzip 运行大小、超快虚拟 DOM 、最省心的优化。 Vue 目录结构 目录/文件 说明 build 项目构建(webpack)相关代码 config 配置目录,包括端口号等。我们初学可以使用默认的。 node_modules npm 加载的项目依赖模块 src 包含了几个目录及文件:…
2024-11-25 阅读全文 →
FWQ
CMS教程
一招搞定帝国cms灵动标签里的序号实现方法
经常需要一个带有序列号的列表。如12345….. 当然万能标签也可以做到。但输出栏目列表的时候万能标签就做不到了。 这时我们可以用灵动标签。 [e:loop={“select * from phome_enewsclass where bclassid=0 order by classid limit 20 “,20,24,0}]//输出内容[/e:loop] 其中的 $bqno 就是序列号。默认从1开始 要从2开始就 $bqno+1 要从3开始就 $bqno+2 推荐学习《教程》 以上就是一招搞定灵动标签里的序号实现方法的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
分享Echarts在Taro微信小程序开发中的踩坑记录
栏目介绍Echarts在Taro微信小程序开发中的踩坑记录。 背景 近期笔者在使用Taro进行微信小程序开发,当引入Echarts图表库时,微信检测单包超限2M的一系列优化措施的踩坑记录,期望能指导读者少走一些弯路。 为什么选择Echarts? 微信小程序目录市面上使用最多的两款图表库,如下: echarts-for-weixin——echarts微信小程序版本 wx-charts——基于微信小程序的图表库 对比两款图表库优缺点刚好相反。 echarts-for-weixin:功能强大,但体积非常大 wx-charts:功能相对简单,但体积小 由于笔者对echarts使用较熟悉,且需求图表需要支持的部分功能wx-charts不支持,所以最终选择使用echarts-for-weixin,踩坑之旅就此开始。 单包超过2M,如何处理? 笔者引入echarts-for-weixin,快乐的做完需求,准备上传代码发布微信小程序体验版,坑就此开始… 当单包超过2M上限,则上传代码出现异常,出现上面弹窗提示。 微信小程序官方要求,单包不超过2M,整包不超过16M 遇到单包超过2M,优化方案有如下两种: 微信分包加载subpackages 单包体积优化(缩减代码、压缩、静态资源CDN等等) 由于笔者本次开发需求属于新功能,所以把新功能模块采用独立的分包路由加载,但分包后,还是出现单包超过2M的限制。 经过分析发现业务模块引用的echarts组件,会被Taro打包到common.js模块,导致所有的分包模块都会重复计算echarts的size,导致旧分包模块超过2M的限制。 为什么echarts-for-weixin会被打包到common.js模块? 原因是echarts被echarts-for-weixin组件和外部业务组件所依赖,导致Taro认为echarts.js被多个模块所依赖,所以打包到common.js。 为了解决此问题,采用splitChunks打包配置,将echarts单独模块打包,然后在对应的依赖页面(addChunkPages)注入依赖,配置如下: // echartChunkName echarts打包后的输出路径 mini: {…
2024-11-25 阅读全文 →
FWQ
CMS教程
DedeCms安全设置怎么做
安全设置怎么做? 1、目录权限  我们不建议用户把栏目目录设置在根目录, 原因是这样进行安全设置会十分的麻烦, 在默认的情况下,安装完成后,目录设置如下:  (1) data、templets、uploads、a或5.3的html目录, 设置可读写,不可执行的权限;  (2) 不需要专题的,建议删除 special 目录, 需要可以在生成HTML后,删除 special/index.php 然后把这目录设置为可读写,不可执行的权限;  (3) include、member、plus、后台管理目录 设置为可执行脚本,可读,但不可写入(安装了附加模块的,book、ask、company、group 目录同样如此设置)。  推荐学习: 2、其它需注意问题  (1) 虽然对 install 目录已经进行了严格处理, 但为了安全起见,我们依然建议把它删除;  (2) 不要对网站直接使用MySQL…
2024-11-25 阅读全文 →
FWQ
小程序
小程序框架如何选择
导语: 从小程序开始内测一直到现在,各个公司对小程序业务的开发需求越来越大。开发者在使用原生去开发小程序时很难受,尤其是遇上业务比较复杂的项目,如果仍然使用原生开发,会变得很难去管理和迭代。 (学习视频分享:) 使用原生开发的问题: 小程序本身不支持常用的css预编译器 不支持ES7以上的高级语法,如async await等特性; 不支持工程化,如环境、变量等管理 缺少统一的request拦截请求 缺少统一的本地缓存读取管理 使用框架可以解决的问题: 支持css预编译器 支持ES7以上语法 支持工程化 大部分框架支持多端,一套代码多端复用 框架介绍与对比 Wepy WePY (发音: /’wepi/)是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions的引入都是为了能让开发小程序项目变得更加简单,高效 Mpvue mpvue 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序主要是干什么的
微信小程序主要是干什么的? 微信小程序,小程序的一种,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。 微信小程序是一种不用下载就能使用的应用,也是一项门槛非常高的创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。  2017年1月9日,张小龙在2017微信公开课Pro上发布的微信小程序正式上线。 2018年2月,微信官方发布公告称:已对涉及假货高仿、色情低俗和违规“现金贷”等超过2000个微信小程序,进行永久封禁处理。 2019年8月9日,微信向开发者发布新能力公测与更新公告,微信PC版新版本中,支持打开聊天中分享的微信小程序。 以上就是微信小程序主要是干什么的的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序模板消息定时推送(图文)
本篇文章给大家带来的内容是关于微信小程序模板消息定时推送(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近更新了创建推送api接口的模块,所以你要是想做一个定时推送微信小程序模板消息的功能,只需要简单的三步就好! 1、 添加应用 首先进入vPush开发者管理控制台:https://dev.vpush.cloud 然后点击添加应用,根据配置添加即可。 2、创建API 然后选择模板消息,点击【创建API】按钮,进行简单设置即可。 一般不需要默认数据,因为我们再请求推送接口的时候可以传递数据覆盖。 所以我们设置好要放大的关键词即可: 然后点击创建按钮即可创建完毕。 3、调用API接口 创建接口后,在下方即可看到接口的信息以及使用的代码示例: 所以我们接下来,就开始创建一个我们自己的推送脚本了! 这里以一ONE小程序为例,我们设定每天早上9:10分获取当天的图文数据,然后调用推送API接口即可创建推送任务,最后推送给所有的用户们。 我用nodejs的superagent模块写了一个简单的脚本: /**  * 一ONE小程序推送模块  * 每天早上09:10获取更新,然后推送  * https://github.com/safe-dog/one  * https://vpush.cloud  */var request = require('superagent');  // 获取新数据request   .post('https://api.hibai.cn/api/index/index')   .send({       'TransCode': '030112',           'OpenId': '123456789',           'Body': ''…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序中关于三级联动地址选择器的实例分享
本文介绍了微信小程序三级联动地址选择器的实例代码,分享给大家,有需要的可以一起了解一下 在一些电商类的小程序中,地址选择这个功能一般是必备的,一般的收货信息都需要有一个能选择省市县的控件,当然也有些人为了省事就直接写了一个供输入的input,那么这样做的缺点不言而喻,而且用户体验也不是那么的好,今天的这篇文章就分享一下微信小程序地址选择的实现。省市县的数据以及区域码可以从国家统计局查询到,具体可以自己搜一下。照例先上源码和效果图 源码传送门 picker和picker-view组件 在正式介绍实现之前,我们需要先来介绍下这两个组件,picker这个组件在前面的文章有简单介绍过,它是从底部弹起的滚动选择器,可以通过设置type的值来实现日期选择,时间选择以及普通的选择器,如果我们想实现上图三级联动地址选择效果,发现实现起来很困难,应该说是不能实现,因为picker普通选择器是只能有一列,如果想这实现三列的效果就需要另辟蹊径了。 既然是另辟蹊径,自然就会想到picker-view,该组件是一个嵌入页面的滚动选择器,该组件中可以放置多个picker-view-column,并且只能放置picker-view-column,其它组件是不会显示的,每一个picker-view-column就是一列。 picker-view有几个重要的属性,value是一个数组类型,数组中的数字依次表示 picker-view 内的 picker-view-colume 选择的第几项(下标从 0 开始),数字大于 picker-view-column 可选项长度时,选择最后一项。indicator-style和indicator-class可以设置选择器中间选中框的样式,他有一个事件bindchange,当我们滚动item时选择的item数据发生变化就会触发这个函数,并且可以通过event.detai.vaule(和上面介绍vaule含义相同)获取当前选择的是第几项(下标从 0 开始)。而对于picker-view-column高度会自动设置成与picker-view的选中框的高度一致。 省市县数据文件 存储了地址选择所需要用到的数据,主要是区域码和名字,然后通过下面代码将数据暴露出去,以供使用 module.exports = {  citys,  provinces,  areas } 登录后复制 wxml文件实现 <view>  <view>…
2024-11-25 阅读全文 →
FWQ
小程序
微信公众号查看关注者接口的.NET实例教程
实体类:  public class userlist   {     public string total { get; set; }     public string count { get; set; }     public userlistopenid data { get; set; }     public string next_openid { get; set; }   } 登录后复制  public class userlistopenid   {     public List<string> openid { get; set;   }</string> 登录后复制  public class userdetail   {     public int subscribe { get; set; }     public string openid { get; set; }     public string nickname { get; set; }     public int sex { get; set; }     public string language { get; set; }     public string city { get; set; }     public string province { get; set; }     public string country { get; set; }     public string headimgurl { get; set; }     public int subscribe_time { get; set; }     public string unionid { get; set; }     public string remark { get; set; }…
2024-11-25 阅读全文 →