分类归档

小程序

FWQ
小程序
关于微信小程序canvas的开发
这篇文章主要介绍了小程序 wxcanvas开发实例及注意事项的相关资料,这里对微信canvas与h5中的canvas做对比,并说明注意事项,需要的朋友可以参考下 微信小程序 wxcanvas 测试手机为IPHONE6,开发者工具版本0.10.102800。开发者工具0.11.112301版本也一样 微信小程序里的canvas 非 h5 canvas有很多不一样的地方,以下把微信小程序的canvas叫做wxcanvas 下面全是我一点点测试出的干货,耐心看: 1.wxcanvas,不像h5canvas那样有width和height属性和width和height的style样式。他只有style样式,可以理解为他就是个框吧; 2.wxcanvas不要当成真的H5canvas,就当它是个p就行,画出范围的东西也是存在的,改变width,height就显示出来了,或者说这里有重绘,但具体如何实现的不知道; 3.改变wxcanvas的style的width,height,并不改为原画布上的东西的大小; 4.css transform变换中的变大缩小也无法改变原画布上的东西大小 5.官方说法:context只是一个记录方法调用的容器,用于生成记录绘制行为的actions数组。context跟<canvas></canvas>不存在对应关系,一个context生成画布的绘制动作数组可以应用于多个<canvas></canvas>。 实际上,context.getActions()后,context中的信息会被清空,如果想重复利用,需要var temp=context.getActions()将操作数组保存下来,才可重复用于wx.drawcanvas; 6.注意 wx.drawCanvas({   canvasId: 'target',   actions: context.getActions() }); 登录后复制 默认会清空画布,想不清空需要 wx.drawCanvas({   canvasId: 'target',   actions: context.getActions(),…
2024-11-25 阅读全文 →
FWQ
小程序
小程序中数据拷贝的问题解析
本篇文章给大家带来的内容是关于小程序中数据拷贝的问题解析 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 近期有帮同事做一个多商品评论的页面,多商品,顾名思义就是很多个商品,每个商品有星星评价,上传图片信息以及评论内容, 因为原先有写过公众号这个功能,于是自告奋勇的去写小程序的多商品评论了,结果就掉坑里了………… 思路很简单 首先造一个星星的数组,五星好评就是五个星星的图片,是这样: starList: [{        srca: "img/star02@3x.png",        index: "1"        }, {        srca: "img/star02@3x.png",        index: "2"        }, {        srca: "img/star02@3x.png",        index: "3"        }, {        srca: "img/star02@3x.png",        index: "4"        }, {        srca: "img/star02@3x.png",        index: "5"        }], 登录后复制 懒得取下标直接用index代表评分,然后根据后台返回的商品列表数组定义一个新数组pductList进行循环定义变量starLista赋值为数组 for(var i = 0; i <p>同时有个多张图片上传的list同理进行操作,然后给循环出的星星绑定点击事件取它的下标和index进行判断循环每个商品下的星星数组动态更改src</p><pre class="brush:js;toolbar:false">  for(var i = 0; i <p>最后取pductList  你需要的值基本上就都在这个数组里面了 ,</p><p>--------------------------------------------------------------掉坑-----------------------------------------------</p><p>开始写小程序就按照这样的思路一直写写写,然而写到一半以后突然发现,我点击了一行小星星,所有的星星颜色都会变化,经历了排查以及抓耳挠腮…
2024-11-25 阅读全文 →
FWQ
小程序
小程序的模板消息是什么意思
小程序的模板消息是什么意思     模板消息就是模板化的消息,我们接收到的消息一般都会包含一些固定格式。它是微信为小程序提供的消息推送能力。有了这一功能,小程序就可以向用户发送重要的消息通知了。 模板消息的优势: 1、突破公众号推送限制 我们都知道微信公众号不管是订阅号还是服务号,它的推送都是有限制的,而且大多数的服务号一个月只能推送4次消息,有了小程序的“模板消息”功能后,不仅可以帮助商家更多的触达到用户,还提高用户的复购率。 2、直达指定小程序页面,提高活跃 用户收到推送的消息会出现在“服务通知”里,进入点击模板消息,就可以打开相应的小程序,这有效提升用户的活跃度。当然,要做好这一点,商家们还要在文案和设计上下一番心思。 3、增加产品曝光度,便于留存 服务通知是一个很重要的功能,它就像微信支付,在支付成功后会收到消息提醒,是一种常规的服务跟踪类消息,对于小程序本身来说,可以引导用户,方便获取必要的信息,也增加了小程序的曝光率,便于用户留存。 PHP中文网,大量免费,欢迎学习! 以上就是小程序的模板消息是什么意思的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →
FWQ
小程序
小程序中如何获取参数openid & session_key的方法介绍
说说获取_和openid的条件 1.appid(小程序id),需要通过微信认证; 2.appsecret(小程序密钥); 3.登录时获取code; 注意:即使获取到了appid,未通过微信认证,也是不能拿到code的. 打印出来是这样的.    获取流程: 1.公众平台上找到AppID(小程序ID)和AppSecret(小程序密钥);  2.微信小程序中调用获取code wx.login({       success: function(res) {         console.log(res.code) //这就是code       }); 登录后复制 3.code 换取 session_key和openid 用户允许登录后,回调内容会带上 code(有效期五分钟),开发者需要将 code 发送到开发者服务器后台,使用code 换取 session_key api,将 code 换成 openid 和 session_key  后台访问微信服务器就能拿到openid 和 session_key 文档说不应该把openid或者session_key作为用户标识; 我就不折腾了.直接用openid做唯一标识.没啥毛病.…
2024-11-25 阅读全文 →
FWQ
小程序
小程序中如何实现三级选择器组件?(代码示例)
本篇文章给大家带来的内容是关于小程序中如何实现三级选择器组件?(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果 实现过程 <view>     <view>{{title}}</view>     <picker>       <view>         <view>         <!-- {{multiArray[2][multiIndex[2]]}} -->         {{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}}      </view>       <image></image>       </view>      </picker>   </view> 登录后复制 在小程序已有的picker组件中设置mode=”multiSelector”,使之成为多列选择器。 在多列选择器中有两个重要的参数: properties: {     multiArray: Array,     multiIndex: Array   } 登录后复制 multiArray是一个二维数组,存放选择器每一列上的选项列表。multiIndex是一个一维数组,存放每一列被选中的值,例:[0,0,0] 表示第一列选中了第0个选项,第二列也选中了第0个选项,以此类推。这两个参数都由用到三列选择器的页面传入。 在小程序已有的picker组件中绑定bindPickerChange事件和columnchange事件,当用户确定选择器的选项值或改变某列选项值时会分别触发这两个事件: methods: {    //这个只有在点确定的时候才会触发…
2024-11-25 阅读全文 →
FWQ
小程序
详解自定义PC微信扫码登录样式
关于pc微信扫码登录,本文主要介绍了自定义pc微信扫码登录样式的写法以及做了代码分析,希望能帮助到大家。 近期做一个PC端微信扫码登录的需求,微信扫码有两种方式,一种是新开一个二维码页面,另一种是内嵌入产品网页。本次以内嵌二维码为例,具体怎样在页面中显示一个登陆二维码,文档说的很清楚,就不赘述了。 当一切准备妥当之后,网页上的二维码初始默认是这个样子。 特别大不说(默认二维码大小280×280),还有微信登录的title,下方也有扫码登录的提示。幸运的是,微信留了一个api给我们自定义样式的机会,在之前实例化一个二维码的时候,实例对象中href属性,允许设置样式。 var obj = new WxLogin({       id:"login_container",        appid: "",        scope: "",        redirect_uri: "",       state: "",       style: "",       href: "../qrcode.css"//就是这个属性       }); 登录后复制 不幸的是,在href中传入样式文件的地址,会报错。貌似微信为了安全考虑,只允许访问https的资源。于是现在采用第二种解决办法data-url。 通过访问data-url解决样式问题 写一个nodejs,脚本将刚才的css资源转换为data-url。具体代码实现为: var fs = require('fs'); // function to encode file data to base64 encoded string function base64_encode(file) {  // read binary data  var bitmap = fs.readFileSync(file);  // convert binary data to base64 encoded string  return 'data:text/css;base64,'+new Buffer(bitmap).toString('base64'); } console.log(base64_encode('./qrcode.css')) 登录后复制 运行node脚本,复制打印出来的data-url,然后赋值给刚才的href。…
2024-11-25 阅读全文 →
FWQ
小程序
让微信小程序开发如鱼得水(实例)
  关于微信小程序开发一直想写一篇相关的文章总结和记录下,结果拖延症犯了迟迟没有下笔;这不最近天气不错,于是找一个空闲的下午将这篇文章输出下(好像跟天气没啥关系),那我们就开始吧! 注意:本文默认开发者对微信小程序开发有一定语法基础。小程序开发文档 相关免费学习推荐: 微信小程序小结   在接触的微信小程序开发过程中,不难发现微信小程序为了方便开发人员入手对很多底层api进行了很好的封装,比如针对接口请求的wx.request(),针对路由跳转和页面导航的wx.switchTab、wx.navigateTo···等。虽然在一定程度上简化了开发,但是对于项目工程的系统化构建还是不够的,因此本人在对比以前基于Vue开发项目的经验和自身的开发习惯,总结出如下3点可供参考: 1、全局变量和配置信息统一管理; 2、封装路由守卫相关api:vue-router的router.beforeEach()和router.afterEach()真的香; 3、接口请求公共信息进一步提取封装; 4、封装接口的请求和响应拦截api:axios的axios.interceptors.request.use()和axios.interceptors.response.use()用过的都说好; 从上述四点出发,对微信小程序初始化工程进行规范优化,能够很大程度提高开发效率和进行项目维护管理。封装的好处不只体现在调用的方便上,也体现在管理的方便上,同时,公共操作集中处理,很大程度减少繁杂重复代码。 一、项目初始化    新建微信小程序项目,在项目下新建如下目录和文件: config文件夹:统一管理可配置的信息和变量; erroList.js:接口报错错误码匹配列表文件; globalData.js:全局变量统一管理文件(相当于vuex); keys.js:可配置系统信息管理文件(全局常量命名等); pages文件夹:小程序页面文件管理文件夹(每个页面一个子文件夹目录); router文件夹:路由管理文件件; router.js:对微信小程序5种路由导航api的封装; routerConfig.js:页面路由名称和路径匹配配置文件; routerFilter.js:路由前置拦截封装; servers文件件:接口请求服务管理文件夹; apis文件夹:request请求封装管理和接口api配置管理文件夹; request.js:对wx.request的Promise封装; xxx.js:对应模块的接口管理文件; requestFilter.js:接口请求和响应拦截封装文件; 其他都是初始化默认文件; 二、路由跳转和路由守卫封装…
2024-11-25 阅读全文 →
FWQ
小程序
关于三宗罪的微信小程序开发的解决方法分享
在微信公布小程序的文档和开发工具后,我们在第一时间进行了学习和体验,发现微信小程序的技术和开发体验让我们有些失望。由于微信小程序的运行环境并不是一个标准的浏览器环境,而且微信的封装工作并不完善,所以我们以往开发中的很多经验并不适用。这并非简单的开发习惯不适应,更重要的是我们的开发流程、规范将不适用。微信小程序开发第一宗罪: 无法调用npm包虽然微信小程序开发工具打包时实现了加载依赖,但并不是完整的commonjs依赖管理。因为require函数仅仅能够加载项目中的js文件,而且必须严格定义js文件路径,路径不支持commonjs的路径风格。例如如下加载方式都将出错: require('lodash');require('lodash/map');require('./foo'); 登录后复制 在微信小程序开发工具中,我们必须对应写为如下格式: require('node_modules/lodash/lodash.js');require('node_modules/lodash/map.js');require('./foo.js'); 登录后复制 虽然我们可以像上面代码一样加载node_modules目录中的库,但是实际运行时却发生了: 在工具的Network选项卡中,我们看到运行时加载了1000多个文件,总数据量1.8MB,而我们仅仅是在代码中加载了一个lodash库而已!这是因为微信小程序开发工具会将所有项目下的js文件视为项目文件,并进行打包。而实际开发中,我们需要很多的NPM扩展库,而这些扩展库中有大量的不需要打包的文件,例如lodash中有上千文件,而我们只需要用到其中的非常少的一部分。另外,在开发中,我们往往需要安装babal、eslient、webpack、grunt等待开发工具,微信小程序开发工具会一视同仁将这些工具的源码也进行打包……实测开发者工具将崩溃!开发者将崩溃!我崩溃!所以不支持NPM包的原因,是微信开发者工具不支持CommonJS标准,不支持CommonJS标准的原因,是微信开发者工具想当然地认为项目目录下的js文件一定是项目文件,所以只实现了简单的require函数,想当然的原因是。。。微信小程序开发第二宗罪: 无法使用Babel转码无法使用Babel转码的原因其实仍然归结于无法加载NPM库。但是后果将十分严重。因为你将不能再使用ES6/7特性,你将无法使用async/await函数,你将和无尽的callback做斗争,你该怎样描述自己?回调地狱中的苦逼程序员?如果你看到这里不明白Babel为何物,那么祝贺你,因为不曾见过天堂就不知何为地狱,你无须为不支持ES6/7而烦恼。但一旦你的大脑支持了ES6/7,用过了Babel,你就回不去了,像我一样,无Babel不编码。微信小程序开发第三宗罪: 无法重用组件其实微信小程序开发是并非完全不能重用组件,比如W语法中支持import和 。但是那仅仅是模板可重用,并非组件可重用,因为我们认为组件在应当包含视图和逻辑。WXML其实是基于可重用的组件,但是不允许我们自。如果你有经验,你就会明白我的意思。例如,你的小程序是个电商APP,项目中有两个页面中同时包含了商品件,比如某分类下商品列表和结果列表,我们知道这两个列表其实仅仅是参数不同而已。但是在小程序开发中,你只能将列表的模板抽象出来,不能将逻辑抽象出来,所以你就需要在两个页面上都实现一遍列表组件的控制逻辑,比如刷新、加载更多。。。我们的实践只吐槽、管杀不管埋是不道德的,既然发现了微信小程序开发中的各种弊端,我们在开发之中总结出了一套流程和工具,专为解决上述三个问题,并免费发布到了开源社区,这就是Labrador。接下来我们一起来尝试一下我们的开发体验。安装Labrador**通过命令 npm install -g labrador-cli 全局安装Labrador控制行工具。 通过如下命令新建一个Labrador项目:mk democd demonpm initlabrador init 项目初始化完成后,该目录是这个样子的: 图中的src是我们的源码目录,node_modules是NPM包目录,dist是目标输出目录。请在开发者工具中新建一个项目,并设置路径到dist目录,请勿设置为demo目录!使用WebStorm或Sublime打开demo目录,开发过程中,我们使用WebStorm或Sublime修改src目录下的源码,请勿直接修改dist目录中的文件,因为dist目录是通过labrador命令生成的。在demo目录中运行 labrador build 命令编译项目,该命令会将src目录下的文件一一处理并生成dist目录下对应的文件。我们也可以运行 labrador…
2024-11-25 阅读全文 →
FWQ
小程序
微信小程序页面跳转传参详解
这篇文章主要介绍了微信小程序 页面跳转传参详解的相关资料,并附简单实例,和实现效果图,需要的朋友可以参考下  微信小程序 页面跳转传参,做微信小程序必定会用的这样的功能,这里就记录下本人学习实现代码资料。 刚接触微信小程序,多里面的语法和属性还不怎么聊解,如有不多的地方希望各位大神多多指教。今天来说下微信小程序怎么跳转和传参,话不多说直接上代码。 实现的功能是给列表增加点击功能传参到下一页;     代码如下: <import></import>  <view>   <!--滚动图-->   <view>   <swiper>   <block>    <swiper-item>     <image></image>    </swiper-item>   </block>   </swiper>   </view>   <!--功能按钮-->   <view>   <block>    <!--模版-->    <template></template>    <!--<view class="section-item"> <image…
2024-11-25 阅读全文 →
FWQ
小程序
如何爬取小程序源码
   爬取小程序源码的方法是:     随着微信团队的推广和快速发展,目前微信小程序已经越来越普及,而作为一名开发者经常会接到各种需求的项目,其中不乏部分客户直接给个案例,要求开发的必须与所提案例一摸一样,如果遇到这种需求时,为了节省开发周期以及成本,此时我们就可以进行页面爬取了。      第一步:打开     第二步:安装完成后双击打开,并使用数据线将手机插入电脑USB口(如图)    第三步:接通手机后打开微信,点击启动检测,当提示如下信息时点击确定(如图)      第四步:当所有检测都通过后,点击小程序并使用微信扫描二维码(如图)     第五步:扫描二维码后点击确定打开调试开关(如图)   第六步:用手机打开任意小程序并启动调试后点击inspect(如图)  第七步:在调试工具中可以看到手机打开的小程序,我打开的是土巴兔的小程序(如图) 推荐教程:《》 以上就是如何爬取小程序源码的详细内容,更多请关注米云其它相关文章!
2024-11-25 阅读全文 →