前言

  微信小程序年前的跳一跳确实是火了一把,然后呢一直没有时间去实践项目,一直想搞但是工作上不需要所以,嗯嗯嗯嗯嗯emmmmm.....

需求

  小程序语音识别,全景图片观看,登录授权,获取个人基本信息

一:基础框架

  官方开发文档:https://developers.weixin.qq.com/miniprogram/dev/ (其实官方文档写的很清楚了)

  

  1. 跟着官方文档一步一步来,新建一个小程序项目就好
  2. 然后呢,毕竟默认的只是基本骨架,肌肉线条还是要自己填的

 app.json 是当前小程序的全局配置

  小程序的所有页面路径、界面表现、网络超时时间、底部 tab

  需求一:底部tab,我们要像原生APP那样要有是三个常驻的按钮,切换页面

  

  1. app.json 文件中添加下面的代码就可以了
  2. 还有哦,一定要配置pagepath(页面路径)
  3.  
  4. "tabBar": {
  5. "color": "#cacaca",
  6. "selectedColor": "#f40",
  7. "borderStyle": "#fff",
  8. "backgroundColor": "#ffffff",
  9. "list": [
  10. {
  11. "pagePath": "pages/index/index",
  12. "text": "VR图片",
  13. "iconPath": "image/home.png",
  14. "selectedIconPath": "image/home_hover.png"
  15. },
  16. {
  17. "pagePath": "pages/voice/voice",
  18. "iconPath": "image/question.png",
  19. "selectedIconPath": "image/question_hover.png",
  20. "text": "VR语音"
  21. },
  22. {
  23. "pagePath": "pages/me/me",
  24. "iconPath": "image/mytb.png",
  25. "selectedIconPath": "image/mytb_hover.png",
  26. "text": "你的VR世界"
  27. }
  28. ]
  29. }

  效果图:

  

  需求二:看见别人家的小程序,顶部可以自定义颜色

  如图:

  

  好说,好说

  

  1. 同样在app.json 中插入一下代码,颜色自定义啦~
  2.  
  3. "window": {
  4. "backgroundTextStyle": "light",
  5. "navigationBarBackgroundColor": "#458af1",
  6. "navigationBarTitleText": "VR世界",
  7. "navigationBarTextStyle": "black",
  8. "enablePullDownRefresh": true
  9. },

  总结app.json 配置,直接参考官方文档中的app.json 所有配置,一般需求都可以满足

  贴心的贴上官方链接:https://developers.weixin.qq.com/miniprogram/dev/framework/config.html#%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE

  

  需求三:开发小程序,一般要用户授权登录,然后获取用户的基本信息,个人页面

  如图:

  

  1. 官方api 地址:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html
  2. 找到登录接口

  

  1. //app.js
  2. App({
  3. onLaunch: function () {
  4. // 展示本地存储能力
  5. var logs = wx.getStorageSync('logs') || []
  6. logs.unshift(Date.now())
  7. wx.setStorageSync('logs', logs)
  8.  
  9. // 登录
  10. wx.login({
  11. success: res => {
  12. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  13. }
  14. })
  15. // 获取用户信息
  16. wx.getSetting({
  17. success: res => {
  18. if (res.authSetting['scope.userInfo']) {
  19. // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  20. wx.getUserInfo({
  21. success: res => {
  22. // 可以将 res 发送给后台解码出 unionId
  23. this.globalData.userInfo = res.userInfo
  24.  
  25. // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  26. // 所以此处加入 callback 以防止这种情况
  27. if (this.userInfoReadyCallback) {
  28. this.userInfoReadyCallback(res)
  29. }
  30. }
  31. })
  32. }
  33. }
  34. })
  35. },
  36. globalData: {
  37. userInfo: null
  38. }
  39. })

  需求三:小程序有哪些组件可用呢

  其实小程序的这一套框架,跟vue 很像,上手很容易

  1. 帖心的放上链接:https://developers.weixin.qq.com/miniprogram/dev/component/
  2. 官方支持的组件
  3. 如何使用,举栗子,使用swiper 轮播
    1. <swiper indicator-dots="{{indicatorDots}}"
    2. autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}">
    3. <block wx:for="{{imgUrls}}">
    4. <swiper-item>
    5. <image src="{{item}}" class="slide-image" width="355" height="150"/>
    6. </swiper-item>
    7. </block>
    8. </swiper>

    效果图:

    总结:小程序的接班框架就搭好了,需要什么就在里面添加就好了 如果你完全是新手,不是前端开发者,要先去了解一下

  4. 要遵循小程序的规则,模板语言,数据绑定,组件使用,传参,路由这些

