小程序开发的准备工作

  1. 1.       小程序开发者账号

a)         邮箱注册

b)         开发者配置与AppID

c)         https://mp.weixin.qq.com/

d)         记住开发者ID

  1. 2.       小程序集成开发环境

a)         微信开发者工具

  1. 3.       小程序开发规范

a)         开发规范—目录规范,命名规范,代码规范

b)         目录规范:utils(工具类), pages(页面), components(组件类),thirdparty(第三方库)

c)         代码规范:js语法,json语法,WXML和WXSS的一些约束

d)         交互规范--友好礼貌,清晰明确,便捷优雅,统一稳定

项目工程的目录介绍

  1. 1.       小程序的文件类型

a)         .Wxml(结构):

i.              标签名称<div> ===> <view>

ii.              Wx:if, wx:for,{{}}

b)         .Wxss(表现)

i.              具备css的大部分属性

ii.              新增尺寸单位(主要是为了适配移动端)

iii.              全局样式和局部样式

c)         .js(行为)

i.              本色出演

d)         .json(配置)

i.              工具配置(project.config.json)

ii.              项目配置(app.json)

iii.              页面配置(<page name>.json)

  1. 1.       小程序目录说明

a)         Pages目录-------页面相关代码

b)         Utils目录--------工具相关代码(网络请求,文件操作等)

c)         其他文件---------thirdparty,conponents,resources(小程序资源图标等)

  1. 2.       小程序的全局入口,配置与样式

a)         全局入口-----------app.js

b)         全局配置----------app.json

c)         全部样式----------app.wxss

小程序框架:

  1. 1.       小程序的配置

a)         全局配置------------app.json

i.              Pages列表配置

ii.              Windows属性配置

iii.              Tabbar配置

b)         页面配置-----------<pages>.json

i.              只能配置全局配置中的window配置内容

ii.              当页面配置和全局配置冲突时页面配置会覆盖全局配置中的window配置(可以配置状态栏,导航条,标题窗口背景颜色等等)

iii.              开启下拉刷新

  1. 2.       小程序的逻辑

a)         小程序注册逻辑

i.   App函数

      1. 注册全局唯一的小程序
      2. 只能调用一次
      3. 接受一个对象作为函数参数

b)     页面注册逻辑

i.   Page函数

      1. 注册一个页面
      2. 接受一个对象作为函数参数

ii.    页面数据

      1. Data属性 如data:{message:”hello world”}

a)         访问:this.data.message

b)         修改:this.setData({})

      1. 使用全局数据

a)         获取全局唯一的App实例 const app = getApp()

b)         通过唯一实例获取全局数据 var data = app.globalData

iii.    页面生命周期(生命周期回调函数,触发时机)

      1. onLoad 生命周期回调监听页面加载
      2. onShow 生命周期回调监听页面显示
      3. onReady 生命周期回调监听页面初次渲染完成
      4. onHide 生命周期回调监听页面隐藏
      5. onUnload 生命周期回调监听页面卸载
      6. onPullDownRefresh 监听用户下拉动作
      7. onReachBottom 页面上拉触底事件的处理函数
      8. onResize 页面尺寸改变时触发
      9. onTabItemTab 当前是tab页时,点击tab时触发
  1. 3.       小程序的视图层

a)         数据绑定

i.              语法{{}} <view>{{ message }}</view>   Page({data:{message:’hello word’}})

b)         列表渲染

i.              语法:wx:for <view wx:for =”{{array}}”>{{index}}:{{item.messgae}}(这个是小程序框框架约定俗成的)</view>

Page({data:{array:[{message:’foo’}]}})

c)         条件渲染

i.              语法:wx:if,wx:elif,wx:else

<view wx:if=”{{length > 5}}”> 1</view>

<view wx:elif=”{{length > 5}}”>2</view>

<view wx:else=”{{length > 5}}”> 3</view>

d)        绑定事件(页面事件,触发时机)

i.              Tap 手指接触后马上离开

ii.              Longpress 手指接触后,超过350ms在离开(推荐使用)

iii.              Longtap 手指触摸后,超过350ms在离开

iv.              Touchstart 手指触摸动作开始

v.              Touchend 手指触摸动作结束

vi.              事件绑定的写法以key,value的形式

vii.              Key以bind或catch开头,然后跟上事件的类型

viii.              <view id=”tapTest” data-hi=”WeChat” bindtap=”tapName”> Click me!</view>

Page({tapName:function(event)}){console.log(event)}

小程序框架:

  

  

小程序提供的能力和常用API

  1. 1.       微信API

      a)         网络请求

     i.       HTTP请求

              

    i.       文件上传,下载

              

              

        

i.      *Task(网络任务对象)

      1. 异步任务提交以后,需要对任务进行操作时,使用Task对象
      2. 包含:RequestTask  UploadTask  DownLoadTask  SocketTask
      3. 中断任务
      4. 触发回调函数
      5. 关闭连接

b)         本地存储

i.               将数据存储在本地缓存中指定的key中,数据存储生命周期根小程序本身一致

ii.              Wx.setStorage  Wx.getStorage  wx.removeStorage  wx.clearStorage

c)         文件系统

i.              全局文件管理器

          1. 获取全局唯一的文件管理器 var fs  wx.getFileSystemManager()

