分类归档

小程序

FWQ
小程序
浅析小程序怎么动态制作小程序码
本篇文章给大家介绍一下微信小程序云开发动态制作小程序码的方法,希望对大家有所帮助! 一、前言 因为学业以及工作上的事情繁多,已经弃”耕”许久了。在这段时间里,学了很多东西,也做了大大小小将近10个项目,这个过程中,越发觉得记录的重要性,所以才想着在忙碌之中,抽出时间来写一下博客,记录一下开发过程中的一些知识点。老生常谈了,既是让自己下次能够回顾,也是希望能够帮到有需要的人。【相关学习推荐:】 二、需求分析 在日常的微信小程序项目中,我们经常需要用到一些宣传海报,邀请海报等功能,例如一个邀请好友的海报,生成之后让用户发朋友圈或者转发好友邀请,那这时,我们就需要知道那些用户是你邀请的,方便下发奖励啥的。这都是很常见的需求。那该如何实现类似的需求呢? 三、思路分析 这些海报其实最关键的一个就是长按扫码识别的带参二维码(小程序码)。 通过查阅微信小程序开发文档,我们可以知道,总的来说有两种方式可以生成这种带参二维码(小程序码),当这种带参二维码绘制在海报上时,就可以通过这个二维码的参数来进行识别是哪个用户生成的海报,当其他用户扫码进入小程序时就可将标识的id存进数据库里,进而判断到底是谁邀请的人了。 太久没有码字了,说得可能有点累赘。 总结一下:根据二维码带的参数来判断是谁的海报,这个参数一定是能够定位出来用户的,一般来说,可以使用用户的openid来作为这个标识参数。 举个简单的例子(云开发): 定义一个集合:user 有两个用户 U1 字段名 值 说明 _id 123456789 使用云数据库自动生成的id即可,不用自己生成 _openid 112233 插入数据时会自带有,也是一个系统字段 superiorId 445566 上级的openid字段 U2 字段名…
2024-11-25 阅读全文 →
FWQ
小程序
微信开发带参数二维码的实例详解
  最近做微信pc端网页微信相关功能的开发,从一个新手的角度来说,微信公众号的文档还是不好理解的,网上找的帖子大都也都基本上是复制微信公众平台上给的文档,开发微信带参数二维码过程中还是遇到不少坑的,在此把我的开发过程比较详细的记录下,希望对大家有所帮助。   我本次开发使用的是认证服务号。 1 接入   首先进入微信公众号 -> 基本配置    下面是基本配置的页面,在URL中填写服务器地址,这个地址就是接受微信推送事件的一个接口,我是使用thinkPHP框架开发的程序,在其中一个Module(Decoration)的Action目录下新建一个类,比如叫:  WechatAction.class.php  ,在该Action中新建一个public方法,比如叫:  URLRedirect()  ,那么在这个URL中填写的就是  http://[IP]:[port]/index.php/Decoration/Wechat/UrlRedirect  ,然后填写Token,Token随意填,EncodingAESKey要不要都行,然后点击确认,微信会往这个URL上发送一个get请求,里面包含很多参数,其中大部分都是让我们自己核对这次访问是不是微信服务器请求的,我自己没有验证,他的要求是如果我们核对成功,即原样返回get请求中的一个参数echostr,这里的返回不是return,也不是ajaxReturn,而使用echo,如果用thinkPHP开发的话,直接使用  echo I(‘echostr’);  即可。然后接口即验证成功了。   2 带参数二维码的作用   微信的带参数二维码有两种,一种是临时二维码,一种是永久二维码,但是永久二维码的生成是有个数限制的,我这次要实现的功能是用户未登录的情况下在网站上使用产品,比如获得某商品的详细报价,但是又不想注册,然而又想保存这个报价单,这个时候网页可以生成一张二维码,用户只要用微信扫一扫这个二维码,官方公众号就会给这个用户发送一天图文消息,图文消息点开后就是用户刚刚获得的报价单,而且可以随时点击查看并且分享给朋友进行比价。所以临时二维码即可正常使用。   上面是我是怎么使用的,下面介绍一下整个交互的流程:   当用户扫描这个二维码,如果用户关注了公众号,用户会直接进入与公众号的会话页面,微信服务器会给我们在上一步设置的服务器URL中推送一条消息,其中可以携带一个我们自定义的参数。如果用户未关注公众号,则用户首先会跳转到公众号关注页面,用户点击关注后,会直接进入公众号的会话页面,微信服务器这时也会给我们设置的URL推送一个事件消息,携带我们自定义参数,我们可以根据这个参数和事件类型做控制下一步动作。   3 具体开发过程 3.1 获取access_token   这个access_token是我们程序调用微信接口的凭证,目前的有效期是7200秒,所以我们需要定时更新access_token。   获得方法: 方法 : GET url :https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 登录后复制   其中的参数APPID和APPSECRET是我们公众号的APPID和APPSECRET,在微信公众号 -> 基本配置中可以查到,调用成功会返回如下JSON数据:…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序在上传图片时如何限制大小(附代码)
