Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >上不了线的小程序

上不了线的小程序

作者头像
ayqy贾杰
发布于 2019-06-12 07:24:24
发布于 2019-06-12 07:24:24
1.2K00
代码可运行
举报
文章被收录于专栏:黯羽轻扬黯羽轻扬
运行总次数:0
代码可运行

写在前面

还是自用的RSSHelper,本来想通过小程序跨平台,丢弃ionic的,后来发现上不了线

零.注意事项

如果准备做个想上线的小程序,务必先仔细确认以下几点:

1.内容能否通过类目审核

一级分类是快递邮政、教育、出行、生活服务、餐饮、旅游、工具、商业服务、体育,向下更细,然后发现竟然没有合适的分类

所以尽早出DEMO提交审核确认内容是否合法,不要吭哧吭哧干了一个月,最后发现无法上线

2.功能及交互能否满足需求

比如取用户信息、定位、音频视频、文件、罗盘蓝牙加速器等等,提到的这些都支持,但支持到什么程度,存在什么限制,都需要通过文档了解,甚至DEMO验证

做到一半发现不支持XXX功能,就麻烦了

比如目前不支持展示H5页面,不能通过小程序直接展示(嵌webview之类的),也不能跳转浏览器打开,对于资讯类App,就是极大的限制

如果想做个自用的小程序,也要考虑上面的问题,因为不上线连自用都不允许(预览有过期限制,半小时吧)

一.限制

1.接口

小程序接口强制要求HTTPS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
设置/服务器域名request合法域名
socket合法域名
uploadFile合法域名
downloadFile合法域名

服务接口白名单只能是HTTPS域名,否则IDE开发环境都发不出去请求。如果接口还是HTTP,只能临时走假数据,本地mock服务也不行,因为有严格域名校验

所以第一件事是确认接口支持HTTPS,如果不支持,尽快把服务搬过去,否则需要假数据模拟各种接口,比较麻烦,而且毕竟与真实请求不同,不利于及早发现问题

P.S.关于免费HTTPS,可以参考nginx HTTPS反向代理

2.bundle大小

源码及资源打包后大小不能超过2M,对于图片资源不多的纯手工项目还好,如果:

  • 图片资源很多
  • 依赖一些第三方lib
  • 项目规模较大(代码量)

一级页首屏图片资源非常多的话,除了压缩没有更好的方法,非一级页首屏图片可以放到服务端去。第三方lib尽量少用,2M限制下,引入第三方lib就必须要仔细考虑了。项目本身非常庞大,比如几十万行代码量的话,gg,这算大程序

P.S.bundle大小超出2M的话,无法提交编译包,提示删除文件重试

3.账号类型及认证

与公众号管理方式一样,区分个人号、企业号、认证与否等等:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
卡券接口 要求认证
开放平台绑定小程序 要求开发者资质认证

P.S.无论个人公众号还是个人小程序,都无法认证,交钱的机会都不给

相对订阅号与企业号的差别,小程序的限制少了一些,仅卡券API有限制。对于公众号绑定小程序,

另外,个人公众号无法注册小程序(可以关联小程序,提供入口),所以迫不得已又弄了个邮箱

暂不支持个人/媒体/政府/其他组织快速创建小程序,请按照普通流程完成注册。

4.内容审核

分为2部分,类目审核与功能审核

上线难最主要的原因就是类目审核,目前仅支持一部分App类型,限制远比想象的要大,目前似乎集中在信息查询、订单等方面

类目审核没的商量,如果审核结果明确指出暂不开放该类目,只能先放弃

功能审核就是提测,交互不友好、功能不可用、太过简单等等都可能是被拍回来的理由,但能通过改代码解决的问题自然不是问题

5.不支持递归模版

声明并引用模版:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template name="node">
 <text>{{node.text}}</text>
 <block wx:for="{{node.children}}">
   <template is="node" data="{{item}}"></template>
 </block>
</template><template is="node" data="{{node}}"></template>

希望展示树形数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node: {
 text: 1,
 children: [{
   text: 2
 }, {
   text: 3,
   children: [{
     text: 4
   }]
 }]
}

结果只展示了1,没有递归向下,无法满足需要展示无限层次结构的场景

为了解决解析渲染HTML的问题,有人想了一个笨办法,复制n个模版,顺序嵌套:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template name="node-level0">
 <text>{{node.text}}</text>
 <block wx:for="{{node.children}}">
   <template is="node-level1" data="{{item}}"></template>
 </block>
</template>// copy node-level1
// copy node-level2
// copy node-level3
// ...

这样复制多少份,就能支持多少层,缺点是模版文件会巨大无比,维护也是个问题,但目前还没有更好的办法

二.项目Demo

