首页 > 编程知识 正文

微信小程序代码怎么弄,微信小程序教程入门篇

时间:2023-05-05 23:36:15 阅读:132102 作者:3536

因为无能为力,所以写前端-发布小程序-调用后端接口-写后端-写数据库-构建云服务-保持未完成状态

一、已有的基础

我19年3月写过小程序《英语四六级算分器》。 在第一页上,我在百度下注册了微信小程序,并在线了第一版,包括百度下的前端按钮和布局。 图1和图2 (计算机页面)非常简单,容易入门

上线后,最高访问量数百个,特别是参加四六级考试的几天.平时使用的人很少。 虽然有可以放广告的权限,但是为了用户体验,没有放。 我到底没有投买服务器的钱,也不想引起大家的注意。 因为想在今年的新冠灾祸期间进行优化,所以有了图3的页面。 但是问题是听力资源来自哪里呢? 起初在网上搜索听力,提出要求,获得音频地址,用小程序引用,后来发现不太现实。 第一,利用人的资源总是有风险的。 第二,没有特别完整的音频。 有的还是错的。

解决:为了解决这个问题,我打了个公众号(虽然没有用户Gg……),用几个钱从一条鱼那里买了完整的语音和问题原文文件。 然后整理了几天,写成了文章声音。 这相当于将资源传递到微信服务器。 在浏览器中打开自己写的微信公众号文章,或者挂断请求,或者加入小程序,现在的图3 (监听页面)出现了

二、进阶优化

1、ajax入门学习:今年又想在小程序中添加翻译,我想这个该怎么添加。 调查后发现,百度、谷歌、有道等人士提供了免费界面。 也就是说,人有服务器,向外部开放功能,所以调用就结束了。 那么又出问题了。 我只会按钮等简单的前端。 呼叫怎么办? 为了用小程序调用,首先要掌握简单的主页调用,即ajax,然后查看别人的代码,创建百度翻译的功能。 具体见https://blog.csdn.net/Gao _ Xiao _ qi/article/de taax其实并不像想象的那么复杂。 直接请求url,返回成功后到达success方法。 简单的说明是这样的。 不用想那么高级,用了就知道了。

2、后来我发现我只能翻译简单的词句。 拓展知识需要企业申请才能使用。 还有,我不想放小程序,暂时不优化。 但是学了ajax之后,我想做二手平台发布,但是前端的基础只能做一点。 做二手发布,也学习后端

三、django后端搭建

1、制作工序:所谓java,工序很大,很难得到各种各样的种类和调用,所以要对python开刀。 流行的是django。 像是按照教程构建,却无法安装第三方插件,修改配置也无法后退,重建n次工序,制作mysql模型又不知道又放弃,没有支持中途切换到python等等.

2、界面完成。 diango完成后,写后端接口。 接口直接使用url.py向外开放,调用其他views.py实现。 最后终于实现了自己的第一个接口。 访问url后,可以打印从后端返回的json数据。 时间也是各种各样的漏洞。 返回字符混乱、数据格式错误、url正确的问题不一致.

3、数据库:直接给数据也不行啊。 必须总是动态地从数据库中读取。 因此,在本地构建mysql。 在此期间,mysql可能会找回密码,找不到各种各样的密码。 网络教程中总是有sql错误。 这个问题我下午也做了。 最终,我求助于公司的后端开发解决了。 剩下的就放心了。 数据库的构建、表的构建、字段的设计、主键的varchar int str等只是在进行中。

4、数据库读取: django开发代码动态读取数据库,接口读取完毕后返回。 因此有后端的基本功能:

四、前后端联调

1、跨域:前端接入后端,存在跨域问题。 以前只停留在概念上,现在终于知道了什么是跨域。 虽然请教了公司的前端工程师,但无可奈何,构成网络上说的各种url的get请求参数也不行。 然后,从后端开始。 (前后端分开构建也是有益的。 至少前端不会通过后端的hhh。 )后端允许跨域跨域,前端不报告错误

五、一步步搭建微信小程序二手商城

1、前后端都有数据库。 接下来就是在细节上堆积代码,实现每个功能、每个功能吧。 要涉及数据库,请在生成用户、商品和数据库后发现更改时使用alter

2、列表页面:绘制前端页面,带来后端数据,相关知识:获取不同位置不通的资源。 例如,化身获取头部资源,获取商品说明mysql资源等、获取图像(根据用户id和上传商品id连接url访问服务器资源)、获取ajax的get和post请求, allow函数success:res=)为了不能获取this )、图像位读取不足)例如,一些用户仅上传了一张图像,这样显示的只有一张),另外在域之间安装后果然好了。 设置如图所示)

但这只是治标不治本,还不允许上线

只能本地调调。

3、个人页:页面其实很简单,检测是否登录、没登录时点击登录就加载登录信息更新头像和昵称。但是,问题来了,不同用户登录时,要怎么区分?

学了半天才搞懂:原来人家微信是有一个openid来唯一标识每个用户的,但是这个openid不会轻易给你:先申请secret,然后人家腾讯会记录你的secret还有appid(appid在申请小程序的时候就有的),要把这个secret、appid、本次登录的code,这三个拼接成人家腾讯规范的url,然后请求接口,人家才会返回回来唯一的用户openid,有了这个opid就好办了,存到数据库里用来唯一标识当前用户

