基于uniapp开发小程序,代码上线发布教程【抖音、微信】

本系列文章适合三类同学:1.希望学习小程序开发;2.希望无代码、低代码拥有自己的小程序;3.快速搭建小程序交作业、交毕设的大学生

本系列文章将推出配套桌面端软件,配合软件,可实现傻瓜式开发小程序,请有需求的同学关注专栏,以免错过。

由于各平台对专栏文章的支持度不同,所以如果您看到这篇文章的平台,系统学习专栏文章的操作不够丝滑,可以先关注小程序,后续小程序会开发专栏博客功能。

可以直接搜索【中二少年工具箱】,也可通过
二维码知乎地址:https://www.zhihu.com/question/53230344/answer/3180004527
二维码csdn地址:https://bbs.csdn.net/topics/618134623
二维码头条地址:https://www.toutiao.com/w/1790412984859652/
等入口进入,扫码关注。
本专栏总纲文章地址:快速制作小程序,专栏总纲

文章目录

  • 前言
  • 1、抖音开发者工具
  • 2.hbuilderx关联抖音开发者工具
  • 3.排查错误
  • 4.上传代码
  • 总结


前言

本文介绍基于uniapp开发的小程序,在hbuilderx中开发后,如何把代码上传到抖音,发布小程序。

虽然最近才开始真正开发自己的微信小程序,但是微信小程序的代码发布很久之前就做过了,也没留下什么记录,所以微信小程序的代码发布过程就没办法详细介绍。

最近正好想把代码同步发布到抖音平台,所以就以抖音为例,帮大家踩踩坑,写一篇uniapp开发的小程序如何发布到抖音的教程。微信小程序发布过程,可以以此参考。


1、抖音开发者工具

虽然hbuilderx有一键发布代码到平台的方式,但是我们开发过程中,总要在实机或者模拟器中看一下小程序的效果,这就需要借助对应的开发者工具,所以最好还是下载一个官方提供的开发者工具。

抖音开发者工具,需要上抖音开放平台下载:https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/developer-instrument/download/developer-instrument-update-and-download
微信开发者工具,则需要上微信官方文档下载:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

下载后,为了避免权限问题,选择为所有用户安装:
在这里插入图片描述
后续步骤全部默认即可。

注意记录一下开发者工具下载地址,后面会用到:
在这里插入图片描述

2.hbuilderx关联抖音开发者工具

打开hbuilderx,随意打开一个项目,点击运行,选择运行到小程序模拟器——抖音开发者工具,如图:
在这里插入图片描述
因为我们没有配置过抖音开发者工具,所以第一次点击,会进入配置页面,如图:

在这里插入图片描述
在这里维护刚才我们下载的抖音开发者工具,需要用到上面下载的地址,我的在:C:/Program Files/xxxx。如果这个忘了,那就找到抖音开发者工具的安装文件,再走一遍,走到选择安装地址那步,记下自己的地址,然后退出。
维护后,如下:

在这里插入图片描述

这里需要注意:微信开发者工具维护的安装路径,而抖音开发者工具维护的是可执行程序

关联完成后,再次点击运行到抖音小程序,会打开页面:
在这里插入图片描述
第三方(uniapp)开发运行到抖音开发者工具,会默认打开lite模式,我们手动退出,进入正常模式:

在这里插入图片描述
这个模式有利于查找一些兼容上的错误。比如说我们现在遇到了不知名错误,因为我们的小程序在微信上是正常运行的,所以一般遇到这种错误,都是兼容问题。

3.排查错误

下面提供遇到一些无法debugger的问题时,定位问题、解决问题的思路。

既然是兼容问题,肯定是某个相对特殊的代码有问题。那些简单的首页、tab页等,一般是没有问题的。所以我们在page.json中,把分包里的复杂页面都删掉,只留下pages里的页面和tabBar里的页面,发现运行正常。

这就能确定,肯定是小程序里某个小功能出问题了。我们继续一点点删页面排查,最终确定是我们的人工智能三个页面有问题。

打开人工智能代码,还是按照上面的思路,一点点删代码,因为我们是基于vue3,代码都是按功能模块设计,所以删起来也比较方便,最终定位到出问题的代码是:

import * as _ from 'lodash'

lodash在微信小程序中是没有任何问题的,运行到抖音开发者工具有问题,那只能是抖音兼容这块做的不好。所以我们上抖音开放平台自己的社区提问:“lodash报错”