尝试之后采用这样的结构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
common/
 cache/        内存缓存、持久缓存
 components/   共用组件
 pages/        公用页面
   detail/
   list/
 request.js    接口包装
config/         常量配置
image/
pages/          各独立页面
 tab1/
 tab2/
utils/
<3rdLib>/       第三方依赖
app.js          入口
app.json        应用级配置
app.wxss        应用级样式

需要注意页面声明问题:

  • 所有独立页面,都必须在app.jsonpages里声明路径
  • pages第一项是首页,后续增减页面都要修改pages配置
  • tabBar的第一项必须与首页一致,否则tabBar不显示也不报错

配置相关的一些问题,没有任何报错,很难排查

用到了一个HTML支持库(999颗星了,说明HTML展示需求很旺盛),负责解析HTML,转化成小程序原生组件展示

目前不是很完善,解析结果标签数量很大(iOS上没有发现太明显的性能问题,但肯定有优化空间),另外,对于pre, code, span等的支持效果比较差,代码展示效果不好。可以服务把代码转图片,一劳永逸,或者手动完善该库(结构非常简单,很容易扩展)

接口做好HTTPS之后,3天开发完毕,靓照如下:

wx_RSSHelper_1

wx_RSSHelper_2

三.开发体验

优点:

  • 整套开发调试工具很完备(调试体验很好)
  • CSS支持性非常好(从H5扒下来的样式,基本可以直接用)
  • ES6开发环境
  • 业务框架容易让人接受(数据绑定等模版语法与vue类似)

缺点:

  • IDE很难用
  • 文档不全(按下态样式如何实现之类的,完全没有文档)
  • 上线难(奇怪的类目审核,很难找到准确的类目,审核效率一般)
  • 配置化太高不灵活(一些功能只能通过配置项来完成,比如tab条,比较费劲)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端向后 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于小程序的一些基本常识
    a. 如果小程序需要与你的服务器进行数据交换,那么你就必须注册域名,即使是开发环境也需要;
honey缘木鱼
2018/08/02
7310
实时音视频 TRTC 常见问题汇总---小程序篇
如有更多需求,或希望深度合作,可以 提交工单 或致电4009100100联系我们。
腾讯视频云-Zachary
2021/09/21
5.7K0
实时音视频 TRTC 常见问题汇总---小程序篇
小程序开发总结
经历了一段繁忙的工作期,还有2天就要过年了。在这里总结一下最新开发微信小程序的心得和体会,算是一个总结,也算温故而知新,如果还能对读者有所帮助,那就更好了。 开发前准备 本文首先假定开发者已经粗略阅读过微信小程序的开发文档,所以注册小程序的流程就不介绍了。不过需要注意,小程序现在只允许企业用户注册,所以认证需要企业营业执照复印件和加盖公章的小程序申请公函。如果是选择对公账户认证,则不需要公函。另外,如果需要使用微信支付接口,则需要另外进行一次微信认证,这个就必须使用300块的方式了,感觉靠给微信认证的公司就
司想君
2018/03/01
4.8K0
小程序开发总结
微信小程序初体验
用户1141560
2017/12/26
2.9K0
微信小程序初体验
没有基础也能写个小程序
微信小程序自从发布以来就占据着超高的话题热度,一直以来都想开发一款自己的小程序,但苦于不懂前端迟迟没有开始。偶然发现了ColorUI这个开源的小程序组件库,界面好看且提供Demo,心中狂喜马上动手
37丫37
2019/03/18
7050
没有基础也能写个小程序
如何在3小时快速开发上线一款chatGPT微信小程序
chatGPT是一款由OpenAI开发的聊天机器人模型,是一种高效语言模型,它能够模拟人类的语言行为,与用户进行自然的交互。它的名称来源于它所使用的技术——GPT-3架构,即生成式语言模型的第3代。
快乐咸鱼每一天
2022/12/07
26.7K10
如何在3小时快速开发上线一款chatGPT微信小程序
小程序-实现怎么跳转打开 H5 网页链接(或跳转至公众号文章)
背景 有时候,因为业务需求,在小程序当中,需要跳转到 h5 网页,或跳转到公众号,形成流量的闭环,那在小程序当中怎么实现呢? 实例效果 (小程序跳转到公众号) (小程序跳转到h5网页) 小程序实现跳
itclanCoder
2020/10/28
24.1K0
小程序-实现怎么跳转打开 H5 网页链接(或跳转至公众号文章)
mpvue-小程序之蹲坑记
mpvue 是兼容微信小程序的生命周期与 vue 的生命周期,vue 实例会接管小程序 Page 实例的生命钩子,因此需要使用到小程序的生命周期钩子时,可将相应的钩子方法定义在 vue 实例中 如定义当前Page的分享标题内容图片:
超然
2018/09/27
2K0
mpvue-小程序之蹲坑记
微信小程序学习(原生)
# 原生小程序 # 什么是小程序? 无需下载,用完即走(体积太小,刚发布的压缩包体积最大不能超过1M,2017年4月将1M提升2M) # 小程序特点 体积小 同app进行互补的,可以实现app基本的功能 微信扫一扫或者是搜索就可以去下载 开发周期短,成本较低 # 适配方案 viewport适配 width = device-width 单位:rpx iphone6:1rpx = 1物理像素 = 0.5px dpr = 物理像素/设备独立像素 = 2 # 重要的文件 wxml view结构 ---> h
神葳
2021/01/22
8320
手把手带你实战uni-app小程序项目
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台,解决了多个平台,分别需要些多套代码,开发效率低,开发成本高的问题。那么,我们该如何用好呢?
极乐君
2020/06/30
3.5K0
AI智能体应用发布篇(公众号/小程序)
之前在《教你 3 分钟搭建 AI 助手,超 Easy!》让大家快速搭建了微信云开发的AI智能体Web版和H5版。
腾讯云开发TCB
2024/06/24
7820
AI智能体应用发布篇(公众号/小程序)
微信小程序开发实战1 微信小程序开发概述
微信小程序是微信平台提供的一种开放技术,微信小程序为企业用户服务,用于建立一种移动端的“轻应用”,这种应用是不需要下载安装即可使用的应用,用户扫一扫或者搜一下即可打开应用。用户也不用关心是否安装了太多应用的而造成手机空间不足问题。微信小程序的推出后,与订阅号、服务号、企业号并列成为微信的企业应用体系。
全栈程序员站长
2022/09/13
10.3K0
微信小程序开发实战1 微信小程序开发概述
小程序|炎炎夏日、清爽一夏、头像大换装
     炎炎的夏日一起来为头像增加点夏天的元素,让清爽的头像陪伴你一整个夏天。通过一个完整的小程序串通整个开发生命周期。
