配置Discuz!与微信小程序开发环境的详细步骤

让我和你聊聊吧。
前年我帮朋友做了这个,真的很郁闷。
但我还是做到了,而且效果确实不错。

1 .我们来谈谈Discuz吧!背景环境先。
当时朋友的服务器是Linux,所以就去LNMP搞定了。
PHP版本是7 .4 ,MySQL版本是5 .7 ,已经足够了。
如果您有 Windows,也可以使用 LAMP。
别乱搞,版本很低,很容易出问题。

安装好环境后,下载最新版本的Discuz!并将其转储到站点的根目录中。
使用浏览器访问它并按照分步提示进行操作。
直接使用root用户访问数据库。
设置一个简单的密码并稍后更改。
请记住更改 config_global.php 中的数据库配置。
不要使用 localhost,因为无法从外部访问它。
我当时就踏入了这个陷阱,我花了很长时间才找到问题所在。

为了安全,请尽快修改后台管理员密码,有点复杂。
防火墙也打开了,只打开Discuz需要的端口!允许。
HTTPS 是必须的。
现在没有 HTTPS,用户就不信任它。
我当时买了一张证书,花了几百块钱,但是很值得。

2 微信应用开发环境。
这个比较简单。
首先,到微信公众平台注册小程序并获取APP ID。
当时就不要填写各种信息,以后审核会更容易。

然后下载 Windows 版微信开发者工具。
打开并创建一个新项目,填写Application ID并选择一个目录。
对于app.json,在Discuz!中填写您要连接的页面路径,您可以在窗口中更改标题。

关键来了,合法域名。
在微信后台开发设置中,在请求合法域名部分,填写Discuz!的域名。
服务器。
不填写localhost,小程序无法访问。
当时朋友填写的是1 2 7 .0.0.1 ,结果却一直说域名非法,我差点被惊死。

3 对接。
这真的很烦人。
我在 Discuz! 中打开了 API,这是一个获取帖子列表的简单界面。
PHP 代码在一行中返回 JSON 数据。
wx.request小程序用于发起请求。
他当时不知道如何处理共享域,所以请求一直失败。
经过一番挣扎,我发现了磁盘!服务器未添加 CORS 标头。
最后,我添加了一堆 Nginx 的标头,我终于完成了。

为了数据同步和安全,我使用了token验证。
每个迷你软件订单都带上一个令牌,并在 Discuz 中进行验证!以免有人乱来。
对于数据同步,我保持简单。
小程序每次打开都会重新拉取数据,没有缓存。
后来有朋友说可以使用wx.setStorage小程序进行优化和缓存。

4 提高绩效并解决问题。
当时帖子很多,加载速度很慢。
我添加了分页,一次只提取 1 0 个项目。
小程序还使用wx.setStorage来临时存储一些静态数据。
CDN还没做好,简单点就行了。

对于跨域错误,请检查Nginx/Apache的CORS配置以及合法域名是否填写正确。
延迟数据意味着优化MySQL查询、添加索引等。
安全意味着定期更新Discuz!以及微信开发者工具来防止攻击。

5 测试并发布。
我在开发者工具中尝试了很多次模拟,网络好的也好,网络差的也好。
基本的用户登录、发帖和评论功能已经过测试。
最后将代码发送到微信审核。
当时审核没能通过,修改了很长时间才通过。

总而言之,做起来确实不容易,但是一旦完成就会有成就感。
必须密切关注服务器兼容性、API安全性和数据同步,否则后期会出现很多问题。

小程序开发期间数据库布署怎么做

你好,你说的数据库部署过程其实已经很详细了,但是感觉有点像教科书。
在我们小程序开发的实际操作中,可能并不完美……比如上周有客户要求我制作一个电商小程序。
数据关联非常复杂。
一开始想直接迁移到MySQL,后来发现他的团队只有两三个人,维护起来非常繁琐。
最终我选择了阿里云的RDS。
部署速度快,后端可以理解。
虽然比较贵,但是省心。

您看,选择数据库类型(关系型或非关系型)并不是一个随意的选择。
如果您正在创建基于内容的小型程序,例如用户评论和文章,格式不固定,并且可能随时添加新字段,那么 MongoDB 确实很好。
去年我使用MongoDB创建了一个小型的上海旅游指南分享程序,该程序数据结构灵活,开发效率高。
但如果你做电商或者ERP,订单、产品、用户之间的关系很复杂,就必须使用MySQL和SQL Server。
否则就会出现关系不清晰、数据一致性问题。
我的一个朋友在2 02 2 年创建了一个小型物流程序。
由于他没有指定正确的数据库,所以他无法找到包裹的确切位置。
顾客投诉数量惊人,花了三个月时间才重建。

至于部署方式,自建服务器很好,数据完全掌握在自己手里。
这是金融、医疗等监管力度较强的行业应该做的事情。
但说实话,人力成本和投入是巨大的,除非你的公司有很多钱可以花,或者你的技术团队特别强大。
我认识一个做游戏计算的团队。
去年他们想建立自己的数据库,但服务器被烧毁了两次。
运维人员实在太累了,就辞职了。
最终,他咬牙加入了腾讯云。
尽管每月的费用很痛苦,但开发进展最终还是持续了。
云数据库让人省心,但有时面对特别有挑战性的需求,比如冷热数据分离,或者自定义分区,云服务提供商可能会无能为力帮助你。

在数据库设计中,表结构的布局是基础。
我遇到的坑是,一开始为了省事,把任务管理器的用户表和任务表直接和ID挂钩了。
结果当用户太多的时候,查询效率直接崩溃。
检查用户在后台执行的任务速度慢得像乌龟。
后来我才意识到索引的重要性,尤其是外键相关的字段,必须要建立索引。
对于用户ID、产品ID这样的高频查询,创建索引可以省去很多麻烦。
但索引越多越好。
在我的一个项目中,我的同事随机添加了一组索引。
结果,数据多了,插入和更新速度变慢了。
最后花了很长时间才排除故障。
可以看到,这个设计不仅仅是一张纸,它需要结合实际的业务场景。

配置连接步骤其实技术性不是很强,但是很容易得到细节。
比如字符集设置错误,导致小程序中显示的文字乱码,体验就会很差。
之前有一个小程序,但是因为开发环境使用utf8 ,所以测试环境改为gbk。
结果,用户报告很多地方出现了扭曲的字符,这让我们非常沮丧。
最后只好手动改回数据库,想想就头疼。
连接字符串、用户名和密码必须重复确认。
如果改完之后忘记改,数据库就无法直接打开,运维端的血压就升高了。

综上所述,数据库部署没有绝对的最优方案。
这取决于您的微软软件的位置、您团队的技术实力以及您的预算。
关系型和非关系型、云服务和自建服务都是权衡利弊之后的选择。
设计表结构、添加索引都需要认真考虑业务,不能偷懒。
创建连接看似简单,但细节决定成败。
不管怎样,这取决于你,每个项目都是不同的。

微信从小程序怎么连接本地mysql数据库,详细一点。

微信小程序无法直接连接本地MySQL,必须使用服务器传输。
首先,设置服务器,安装 Web 和应用程序服务器,并连接到 MySQL。
然后编写服务器端代码,创建API接口,微信小程序调用这个接口。
测试通过后上线服务器,小程序就可以访问API了。
首先记住安全性,添加身份验证和数据加密。