分类归档

小程序

FWQ
小程序
带你了解小程序的由来
微信小程序是如何架构出来的,深入了解之后,可能你会悄然大悟。所有的创新都是在前人的基础之上进行的。react实现了高效的虚拟dom,微信在此基础之上,构建了一个微信浏览器,即小程序运行环境。 首先你需要有下面的工具啦 1、Mac电脑 2、微信web开发者工具.app 3、WebStorm / 其他编程器 或 IDE,最好可以支持重命名 首先,我们需要右键微信web开发者工具.app,然后显示包的内容, 在Contents/Resources/app.nw下面的内容即是我们的代码,拷贝出来啦: 简单的说明一下: app/ 目录下放置了app的代码 modified_modules/ 即一些修改后的模块 node_modules/ 地球人都知道 package.json 呵呵,你一定是知道的,配置了NW相关的内容 在modified_modules目录下有两个子模块: anyproxy,从名字就可以看起来这是一个代理模块 weinre,远程调试工具 IDE 我们已经知道了这是一个NodeWebkit封装的Web应用了。 在package.json中的”main”: “app/html/index.html”,,即定义了这个APP的入口是这个index.html,而不是别的文件。 很顺利的我们看到了他们调用的文件了:…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发中使元素占满全屏的方法介绍
这篇文章主要介绍了微信小程序中使元素占满整个屏幕高度实现方法的相关资料,需要的朋友可以参考下 微信小程序中使元素占满整个屏幕高度实现方法 在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素。 宽度很简单就是:100% 但是高度呢,我们知道的是:100%必须是在父元素的高度给定了的情况下才可以。 以前我的做法是用获取屏幕的高度,然后将其赋值给height, 屏幕高度在网页中为:window.innerHeight; 在微信小程序中则需要调用wx.getSystemInfo,然后通过setData赋值 但是显然通过js来进行的,效率上肯定不如css直接给定样式。 于是我们使用另一种方法: 在网页中设置body,html{height:100%}; 将body和html设置为100%,这样我们就可以在他们的子元素中使用height:100%来使的我们的容器元素占满屏幕的高度啦。 但是在微信小程序中,是没有的,但是我们看工具可以看到在dom树(我也不知道怎么叫了,就这么叫吧)中,根节点是page,所以我们来试试使用page{height:100%} 果然,是可行的。高度占满了整个小程序的窗口。 于是我可以愉快的继续写我的小程序啦。 【相关推荐】 1. 2. 以上就是微信开发中使元素占满全屏的方法介绍的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
微信H5开发 调用openApi
 微信硬件平台是微信推出连接物与人,物与物的iot解决方案。也就是说可以通过微信控制各种智能设备。比如一些蓝牙设备、空调、电视等等。   我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小团队里我负责开发H5自定义面板,刚开始看官方文档各种迷糊,对于sdk、js、Airkiss、openApi、直连SDK都不知道该用哪个做,官方论坛问问题基本上没结果,加了几个微信硬件群问问题,发现好些开发者和我一样,同一个问题,发到几个群里问,画面好心酸。给wxthings发邮件问,能回复就不错了,往往还是只言片语。吐槽了这么多,还是得去解决问题,毕竟设备能搭上微信是一大卖点,最近摸索出来一些东西,于是有了此文。  一、接入流程    也就是说,首先你得有一个公众号,然后开通设备功能、添加产品(也就是你的智能设备)。这些过程官方文档比较清楚,我就不讲了。接入方案我们选择的是微信硬件云标准接入方案。 设置面板 而我要说的H5面板开发,指的就是在微信中打开的一个H5控制页面,它如何和微信硬件云通信,如何读取和设置设备的。在添加产品的过程中有一栏设置面板 如果选择标准面板,微信官方给出了三类标准面板:    分别是空调、开关和灯,如果是自定义,则输入地址即可。如果是标准面板,你是不需要服务器,但如果是自定义的面板,你就需要有自己的服务器,不然你无法处理微信云发过来的消息。 启用服务器配置 在设置服务器地址的时候要注意,你必须按照它要求方式处理响应了,你才能启用成功。  你点击启用的时候,微信云会发过来一个签名、一个、一个随机数和一个随机,验证之后,返回那个随机字符串,微信云收到你返回的随机字符串了,就能启用成功。比如,如果你定义的地址是http://www.xxx.com/device/ReceiveWXMsg,那么先把代码服务器,然后再点击启用,微信云会向这个地址post数据。 每一次微信向服务器发送数据时,都会先发这验证(也就是说如果不校验就返回会有问题)。 public string ReceiveWXMsg() { var signature = Request.QueryString["signature"]; var timestamp = Request.QueryString["timestamp"]; var…
