| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 小程序学习第一天(工具安装,配置,逻辑层,场景值) -> 正文阅读 |
|
[移动开发]小程序学习第一天(工具安装,配置,逻辑层,场景值) |
微信开发简介1.微信开发概述概述 (1)微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,用户通过简单的设置,就能生成微信网站。 (2)通俗的说,就是微信对外提供了例如聊天、支付、分享、收藏等功能,同时还提供了丰富的封装好的接口,开发者利用这些接口和功能,写入程序中,进行的开发。 目的 (1)企业开发的需要,使自己更加符合企业发展的需求 (2)个人的发展以及技能的提升 (3)发展前景大、生态系统丰富 平台 (1)微信开放平台 (2)微信公众平台 2.微信开放平台概述 微信开放平台是微信对外提供微信开发接口的一个平台,==这些开发出来的微信接口,供第三方的网站或App使用==,使用户可将第三方程序的内容发布给好友或分享至朋友圈,第三方内容借助微信平台获得更广泛的传播。 平台地址:微信开放平台 微信开放平台提供的能力 微信分享、 微信支付、 微信登录、微信收藏、微信分享等等 产品应用 (1)网站应用开发 (2)移动应用开发 (3)第三方平台开发 (4)公众帐号开发 只有通过 开发者资质认证后,才能使用开发平台提供的能力 3.微信公众平台3.1微信公众平台概述微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台 3.2账号分类微信公众平台的账号统称为公众号,包括订阅号、服务号、企业微信、小程序 4.开放平台和公众平台的区别1.开放平台 (1)微信对外开放接口的平台 (2)开放的接口,供其他网站及App使用 (3)后端程序员是开放平台开发的主力军 2.公众平台 (1) 基于微信公众号,为微信用户提供服务的平台 (2) 所用公众号,都属于微信内开发 (3) 前端程序员是公众平台开发的主力军 三、认识小程序1.小程序概述微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。 内置于微信的类似于app的小型应用 2.亮点与不足缺点: 1.代码包大小有限制,不能超过2M(使用分包技术,可以扩展到20M) 2.对个人开发不太友好,开发功能受限制(微信支付,直播类交互类小程序不能开发,服务类目比较少) 3.不能及时发布上线(微信人工审核,1-7个工作日) 优点: 1.对用户而言,用户体验好(扫一扫,不用安装,即开即用) 2.对开发者,上手比较容易(html css js) 3.对企业而言,开发成本比较低(和开发h5一样,比app开发低) 四、注册小程序账号1.小程序账号注册流程2.小程序信息完善1.小程序名称 头像 简介 服务类目(小程序的类型)-----第一次不要选择小游戏!!!! 2.版本管理 开发版本(体验版本)、审核版本、线上版本 3.成员管理 管理员(最高权限)、项目成员、体验成员 4.开发管理--开发设置 1)appid:小程序唯一表示 2)AppSecret(小程序密钥) 用于高阶接口使用,比如解密手机号 3)合法域名设置---没有跨域,https 五、微信开发者工具及工程创建1.工具下载安装2.工程创建点击 + 选择空目录 填写项目名称 填写appid----去小程序后台 开发设置里复制即可(或者使用测试号,测试号功能受限制) 选择不使用云开发 3.工具常用功能使用介绍演示 六、工程目录*三个主体文件(作用于所有页面----不能修改名称) app.json 小程序页面路径 全局窗口的表现 tabbar app.js 实例注册App() 全局的逻辑 app.wxss 全局的样式 四个页面文件--只针对一个页面 xx.wxml 页面结构 xx.json 页面的配置 当前窗口的表现 xx.js 页面的逻辑文件(页面注册Page() data 函数) xx.wxss 页面的样式 utils.js 模块文件--->时间格式化 project.config,json 项目配置文件(appid 代码名称, 对编辑器的设置--代码是否转es5) sitemap.json 站点地图文件 配置小程序页面在微信内部索引规则 七、小程序配置1.全局配置app.json***决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。 tips: 1)json文件 不能加注释 2)必须加双引号 3)属性与属性之间必须加逗号,最后一项不能加逗号 4)页面路径 路径前边不要加字符 ./ / 代码示例 { "pages":[//pages 页面路径,默认数组第一项是首页 "pages/list/list", "pages/index/index", "pages/logs/logs" ], "entryPagePath": "pages/index/index", //首页页面 //窗口表现,导航条 下拉窗口 允许下拉刷新等 "window": { "navigationBarBackgroundColor": "#00f",//16进制 "navigationBarTitleText": "Weixin", "navigationBarTextStyle": "white",// 可选项 white black "navigationStyle": "default", //如果需要自定义导航 设置custom "backgroundColor": "#f00", "backgroundTextStyle": "light", //下拉load样式 dark闪烁 light 白色 "enablePullDownRefresh": true,//允许下拉刷新 "onReachBottomDistance": 200 }, //tabbar页面 "tabBar": { "list": [ { "pagePath": "pages/index/index", "text": "首页", "iconPath": "/tabs/index.png", "selectedIconPath": "./tabs/indexFull.png" }, { "pagePath": "pages/my/my", "text": "我的", "iconPath": "./tabs/my.png", "selectedIconPath": "./tabs/myFull.png" } ], "custom": false, "color": "#333", "selectedColor": "#f00", "backgroundColor": "#fff", "position": "bottom", "borderStyle": "black" }, } 2.页面配置page.json对本页面的窗口表现进行配置。页面中配置项在当前页面会覆盖 { "usingComponents": {}, "navigationBarTitleText": "我的", "navigationBarBackgroundColor": "#f00" } 八、小程序逻辑层1.逻辑层概述逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。 开发者写的所有代码最终将会打包成一份 在
注意:小程序框架的逻辑层并非运行在浏览器中,因此 2.小程序注册App() ***注册小程序。接受一个 App() 必须在 代码案例: app.js // app.js App({ onLaunch() { console.log('程序初始化'); }, onShow() { console.log('小程序运行在前台'); // fun() console.log(this.aa); }, onHide() { console.log('小程序从前台切换到后台'); }, //监听页面不存在 onPageNotFound() { // 重定向到404页面 console.log('页面找不到'); wx.redirectTo({ url: '/pages/page404/page404', }) }, //错误监听 onError(err){ console.log(err); // 生成错误日志 发送给后台 }, aa:"全局变量", isLogin:false }) 在页面访问获取全局实例页面.js // pages/my/my.js // 页面获取全局变量--获取全局唯一的app实例 let app = getApp() console.log(app.isLogin); 3.页面注册Page() ***注册小程序中的一个页面。接受一个 // 注册页面 Page({ /** * 页面的初始数据 */ data: { msg:"马上下课" }, /** * 生命周期函数--监听页面加载(只执行一次 */ onLoad: function (options) { console.log('页面加载'); }, /** * 生命周期函数--监听页面初次渲染完成(只执行一次) */ onReady: function () { console.log('页面初次渲染完成 '); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { console.log('页面显示'); // // 重定向--关闭当前的页面,跳转到目标 // wx.redirectTo({ // url: '/pages/page404/page404', // }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { console.log('页面隐藏'); }, /** * 生命周期函数--监听页面卸载(重定向,返回之前的页面) */ onUnload: function () { console.log('页面卸载'); }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { console.log('重新发起请求,页面更新'); }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { console.log('页码+1,发起新的请求 ,老新数据拼接'); }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { }, onShareTimeline() { } }) data数据onLoad: function (options) { console.log('页面加载'); // 1)获取data数据 console.log(this.data.msg); // 2)修改data数据 // 等于赋值--只能修改js的数据 // this.data.msg = "再等一会" // setData既能修改js 也能修改视图 // this.setData({ // msg:"1111" // }) // ====== 一起用(先处理业务逻辑,再用setData更新视图) this.data.msg = "再等一会" this.setData({ msg:this.data.msg }) }, 4.模块化 ***可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。 模块.js // commonjs // module.exports = { // formatTime // } // es6规范导出 // export { // formatTime // } export default { formatTime } 页面使用模块.js //commonjs导入 // const util = require('../../utils/util.js') //es6导入 // import {formatTime} from "../../utils/util.js" // console.log(formatTime); import util from "../../utils/util" console.log(util); 九、场景值1.场景值概述对用户进入小程序的方式的描述--(区分用户进入到小程序的方式) 2.获取场景值可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中获取上述场景值 // app.js // 程序的注册 App({ onLaunch(option){ // 1.在onLaunch生命周期获取场景值 console.log("onLaunch",option); }, onShow(option){ // 2.在onShow生命周期获取场景值 console.log("onShow",option); if(option.scene == 1008){ console.log('执行 领取1000豆子 的操作'); } // 3.获取onLunch启动时的参数 let scene = wx.getLaunchOptionsSync() console.log(scene); }, // 程序运行在后台 onHide(){ }, }) |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:54:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |