UDN-企业互联网技术人气社区
登录
注册
搜索
本版
文章
帖子
用户
搜索
本版
文章
帖子
用户
移动下载
试试手气
每日签到
首页
论坛
开发者大赛2019
U视野
U课堂
U专题
资源
沙龙
文库
开源文档
API服务
许可申请
赛事竞猜
云平台
iUAP平台
中台战略
用友开放平台
开发者大赛2019
大前端星学院
伙伴专区
企业互联网产品
小友RPA
产品那点事儿
资源
财务与共享服务
通用技术
HTML5|CSS3
JavaScript
数据库
Docker|云计算
J2EE技术
DevOps
开源
招聘面试
社区服务
论坛事务区
IT资讯
板块导航
UDN每周精选
HTML5
UAP工具下载
营改增
主数据平台
前端开发
用友研发员工必备
UDN 企业互联网技术社区
»
论坛
›
社区服务:IT资讯
›
微信小程序开发技巧(持续更新ing)
返回
发表新主题
浏览 :
1445
回复 :
7
[干货]
微信小程序开发技巧(持续更新ing)
[复制链接]
开花包
发布主题
回复的帖子
8768
积分
威望
活力
U币
发消息
当前离线
楼主
发表于 2016-12-31 22:32:43
|
显示全部楼层
|
阅读模式
程序开发
开发者
技巧
框架部分
所有页面都需要在 app.json 文件中注册在 pages 数组中,注册格式为:"路径/文件名"
注:文件名无需添加扩展名
app.josn 中的 pages 数组中的第一个页面为小程序的启动页
每个页面的 js、json、wxml、wxss 可与所在目录名不同,但必须具有相同的路径和文件名
页面目录可以嵌套,按照页面目录在 app.json 中注册即可
可通过直接赋值的方法修改 app.js 中的全局变量,但修改页面变量需要使用 Page.prototype.setData() 方法,且赋值数据不能超过 1024 kB
在文件中引入模块时,require 使用相对路径引入(绝对路径会报错)
如需引入多级文件,则使用如下方式:
// func.js 文件中定义了两个函数 fun1 和 fun2
fun1 = function(){
// code
}
fun2 = function(){
// code
}
module.export = {
fun1: fun1,
fun2: fun2
}
// util.js 中定义了函数 util 并需要导入 func.js 文件
var funcs = require('func.js文件的相对路径')
util = function(){
// code
}
module.export = {
fun1: funcs.fun1,
fun2: funcs.fun2,
util: util
}
复制代码
小程序的 wxss 中使用
@Import
导入文件时应使用相对路径
小程序中 wxss 样式的优先级为 内联样式 > 外链样式 > 全局样式
小程序的 wxss 样式文件中支持 CSS3 的大部分属性,但选择器支持有限,请戳官方文档
组件部分
仅为包装元素,接受属性控制且不能嵌套不会被渲染
组件内只能嵌套使用 组件,其他不可用
仅 组件中的内容支持长按选中
组件中的 range 数组下标必须连续且从 0 开始,否则会出现选项为 null 的情况
组件名称均为小写,所有大写的组件名称都会在渲染时转换为小写
任何自定义的组件 <自定义名称> 均会被当作 组件来渲染,但需要注意组件名称中不能出现数字。(虽然可以自定义语义化组件,但是由于微信官方并未加以说明,所以不推荐使用)
使用 page 标签选择器可以修改顶层节点的样式,相当于 HTML 中的 元素
API
部分
程序中请求、上传、下载及 websocket 的请求地址必须为 https 地址,且在当前 APPID 的微信公众平台上注册合法域名
wx.request() 中发送 POST 请求时,需设置 header 如下: {'content-type': 'application/x-www-form-urlencoded'}
某些情况下需要使用全局数据通常有两种方法:设置全局变量和写入缓存,区别在于全局变量的生存周期和小程序相同,而缓存则是永久储存的
wx.login() 只返回登陆 code,可向微信服务器发送此 code 获取用户的 session_key 和 openid,微信官方提供了登陆状态检验的接口和一套验证机制,请戳官方文档
小程序的本地缓存不能超过 10M
小程序的上传和下载中只能获取文件的 key,开发者在服务器端通过 key 获取文件二进制内容。
工具部分
修改 wxml 和 wxss 文件将会刷新页面
修改 js 和 json 文件将会重新编译小程序
在 app.json 文件 pages 数组中添加目标页面,将会自动生成该页面目录和所需文件
项目- 基础信息中设置勾选开发环境不校验请求安全域名以及 TLS 版本时,将可以使用 http 协议的请求地址,有助于本地调试
可以在项目 - 配置信息中快捷查看当前 appid 配置的安全域名
手机调试过程中可以点按右上角,选择 enable debug 打开手机调试模式
项目 - 预览中可添加预览页面及参数信息,跳过繁琐的前戏直达你想要操作的位置
快捷键
格式调整
Ctrl+S:保存文件
Ctrl+[, Ctrl+]:代码行缩进
Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块
Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何文字则复制粘贴一行
Shift+Alt+F:代码格式化
Alt+Up,Alt+Down:上下移动一行
Shift+Alt+Up,Shift+Alt+Down:向上向下复制一行
Ctrl+Shift+Enter:在当前行上方插入一行
Ctrl+Shift+F:全局搜索
复制代码
光标相关
Ctrl+End:移动到文件结尾
Ctrl+Home:移动到文件开头
Ctrl+i:选中当前行
Shift+End:选择从光标到行尾
Shift+Home:选择从行首到光标处
Ctrl+Shift+L:选中所有匹配
Ctrl+D:选中匹配
Ctrl+U:光标回退
复制代码
界面相关
Ctrl + \:隐藏侧边栏
Ctrl + m: 打开或者隐藏模拟器
复制代码
概念部分
小程序基于包开发,开发和发布流程与 H5 应用是截然不同的
小程序中 Web 开发的 session 管理部分由微信服务器实现
小程序的域名仅用于通讯和验证,没有 Cookie 机制
原文作者:佚名 来源:开发者头条
相关帖子
•
极佳的 JS 移动应用程序开发框架
•
Java帝国之拨云见日识回调
•
总结一个技术总监的教训和经验
•
使用ES6新特性开发微信小程序(8)——国际化与本地化
•
基于时间序列数据的监控实践
•
iOS编程中throttle那些事
•
在Rancher上使用Traefik构建主动负载均衡
•
ansible2.0 playbook api运维应用
•
看我如何搞定Nodejs内存泄漏问题
•
RxJava系列2(基本概念及使用介绍)
使用道具
举报
回复
提升卡
置顶卡
变色卡
糯糯酱
发布主题
回复的帖子
142
积分
威望
活力
U币
发消息
当前离线
发表于 2017-8-1 15:28:13
|
显示全部楼层
楼主分享得很棒棒哦~小程序的开发目前市面上成熟的外包开发团队还是比较稀少的.有兴趣的朋友可以联系我们上海迅傲股份,QQ1041373364.
使用道具
举报
回复
返回
发表新主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用微信扫一扫
互动赢积分
关于我们
网站简介
友链交换
免责声明
联系我们
电话:010-86393388
邮件:
udn@yonyou.com
地址:北京市海淀区北清路68号
移动客户端下载
安卓客户端
苹果客户端
关注我们
微信公众号:yonyouudn
扫描右侧二维码关注我们
专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041
京ICP备05007539号-11
京公网网备安1101080209224
Powered by Discuz!
快速回复
返回列表
返回顶部