2024-11-25 阅读全文 →
FWQ
小程序
小程序如何在页面之间传值
小程序如何在页面之间传值 小程序在页面跳转API wx.navigateTo中提供了页面传值的写法,参数与路径之间用?分隔,参数键与值用=相连,不同参数用&相连即可。 使用示例:A页面传值到B页面 A页面 var txt = 'abc' wx.navigateTo({     url: '../Bpage/index?msg=' + txt }) 登录后复制 B页面 // 生命周期函数,监听页面加载 onLoad: function(options) {     // 获取URL里的参数     var txt = options.txt     console.log(txt) } 登录后复制 PHP中文网,大量免费教程,欢迎学习! 以上就是小程序如何在页面之间传值的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
总结有关小程序开发的经验
微信小程序 开发经验整理 前言: 最近小程序出来了,公司也要求我们开发一款小程序。 于是,就开始着手做了,做了差不多一周吧,也遇到了很多问题,这里就来总结一下。(主要是从一个Android开发者的角度来述说的,可能比较零碎的一些知识点和经验,如果大家还有补充,欢迎) 总结 1:传参,方法判断 js中 方法中可以传递一个方法作为形参,在java中是不可以的。比如start项目中的 getUserInfo:function(cb){  var that = this  if(this.globalData.userInfo){   typeof cb == "function" && cb(this.globalData.userInfo)  }else{   //调用登录接口   wx.login({    success: function () {     wx.getUserInfo({      success: function (res) {       that.globalData.userInfo = res.userInfo       typeof cb == "function" && cb(that.globalData.userInfo)      }     })    }   })  } }, 登录后复制…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序中如何渲染html内容(代码示例)
本篇文章给大家带来的内容是关于微信小程序中如何渲染html内容(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题。但是,在微信小程序(下文简称为「小程序」)中,应当如何渲染这部分内容呢? 解决方案 wxParse 小程序刚上线那会儿,是无法直接渲染HTML内容的,于是就诞生了一个叫做「 wxParse 」的库。它的原理就是把HTML代码解析成树结构的数据,再通过小程序的模板把该数据渲染出来。 rich-text 后来,小程序增加了「rich-text」组件用于展示富文本内容。然而,这个组件存在一个极大的限制: 组件内屏蔽了所有节点的事件 。也就是说,在该组件内,连「预览图片」这样一个简单的功能都无法实现。 web-view 再后来,小程序允许通过「web-view」组件嵌套网页,通过网页展示HTML内容是兼容性最好的解决方案了。然而,因为要多加载一个页面,性能是较差的。 立即学习“”; 当「WePY」遇上「wxParse」 基于用户体验和功能交互上的考虑,我们抛弃了「rich-text」和「web-view」这两个原生组件,选择了「wxParse」。然而,用着用着却发现,「wxParse」也不能很好地满足需要: 我们的小程序是基于「WePY」框架开发的,而「wxParse」是基于原生的小程序编写的。要想让两者兼容,必须修改「wxParse」的源代码。 「wxParse」只是简单地通过image组件对原img元素的图片进行显示和预览。而在实际使用中,可能会用到云存储的接口对图片进行缩小,达到「 用小图显示,用原图预览 」的目的。 「wxParse」直接使用小程序的video组件展示视频,但是video组件的 层级问题 经常导致UI异常(例如把某个固定定位的元素给挡了)。 此外,围观一下「wxParse」的代码仓库可以发现,它已经两年没有迭代了。所以就萌生了基于「WePY」的组件模式重新写一个富文本组件的想法,其成果就是「WePY HTML」项目。 实现过程 解析HTML 首先仍然是要把HTML字符串解析为树结构的数据,我采用的是「特殊字符分隔法」。HTML中的特殊字符是「」,前者为开始符,后者为结束符。…
2024-11-25 阅读全文 →
FWQ
小程序
关于微信小程序 location API接口的解析
这篇文章主要介绍了微信小程序 location api接口相关资料,这里详细介绍了location api接口并附简单实例代码,需要的朋友可以参考下  微信小程序 location API 接口: 现在微信小程序火了 ,利用假期时间学习了下,微信小程序的基础知识,嘿嘿! 以下是记录学习微信小程序 location API接口,并且写了一个小实例来记录,如有错误之处还请指正。 微信小程序的位置接口共有两个: 1、wx.getLocation(OBJECT)获取当前的地理位置、速度。2、wx.openLocation(OBJECT) 使用微信内置地图查看位置 然后,根据object参数说明,结合module模块化重写了下两个接口在暴露出来引用,让项目更加灵活管理。具体代码如下: location.js:: /**   * 获取当前的地理位置、速度。   * 1、fType:     默认为 wgs84 返回 gps 坐标,gcj02 返回可用于wx.openLocation的坐标   选填   * 2、cbSuccessFun: 接口调用成功的回调函数,返回内容详见返回参数说明。 必填   * 3、cbFailFun:  接口调用失败的回调函数 选填   * 4、cbCompleteFun:接口调用结束的回调函数(调用成功、失败都会执行) 选填   */  function getLocationFun(fType, cbSuccessFun, cbFailFun, cbCompleteFun){    var getObj={};    getObj.type="wgs84";    if(fType){ …
2024-11-25 阅读全文 →
FWQ
小程序
全网介绍小程序接口请求封装的实例
今天在全网为大家介绍小程序接口请求封装的实例,快快围观。 这篇文章主要针对一些初学者,有写的不好的地方,还请大家多多谅解! 在utils文件夹里面新建两个js文件,一个是api.js、一个就是requtil.js api.js 这个文件主要api接口,废话不多说直接上代码了 const request = require('requtil.js')/*Apis 把全部api都存在这里*/const Apis = { /* 用户相关 */ 'login': '/devicecenter/auth/weChtLoin', 'bindUser': '/devicecenter/user/userBindinOpenId', 'genQrCode': '/devicecenter/user/getUserRcode', /* 设备相关 */ 'getDeviceList': '/minipro/group/getDl', //…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序下拉框组件使用方法
这篇文章主要为大家详细介绍了微信小程序下拉框组件的使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。【推荐教程:】 适用场景 1、省市三级联动2、出生日期选择3、性别选择4、一般性的下拉选择等 一、省市三级联动使用 注意mode = region,以及value = “一维数组” //.wxml <picker data-method="bindSelect"><view>    当前选择:{{region[0]}},{{region[1]}},{{region[2]}} </view></picker> 登录后复制 二、出生日期选择 注意mode = date,以及value = “日期字符串” <picker>   <view>   {{date}}   </view></picker> 登录后复制 三、性别选择 <picker>…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序实例:实现随机验证码(附代码)
本篇文章给大家带来的内容是关于微信小程序实例:实现随机验证码(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 小程序上经常会有一些注册 申请页面需要用到随机验证码。具体实现方法不多说 直接上代码    <view>         <text>{{code}}</text>         <text>换一张</text>     </view> 登录后复制 .yanzhengma {     height: 100rpx;     display: flex;     align-items: center;     justify-content: center; } .yanzhengma .left {     font-family: Arial;     font-style: italic;     font-weight: bold;     border: 0;     letter-spacing: 3px;     font-size: 18px;     background-color: #ccc;     padding: 10rpx;     margin-right: 20rpx;     color: blue; }…
2024-11-25 阅读全文 →