果然,有其他人遇到过:https://developer.open-douyin.com/forum/question/post/65093a474de0e665f67afcf5

下面是社区管理的回复:

在这里插入图片描述
我们先简单采取第二种方式解决问题,运行后,正常显示页面:
在这里插入图片描述
但是我点击后,发现功能还是有问题,所以我向抖音屈服了,先把防抖这块去掉,可以正常显示页面:
在这里插入图片描述

样式还有些兼容问题,不过第一阶段主要目标是上传代码成功,所以先不考虑样式。

4.上传代码

点击上传后,会提示我们输入appid:
在这里插入图片描述
我们先登录抖音开发者工具,点击右上角的工程管理,然后登录账号:

在这里插入图片描述

抖音开放平台的一些注册和创建工作,都是很简单的根据引导创建即可,篇幅所限,这里不再赘述。

登录后,再维护基本信息,会发现已经有我们的账号信息:

在这里插入图片描述
此时重新点击上传,维护我们的更新内容:

在这里插入图片描述
上传时,又遇到两个问题,命途多舛啊!

一个是上传抖音开放平台时提示尚未登录:
在这里插入图片描述
这个好解决,注销账号,重新登录即可。

另一个是提示自定义导航栏的权限问题,为了尽快先上传代码,我按照开发者工具提示的,先改成了使用系统默认导航栏。终于上传成功:
在这里插入图片描述
在抖音开放平台的控制台,可以看到已经有我们上传的代码了:

在这里插入图片描述


总结

虽然还有一些兼容问题需要解决,但是至此,终于算是从无到有地走通了uniapp代码上传到抖音开放平台。微信开放平台和抖音基本上是差不多的步骤。
本文写作用时1小时,各种尝试和修改问题,用时差不多应该也是1.5小时,这还是在我已经有过微信小程序开发经验的基础上。写这篇文章就是希望初次接触用uniapp开发抖音小程序的同学,可以节约点时间。
原创不易,希望感觉本文有帮助的同学,可以去点点关注,或者帮忙给小程序【中二少年工具箱】给个高评分。目前只有微信小程序。拜谢各位看官了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@Slf4j 变量log找不到符号,可能是 Gradle 配置文件写得有问题

Slf4j 变量log找不到符号 鄙人在学习 Java 的 spring boot 项目时, 常常因为 maven 配置文件使用 xml 格式过于复杂, 所以更倾向于使用 gradle 作为构建工具. 然而, 在使用 gradle 作为构建工具时, 又需要引用 Lombok 依赖. 有时忘记在初始化项目时添加上 Lombok 依赖, 所以经…

C++ deque详解以及容器适配器

