小程序入门

注:本文档是学习慕课网谢成老师的轻松入门微信小程序与云开发的简单总结,有兴趣的朋友可以学习一下。

1.注册小程序账号

注册小程序账号
注册完成后登陆小程序后填写小程序基本信息
小程序基本信息

小程序appid和开发工具

点击左侧开发>开发设置可以找到小程序对应的appid,在创建项目时会用到
小程序appid

2.工具准备

点击首页,点击普通小程序开发者工具跳转到小程序开发文档,在工具栏中点击微信开发者工具跳转到工具页面,根据具体情况选择对应的开发工具进行安装,下载后点击安装即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.开发工具的基本使用

在打开小程序开发工具后,需要通过微信扫描进行登录,登录成功后如下界面:
在这里插入图片描述
如果没有注册小程序,可以选择测试号进行创建,但是测试号不能进行云开发,不需要可以不选择云开发。

3.1 工具介绍

工具主要分为三大块,模拟器、编辑器、调试器,可根据需要选择显示板块。在设置中可以对工具进行外观、字体等设置。
在这里插入图片描述

3.2 项目结构

所有的页面在pages目录下,每个页面由js、json、wxml、wxss
js:脚本逻辑文件
json:配置文件,json格式进行配置
wxml:相当于html
wxss:相当于css
在这里插入图片描述

3.3 配置文件
项目配置project.config.json

在这里插入图片描述

全局配置app.json

在这里插入图片描述
小程序官方文档全局配置

4.基础知识

4.1 tabBar
4.1.1 效果

tabBar效果图

4.1.2 页面配置

在app.json页面进行配置对应的页面:
在这里插入图片描述

4.1.3 tabBar的配置

在这里插入图片描述

4.1.4 代码
  "pages": [
    "pages/index/index",
    "pages/logs/logs",
  
  ],

"tabBar": {
  "color": "#000",
  "selectedColor": "#E54847",
  "list": [
    {
      "pagePath": "pages/index/index",
      "text": "电影",
      "iconPath": "images/film.png",
      "selectedIconPath": "images/film-actived.png"
    },
    {
      "pagePath": "pages/logs/logs",
      "text": "日志",
      "iconPath": "images/profile.png",
      "selectedIconPath": "images/profile-actived.png"
    }
  ]
},
4.2 配置页面头部样式

在这里插入图片描述

4.3 数据绑定
4.3.1 简单绑定

在wxml文件中根据{{}}进行取值
在js文件中data中设置对应的值
如:index.wxml文件中

<view>{{msg}}</view>

在index.js文件中:

Page({
  data: {
    msg: 'helloworld'
  },

在这里插入图片描述

4.3.2 逻辑判断
<view wx:if="{{3> 5}}">不显示</view>
<view wx:if="{{3<5}}">显示</view>

注意与hidden意义不一样,hidden只是不显示,但是存在页面中。在频繁切换场景下使用hidden。

4.3.3 循环
<view wx:for="{{[1,2,3]}}" wx:key="{{index}}">
  {{item}} --{{index}}
</view>
4.3.4 对象 + 循环

index.js

  data: {
    list: [
      {
        name: 'haha',
        age: 20
      }, {
        name: 'hehe',
        age: 23
      }
    ]
  },

index.wxml

<view wx:for="{{list}}" wx:key="{{index}}">
  {{item.name}}--{{item.age}}--{{index}}
</view>

在这里插入图片描述
更多使用查看官方文档

4.4 事件绑定

index.wxml

<button bindtap="click" data-id="1">点击</button>

index.js

click: function(event) {
	//获取data-id的值
    var id = event.target.dataset.id;
    console.log(id)
    console.log("点击啦");
  },

5.云开发

开通云开发,点击开发工具的“云开发”:
在这里插入图片描述
第一次开通是需要进行开通的,点击开通,设置环境名称等即可开通,每个小程序账号可以免费创建两个环境,可以分别作为测试、开发环境。可以通过界面进行管理:
在这里插入图片描述

5.1 数据库

选择数据库,创建集合“user”表进行测试。
需要进行初始化:

//初始化数据库
const db = wx.cloud.database();
5.1.1 新增
 //插入
  insert: function(){
    db.collection('user').add({
      data: {
        name: 'jack',
        age: 18
      }
    }).then(res=>{
      console.log(res);
    }).catch(err=>{
      console.log(err);
    })
  },
5.1.2 删除
//删除单条数据
  delete:function() {
    db.collection('user').doc('该条数据的id').remove().then(res =>{
      console.log(res);
    }).catch(err => {
      console.log(err);
    })
  },

5.1.3 修改
//更新
  update:function(){
    db.collection('user').doc('该条数据的id').update({
      data: {
        name: 'Tom'
      }
    }).then(res => {
      console.log(res);
    }).catch(err =>{
      console.log(err);
    })
  },
5.1.4 查询
//查询
  search:function(){
    db.collection('user').where({
      name: 'jerry'
    }).get().then(res => {
      console.log(res);
    }).catch(err =>{
      console.log(err);
    })
  },
5.2 云函数
5.2.1 云函数环境配置

因为云函数运行环境是node.js,所以需要安装node环境,点击node.js官网下载安装即可,安装可参考安装教程
新建云函数:
新建云函数
新建成功,会在云开发环境下有对应的函数的文件夹,下面有一个index.js文件和packge.json文件
在这里插入图片描述
在编写云函数完成后,将云函数进行部署,注意函数改动后都需要进行重新上传。
在这里插入图片描述

5.2.1 自定义云函数批量删除

编写云函数代码,云函数对应的index.js文件:

// 云函数入口文件
const cloud = require('wx-server-sdk')
const db = cloud.database();
cloud.init()


// 云函数入口函数
exports.main = async (event, context) => {
  try{
    return await db.collection('user').where({	//表名
      name: 'jerry'	//删除条件
    }).remove();
  } catch(e) {
    console.error(e);
  }
}

调用云函数,调用页面对应js文件:

/**
 * 批量删除
 */
  batchDelete: function(){
    wx.cloud.callFunction({
      name: 'batchDelete'	//函数名
    }).then(res =>{
      console.log(res);
    }).catch(err =>{
      console.error(err);
    })
  },
5.2.2 调用已有云函数

获取用户的openid

//获取用户的openid
  getOpenId: function(){
   wx.cloud.callFunction({
     name: 'login'
   }).then(res => {
     console.log(res);
   }).catch(err => {
     console.log(err);
   })
  },
5.3 云存储
5.3.1 上传图片
//上传图片
  upload: function(){
    //选择图片
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        // tempFilePath可以作为img标签的src属性显示图片
        const tempFilePaths = res.tempFilePaths[0];
        console.log(tempFilePaths);
        wx.cloud.uploadFile({
          cloudPath: new Date().getTime() + '.png', //上传后的文件名
          filePath: tempFilePaths,//上传的临时文件路径
          success: res =>{
            console.log(res.fileID);
            db.collection('image').add({
              data: {
                fileId: res.fileID
              }
            }).then(res => {
              console.log(res);
            }).catch(err =>{
              console.log(err);
            })
          },
          fail: console.error
        })
      }
    })
  },