前端小鑫同学
2022/12/26
1K0
小程序|炎炎夏日、清爽一夏、头像大换装
微信小程序的面试题_小程序面试题汇总
一、WXML (WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。内部主要是微信自己定义的一套组件。与html差不多。
全栈程序员站长
2022/08/03
9070
微信小程序的面试题_小程序面试题汇总
微信小程序 - 入门指引
设置 -> 开发者设置 -> 服务器域名中   配置好服务器域名,小程序才能正确地发起异步请求
书童小二
2018/09/03
3.5K0
微信小程序 - 入门指引
【腾讯游戏人生】微信小程序开发总结
目前【腾讯游戏人生】小程序已经发布上线,大家可以扫小程序码进行体验。接下来主要介绍在开发该款小程序过程中的一些思考和积累。
一时两无
2018/06/08
3.2K3
实例分享微信小程序项目搭建(上)
有幸能够参与我司【更美小程序】的搭建,在此分享些心得希望能够帮助到前端界萌新。因【更美小程序】源码需保密,我仅向大家分享基础建设级别的非业务代码。
疯狂的小程序
2018/01/24
1.8K0
ZBLOG百度小程序模板+WP百度小程序模板+小程序发布流程 博主亲测接单赚2500+
在“开发设置”页面查看AppID和AppSecret,配置服务器域名以确保小程序能够正常访问服务器
雾海梦曦
2023/03/03
1.4K0
ZBLOG百度小程序模板+WP百度小程序模板+小程序发布流程 博主亲测接单赚2500+
3小时!开发ChatGPT微信小程序
导读 | 上周OpenAI发布了对话语言模型 ChatGPT,相关讨论引爆全网。你是否也迫不及待体验一番?本文特邀作者腾讯云开发者社区作者戴传友从开发环境准备、开发过程、服务器接口、腾讯API网关接入到部署,详细教你如何动手开发一个chatGPT微信小程序。 在《ChatGPT-地表最强AI模型!要消灭人类?》、《算法工程师深度解构ChatGPT技术》两篇文章中,我们分别囊举了ChatGPT的丰富玩法并解析其工作原理。如果你对相关内容感兴趣,欢迎回溯围观~公众号的粉丝朋友们在评论区畅想了更多ChatGP应用
腾讯云开发者
2022/12/14
16.4K2
3小时!开发ChatGPT微信小程序
近两万字小程序攻略发布了
直接复用现有系统的登录体系,只需要在小程序端设计用户名,密码/验证码输入页面,便可以简便的实现登录,只需要保持良好的用户体验即可。
全栈程序员站长
2022/06/29
1.2K0
相关推荐
关于小程序的一些基本常识
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验