当前位置: 首页 > news >正文

这个十月,我写出了人生中第一个小程序

  从2018-10-08开始学习并尝试着写微信小程序,到2018-11-06全部测试通过,正好30天。这个小程序实现了购物商城、智能推荐、物流定位、智慧客服、朋友圈、视频直播和弹幕网等功能,尤其在页面设计上下了大工夫,茉莉紫的主题颜色,我觉得颜值蛮高的,欢迎体验~

由于是个人发布的小程序,腾讯一直审核不通过,只能发布为体验版,以下是体验版的二维码,需要我手工认证才能进入,想要体验的话请联系我微信gusuziyi

图片

图片预览地址 :https://gusuziyi.github.io/ancientBeauty
源码地址:https://github.com/gusuziyi/ancientBeauty

所遇到的典型问题汇总

 一、小程序使用的是wxss而非css,他引入了rpx来解决不同设备尺寸差异的问题,但同样具有css无法运算、嵌套和定义变量的问题,所以我使用了gulp+less对wxss进行构建,详见gulpfile.js

二、微信官方UI有两套:小程序默认内置的和weui,两套UI有大量的重复功能,而且偶尔还互相干扰,weui几乎没有文档,只能撸源码,开发体验极差,导致光写界面就用了18天,今后weui最好按需引入,同时想要使用淘宝iconfont,必须转成base64格式才可以,详见style文件夹

三、组件中的properties和data使用的方法一致,properties甚至可以直接赋值,赋空值也可以,this.setData居然可以自动刷新dom,必须好评

四、关于收藏夹的存储设计:初始化后调取手机存储收藏夹,然后更新到app.globalData.myFav中供不同页面加载,每次点击收藏时,更新页面中的myFav以刷新dom,更新app.globalData.myFav以同步各页面,更新Storage以长久保存

五、没找到类似webpack的resolve工具,所以写页面navigateTo和usingComponents时无比蛋疼,好在页面内navigate可以使用get方式传值,注意传复杂数组要JSON化

六、组件的ready事件无法读取到properties值,所以想要让组件自动刷新,只能在父组件中调用this.selectComponent(),但ready可以调用到methods和data,因此倒计时操作不需要借助父组件

七、数据库+js逻辑+智能机器人一共写了大约十天,主要得益于腾讯云极其通俗简洁的存储模式、微信开发工具对js极好的热刷新优化以及无需状态管理,云开发今后必定大有发展

八、wxss居然不支持右键检查、各节点里面有一堆莫名其妙的#shadow-root、wxss热刷新巨慢,平均要等2-3秒、750rpx的宽度,即使计算好了有时也会出现左右压缩变形的问题,希望这些问题今后能得到优化

  九、十月份的自学计划顺利完成,这个月发现两个大问题,一是UI设计效率很低,二是对后端一知半解,所以十一月到十二月中旬的学习重点准备放在前端原型设计和node上面,天气渐凉,但愿自学热情不减

 

千茉紫依 2018/11/6

转载于:https://www.cnblogs.com/qmzy/p/9914033.html

相关文章:

  • @RestController注解的使用
  • 为什么你总是拿不到高薪?
  • 移动端常遇见的问题
  • SQLServer之创建显式事务
  • 未来的浏览器会怎么发展呢?
  • 外网访问内网CouchDB数据库
  • Google开源机器学习工作流Kubeflow Pipelines,推出AI Hub
  • 阿里新任CEO张勇首次电视采访:云计算将是阿里未来主要业务
  • 4.3dotnet watch run「深入浅出ASP.NET Core系列」
  • MATLAB 求两个矩阵的 欧氏距离
  • Git初体验
  • Adaptive Execution让Spark SQL更高效更好用
  • linux搭建node环境
  • Redis的集群:集群的分片
  • Java的并发编程中的多线程问题到底是怎么回事儿?
  • 【前端学习】-粗谈选择器
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 11111111
  • 2017年终总结、随想
  • Brief introduction of how to 'Call, Apply and Bind'
  • centos安装java运行环境jdk+tomcat
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • E-HPC支持多队列管理和自动伸缩
  • flask接收请求并推入栈
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • JavaScript标准库系列——Math对象和Date对象(二)
  • java第三方包学习之lombok
  • JS 面试题总结
  • JS数组方法汇总
  • nodejs调试方法
  • passportjs 源码分析
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Python socket服务器端、客户端传送信息
  • python3 使用 asyncio 代替线程
  • Redis字符串类型内部编码剖析
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Vue学习第二天
  • Vue组件定义
  • yii2中session跨域名的问题
  • 闭包,sync使用细节
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 浏览器缓存机制分析
  • 树莓派 - 使用须知
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 06-01 点餐小程序前台界面搭建
  • ​2021半年盘点,不想你错过的重磅新书
  • ​什么是bug?bug的源头在哪里?
  • # Java NIO(一)FileChannel
  • #define与typedef区别
  • #include<初见C语言之指针(5)>
  • #includecmath
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (附源码)ssm码农论坛 毕业设计 231126