5.3.2 获取图片并展示
 /**
   * 获取图片并展示
   */
  getFile: function(){
    wx.cloud.callFunction({
      name: 'login',
    }).then(res =>{
      db.collection('image').where({
        _openid: res.result.openid
      }).get().then(res2 =>{
        console.log(res2.data);
        this.setData({
          images: res2.data
        });
      })
    })
  },
5.3.3 下载图片
/**
   * 下载图片
   */
  downloadFile: function(event){
    console.log("event.target.dataset.fileid:" + event.target.dataset.fileid);
    console.log(event)
    wx.cloud.downloadFile({
      fileID: event.target.dataset.fileid,
      success: res =>{
        //返回临时文件路径
        console.log("下载文件" + res.tempFilePath);
        //保存图片到
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success(res) {
            wx.showToast({
              title: '保存成功',
            })
           }
        })
      },
      fail: console.error
    })
  },
6.引入第三方组件库

引入vant,打开终端,在终端输入:
在这里插入图片描述

//初始化文件
npm init

输入后所有设置为默认,回车即可。

初始化完成后会出现如下文件:
在这里插入图片描述
初始化完成后,安装vant:

npm i vant-weapp -S --production

安装完成后,点击工具,选择构建npm:
在这里插入图片描述
点击详情,选择使用npm模块:
在这里插入图片描述

使用

先引入:
在页面的json文件引入对应组件,如按钮:

{
  "usingComponents": {
      "van-button": "vant-weapp/button"
  }
}

wxml文件:

<van-button type="danger">危险按钮</van-button>

更多使用请查看官网。

7.云函数发送请求

地址:request-promise
新建云函数,在云函数打开终端进行安装:

npm install --save request
npm install --save request-promise

安装完成后,如下:
在这里插入图片描述
请求电影api接口:

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

var rp = require('request-promise');

// 云函数入口函数
exports.main = async (event, context) => {
  // http://api.douban.com/v2/movie/in_theaters?apikey=0df993c66c0c636e29ecbb5344252a4a&start=0&count=10
  return rp('http://api.douban.com/v2/movie/in_theaters?apikey=0df993c66c0c636e29ecbb5344252a4a&start='+ event.start + '&count=' + event.count)
    .then(function (res) {
      console.log(res);
      return res;
    })
    .catch(function (err) {
      console.log(err);
    });
}

调用:

getMovieList: function(){
  wx.showLoading({
    title: '加载中',
  })
  console.log("this.data.movieList.length:" + this.data.movieList.length)
  wx.cloud.callFunction({
    name: 'movielist',
    data: {
      start: this.data.movieList.length,
      count: 10
    }
  }).then(res => {
    console.log(res);
    this.setData({
      movieList: this.data.movieList.concat(JSON.parse(res.result).subjects),
    });
    wx.hideLoading();
  }).catch(err => {
    console.error(err);
    wx.hideLoading();
  })
},
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值