小白学微信小程序
奔着实用性的目的-测试孩子的认字量,开发了一个微信小程序-测字大王。上下班路上看书看了一个星期,代码前后共写一个星期。现在小程序已经对外开放,share下我的开发过程吧。
一 工具准备
首先先过一篇 微信开放文档:https://developers.weixin.qq.com/miniprogram/dev/framework/
然后安装微信开发者工具
这个简单,百度一堆安装流程可供参考。
但是在登陆微信开发者工具时碰到小问题,总是提示:系统代理不是安全,怎么也消不掉, 这个不是所有人都能碰到,win10就没有碰到,自己家的系统win7有碰到,解决办法见https://www.cnblogs.com/Sunshine106/p/11181602.html
二 申请账号
按照微信开放文档的流程 申请,没有公众号的可以申请个人
三 开始写代码
最后的代码结构见:
index目录是默认的,新加目录或页面都要加到 app.json

最后来几个页面效果:




重点来说说开发中遇到的难题:
1) 点读需求
朋友都说需要不认识的时候能点一下字能告诉小朋友发音,在网上搜了很久都没有搜到,有个人说可以通过有道,百度的接口,但是我没有找到。后面找到发现微信小程序已经提供了插件WechatSI:于是果断试用:
var plugin = requirePlugin("WechatSI")
var innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.onError((res) => {
// 播放音频失败的回调
})
function playTTS(text) {
//need to add WXAPP plug-in unit: WechatSI
plugin.textToSpeech({
lang: "zh_CN",
tts: true,
content: text,
success: function (res) {
console.log("succ tts", res.filename)
innerAudioContext.src = res.filename;
innerAudioContext.play()
},
fail: function (res) {
console.log("fail tts", res)
}
})
}
function stopTTS() {
innerAudioContext.stop();
}
确实能用,就是点击发的声音不太好听,如果是童声或者林志玲声音就更好了。
2)互动性增强
有朋友提出小朋友认出字后如果能奖励星星就好了,娃娃们对奖励星星贴纸真是无法抵触诱惑啊,动态给出那种炫的效果也打不到,最后根据分数实时算出应该画出几个星星,星星图片是自己从excel里画的,这时候用到了微信小程序稍微高级一点的用法-模板
stars-template.wxml
<template name="starsTemplate">
<view class='stars-container'>
<view class='stars'>
<block wx:for="{{stars}}" wx:for-item="i" wx:key="position">
<image wx:if="{{i}}" src='../images/icon/star.png'></image>
<!-- <image wx:elif="{{i==2}}" src='/images/icon/none-star.png'></image> -->
<image wx:else src='../images/icon/none-star.jpg'></image>
</block>
</view>
<text class='star-score'>{{score}}</text>
</view>
</template>
recognize.wxml
<import src="../stars/stars-template.wxml" />
<view wx:if="{{endWord}}">
<view class="header-view">
<text class="header">四五快读第 {{levelId}} 册,第{{lessonId}}课 </text>
</view>
<view class="body-view">
<text class="line">____________________________________________ </text>
</view>
<view class="body-view">
<text class="score"> {{score}}分</text>
</view>
<view style='margin:100rpx'>
<template is="starsTemplate" data="{{stars:stars}}" />
</view>
<view class="body-view">
<text class="total"> 太棒了, 只花了 {{totalTime}},已认{{right}}字 </text>
</view>
</view>
所有源码见:
https://gitee.com/lishxia106/cezidaiwang
我知道这个小程序做的功能还不完善,希望有机会在后面能更入更多的时间,能真正实用。
小白学微信小程序的更多相关文章
- 为什么学微信小程序开发
微信小程序是什么? 触手可得,不用安装,不体验过自己是想不到的 ---张小龙 小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜 一下即可打开应用.也体现了“用 ...
- 小白之微信小程序第一次完成搭建本地服务与页面进行交互
如果忘记了搭建json-server的过程,可看上一篇随笔 1. index.xml 代码 <!--index.wxml--> <swiper indicator-dots=&qu ...
- 微信小程序踩坑集合
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...
- 关于微信小程序的Request请求错误处理
在学微信小程序的request请求的时候,一开始报“不在以下合法域名列表中,请参考文”的错误,后来又莫名其妙的报“400 Bad Request”错误,经过半天的研究,终于搞定了,把遇到的错误给大家分 ...
- 动手开发一个名为“微天气”的微信小程序(上)
引言:在智能手机软件的装机量中,天气预报类的APP排在比較靠前的位置.说明用户对天气的关注度非常高.由于人们不管是工作还是度假旅游等各种活动都须要依据自然天气来安排.跟着本文开发一个"微天气 ...
- 微信小程序框架与组件
版权声明:未经博主允许不得转载 前言: 学习微信小程序应该不怎么难吧~下面我来记录一下学习笔记,在学微信小程序的时候,如果你有html+css+javascript的基础,那么你就很快地上手掌握的.下 ...
- 微信小程序-视频教程-百度云-下载
链接: https://pan.baidu.com/s/16WGL3whutozx-UXqsDPhhA 提取码: 关注公众号[GitHubCN]回复获取 什么是微信小程序?小程序是一种不需要下载安 ...
- 1.微信小程序-B站:前言准备
前言 <微信小程序开发-B站>是以bilibili移动端网站为基础开发微信小程序版本,笔者喜欢的学习是愉快.轻松并能学到实战的东西,不知各位观友有没有一样的经历,就是一有问题不是先去Goo ...
- [web开发] 利用微信小程序开发上海大学失物招领平台
我从开始学微信小程序到最后完全写完这个小程序耗时四天,可以说开发难度非常之低,门槛也非常低,之前从来没接触过微信小程序,重新写下开发记录. 先放图: 1.前端开发 前端我用到了iview的ui框架,因 ...
随机推荐
- 管中窥豹——框架下的SQL注入 Java篇
管中窥豹--框架下的SQL注入 Java篇 背景 SQL注入漏洞应该算是很有年代感的漏洞了,但是现在依然活跃在各大漏洞榜单中,究其原因还是数据和代码的问题. SQL 语句在DBMS系统中作为表达式被解 ...
- JAVA设计模式-单例模式(Singleton)线程安全与效率
一,前言 单例模式详细大家都已经非常熟悉了,在文章单例模式的八种写法比较中,对单例模式的概念以及使用场景都做了很不错的说明.请在阅读本文之前,阅读一下这篇文章,因为本文就是按照这篇文章中的八种单例模式 ...
- BeanFactory not initialized or already closed
产生这个错误有两个可能, 一.你没有配置初始化文件,在web.xml中配置如下 <context-param> <param-name>contextConfigLocatio ...
- Java行业未来发展
互联网时代的飞速发展,为机械,自动化,等传统行业敲响了警钟,曾经火爆一时的行业逐渐没落,曾经网上有个段子,一个人在20多年前,看BP机卖的如火如荼,自己一想,那么多人都在用,总会有坏的时候吧,然后去技 ...
- shell脚本一键部署lvs+keepalived
环境 两个调度器dr1.dr2,两台真实机rs1.rs2.两台真实机安装httpd,并编辑主页内容用于验证 vip="192.168.132.250"dr1="192.1 ...
- selenium--定位--CSS
大家在使用selenium元素定位的时候,通常更多使用的是XPATH,css定位方式用得比较少 但有时候css定位方式还是有一些优势的, 优势1:一般情况下定位速度要比XPATH快 优势2:语法要比X ...
- 使用 .gitignore 忽略 Git 仓库中的文件
.gitignore 在Git中,很多时候你只想将代码提交到仓库,而不是将当前文件目录下的文件全部提交到Git仓库中,例如在MacOS系统下面的.DS_Store文件,或者是Xocde的操作记录,又或 ...
- java时间格式转换任意格式
例如:20180918/120023转换成2018-09-18 12:00:23 //时间格式转换 public String getNomalTime(String oldTime){ String ...
- 电脑链接WiFi有网络不能上网问题
刚刚入手了一个小米book pro笔记本突然发现网络链接了,但是却上不了网.找了n种方法,最后发现问题在于电脑的网络适配器中的无线模式出现了问题,下面开始解决方案的详细步骤说明. 一 . 打开电脑管理 ...
- 判断日期是否为法定节假日的API接口与示例函数
需要判定某日期是否为法定节假日,由于国家的节假日每年都在变动,所以使用接口判定是必要的.可惜的是,这样的接口并不多,在此汇总三个: http://tool.bitefu.net/jiari/ http ...