4、买服务器:微信小程序是有体验员的,就是发布开发版,可以让体验员看到,也为了方便测试,就得发布开发版,但是发现连真机调试都不同(不用想也知道是因为手机连外网,访问不了本地服务器资源)请求的资源都是获取不到的。无奈,买了个百度的域名,然后各种配置nginx,以为这样就可以大功告成。搞了半天才发现,还差得远,因为人家外网怎么找到你本机ip啊?,人家nginx只能本地反向代理你本地上下文部署不同服务器,所以要让互联网找到你得的服务器还得来个公网ip,但是自己电脑也不现实:占用内存不说,可能还要面临在公司外网穿内网的问题,这是万万不可的。没招,买服务器吧。。

选了半天买了腾讯云,一开始无知差点买了windows版的,想着跟我本地电脑一致还能方便部署,还好及时刹车买了ubuntu的(比centos要好入手一些的),接下来就是各种装(很多其实不用装的,ubuntu自带mysql和python,反正版本不对就自己重装),于是终于能启动了:

期间想用navicat远程连接腾讯云上的mysql,然后就可以本地继续操作了,网上说要改服务器上mysql下的配置,然后就各种改,啥方法都试了就是没权限,各种chmod attr都不管用,我逐渐意识到,,可能人家服务器或者ubuntu默认装的就是改不了的,于是暂时放弃,命令行建表导数据

5、域名与服务器绑定:域名从百度云上买,服务器从腾讯云上买,于是总感觉哪里会衔接不上。根据教程:https://www.cnblogs.com/yspace/p/10050452.html的步骤,在百度云上进行解析域名,并映射到腾讯与服务的公网ip:

然后ping不通,原因是没实名或者解析完等待时间不够。然后实名完过了几个小时就能ping通了(2020/04/02)

7、换域名:百度云申请域名还是有问题的,因为只申请域名好像不能备案(每次备案都提示没有可用的服务),无奈十几块钱又在腾讯云买了个,这下子根正苗红了。。买完以后,配置上了还是ping不通的(网上很多说等10分钟),其实是没用的,现在域名好像都是必须要实名才能ping通(起码我百度和腾讯都是实名完才通过)。

实名完后还有下一步:要https请求才能配置到微信平台,也就是要申请证书,而且要备案:(2020/04/09)

好吧,目前还在审核,腾讯要审核24小时,然后管局备案就不一定了:

8、登录优化:详见:https://blog.csdn.net/gao_xiao_qi/article/details/105441855.

为了调试加密,需要安装pip install crypto这个包,百度了下,安装这个包也会报错,所以要换成pycryptodome才行

接下来就是报错:小的demo直接解析成功,在django就会报错,于是卸载、重装,还是报错。后面发现还是python版本问题,安装的地方不对(即使在同一个工程下),两个版本全部安装完,还是报错,最后,鸡眼全删了,只安装了当前django使用的python3and32bit版本的,然后莫名其妙的好了。原因应该是两者冲突了,或者说,demo虽然在django工程里,但默认加载了另一个版本的python,所以才误导了方向。(2020/4/10)

接下来就是域名审核:腾讯域名客服描述,个人申请域名不能起类似“xxx平台”之类的名字,否则会被封掉(当然企业可以,但经营范围也要在内或者相关)。而且要求重新上传各种证件,再给管局备案

9、地图

微信小程序当然是接入腾讯地图最方便,参考官网:http://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodSearch,后面发现要加的东西比较多,最终找到位大神的博客:https://blog.csdn.net/yu17310133443/article/details/88991021稍加改造后就能用了(2020/5/3)

 

10、首页下拉菜单选择:

一开始是用微信自带是的picker地图:https://developers.weixin.qq.com/miniprogram/dev/component/map.html但是太low了,而且百度了一番发现根本没办法触发它的picker直接弹出来越过点击区域(因为这个区域是写在picker里面而不是外面),就算搞出来也不灵活不好看,于是搞了半天终于放弃(2020/5/3)

后来参考https://www.jianshu.com/p/d0b067e68c8e,下载源码后,本来想白嫖过来,不动脑子的那种,后面发现没办法满足需要,因为我的“地区”想要三列而源码只有两列,差不多改了半天,一开始觉得好难不想改,但是改下来发现,他的代码也读懂了,我也可以实现我的功能了,也get到了新知识

他其实是做成了一个组件,然后index里引用这个组件,写的挺好的。我把原代码都改了一通:如果二级目录下没有三级目录,则直接返回且关闭下拉;如果有三级目录则打开三级,选择了三级后返回给菜单头部。(2020/5/5)

下面要做的事就是把地图的区域放到里面

10、发布页:涉及到知识点:表单提交、用户信息传值、数据库插入

未完待续。。

 

 

六、心得:

1、罗马不是一日建成的,一下子做个大功能对于swdfn来说不太现实也容易中途放弃,所以先做个简单的,上线或者用起来,有了信心,后面再加想法不迟

2、疑难问题每天都有,解决不了等一等再说,也许第二天就突发灵感,有新的方法就能解决了呢

3、优化方向:python直接操作数据库是各种不方便不好维护,逐渐意识到django的“模型”是个出路,后面要优化

4、java的增删改查应该也不是很难,应该部署springboot就足够了,后面改造再优化吧

5、这种入门级别在专业程序员面前就是小儿科,但是对于一个swdfn来说,从无到有的过程是很值得纪念的,hhhh

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。