前端小白是如何利用chatgt用一周时间从做一款微信小程序的

news2024/9/22 13:45:25

前端小白是如何利用chatgt用一周时间从0做一款微信小程序的

随着chatgpt的大火,真的是在工作上给各行各业的人带来了极大的便利,本人是一个java程序员,其实我自己是一直想开发一款属于自己的小程序的,但是迫于对前端知识的贫瘠,考虑到要学的前端开发知识有很多,比如js,ts,前端框架vue,react…,最难受的是css样式,最简单的效果都要弄好久,每次想一想就放弃了。最近出来的chatgpt,让我对这个想法重新有了信心,然后就是直接开干!

☝确定好方向

为什么要做一个题库小程序呢?

之前帮人家做过自动答题的程序,所以不少人问我有没有相关网站的题库,所以既然别人有这个需求,我觉得还是有做的可行性的。

🚌模仿同类产品

既然想好了要做什么,那我就直接去应用市场,微信小程序搜相关的应用,我一口气下载和看了十几款搜题程序,搜题大侠,题海,刷题神器,聚题库…,总结了几点:

  • 提供了丰富的搜题方式,手动输入文字语音输入拍照识别
  • 提供题库,可以让用户自己练习
  • 用户可以自主上传题库

上面这几点,是用户的基础功能,也就是满足题库app的基本条件。
但是很多题库都没有把三点都做到,有些有拍照但是没有语音输入,有些只有文字输入,有些题库很丰富但是不支持用户自己导入题库,而且绝大多数app动不动就要收费,而且收费还很高,我觉得这可以是我的突破点,作为个人开发者,我的成本肯定比他们低,所以程序在收费方面肯定比他们低或者不收费。

🤔策划产品ui和功能

功能方面,我就先模仿他人的题库app,先把基础的功能做起来,第一步先把搜题功能做好,再做其他的功能。

  • 搜题方式:实现手动输入文字,语音输入,拍照识别题目。
  • 题库来源:我初步想的是爬数据+第三方api+用户上传,这样才能覆盖面广,而且题库也会一直更新。

根据要做的功能就简单画了下草图,自己不懂ui,审美也不太行就只能潦草一点了

ui草图

🥊开发

后台

后台接口想了下,先暂定三个接口,为了接口不被轻易爬取,采用前台加密,后台解密的方式,每次请求都会携带秘钥,解密成功才会正确响应。

  • 查询题库接口
  • 登录接口
  • 百度ocr接口

因为后端是自己老本行,花了一天左右差不多就做完了

前台

前台我首先调查了那几款框架好做微信小程序,就是坑比较少(包括uniapp,taro,原生),因为自己直接稍微接触过一点react,鉴于taroreact的适配性比较好,taro也一直在更新,所以我选择taro(原生也考虑过,但是感觉要多花时间去了解,所以就pass啦)。

准备事项

开发小程序还是有很多准备的工作要做的,

  • 比如得先注册一个微信小程序账号,每次发布就是需要登录这个账号来发布,
  • 选择小程序的类目,这个挺重要的,因为有些类目,个人开发者不能申请,所以要特别小心,因为我做的属于题库,所以我选择了 信息查询和教育两个类目。
  • 想一个容易被记住和被搜索到的小程序名称。
  • 设计一个图标,我自己不会,就在图标网站先找了一个差不多适合的。
  • 用户隐私保护指引,这个需要根据自己的小程序功能来填写,向我这边就需要麦克风和摄像机的权限,这个需要在里面说明用途,更新提交上去,这样才能保证审核可以成功。

根据demo修改

我先去官网clone了个demo下来,下载了微信开发者工具,尝试运行了下,发现还真有用
Taro官网
Taro官网

然后自己先把首页的样子,用语言描述给chatgpt,给我画出大概得雏形,然后再进行微调

聊天记录

如此往复,我就得到了一个简洁的首页

首页

然后就是对接接口啦,查询题库,ocr的接口,还有登录接口统统对接上去。
这里遇到了两个比较坑的地方。

  • 一个是微信官方有一个“微信同声传译”插件,需要自己去市场里申请,结果发现自己死活申请不了,提示“个人主体不能申请”,可是我也看到类似的个人小程序也用了这个插件,这我就很迷糊了,凭什么我就不能申请成功,后面在我穷追不舍的搜索下,终于发现了另外的入口,申请成功!

申请步骤

  1. 去微信服务平台搜一下