本篇文章给大家带来的内容是关于微信小程序在上传图片时如何限制大小(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。  最近有一个微信小程序的项目,要求是上传多张图片,数量不能超过3张 ,而且在php里因为上传图片被设置了只能上传2m,导致上传不成功,所以我在前端  设置一个函数,用了微信api(wx.chooseimage)获取图片,如果图片大于3张的情况弹出一个提示,不能继续上传图片了,如果图片大于2m的情况弹出一个提示,只能在上传2m以下的图片, data:{     img:[], //设置一个数组 } add_img:function(){     var that = this,     img = that.data.img;         if(img.length <p><img alt="" class="has" src="https://img-blog.csdn.net/20180804114842376?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjE0MzY4Nw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70"></p><p>我用的是tempFiles里的size判断图片大小, 支持最低版本1.2.0 <br></p><p>相关推荐:</p><p><a href="http://www.php.cn/xiaochengxu-408045.html" target="_blank" title="小程序:如何动态增加删除JSON对象数组(附代码)">小程序:如何动态增加删除JSON对象数组(附代码)</a></p><p><a href="http://www.php.cn/xiaochengxu-408043.html" target="_blank" title="微信小程序实例:如何调用腾讯地图获取jsonp数据">微信小程序实例:如何调用腾讯地图获取jsonp数据</a></p><p><a href="http://www.php.cn/xiaochengxu-408042.html" target="_blank" title="微信小程序中如何调用API实现数据请求">微信小程序中如何调用API实现数据请求</a></p> 登录后复制 以上就是微信小程序在上传图片时如何限制大小(附代码)的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
关于微信小程序MD5的方法的解析
这篇文章主要介绍了微信小程序 md5的方法详解及实例代码的相关资料,需要的朋友可以参考下 微信小程序 MD5的方法详解 生成的文件可以放在  utils文件中哦!!! /*   * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message   * Digest Algorithm, as defined in RFC 1321.   * Version 1.1 Copyright (C) Paul Johnston 1999 - 2002.   * Code also contributed by Greg Holt   * See http://pajhome.org.uk/site/legal.html for details.   */      /*   * Add integers, wrapping at 2^32. This uses 16-bit operations internally   * to work around bugs in some JS interpreters.   */   function safe_add(x, y)   {    var lsw = (x &amp; 0xFFFF) + (y &amp; 0xFFFF)    var msw = (x &gt;&gt; 16) + (y &gt;&gt; 16) + (lsw &gt;&gt; 16)    return (msw &gt;&gt; (32 - cnt))   }      /*   * These functions implement the four basic operations the algorithm uses.   */  …
2024-11-25 阅读全文 →
FWQ
小程序
记录一次实践,看看小程序购物车动画怎么优化
本篇文章给大家分享一次小程序动画优化实践,看看小程序购物车动画怎么优化,希望对大家有所帮助! 小程序购物车动画优化 公司小程序点击加购时,会绘制一个抛物线动画,这个抛物线动画是计算出来的贝塞尔曲线上每个点的坐标,再由js遍历点坐标,然后动态设置点的样式,从而实现动画。但这会带来卡顿掉帧问题 this.goodBoxTimer = setInterval(() =&gt; {   index--   this.setData({     'movingBallInfo.posX': linePos[index][0],     'movingBallInfo.posY': linePos[index][1],   })   if (index <p><span style="font-size: 16px;"><strong>前置知识:Event Loop, Task, micro Task, UI Rendering</strong></span></p><p>javascript是单线程语言,这就意味着所有任务都要进行排队。任务分为两种:一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列"通知主线程,某个异步任务可以执行了,该任务才会进入主线程执行。</p><p>而异步任务又分为宏任务(Task)和微任务(micro Task),同理任务队列也分为宏任务队列和微任务队列。</p><p>事件循环(Event Loop) 大致步骤:</p> 登录后复制 所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。 只要异步任务有了运行结果,就在任务队列之中放置一个事件。 执行栈中的宏任务执行完毕,引擎会先读取微任务,推入执行栈。执行完成之后,继续读取下一个微任务。如果执行过中产生新的微任务,就会把这个微任务推入微任务队列。如果主线程执行完所有微任务队列中的任务中时,就会去读取宏任务队列,推入执行栈。…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序 less文件编译成wxss文件的实现
这篇文章主要介绍了微信小程序 less文件编译成微信小程序wxss文件实现办法的相关资料,这里给出具体实现方法,需要的朋友可以参考下 less文件编译成微信小程序wxss文件 2016年9月21日,微信小程序正式开启内测。在微信生态下,触手可及、用完即走的微信小程序引起广泛关注,刷爆朋友圈子。在这样的火爆氛围中,作为一个前端开发者的我,也悄悄地去尝鲜。 在做demo小示例的过程中,我发现了一个极为让人为难的事儿:**如何让 less/sass 文件转成小程序的 wxss 文件**。 对于基本不使用原生css,而习惯编写less的我,这个事儿让我的样式编写相当的吃力。 在尝试配置koala (一个可以编译less/sass的工具)以及搜索各种资料后,终于找到了一个可行的方法。我以less为示例,和大家分享下。sass也是可行的。 环境要求: – webstrom– nodejs 具体步骤 1.使用 nodejs 命令安装 less。 在 nodejs命令窗口输入:npm install less -g,然后回车安装。如下图: 2.webstrom 配置…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序网络超时怎么办?
微信小程序网络超时的解决办法:1、在onlaunch运行任务如果超时,就把错误级别定为0,并转向错误页面;2、如果是页面请求超时,就把错误定为2,可以通过重试来修复。 微信小程序网络超时的解决办法: onLaunch通过这个我们可以获取用户的基本信息,或者定位用来做下一步处理,如果这个无法获取数据,会导致整个小程序的失败。 所以我建议可以把错误分两个级别,假如是开发者服务器连接不上,可以通过重载页面来处理,但是如果是onLaunch中的数据也无法获取就必须让用户退出小程序,重新打开再试了。 app.json 中配置用来设置超时时间,默认为6000毫秒,也就是6秒 "networkTimeout": {     "request": 6000,     "downloadFile": 10000   } 登录后复制 相关学习推荐: 一、在onLaunch运行任务如果超时,我把错误级别定为0,并转向错误页面 wx.login({       success(res) {         if (res.code) {           //console.log(res.code);           //发起网络请求           wx.request({             url: 'https://**/index/zz/getuserinfo',             data: {               code: res.code             },             success: res =&gt; {                            wx.setStorageSync('open_id', res.data.openid);               wx.setStorageSync('session_id', res.data.session_id);               wx.setStorageSync('session_key', res.data.session_key);…
2024-11-25 阅读全文 →
FWQ
小程序
微信接入探秘—加密消息的处理
在上一篇博文中,介绍了被动回调接口的抽象数据层次,并实现了一个高效的实体与xml互转的基础功能。细心的开发者在初次修改公众号的基本配置时会发现一个名为“消息加解密方式”的选项。展开后可供选择的值为:“明文模式”(默认)、“兼容模式”和“安全模式(推荐)”。那么这个安全模式又是什么呢?如何适配安全模式呢?带着这些问题,来进入微信接入的第三次探秘之旅。 可恶的流量劫持在文章的一开始,先给大家看两幅处于正常使用中的手机屏幕截图: 在屏幕的右下角你会看到都有个绿色的水球显示,这与要显示的画面格格不入,很明显不是设计者为之。点开水球,显示的是当前通讯套餐中剩余的流量详情。 从家庭局域网络到Internet再到IDC机房内网,我们的数据链路充满了转发的过程。我们的数据在经过任何一台设备的转发时都有可能被其持久化保存起来。你的办公内网一定安全吗?潜伏在你身边的黑客,通过设置局域网内某个网卡为混杂模式(Promiscuous Mode)可以将局域网中的所有数据都接收一份。可能你并不能发现什么,然而你的私有数据已经被别人窃取。 使用安全模式保护用户隐私 当启用安全模式之后,被动回调接口接收到的消息就产生了很大的变化,形式如下所示: <xml>     <tousername></tousername>     <encrypt></encrypt></xml> 登录后复制 可以看出,明文部分保留了该消息的公众号原始ID:gh_38a2de904e09,其余部分均为加密文本(这种结构可以使得同一个后台系统,接入多个公众号,再利用每个公众号的设置进行分别解密)。由于加密结构在官方文档(http://qydev.weixin.qq.com/wiki/index.php?title=加解密库下载与返回码)中并没有明确的阐述,这里就给大家详细地说明一下。 如果读者以前开发过网络协议应该很容易理解这个结构,典型的不定长消息。一定会有一个标识来指明不定长区域的长度,读取时以该值为准,在定长数据之后读取若干字节。在结构的开头,有16字节随机数,该部分数据无实际意义,可用于后续返回加密消息时作为随机数的填充数据。 安全模式的签名验证方法 微信的被动回调接口实际上是一个HTTP POST请求,我们都知道HTTP请求分为请求头和请求体。微信巧妙地将加密的XML数据放在了请求体,将验证签名时使用的参数放入了请求头。 POST /cgi-bin/wxpush? msg_signature=477715d11cdb4164915debcba66cb864d751f3e6×tamp=1409659813&nonce=1372623149 HTTP/1.1 Host: qy.weixin.qq.com Content-Length: 613 <xml>     <tousername></tousername>     <encrypt></encrypt></xml> 登录后复制 签名生成的过程: 通过上述计算,现在得出了当前加密消息的签名calculated_sign,然后从请求头中获取参数msg_signature,如果calculated_sign和msg_signature相同,则说明消息没有被篡改过。这种签名策略利用的数学难题有: 1. SHA1摘要算法对全部数据进行了计算,有任何改动最终的摘要都会发生变化; 2. Token是事先设置好的,在传输过程中并不包含,无从破解; 3. 时间戳和随机字符的引入,使得即便明文相同,每一次加密密文都有不同,给破解AES加密增加难度…
2024-11-25 阅读全文 →
FWQ
小程序
群发信息的10篇内容推荐
本文主要介绍微信公众平台开发群发信息,这里整理了详细的资料来说明微信公共平台群发信息的流程,有需要的小伙伴可以参考下1、目的  完成在微信公众号中群发消息。这里只是完成简单的文字发送。也可以发送语音图片等,只是发送数据格式不同而已,下面有链接,可以查询数据类型的数据发送格式。2、群发短信的流程获取测试公众账号(有账号的可以不用测试账号,不过正式的账号限制比较多)用户关注上面的公众账号通过appid和appsecret获取我们的access_token通过access_token群发短信3、获取测试公众账号 + 关注公众号1)、公众测试账号获取  访问上面的连接,选择“接口测试号申请”获得直接打开http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index通过微信客户端扫码登录即可登 1. 简介:本文主要介绍微信公众平台开发群发信息,这里整理了详细的资料来说明微信公共平台群发信息的流程,有需要的小伙伴可以参考下 2. 简介:如何利用php数组对百万数据进行排重。如何利用php数组对百万数据进行排重 在平时的工作中,经常接到要对网站的会员进行站内信、手机短信、email进行群发信息的通知,用户列 3. 简介:如何利用php数组对百万数据进行排重。如何利用php数组对百万数据进行排重 在平时的工作中,经常接到要对网站的会员进行站内信、手机短信、email进行群发信息的通知,用户列 4. 简介:在平时的工作中,经常接到要对网站的会员进行站内信、手机短信、email进行群发信息的通知,用户列表一般由别的同事提供,当中难免会有重复,为了避免重复发送,所以我在进行发送信息前要对他们提供的用户 5. 简介:优酷来疯直播间模拟登录群发信息 6. 简介:在平时的工作中,经常接到要对网站的会员进行站内信、手机短信、email进行群发信息的通知,用户列表一般由别的同事提供,当中难免会有重复,为了避免重复发送,所以我在进行发送信息前要对他们提供的用户列表进行排重,下面我以uid列表来讲讲我是如何利用php数组进行排重的。 【相关问答推荐】: 以上就是群发信息的10篇内容推荐的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序实例:详情页静态页面搭建的方法介绍
本篇文章给大家带来的内容是关于微信小程序实例:详情页静态页面搭建的方法介绍 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 pages目录下新建目录detail,里面新建页面detail: 在detail.json中先把导航栏标题文字内容改一下: {   "navigationBarTitleText": "DETAIL页面" } 登录后复制 detail.wxml <!--pages/detail/detail.wxml--><view>   <image></image>   <view>     <image></image>     <text>美国队长</text>     <text>发布于</text>     <text>2018 06 12</text>   </view>   <text>火影村</text>   <view>     <view>       <image></image>       <image></image>     </view>     <view></view>   </view>   <button>转发此文章</button>   <text>火咖啡馆就是了疯狂关键时刻来得及公司领导看过就发上来的考试管理的风格就是的离开几个老师</text></view> 登录后复制…
2024-11-25 阅读全文 →