您现在的位置是:热点 >>正文

如何搭建微信小程序

热点5人已围观

简介注册完小程序账号,拿到AppID的那一刻,你才算真正站到了起跑线上。别急着写代码,先去微信公众平台把“开发”面板里的服务器域名配好——这一步卡住了很多人,尤其是用云开发的时候,压根不需要自己买服务器, ...

注册完小程序账号,何搭拿到AppID的建微那一刻,你才算真正站到了起跑线上。程序别急着写代码,何搭先去微信公众平台把“开发”面板里的建微服务器域名配好——这一步卡住了很多人,尤其是程序用云开发的时候,压根不需要自己买服务器,何搭但如果你要用自己的建微后端,request合法域名必须提前填,程序否则真机调试时接口全部报错,何搭浏览器里却看不出任何问题。建微

我见过一个团队花了三天排查“请求失败”,程序最后发现是何搭域名没加https。微信小程序强制所有网络请求走HTTPS,建微本地开发可以在开发者工具里勾选“不校验合法域名”,程序可一旦预览到手机上,这个选项就失效了。所以最省事的路径是直接开通云开发,省去域名备案和证书配置,数据库、存储、云函数都在一个控制台里管。

下载微信开发者工具,用AppID登录,新建项目时选择“不使用云服务”还是“云开发”取决于你的后端方案。我建议新手直接选云开发,哪怕后面迁移也不亏——它把鉴权、数据库权限、文件上传都封装好了。项目创建完,你会看到默认生成的页面结构:pages/index下面一对wxml、wxss、js、json文件。别被这四个后缀吓到,wxml就是HTML的变体,wxss基本等于CSS,js里用Page({ })注册页面,json配导航栏标题和颜色。

写第一个页面时,数据绑定用{ { }},列表渲染用wx:for,条件渲染用wx:if。事件绑定要注意bindtap和catchtap的区别——前者冒泡,后者阻止冒泡。有个坑我踩过:在wx:for里写bindtap调用方法时,想传当前项的数据,得用data-*自定义属性,然后通过e.currentTarget.dataset取出来。直接写bindtap="handle({ { item.id}})"是不生效的,小程序模板不支持这种函数调用语法。

样式方面,rpx单位是核心。设计稿宽度750px时,1rpx等于1px,省去换算。但要注意,rpx在iPad上会按比例放大,如果做平板适配,最好用px加媒体查询。另外,小程序默认的导航栏和tabBar可以在app.json里全局配,页面级的json会覆盖全局设置。tabBar的图标必须是本地图片,不支持网络地址,尺寸建议81px乘81px。

调试环节,真机预览比模拟器靠谱。模拟器里wx.getLocation返回的是假数据,真机上才会弹授权框。还有,小程序的包体积限制是2MB,主包加分包总共20MB。图片尽量放云存储或CDN,别塞进代码包。我见过一个项目因为放了十几张高清图,上传时直接报“包体积过大”,最后只能一张张压到50KB以下。

发布前,在开发者工具里点“上传”,填版本号和备注。然后去公众平台“版本管理”里提交审核。审核通常一天内出结果,但遇到节假日会慢。被拒的理由五花八门:类目不对、涉及虚拟支付、诱导分享。有个朋友做工具类小程序,因为首页放了“分享给好友解锁功能”的按钮,直接被驳回,改了两周才过。

上线后别关掉开发者工具里的“实时日志”,用户反馈的问题往往能在日志里找到线索。云开发的数据库权限记得设成“仅创建者可读写”,否则谁都能改你的数据。这些细节没人会主动告诉你,但每一个都能让你多熬一个通宵。

Tags:

相关文章

  • 为什么网站登不进去

    热点

    我盯着浏览器里那个转不完的圈圈,咖啡都凉了。页面左下角一直显示“正在等待响应”,等了整整三分钟,最后还是弹出一行灰字:无法访问此网站。这种时候,你心里冒出来的第一个念头多半是——“又是破网络”。但真不 ...

    【热点】

    阅读更多
  • 12306人工在线客服系统

    热点

    12306的人工在线客服系统,说句实话,是个挺拧巴的存在。你懂的,就是那种——你急着改签、退票、找身份证,点开“在线客服”,却先被一只叫“铁铁”的机器人拦住。它问:“请问您遇到什么问题?”你输入“退票 ...

    【热点】

    阅读更多
  • 网页渗透

    热点

    凌晨两点,我盯着Burp Suite里那个红色的告警提示,手里的咖啡差点洒在键盘上。目标站点的登录接口,居然把完整的SQL查询语句原封不动地吐回了响应包里。这不是CTF靶场,是一家月流水过亿的电商平台 ...

    【热点】

    阅读更多


友情链接