搜索页面

  1. 找到了微信同声传译,登录后选择给哪个小程序添加,添加成功后去小程序的微信公众平台看已经添加成功了,而且是已通过状态。
    插件页面
  • 获取用户的昵称和头像方式变了,之前只需要调用getUserProfile这个Api,在成功回调中就能获取用户信息,现在已经废弃了,现在需要开发者自己写表单,用户自己填写头像和昵称,感觉这个会让用户操作变得麻烦,所以我暂时先不实现这个功能了,等到那天想到合适的操作逻辑再做

通知

这里前前后后花了我三四天的时间(主要是下班来做,上班一般没啥时间),主要是交互和摸清wx的api使用比较花时间,chatgpt在设计界面和交互真的帮了我很大的忙,还有一些前端错误他也能快速定位,并给出解决方案,给我节省了很多时间

发布

最后一步就是上传代码,提交审核,一般一天左右就会审核完成,再点击发布,就能看到上线的小程序,这一刻心情还是无比的激动!🥰

🚧开发总结

使用chatgpt帮助我一个前端小白慢慢搭建起一个小程序的过程中,
缺点在我看来是chatgpt并不会准确无误地给出我想要的答案,大多数是比较符合的,但是肯定不是特别符合,需要自己一点一点的调整。

优点是chatgpt每次告诉你答案的时候往往还会为我解答代码的作用,这让我更快地了解语言的一些特性和框架的使用,节省了自己去官网查文档的时间,这让我感觉自己是真的参与了这个前端开发,而不是随意地copy答案。

最后非常感谢大家看到这,很高兴分享这次的开发过程,总之就是有意思,效率是真的高。

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

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

相关文章

【五一创作】VimPlug插件配置

目录 Install Question Q1:字体乱码 Q2:插件配置 Q3:安装扩展插件 Q4:查看安装插件状态 Q5:查看默认插件 Q6:卸载插件 Q7:增加用户配置 Install Github地址:GitHub - chxu…

内网渗透之横向移动NTMLRelay(中继)攻击-InveighNTLM-Relay重放

横向移动 NTLM中继攻击 Relay重放(smb) 适用于无法获取hash或密码时使用 NTML Relay重放包括smb to relay ldap ews webserver: 执行下面的命令时会默认以当前用户名和密码去登录目标计算机 dir \\ 192.168.3.32\c$webserver切换到本地的administrator时 dir \\ 192.168.3.3…

权限提升:令牌窃取 || 进程注入.

权限提升:令牌窃取 || 进程注入. 权限提升简称提权,由于操作系统都是多用户操作系统,用户之间都有权限控制,比如通过 Web 漏洞拿到的是 Web 进程的权限,往往 Web 服务都是以一个权限很低的账号启动的,因…

管理系统的实现_03

文章目录 登录界面的开发安装axios用于前后端交互第一步、在项目目录下执行命令第二步、在main.js文件夹添加如下代码第三步、使用this.axios 即可访问到 Login.vue 完整代码如下搭建第一个springboot项目第一步、修改配置文件(application.properties)第二步、创建包目录 用sp…

希尔排序(C++)

希尔排序 是插入排序的一种,也是缩小增量排序。希尔排序是记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组&am…

常用的极限

常用的极限 方法1 利用基本极限求极限 1.常用的基本极限 一个函数极限是非零常数,分母极限为零,分子极限必为零 幂指函数转为指数函数的形式,再等价代换 方法二 分子分母凑成可以使用等价无穷小代换的形式 arcsinx 和 sin x 作为分子是相减的. 1 先使用…

数据结构之带头循环双向链表

目录 1.何为双链表? 2.带头循环双向链表 1.函数接口与结构体 2.初始化链表 3.销毁链表 4.打印链表 5.创建节点 6.尾插 7.尾删 8.头插 9.头删 10 查找节点 11.在pos前插入x 12.删除pos位置的值 在学习了单链表之后,我们发现单链表弥补了了顺…

Spring 管理 Bean-IOC--基于注解配置 bean

目录 Spring 管理 Bean-IOC--基于注解配置 bean ● 基本介绍 ● 组件注解的形式有 代码演示--了解注解 UserDao UserService UserAction MyComponent 配置 beans.xml 注意 测试 注意事项和细节说明 自动装配 基本说明 应用实例需求 UserService UserAction 配置…

MLC LLM:将大模型运行在手机端的部署工具