微信小程序——手把手教你写一个微信小程序的更多相关文章

  1. 手把手教你写一个RN小程序!

    时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...

  2. 只有20行Javascript代码!手把手教你写一个页面模板引擎

    http://www.toobug.net/article/how_to_design_front_end_template_engine.html http://barretlee.com/webs ...

  3. 手把手教你写一个SpringMVC框架

    一.介绍 在日常的 web 开发中,熟悉 java 的同学一定知道,Spring MVC 可以说是目前最流行的框架,之所以如此的流行,原因很简单:编程简洁.上手简单! 我记得刚开始入行的时候,最先接触 ...

  4. 手把手教你写一个java的orm(一)

    写之前的说明 其实吧. 这个东西已经写好了,地址在:https://github.com/hjx601496320/JdbcPlus 这系列文章算是我写的过程的总结吧.(恩系列,说明我可能会写好久,╮ ...

  5. 手把手教你写一个RPC

    1.1 RPC 是什么 定义:RPC(Remote Procedure Call Protocol)--远程过程调用协议 ,RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数 ...

  6. 让我手把手教你写一个强大、方便使用的 IOC 容器

    一.介绍 1.介绍 最近无聊,也没什么事做,没事做总是要给自己找点事情做吧,毕竟人的生活在与折腾.于是,决定自己手动写一个 IOC 的框架.我们知道在 NetCore 的版本里面已经内置了 IOC 容 ...

  7. 手把手教你写一个java的orm(五)

    生成sql:where 上一篇里我们实现了生成insert的sql,下面要开始实现update,delete,select的sql语句了.但是这些语句有一个比较麻烦的地方是:它们一般后面都会有wher ...

  8. 手把手教你写一个windows服务 【基于.net】 附实用小工具{注册服务/开启服务/停止服务/删除服务}

    1,本文适用范围 语言:.net 服务类型:windows服务,隔一段时间执行 2,服务搭建: 1,在vs中创建 console程序 2,在console项目所在类库右键 添加-新建项-选择Windo ...

  9. 手把手教你写一个java的orm(三)

    使用反射解析class 上一篇我们完成了class到表映射关系的建立,但是这个并不能被代码正确处理,我们还需要让程序能够正确的识别这些映射关系. 这一篇主要讲的是建立一个从class到表的模型,使我们 ...

随机推荐

  1. LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)

    参考文档:http://blog.csdn.net/ioy84737634/article/details/44916241 目录 lvs的调度算法 lvs的四种模式 四层均衡负载和七层的区别 1.l ...

  2. iPhone/android的viewport 禁止页面自动缩放

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scal ...

  3. JDK/bin目录下的不同exe文件的用途

    新安装完JDk 大家是否发现安装目录的bin文件夹有很多exe文件 下面就为大家讲解不同exe文件的用途 javac:Java编译器,将Java源代码换成字节代 java:Java解释器,直接从类文件 ...

  4. Spring 读取配置文件的俩种方式

    读取配置可通过 org.springframework.core.env.Environment 类来获取, 也可以通过@Value的方式来获取 注解形式: @PropertySource({&quo ...

  5. gcd?人生赢家!

    题目背景 原创:b2019dy gcd是一个热爱游戏的人 题目描述 gcd最近在玩一个有趣的游戏 我们把这个游戏抽象成一张图,图上有n个点,我们需要寻找总计m件宝物,它们分布在图上,对于每件宝物而言, ...

  6. Golang - 数据库操作

    1. 下载安装包 go get github.com/Go-SQL-Driver/MySQL go install github.com/Go-SQL-Driver/MySQL 2. 连接池 This ...

  7. shell基础--变量的数值计算

    变量的数值计算 1.$((表达式)) (1).实验1 [root@~_~ day4]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b) ...

  8. Day10 API

    String类 String是不可变类:值一旦确定了,就不会更改. public static void main(String[] args) { String s1 = "hello&q ...

  9. 20145203盖泽双:Java实验报告二

    Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...

  10. python logging模块日志回滚TimedRotatingFileHandler

    # coding=utf-8 import logging import time import os import logging.handlers import re def logger(app ...