目录 1.容器适配器 2.deque的使用 2.1deque的介绍 2.2deque的缺陷 2.3deque作为stack和queue的可行性 2.4 deque类的使用 2.4.1deque的构造函数 2.4.2deque容量操作 2.4.3deque赋值,插入 1.容器适配器 适配器是一种设计模式(设计模式是一套被人…

idea创建一个简单的maven项目

个人学习笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 添加-DarchetypeCataloginternal 运行参数 (ps:不填的话,maven 骨架生成速度缓慢) 其实我没…

Redis---持久化

Redis是内存数据库,是把数据存储在内存中的,但是内存中的数据不是持久的,如果想要做到持久,那么就需要让redis将数据存储到硬盘上。 Redis持久化有两种策略: RDB > Redis DataBase RDB机制采取的是定期备份AOF …

c# ABB 机械手上位机连接

c# 程式开发和调试步骤如下: ABB 机械手要开启PC Interface功能。ABB 机械手设定ip地址。设定测试笔记本和机械手同一网段,用网线直连机械手,也可以通过交换机连接机械手。确保笔记本能够ping通和telnet 机械手80端口都是OK的。以上都OK的话…

QT C++实践|超详细数据库的连接和增删改查操作|附源码

0:前言 🪧 什么情况需要数据库? 1 大规模的数据需要处理(比如上千上万的数据量)2 需要把数据信息存储起来,无论是本地还是服务上,而不是断电后数据信息就消失了。 如果不是上面的原因化,一般…

是谁家的小千金跑出来了?

古典的山树绣花设计 精致典雅,上身立体又轻盈 做了粉绿两色,很适合春天的氛围 春天是个适合外出游玩的季节 穿上这件出游真的超美,日常穿也可 超出片很吸睛!

Pytorch学习 day01(Jupyter安装

Jupyter 安装过程中遇到的问题: Anaconda的base环境会自动安装Jupyter,但是如果我们要在其他环境中安装Jupyter,就需要注意,该环境的python版本不能高于3.11,且用以下代码安装: conda install nb_conda_…

消息中间件之RocketMQ源码分析(二十三)

Broker的关机恢复机制 概述 Broker关机恢复是指恢复CommitLog、Consume Queue、Index File等数据文件。Broker关机分为正常调用命令关机和异常被迫进程终止关机两种情况。恢复过程的设计目标是使正常停止的进程实现零数据丢失,异常停止的进程实现最少量的数据丢失…

Groovy - 大数据共享搜索配置

数据共享搜索列中配置了搜索列,相应的数据共享接口中也需要支持根据配置的字段搜索,配置实体时,支持搜索的入参code必须是searchKeys,且接口应该是需要支持分页(入参必须是 current、pageSize)的。current …

Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面

文章目录 1. Docker安装Nexus2. 本地访问Nexus3. Linux安装Cpolar4. 配置Nexus界面公网地址5. 远程访问 Nexus界面6. 固定Nexus公网地址7. 固定地址访问Nexus Nexus是一个仓库管理工具,用于管理和组织软件构建过程中的依赖项和构件。它与Maven密切相关,可…

SpringBoot多数据源配置(MySql、Oracle)

一、依赖 <!-- dynamic-datasource 多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId></dependency><!--oracle驱动--><dependency><groupI…

JavaScript高级程序设计

前言 《JavaScript高级程序设计》 第1章——什么是JavaScript DOM将整个页面抽象为一组分层节点。 BOM用于支持访问和操作浏览器的窗口。 第2章——HTML中的JavaScript 2.1 < script >元素 元素描述async立即开始下载脚本&#xff0c;但不能阻止其他页面动作&#…

linux查看服务器内核CUP版本相关命令

服务器参考 计算架构&#xff1a;x86-64产品系列&#xff1a;华为云耀云服务器操作系列&#xff1a;CentOS 7 执行uname -a查看服务器内核版本 Linux hecs-82210 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux执行hostn…

掌握结构化日志记录:全面指南

在当今复杂的软件生态系统中&#xff0c;应用程序日志非常宝贵。它们允许开发者窥视应用程序的内部&#xff0c;了解系统内部的真实情况。但是&#xff0c;传统的非结构化日志数据有很多不足之处。这些混乱的文本块无法提供完整的画面。要真正发挥日志的力量&#xff0c;我们需…

浅析扩散模型与图像生成【应用篇】(三)——RDDM

3. Residual Denoising Diffusion Models 该文提出一种残差去噪扩散模型&#xff08;RDDM&#xff09;可用去图像生成和图像修复&#xff08;如去除阴影、去雨、暗光提升等&#xff09;。该文最大的特点是提出一种双扩散模型&#xff0c;在扩散过程中不仅包含噪声 ϵ \epsilon …

Windows WMI详解

WMI简介 WMI ( Windows Management Instrumentation, Windows管理规范)是Windows 2000/XP管理系统的核心&#xff0c;属于管理数据和操作的基础模块。设计WMI的初衷是达到一种通用性&#xff0c;通过WM操作系统、应用程序等来管理本地或者远程资源。它支持分布式组件对象模型(…

select * from 表 c=‘1‘ and b=‘2‘ and a=‘3‘; abc是联合索引,这样查询会命中索引吗?

倒叙也会命中索引 但是要注意&#xff0c;倒叙的时候必须要有a存在&#xff0c;否则就会索引失效 因为mysql底层会有优化器去进行优化&#xff0c;但是如果没有a的话&#xff0c;那么优化器就不知道要优化那个索引了&#xff0c;所以他走了全表&#xff0c;导致索引失效

[MYSQL数据库]--mysql的基础知识

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、数据库…

Redis数据类型--List类型详解及应用

数据结构 Redis无论什么数据类型&#xff0c;存储的时候都是以键值对key-value形势存储&#xff0c;并且所有的key都是String类型&#xff0c;本文讨论的数据类型是value的数据类型。 List类型 概述&#xff1a;list类型可以存储一个有序的字符串列表&#xff0c;为了方便理…