前言 MLC LLM 是一个通用的解决方案 它允许任何语言模型在不同的硬件后端和本地应用程序集上进行本地部署 并为每个人提供一个高效的框架,以进一步优化模型的性能,满足他们自己的用例 其使命是让每个人都能在自己的设备(如手机端&#xf…

WordPress 不使用ftp更新

文章目录 摘要修改 wp-config.php文件处理 413 Request Entity Too Large修改nginx配置:client_max_body_size重启nginx 处理uploaded file exceeds the upload max filesize找到php.ini修改 upload_max_filesize重启php 摘要 每次 WordPress 有插件或主题更新都要…

计算机组成原理第五章(2)---中断

5.1概述 产生和应用 在IO设备和主机交换数据时,由于设备本身的机电特性的影响,其工作速度比较低,与CPU无法匹配,如果采用程序查询的方式需要CPU进行等待,但是如果在等待的过程中CPU可以执行其他的程序,可…

04_Uboot操作命令与其他命令

目录 BOOT 操作命令 bootz命令 bootm 命令 reset 命令 go 命令 run 命令 mtest 命令 BOOT 操作命令 uboot的本质工作是引导Linux,所以uboot肯定有相关的boot(引导)命令来启动Linux。常用的跟boot有关的命令有:bootz、bootm和boot。 bootz命令 要启动Linux,需要先将Lin…

《LearnUE——基础指南:上篇—1》——GamePlay架构之Actor和Component

目录 Component大法好,谁用谁知道!! 1.1.1 创世(UObject) 1.1.2 造物(Actor) 1.1.3 赋能(Component) Component大法好,谁用谁知道!&#xff0…

合肥职业技术学院分类考试招生职业技能考试 -- 计算机专业

考试大纲模块一 专业能力测试主要内容模块二 技术技能测试主要内容分值分布 分模块讲解模块一 专业能力测试计算机的发展、类型及其应用领域计算机技术的发展计算机应用领域 计算机中数据的表示、存储和处理计算机软、硬件系统的组成及主要技术指标计算机软、硬件系统的组成硬件…

YOLOv5-7.0训练中文标签的数据集

链接&#xff1a;https://pan.baidu.com/s/1KSROxTwyYnNoNxI5Tk13Dg 提取码&#xff1a;8888 以显示楷体为例&#xff08;上面的百度网盘里面有黑体、宋体、楷体ttf文件&#xff09; (1)将metric.py中&#xff1a; 将 sn.set(font_scale1.0 if nc < 50 else 0.8) # for …

iOS可视化动态绘制八种排序过程

一、可视化解决方案综述 1.交互UI综述 在本篇博客的第一部分我们先来整体的看一下我们Demo的功能。下方就是我们今天博客中的Demo的交互示意图。上方的输入框可以输入要排序元素的个数&#xff0c;下方输入的是300。程序会根据你输入的个数来随机生成数据&#xff0c;你输入30…

D. Edge Deletion(堆优化最短路)

Problem - D - Codeforces 给定一个由 n 个顶点和 m 条边组成的无向连通加权图。将从顶点 1 到顶点 i 的最短路径长度表示为 di。 你必须删除一些图中的边&#xff0c;使得最多只保留 k 条边。如果在删除边后&#xff0c;仍然存在从 1 到 i 的路径&#xff0c;其长度为 di&…

【数学建模】matlab的常用函数运用(1)

文章目录 1. matlab基本常识2. 常用输入输出函数2.1 输出函数2.2 拼接函数&#xff08;字符串的合并&#xff09;2.3 输入函数 3. 求和函数3.1 向量求和3.2 矩阵求和 4. 提取矩阵元素4.1 取第x行第y列的元素4.2 取指定行或列的所有元素4.3 取指定某些行的所有元素 1. matlab基本…

【OMNET++】V2X仿真

1.前言 车载无线通信技术V2X即Vehicle to Everything&#xff0c;是在车辆和任何会被该车辆所影响的实体之间分享信息的技术。V2X的主要动机是道路安全、交通效率和节能。 车辆影响实体的分类&#xff1a; Vehicle:对应其他车辆&#xff0c;对应通信V2V&#xff0c;对应设备是…

Linux学习[9]查找文件指令:which whereis locate find

文章目录 前言1. which2. whereis3. locate4. find总结&#xff1a; 前言 之前在弄交叉编译的时候需要找到gcc&#xff0c;gdb什么的在哪里&#xff1b;涉及到了查找文件指令。 这里对linux中的查找指令进行总结 1. which which指令一般用来寻找可执行文件的路径&#xff0c;…