基于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是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同