ii.              文件的增删改查

          1. 对文件进行操作的API有很多,完全覆盖编程语言对文件的各种操作
          2. Fs.saveFile fs.removeSavedFile fs.writeFile fs.appendFile fs.readFile

iii.              文件夹的操作

          1. Fs.mkdir fs.rmdir fs.isDirectory fs.isFile
  1. 1.       开放能力

a)         用户数据

i.              头像,昵称等公开信息----wx.getuserInfo()

ii.              Openid等敏感数据

      

a)         推送消息

i.              基于微信的通知渠道,小程序框架为开发者提高供了可以高效触达用户的消息

b)         运营数据

i.              小程序管理后台,数据分析

ii.              小程序数据助手

  1. 1.       基础组件

a)          视图容器----view,scroll-view, swiper,cover-view

b)         基础内容---text,icon,rich-test

c)         表单,导航---button,from,input

  1. 2.       WeUI-WXSS组件:

a)         WeUI 是一套同微信原生视觉体验一致的基础样式库

b)         微信官方设计团队为微信内网页和微信小程序量身设计

c)         包含button,view等众多元素

d)         Github搜索weui-wxss获取源码

e)         手机预览

微信小程序与Django<一>的更多相关文章

  1. django+nginx+gunicorn+pipenv微信小程序实践笔记

    一.我采用pipenv来管理虚拟环境,在本地新建虚拟环境: mkdir wxProject #进入环境目录,创建虚拟环境 pipenv install #激活虚拟环境 pipenv shell #然后 ...

  2. 微信小程序登录对接Django后端实现JWT方式验证登录

    先上效果图 点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 流程 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3. ...

  3. Django基于JWT实现微信小程序的登录和鉴权

    什么是JWT? JWT,全称Json Web Token,用于作为JSON对象在各方之间安全地传输信息.该信息可以被验证和信任,因为它是数字签名的. 与Session的区别 一.Session是在服务 ...

  4. Django+小程序技术打造微信小程序助手 ✌✌

    Django+小程序技术打造微信小程序助手 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 从零到一的完整项目开发实战过程,项目开发聚焦重要知识点,先原理后实战 ...

  5. Django微信小程序后台开发教程

    本文链接:https://blog.csdn.net/qq_43467898/article/details/83187698Django微信小程序后台开发教程1 申请小程序,创建hello worl ...

  6. Django+小程序技术打造微信小程序助手

    Django+小程序技术打造微信小程序助手   整个课程都看完了,当前这个课程的分享可以往下看,下面有某盘的链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,同时也分享下自己的总结 ...

  7. 微信小程序支付接口之Django后台

    本文链接:https://blog.csdn.net/qq_41860162/article/details/89098694Python3-django-微信小程序支付接口调用工具类生成一系列微信官 ...

  8. 微信小程序项目踩过的几个坑

    一.前言 近期,开始了一段辛酸的还未开始就已经结束的"创业"(参见我的第二次创业,以梦为马,莫负韶华).大体上是开发了一款微信小程序,关于创业这件事情就不细说了,本文主要介绍一下开 ...

  9. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

随机推荐

  1. bzoj 3585 mex - 线段树 - 分块 - 莫队算法

    Description 有一个长度为n的数组{a1,a2,...,an}.m次询问,每次询问一个区间内最小没有出现过的自然数. Input 第一行n,m. 第二行为n个数. 从第三行开始,每行一个询问 ...

  2. Content-type解析

    一.是什么? 是Http的实体首部字段,用于说明请求或返回的消息主体是用何种方式编码,在request header和response header里都存在. Content-Type(内容类型),一 ...

  3. 为什么 Redis 单线程能支撑高并发?

    阅读本文大概需要 4 分钟. 作者:Draveness 最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutipl ...

  4. 【深入学习linux】Linux命令格式

    一.命令基本格式 命令提示符 [root@localhost ~]# root 代表当前登录用户,Linux当中管理员账号是 root localhost 代表主机名 ~ 代表当前所在目录(家目录), ...

  5. hinkphp项目部署到Linux服务器上报错“模板不存在”如何解决

    检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错.莫名其妙,怀疑是代码问题. 仔细检查后,发现是模板的文件名问题: 用过TP的都知道:thinkphp会在$this->dis ...

  6. Android TextView部分文字实现点击事件

    This is the class for text whose content and markup can both be changed. (这是一个内容和标记都可以更改的文本类) 快速实现 直 ...

  7. Loadrunner11压测过程问题总结

    1.-27727: 下载资源时步骤下载超时 (120 seconds) 已过期 由于压力大了,下载资源所用时间就长了,可以设置加大超时时间: 运行时设置--Internet 协议--首选项--高级-- ...

  8. LR 算法总结--斯坦福大学机器学习公开课学习笔记

    在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数   模型指给定输入xi如何去 ...

  9. ECharts饼图自定义

    [本文出自天外归云的博客园] 实现: 1.饼块可点击(点击饼块跳转到百度) 2.饼块自定义标签显示(显示个数.占比) 3.自定义标签连接线样式(虚线) 前端php代码如下: <!DOCTYPE ...

  10. [转]解决 gem install 安装失败

    链接地址:https://blog.csdn.net/weixin_42414461/article/details/85337465