基于ASP.NET的微信开发心得体会(二)

2024-08-23 02:18

本文主要是介绍基于ASP.NET的微信开发心得体会(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目框架:

        说白了,之前一直没有接触过什么框架,对框架这个概念,更是一无所知,举个例子。。。在本科的时候,写的一些最基本的大作业(如XXX管理系统什么的),对于数据访问层的功能实现,都是用ASP.net中自带的sqlcommand类实现,写起来很繁琐,而且数据库中的每一张表,都必须人工手动地将其映射到应用程序中,然后进行相关增删改查的操作。

        在斟酌一番后,采取WinForm框架(没有做很深的了解),该框架能够自动将表映射成为一个实体类,其增删改查方法均是这个实体类中的类方法,因此,省去了大量时间去研究增删改查的代码实现(好吧,其实现在我才知道,这是框架最基本的功能之一)


数据库设计:

       在数据库设计阶段,所有的表,都是根据业务逻辑来考虑与设计,而前期的需求做的完整与否,直接影响了数据库设计的全面性,因此,在设计的时候,发现了很多问题:

        比如,当第一个版本的数据库设计出来之后,并在项目开发中加以利用之时,会发现很多功能的实现,需要中间的连接表,如用户表与课程表,多对多的映射关系,就必须要通过连接表来实现多对多的映射。

        再有,数据库字段的设计,这一点感触比较深刻,在后台管理中,课程上传(主要是上传图片,涉及到路径的保存),由于课程图片命名是按照“课程名+时间戳+随机序号”的命名规则(确保图片名的唯一性),而且在上传时,数据库中图片路径(一次上传多张图片)保存是采取字符串拼接的方式保存(这样前台获取这个路径只需要用split方法解析一下字符串就能获取每一张图片的路径),图片的路径字段(PicUrl)当初设计的时候,字段长度没有考虑得十分详细,仅仅只设置了varchar(50),结果在后台管理系统中上传多张图片的时候,就发生了比较尴尬的问题:发现图片已经上传到了服务器,结果发现数据库中的字段却是空的。。。。让人郁闷了比较长的时间。

      心得:

          在这个项目中,数据库的设计,其实也有点类似于增量模型,首先对核心功能分析后,设计相应的表,而且必须保证这个功能模块所涉及的表,必须正确而且不妨碍后期因为其他功能需要而添加的表的设计。最好还是在一开始就尽最大可能保证数据库的设计完整而全面。。。。不过这个过程最需要的是经验的积累。


业务逻辑:

    一、线上课程教学:

     这个项目,核心功能是“课程教学”,即采用图片轮播+独立音频的方式来实现,这里当初最开始,甲方的想法是采用视频,结果等我把功能都实现了之后,又说采取视频的形式占用的带宽较大,影响性能,最好改用ppt的展现方式,当时我一听,彻底懵逼了,卧槽,这尼玛也能行?

    PS:当时脑子里的想法,受他影响,是一副这样的画面:在HTML页面中加载ppt,效果各种绚丽,各种XXXXX,而且还要再移动端进行展示,我尼玛,可以选择狗带了。。。。。后来找了一下相关的文档,发现也不是不可以(毕竟是采用ASP.NET+PPT的开发思路,都是微软的东西,应该会有相关API文档可以查阅,但无奈的是,实现起来比较复杂)。后来还是采用了图片轮播的方式来代替ppt(类似于相册浏览一样),这样一来,实现思路就简单了许多。

    无非主要解决的问题就是如下几个:

   1、如何实现图片动态加载,因为用户在浏览图片(或者说课程),我们不可能将全部的图片(一门课通常最少也得有五六十张图片)都加载出来,然后再给用户展示,这样做的性能太差,而且,那流量走的。。肉疼。。(土豪就随意啦)。

   2、如何实现图片的轮播,因为这个项目是在移动端上进行展示,用户在浏览图片的时候,从习惯上来说,都是采取左右滑动的操作习惯来观看上一张或者下一张图片。

   3、图片针对不同移动端的自适应问题,因为手机有不同型号,不同的操纵系统,带来的影响就是屏幕的大小与分辨率的差异,因此,必须要处理好图片的自适应问题。使其充满整个屏幕而不变形。

   4、移动端横竖屏的问题,因为在开发的时候,发现,针对屏幕较小的手机,若是采用竖屏的模式来浏览图片时,图片往往显得很小,看的很费力,因此最好是能够实现一种效果,让用户在点开课程的时候,就将屏幕横置。

   5、针对横竖屏的问题,必须要考虑手指滑动事件的差异,当手机处于竖屏的时候,手指滑动事件是左右滑动,而当手机变为横屏的时候,则手指的滑动事件就变成了上下,因此,针对不同的情况需要采取不动的事件。

  

二、我负责的其他功能模块:

       线上课程功能模块,主要展现的信息,必须包括线上课程列表的展示,线上课程购买(涉及到微信支付),线上课程试听(在购买之前,用户能够试听,而且仅仅是让他听音频),线上课程教学(购买线上课程之后,进入学习页面进行学习。)以及后台管理系统对线上课程增删改查实现(其中添加线上课程与修改线上课程实现起来主要是对图片和音频上传的处理比较恶心)。

       线下课程功能模块:这个模块实现起来就容易多了,线下课程采取的是线下报名的方式,类似于讲座一样,用户能够自行发布线下课程的信息,只不过需要通过后台管理员的审核。包括展示列表、详情、以及后台管理系统对其增删改查的整个完整的功能模块。

       好文功能模块、活动功能模块、招工招聘功能模块。。。。。。这些功能模块大体上都是与线下课程功能模块比较类似。。。然后都由我来负责完善。


三、微信接口知识的扩展。

      以上是针对项目的基本业务逻辑,但是这里还需要提到的一点就是,微信的接口,

     因为我们需要弄一个个人中心(类似淘宝中我的淘宝一样,用户可以看到自己的订单啊,购买的课程啊,或者成为哪些学堂的VIP啊什么的,还有用户的昵称、头像、性别等等等等等等等等等等)。

       以及实现支付的功能(你丫都是说基于微信的项目了,基本上就是用微信支付)

      通过代码的方式实现公众号里菜单的自定义。

      用户关注之后,消息的自动回复。

     这些。。。。我还是继续偷个懒,在下一篇博客里进行详细说明好了,毕竟想要在一篇博客里全部说完。。。。嗯,其实就是我不想敲了,回头再说=。=

     



               




这篇关于基于ASP.NET的微信开发心得体会(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098064

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接