zoukankan      html  css  js  c++  java
  • 微信小程序

    2.4:微信公众平台-小程序(重点)

    微信通讯产品:腾讯公司(超过10亿用户)
    BATJ(百度/阿里/腾讯/京东)
    微信公众平台(订阅号/小程序/小游戏)
    订阅号:个人媒体平台(文章/音频/视频)
    微信小程序:中小企业和个人(轻量级app)

    2.5:微信公众平台--小程序(重点)-注册帐户
    (1)微信公众平台
    https://mp.weixin.qq.com/
    (2)立即注册
       订阅号   服务器   (*)小程序   企业微信

    (3)邮箱(没有在微信平台使用订阅号小程序....)

    (4)注册主体类型
    -企业和机构
    (1)上传企业基本信息加盖公章图片清晰
    (2)主体类型不能修改
    (3)微信支付/卡包/附近小程序-面向企业
    -个人

    2.6:微信公众平台-小程序(重点)-登录

    https://mp.weixin.qq.com/
    (1)邮箱/密码

    (2)左侧菜单开发选项  点击。
    (3)开发设置     点击
    (4)appid:小程序密钥

    (5)左侧菜单:版本管理
    开发版本-->审核版本->线上版本

    2.7:微信公众平台--小程序(重点)-下载开发者工具
    (1)微信开发工具下载地址https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

    (2)安装下一步
    (3)用手机微信扫二维进入工具
    (4)创建项目

     

    2.8:微信公众平台-小程序(重点)-工具
    云开发:开通云开发->打开云开发管理界面

    编译:将所有代码重新编译执行最新结果

    预览:将代码上传微信服务器,使用手机微信扫描看到程序结果

    上传:将项目上传微信服务器[开发版本]
    详情:项目详细
    (1)调试基础库
    注意事项:每一个小程序项目不能超过2MB

    2.9:微信公众平台-小程序(重点)-目录结构

    2.10:微信公众平台-小程序(重点)-如何创建页面

    exam01/
    exam01.wxml     类似html
    exam01.WXss     类似css
    exam01.json      配置文件
    exam01.js           类似js

     

    2.11:微信公众平台--小程序(重点)-wxm|
    小程序wxml微信xml
    #严格匹配置开始结束标签
    常见标签

    view    相当于<div>       #块级元素
    text     相当于<span>    #行内元素.
    image 相当于<img src="" />
    form    相当于<form></form>p
    ...

    常见错误:

     (!)expect end-tag `text`   缺少结束标签

    (2)模拟器没有任何内容关闭网络防火墙
    (3)输入中文不成功关 闭开发工具再启动

    (1)文本标签
    <text selectable="true"> </text>
    selectable="true"
    文本的内容可以复制

    (2)图片
    <image src=" 1.jpg" lazy-load='true'></image>

    lazy-load='true'懒加载:等 待图片下载成功后再显示
    图片内容
    图片默认320*240图片

    2.12:微信公众平台--小程序(重点)-wxss
    wxss是一套用于小程序的样式语言,功能描述组件
    (1)单位:rpx(responsive pixel)响应式像素,可以根据屏幕
    宽度自适应调用图片文字容器大小

    图片默认320* 240图片

    2.12:微信公众平台--小程序(重点)-wxss
    WXSS是一套用于小程序的样式语言,功能描述组件
    (1)单位:rpx(responsive pixel)响应式像素,可以根据屏幕宽度自适应调用图片文字容器大小

    (2)引入外部样式文件@import "./base.wxss"

    2.13:微信公众平台-小程序(重点)-rpx
    问题:移动端开发你使用哪个像素

    -前端设计师:设计稿图片    物理像素
    -前端开发:css                    逻辑像素

    示例:iphone6(2)/iphone plus(3)
    逻辑像素* dpr=物理像素
    iphon6    375px* 2= 750
    iphon6plus   ?
    小程序解决方案: rpx响应式像素

    (iphone6)     750rpx逻辑像素=== 750物理像素

    2.14:微信公众平台-小程序(重点)-引入其它样式文件

    #将项目公众样式内容统一保存在 一个文件中

    style/common.WXSS
    exam01.WXSS

    @import “../style/common/wxss"
    #引入其它样式文件一定用相对路径

    #小程序开发文档
    2.15:微信公众平台-小程序(重点)-第三方组件库(样式库)
    -小程序开发文档

    https://developers.weixin.qq.com/miniprogram/dev/framework/

     Vannt   Weapp     -有赞团队开发样式(项目)

    https://youzan.github.io/vant-weapp/#/    小程序
    -WeUI
    -iview Weapp

    2.16:微信公众平台-小程序(重点)-配置文件

    project.config.json   项目配置文件
    app.json                  项目全局配置文件
    exam01.json           组件配置文件


    --app.json         全局配置文件
    #如果一个选项添加app.json所有组件立即生效

    "pages":[]    组件列表
    [
    "pages/exam01/exam01",#默认 显示第一个组件
    " pages/exam02/exam02"
    ]

    "window":}全局窗口配置
    "navigationBarBackgroundColor"': "#F00",      导航条背景
    "navigationBarTitleText'": "学子商城",           导航条文本
    "navigationBar TextStyle'"': "black"                 导航条文本颜色(只能选黑白)

    "tabbar":{}  底部导航栏

    "tabBar": {
        "list": [   按钮列表
      {         一个按钮
          "pagePath": "pagePath",  点击按钮跳转组件
          "text": "text",       按钮文本
          "iconPath": "iconPath",          按钮默认图标
          "selectedIconPath": "selectedIconPath"     按钮选中图标
        }]
      },

    #注意事项:图标不能使用网络路径只有本地路径
    #注意事项:按钮最少二个

    2:今天的目标

    3.1:微信公众平台--小程序--js/事件
    -小程序中js与网页程序中js有区别
    (1)ECMA基本类型:string;number;boolean;undefined;null
    (2)ECMA对象:Date;Math;RegExp;Array;Function....
    (3)DOM/BOM不能使用

    (4)小程序顶级对象 wx 相当于网页js中window

    #通过小程序文档[API]查看所有组件

    -js特殊文件
    (1) 全局js         app.js     全局共享数据
    (2) 当前组件js  base.js   当前组件使用
    Page({})当 前组件对象包括[事件/方法/data]
    如何显示data中数据    {{msg}}

    3.2:微信公众平台--小程序-js/事件数据显示控制
    (1)循环

    <view wx:for="{{数组名称}}" wx:key="index">

    {{item}}     当前对象
    {{index}}   当前元素下标

    </view>

    #wx:for="{循环数组名称}"
    #wx:key="index"数组元素下标(排序规则) 快速排序

    (2)if
    <view wx:if="{{condition}}">xxx</view>
    condition:表达式true false  

    true     当前元素正常显示
    false    当前元素删除

    (3)if else
    <view wx:if="{{condition}}"> </view>
    <view wx:elif="{{condition}}"></view>

    <view wx:else></view>

    (4)hidden
    <view hidden="{{condition}}">内容</view>

    true    隐藏      false  显示

    问题:什么时候使用if什么时候使用hidden
    (1)如果此元素需要频繁切换使用hidden
    (2)如果此元素在运行中不大可能改变则wx:if 较好

    3.3:微信公众平台--小程序-js/事件-事件

    pc端项目屏幕宽度 > 970px操作:鼠标键盘
    移动端项目屏幕宽度<970px 操作:手指

    移动端项目:
    -touchstart 当手指碰屏幕时发生事件不管几个手指
    -touchmove当手指在屏幕上滑动边续触发

    -touchend 当手指离开屏幕时触发
    zepto.js -相当于移动端jquery
    tap 触碰一次
    longtap 长按一次超过350ms
    swipe  滑动
    swipeLeft  左滑

    3.4:微信公众平台-小程序--js/事件事件
    小程序事件分为二种
    (1)冒泡事件:当一一个组件.上事件被触发后,该事件向父元素传递

    (2)非冒泡事件:当一个组件.上事件被触发后,不向父元素传递
    小程序绑定事件方式

    -支持事件冒泡
    <view bind事件名="事件处理函数"></view>
    -不支持事件冒泡
    <view catch事件名="事件处理函数"></view>

    3.x:微信公众平台-小程序-生命周期(指组件的生命周期)

    组件生命周期:一个组件从创建开始到使用最后销毁过程 

    onLoad           :组件创建成功后触发一次

          (1)发送ajax请求
          (2)获取传递参数onLoad(options)

    (4)onReady       :组件渲染成功后触发一次
    onShow       :显示组件多次
    onHide      :隐藏组件多次

    onUnload          :销毁 

     

    3.6:微信公众平台--小程序-特殊事件
    (1) onPullDownRefresh      用户下拉操作[刷新操作]

    (2) onReachBottom            用户上拉触顶[下一页]

    #默认小程序禁止用户下拉操作
    #修改默认行为
    -全局修改: app.json
    window:{
    "enablePullDownRefresh":false #禁 止用户下拉操作
    }

    -当前组件修改: base.json
    enablePullDownRefresh": true

    4.1:微信公众平台-小程序--云开发 三个基础内容

    -云数据库:数据增加/删除/修改/查询....
    -云存储:上传文件/下载文件/分享文件/管理文件

    -云函数:获取appid/调用高级权限操作

    4.2:微信公众平台--小程序-开通云开发
    小程序开发工具-->"云开发"开通
    环境名称:[........]英文数字
    环境id:[]自动生成复制下来

    #免费环境
    -5GB 云数据库
    -2GB云存储
    -CDN流程5GB/月

    4.3:微信公众平台--小程序--云数据库(mongodb nosq|数据库)
    云开发提供-一个JSON数据库提供2GB免费空间

    关系型数据库 文档型数据库
    数据库database 数据库database
    表table 集合collection
    行row 记录record/doc
    列column 字段field

    #关系型数据库(mysql):适合复杂数据关系企业内 部软件系统
    #文档型数据库(mongodb):数据关系简单频繁查询,更新app

    mongodb nosq|数据库:

    数据类型  
    string字符串 Number数字
    Object对象 Array数组
    Bool布尔 GeoPoint地理位置点
    Date时间(客户端) NULL

    4.4:微信公众平台--小程序--云数据库操作

    (1)控制台:
    (2)云函数
    (3)小程序操作

    4.5:微信公众平台--小程序操作云数据库
    (1)通过控制台:创建集合web1903
    (2)初始化默认云数据库
    const db = wx.cloud.database();

    (3)向集合中添加新记录
    db.collection("集合名称").add(
    {
    data:{name:"文华",age:60},
    success:function(res){},
    fail:function(err){}
    }

    )

    add()向集合中添加数据
    data:{}数据
    success添加成功回调函数
    fail 添加失败回调函数

    示例:创建新组件pages/db/db

    常见错误:
    (1) -502005 database collection not exists
    #集合不存在   web1903

    原因1:拼写错误db.collection("拼写错误")
    原因2:没有集合

    (2)如果创建二个环境
    const db = wx.cloud.database({

    env:"环境id"

    });

    env:环境

    (3) errCode: -501005 invalid env
    原因:env:"环境id错误"

    示例:

    1:控制台创建集合web1903user
    添加pages/db/db/ button
    完成向web1903user集合添加一条记录

    4.6:微信公众平台--小程序操作云数据库-更新
    db.collection("集合名称").doc("当前记录id'").update({
    data:{
       属性名:值

    }
    }).then(res=>{
    console.log(res);
    }).catch(err=>{
    console.log(err);
    })

    doc() #当前记录id
    update#更新数据

    4.7:微信公众平台--小程序操作云数据库--删除
    db.collection("集合名称").doc(记录id)
    .remove().then(res=>{).catch(err=>{})
    #注意事项:通过小程序一次只能删除--条数据

    示例:

    (1)创建集合i web1903emp[员工集合]控制面板
    (2)通过小程序
    2.1:向集合添加员工信息
    {no:1,name:"tom",sal:3000}
    {no:2,name:"jerry",sal:7000}
    {no:3,name:"kaka",sal:6000}
    2.2:更新第一条记录sal 3500
    2.3:删除最后一条记录

    2.2:小程序云开发-云数据库--查询
    (1)查询所有数据
    db.collection("集合名称").get().then(res=>{}).catch(err=>{})
    get:获取查询
    then:查询成功后获取返回内容
    res     查询结果
    catch: 查询失败
    err     失败原因
    (2)查询指定数据

    dbcollection("集合名称").where({name:"erry"})
    .get().then(res=>/{).catch(err=>{})
    where查询条件
    get获取查询
    then查询成功后获取返回内容
    res查询结果

    示例:实现web1903emp集合查询与删除操作
    1:当组件创建成功后查询web1903emp集合中所有记录
    2:将记录显示网页模板
    data:{list:[]}
    在小程序中将数据保存data有一个专用方法
    this.setData({
    属性名:新值

    });

    3:在网页模块每一条记录加一个按钮<button></button>
    4:为button绑定点击事件/删除指定记录

    2.2:小程序云开发-云函数
    云函数:特殊函数将其保存小程序云上(腾讯云)
    云函数从功能很多优点:权限高完成复杂操作
    演示三个示例
    (1)求和云函数sum()

    (2)获取当前登录用户openid
    (3)批量删除云数据库中数据(ES7语法)

    2.3:小程序云开发-云函数-求和函数
    #注意事项:开发云函数要求本地下载安装nodejsv8.0以上

    (1)开发工具coludfunctions
    鼠标右键->新建云函数
    (2)云函数名称:sum
    (3)打开index.js

    (4)添加云函数代码
    exports.main = async(event,context)=>{

    return {
         sum:event.i + event.j
       }

    }

    exports导出       event事件对象(获取用户参数)
    main主函数       context 上下文对象(获取用户信息).
    async导步(ES7语法)

    (5)上传部署

    创建并部署,云端安装依据


    (6)测试云函数
    (7)在小程序中调用开发云函数
    wx.cloud.callFunction({   //调用云函数

    name:"云函数名",    //云函数名
    data:{i:1j:2}      //参数

    }).then(res=>{    //调用成功
    console.log(res);

    })


    #注意事项:如果你旧版本小程序工具没有server-sdk报错
    #右击countFunctions 在终端中打开
    #npm install --save wx-server-sdk@latest

    常见错误
    (1) Error: errCode: -404011 cloud function execution error

    原因:
    -调用云函数不存在
    -调用去函数没有上传
    -云函数名子拼写错误

    2.4:小程序云开发云函数-login登录(此函数自带)
    调用此云函数返回很多登录用户信息

    openid
    头像
    性别
    ....

    2.5:小程序云开发-云函数批量删除    batchDelete03

    云数据库web1903emp同名记录name:"kaka"
    云函数目的:删除name:"kaka"
    async:异步ES7异步执行函数
    await:等待如果执行耗时任务启动关键字等待任务执行完毕

    exports.main = async(event,context)=>{
    try{

    return await db.collection("web1903emp").where({
      name:"kaka'
      }).remove();
      }catch(e){
        console.log(e);
      }
    }

    2.6:小程序云开发-云存储-5GB
    (1)用户.上传文件流程
    -用户选择图片或拍照
    -小程序上传所选中图片
    -云存储返回图片filelD //在云存储图片地址

    (2)开发流程.
    -选择图片.
    wx.chooselmage({

    count:数值     //一次选择几张图片默认9
    sizeType:["original","compressed"]      //选中图片类型(原图/压缩)
    sourceType:["album","camera"]     //图片来源(相册/相机)

    success:function(res){ //选中图片成功回调

    res.tempFilePaths //选中图片地址

    }

    });

    -上传图片
    wx.cloud.uploadFile();

    cloudPath:上传成功后新文件名
    filePath:选中图片名

    success:res=>{  上传成功

    console.log(res.filelD);
    上传成功后返回指定文件路径
    }

    示例1:文件上传与显示功能
    -云数据库创建集合myphoto
    目标:保存上传文件fileID
    -创建组件pages/myphoto/myphoto
    -添加按钮"上传图片"
    #将上传文件filelD保存myphoto中
    -创建按钮"显示图片"

    -获取集合中myphoto创建循环遍历filelD
    <image src="{{item.filelD}}"></image>

    2.2:小程序-学子商城项目-下载安装vant第三方库
    有赞团为vant网站
    https://youzan.github.io/vant-weapp


    (1)创建项目描述文件package.json
    右击miniprogram目录->选中在终端中打开菜单项
    输入命令npm init    回车   回车...
    #npm init功能生成项目描述文件package.json
    #执行成功后生成package.json 文件

    (2)通过npm安装vant第三方组件库
    右击miniprograme 目录->选中在终端中打开
    输入命令npm i vant-weapp -S --production   回车

    #安装成功看到文件夹node_ modules
    #右击miniprograme在硬盘打开
    (3)点击工具菜单-->构建npm

    #将node_ _modues 内容复制一份miniprogram_ npm
    #常见错误module .. not defined
    解决:点击工具菜单->构建npm

    (4)点击工具菜单->详情
    [*] 使用npm模块

    (5)在组件中配置要使用哪个第三方组件
    "usingComponents": {
    "van-button": "vant-weapp/button/index"
    }

    #注意:组件路径修改与miniprogram_ npm下目录结构相同

    (6)在当前组件中使用button按钮

    <van-button type="default">默认按钮</van-button>

    2.3:小程序-学子商城项目-娱乐
    (1)电影列表从"豆瓣网"下载最新电影列表
    豆瓣网热映电影列表

    http://api.douban.com/v2/movie/in_ theaters
    第一个部分:接口地址

    第二个部分:apikey=密钥(别人开发者密钥)
    第三个部分:start第几条记录开始

                count本次查询几条记录

    (2)如何获取"豆瓣网"热映电影列表发送ajax请求

    2.1:小程序有二种请求数据方式

     

    小程序端

    云函数
    发送方法 wx.request({}) 下载第三方ajax库(request)
    协议支持 只支持https 根据第三方库决定
    是否备案 经过ICP备案 可以不备案
    域名个数 20个 无限制
         

    2.2:开发云函数获取"豆瓣"电影列表
    -创建云函数movielist3
    -点击movielist3鼠标右键~>打开终端
    #注意下面命令有顺序
    npm install --save request
    npm install --save request-promise
    #此次请求使用ajax库request-promise
    #上面库是request-promise依赖库

    2.3:开发云函数
    (1)引入request-promise 库
    var rp = require("request-promise");
    (2)导出创建main函数

    exports.main = async (event,context)=>{}
    event:事件对象   保存请求参数
    context:上下文对象    用户openid appid..

    (3)创建url请求地址
    var url = 'http://api.. &start=${event.start}
    &count=${event.count}' ;
    (4)rp(urI)     返回查询结果

    2.4:学子商城--娱乐首页

      

    首页功能:
    (1)打开首页组件时查看第-页电影
    (2)向上滑动屏幕查看下一页
    (3)点击详细按钮跳转电影详细组件显示内容
    (4)电影图片/电影名称/电影导演/电影主角.... .

    2.5:学子商城-娱乐首页-设计首页布局
    2.6:学子商城-娱乐首页-添加样式
    2.7:学子商城-娱乐首页-js实现以上功能

    (1)功能一:打开首页组件时查看第一页电影
    -onLoad
    -loadMore(){}加载更多在此函数发送请

    求获取第一页数据
    --调用云函数movielist3
    --调用云函数时传参数start:10 count:10
    --保存data   list 

    2:今天的目标
    2.1:学子商城--娱乐首页完成
    (1)打开首页组件时查看第一页电影     OK
    (2)向.上滑动屏幕查看下一页
    向上滑动onReachBottom上拉触底
    常见错误:

    (1) -404011 cloud function execution error
    原因:云函数调用失败
    a云函数上传失败
    b依赖库request下载
    c切换云环境

    解决:
    a,b检查你本地云函数拼写正确,重新下载request
    打开云管理面板删除原先云函数再上传
    C   app.js配置云环境使用哪个
    -点击详细按钮跳转电影详细组件显示内容

    目标:从home组件(关闭并且跳转) comment评论组件
    wx.redirectTo({
        url:"/pages/comment/comment"
    })
    目标:从home组件(保留并且跳转)comment评论组件
    wx.navigateTo({
    url:"/pages/comment/comment"
    })

    2.2:学子商城-娱乐详情完成

    功能列表:
    (1)电影图片
    (2)评论功能
    (2.1--评论内容[vant]
    (2.2)--打分  [vant]
    (2.3)--上传图片[上传多张图片]

    2.3:学子商城--娱乐详情完成-准备
    (1)创建组件comment
    (2)创建云函数getDetail3获取某部电影详细信息
    (3)下载安装两个依据ajax!!!
    npm install --save request
    #依赖库
    npm install --save request-promise
    #请求库
    (4)检查url豆瓣电影详情url

    http://api.douban.com/v2/movie/subject/电影id?apikey=0df993c66c0c636e29ecbb5344252a4a

    (5)上传部署云函数
    (6)云测试


    2.4:学子商城-娱乐详情完成-开发(第三方组件库vant)
    (1)输入框
    (2)打分
    (3)上传按钮


    2.5:学子商城-娱乐详情完成-输入框
    (1)查看手机
    (2)打开配置文件comment.json

    #删除多余目录
    {
    "usingComponents": {
    "van-field": "vant-weapp/field/index"
    }
    }
    (3)在模板中使用组件comment.wxml

    <van- field
    value="{{ value }}"
    placeholder="请输入用户名"
    border="{{ false }}"
    bind:change="onChange"
    />

    (3)在模板中使用组件comment.js

    Page({
    data: {
    value: "
    onEhange(event) {
    // event.detail为当前输入的值
    console.log(event.detail);

    }
    });

    2.6:学子商城--娱乐详情完成.设计外观

    2.7:学子商城--娱乐详情完成
    功能1:当组件加载成功显示电影详细信息
    1.1:data添加属性movieid:0 保存电影id
    1.2:data添加属性detail:{}
    保存电影信息
    1.3:添加方法loadMore
    组件创建成功调用
    1.4:loadMore调用云函数getDetail4 参数id:电影

    将云函数返回保存detail
    1.5:在模板中显示detail对象中数据

    示例:loadMore
    示例:上传多张图片
    2.1:上传图片
    异步9先完成
    2.2:将上传图片fileld 保存云数据库异步1等待

    2.今天的目标
    2.1:学子商城评论(重点/难点)
    常见错误
    (1)JSON0位置错误
    原因:服务器返回数据不正确不是严格JSON字符串
    解决:(1)网络太差中间丢数据现象
    (2)云函数写错误

    "rating": {"max": 10, " average": 8.7 正确
    appid: event                             云函数错误

    2.2:学子商城评论-上传图片[选择图片](重点/难点)
    功能:一.次请用户选择9张图片
    用户将图片保存data:{images:[]}
    在按钮下预览选中9张图片

    wx.chooselmage({})
    count:9
    sizeType:[]
    sourceType:[]
    success:(res=>{})

    2.3:学子商城评论-上传图片[上传图片](重点/难点)
    -任务1:将data中选中图片上传云存储中
    -任务2:将图片fileID与用户评论评分保存云数据库
    问题:完成任务1与任务2遇到异步操作
    [异步操作:任务1与任务2交替无序执行]

    解决:ES6 Promise

    (1)创建数组中元素Promise对象,每对象完成上传图片操作
    Promise(reslove,reject)=>{
    上传图片(新文件名,上传,将上传成功后fileID保存数组)
    reslove();
    }

    (2)等待数组中所有Promise对象执行完毕
    #等待list数组中所有Promise对象执行完毕后,执行回调函数
    Promise.all(list).then(res=>{
    一次性将filelD保存云数据库集中
    })

    (3)将_上传所有图片filelD 一次保存云存储中

    2.4:学子商城-商城地址--地理定位(腾讯地图)
    htmI5新特性有- - 个对象geolocation 通过浏览器js程序
    获取当前用户位置信息
    位置信息(经度/纬度/海拨/速度)...用于实现LBS
    (location Base Service)基于位置服务

    饿了么,滴滴打车...

    手机浏览器定位
    (1)智能手机GPS芯片与网络定位精度在米范围
    (2)PC定位IP地址解析

    htmI5中提供--个
    geolocation
    widow.navigator.geolocation({
    getCurrentPostion:fn
    });

    2.5:学子商城-商城地址--小程序(腾讯地图)
    <map></map>
    longitude  中心位置经度位置
    latitude   中心位置纬度位置

    scale缩放级别(3~20)   16
    markes    标记点
    polyline   路线(其它经度和纬度)
    show-location显示位置
    style=" 100%;height:600rpx"

    #如何获取指定位置经度纬度
    #http://api.map.baidu.com/lbsapi/getpoint/
    #116.300901,39.916085

    #创建组件mymap我的地图
    #注意事项:在手机定位非常准确

    2.6:学子商城-个人中心/我的电影(我喜欢电影)
    功能1:添加自己喜欢电影[电影描述文字/电影图片]
    a:创建表单文字,上传图片
    b:将图片.上传云存储并且图片filelD保存云数据库
    c:文件添加云数据库
    功能2:将添加成功后电影分页显示[左侧图片/文字]
    a:查询云数据库喜欢电影信息分页

    2.7:学子商城-个人中心/我的电影(我喜欢电影)
    功能
    *(1)在云数据库中创建集合mymovie [在云控制面板中]
    *(2)创建组件pages/mymovie/mymovie
    *(3)将home;mymap;mymovie 添加tabbar
    (4)在组件mymovie(输入框/.上传图片按钮/添加按钮)

      4.1:mymovie.json引入二个组件输入框/按钮
      4.2:添加输入框在模板中
      4.3:添加二个按钮[上传图片提交]在模板中.
      4.4:添加图片显示view

    2:今天的目标
    2.0:检查
    注册订阅号帐户(新邮箱不能使用小程序注册时邮箱)
    检查软件安装

    phonegap desktop
    夜神或蓝碟       https://www.yeshen.com

    2.1:完成我喜欢的电影
    2.2:混编phonegap (了解)
    #安装混编软件环境-定关闭防火墙
    混编一种新技术:将web项目直接打包成功手机原生app安装包

    原生:android java
    原生:苹果    object C
    h5   项目
    微信小程序
    支付宝小程序

    2.3:混编phonegap (了解)
    国外:phonegap混编平台
    国内: uniapp     https://uniapp.dcloud.io/
    提供二个方案
    (1)一个程序打包成多种平台app
    (2)支持手机底层硬件开发(课程内容)

    2.4:混编phonegap (了解)--创建开发环境
    (1)4个程序支持    phonegap服务器/软件模板

            机模拟器/phonegap app

    2.5:混编phonegap (了解)--手机硬件
    -device  设备
    device.platform   获取手机操作系统I0S Android
    device.uuid      获取手机硬件编码48
    device.version   获取手机版本

    -notification提示功能(手机)
    navigator.notification.alert(")提示信息
    navigator.notification.confirm(msg,fn)确认消息
    navigator.notification.beep(3)蜂鸣器
    navgator.notification.vibrate( 1000) 震动1s

    -camera   相机
    navigator.camera.getPicture(fn1,fn2,{参数});
    fn1拍照成功
    fn2拍照失败
    {quality:50}拍照延迟时间

    -capture   录音
    navigator.device.capture.captureAudio(fn1,fn2,参数);
    fn1:录音成功回调函数
    fn2:录音失败回调函数
    {limit:3}录音几次

    -accelerometer  加速度传感器
    (1)获取用户当前位置信息
    getCurrentAcceleration(fn1,fn2);
    fn1:获取位置成功返回对象xyZ
    fn2:获取位置失败
    (2)创建监听用于监听用户位置变化

    var变量= watchAcceleration(fn1,fn2,参数);
    fn1  获取位置成功返回对象xyZ
    fn2  获取位置失败
    {frequency:1000} 1s监听一次
    (3)取消监听
    clearWatch(变量)

    -补充环境启动过程
    (1)启动phonegap服务器
    (2)启动手机模拟器(蓝碟/夜神)
    (3)点击模拟器phonegap app连接服务器
    (4)template/www/index.html

    2.6:微信公众平台--订阅号-聊天机器人

    任务一:复制微信订阅号中测试帐appid(订阅号钥匙)

    任务二:申请合法域名并且绑定4000端口.上weixin_ dy.zip

    解决方案:内网穿透工具,此工具临时生合法域名并且与4000程序绑定一起  

    使用方法: ngroke.exe协议名端口
    示例:  . grok http 4000   回车


    任务三:开发聊天机器人app.js

    (1)加载二个模块express/wechat (聊天模块)
    (2)创建配置对象
    config = {appid:"复制",   //订阅号钥匙
    token="weixin"}        //暗号

    server.post(' '/",wechat(config,(req,res)=>{
    req.weixin.Content   //手机用户发送你信息
    res.reply(回复);   //回复.
    }))
    (3)node app.js

    任务四:配置去微信公众平台测试帐户里
    接口配置:
    ur[https://d03b5142.ngrok.io]
    token[weixin]
    js接口安全域名

    开发者工具-公众平台测试账号

  • 相关阅读:
    如何在VS2013中进行Boost单元测试
    C++项目中的extern "C" {}(转)
    C/C++语言中NULL、'’和0的区别
    关于C++“加、减机制”的整理
    C++继承中的public/protected/private
    Systemc在VC++2010安装方法及如何在VC++2010运行Noxim模拟器
    Testbench(转)
    Java高级特性之泛型
    Java高级特性之反射
    Java 输入输出流
  • 原文地址:https://www.cnblogs.com/liuqingqing-bloom/p/13290749.html
Copyright © 2011-2022 走看看