00:00
各位同学大家好,下面呢,我们继续来进行项目总结,咱们总结一下啊,我们项目在开发过程中遇到的一些常见的问题,以及最终的解决方式,那这里边呢,我把问题给各位先列举出来,然后咱们一个一个再来详细进行总结,首先我们跟着各位大家一起来想一下啊,咱们开发中呢,遇到过哪些问题呢?应该是有很多的。首先我这里就把我想到的列出来啊,如果说这里边有些我可能没有列出来,但是我在讲的过程中,给各位应该也都讲到了,首先第一个啊,是一个最典型问题,什么问题,就是咱说这个跨域的问题,这是第一个问题。然后除了跨域之外,我们还有第二个问题,第二个是什么呢?就是咱们在这个过程中有一个map文件,它那个扫描的一个问题,这一会说明到底什么意思啊,然后除此之外我们还有第三个问题,那就是关于文件它这个加载问题,这是may问中的一个特点。
01:09
除此之外,咱们还有下一个问题,什么问题呢?咱们之前在做那个流程定义部署的时候。这个时候ZP文件有一个相关的格式的要求,如果要求不满足,格式里边最终会出错,这个咱们一会儿做个说明,然后除此之外我们还有下一个问题,那就是咱们说那个内网穿透的相关的问题,啊,内网穿透这个其实咱也可以算个技术点,因为我们项目中确实用到了,我把这个放到问题中来说,然后除此之外,那就是咱们在做那个审批的时候,遇到一些返回状态码等其他的一些问题,所以咱们啊主要从这六个方面把项目中主要问题给大家做个总结,那咱们啊先来看里边的第一个问题,比如这个最常见的跨域问题。
02:05
那这里边给大家写一下啊,大家跟我一起来想一下什么叫跨域。什么是跨越?说的简单点啊,我们指三个地方,第一个就是访问协议。第二个叫IP地址,或者说叫域名。然后第三个叫端口号,注意这三个啊,有任何一个不一样,它里边不能访问,访问就会产生跨域,那咱们说的具体点啊,第一个访问协议,什么叫访问协议,比如说你是HTTP啊,还有一个叫HTTPS,两个是不一样,这个访问会产生域,你用HTP去访问HTTPS内容会有域,第二个叫IP或者域名,比如说你现在啊,你用这个OA。
03:00
At com com会产生跨域,第三个端口号,这个最好理解啊,咱们之前那个接口用的是8800,我们前端用的是9528,端口号是不一样,这个访问会产生跨域,而跨域怎么解决,有多种方式解决啊,就是多种解决方式,我们项目中的主要用的这么几种,我就写我们项目中用的方式啊,首先我们用的第一种方式。在这个的上,咱们加上解就解,然后第二个咱可以在前端。进行配置。这是我们的处理方式,那咱们来看一下啊。首先我们随便找一个CTR,然后在CTRL上边呢,我们加上一个注解可以解决跨域,就是里边的这个注解,这个位明确啊,除此之外那就是前端,咱们前端项目中应该处理的这个跨域,就是把路径给它做一个。
04:12
转换啊,那咱看一下啊,在我们这个wave config里边,这位置是不是做了跨越,通过它配置支持跨越这个啊是咱们说的第一个问题,那就是跨域,也是我们开发中一个最常见问题。然后之后咱看第二个问题啊,第二个是什么,它叫map扫描问题,那这个问题是什么呢?我们看一下啊,大家看我现在map是不是一个interfa接口,但是呢,没有对应的实现类对象,它的对象是动态创建的,但是我在操作过程中,它找不到它动态键的对象,所以咱们需要做件事情,什么事情,那就是加个注解,之前我们是加到了这个位置啊,加个配类里面加了一个叫是不是叫这个扫描,通过它让它能加载到动态创的对象,咱们之前有多个,我在里边就加了多个,最终进行实现,通过map实现这个找到动态创建的对象啊,也就是里边这个注解的一个使用。
05:21
咱们之前啊,写的这个具体例子,就是在这里边做了这个事情,我就把这个结构给大家复制过来个配置类,然后里边加上这个map这个注解。这个各位明确啊,就是map扫描问题,然后这个咱也提到了,其实你也可以不这么加,你怎么做,你来到那个map接口上,在map接口上你加个注解,就这个map这么加也可以,它也能扫描到动态对象是可以做到的啊,这是我们说的方式啊,我这里写的具体点啊,首先我们做法就是。
06:02
这位置。第一种方式。咱们。创建配置类,在里边使用这个叫map,看注解,指定你的map那个包进行,这是第一种方式,然后里边还有第二种方式,这怎么做呢?在我们那个的接口上面。添加上注解,这个注解就叫做map,通过它进行实现,这么做也是可以的,那咱们写的具体点啊,比如现在我在这上边加个注解,就是这个。Viper,就是他这么做完全也可以实现,就看你该怎么做了啊。现在啊,给各位都做一个说明,所以以上啊,这是咱说的第二个问题,My pro扫描问题,然后这个之后我们继续来看啊,下面咱看第三个问题,这个叫叉L文件的加点问题,那这什么问题呢?各位看啊。
07:04
首先我们项目中呢,就是map都对应插入文件,而这插入文件里边,比如说我们之前写了Co语句,这个时候有这么一个问题啊,这是may问的一个特点,我写到这个位置啊。就是。它在默认情况下。什么事呢?在你的S。Java这个目录下边,它只会去加载这个Java类型的文件,其他类型文件它是不会进行加载的,而我们目前的特点是什么?咱们文件是不是在这个SC下面,所以它就没有加载,如果说你放到resource下面可以,但是咱没有放,所以它就没有进行加载,这是里边这个特点啊,各位记住这句话。在SC入下边只会加载加入类型文件,其他类型文件它就没有加载,那咱怎么做呢?这里边啊说一下它的实现方式。
08:09
首先啊,就是解决方式,第一种解决方式,你怎么做呢?你可以把你的al文件放到那个resource目录,就是放到这个目录,就这里这么做肯定是可以的,因为这里边它是能载到放到resource这个目录下。这是第一种方式啊,另外第二种方式。比如现在啊,我这里边我不改变目录的结构,就想放到。com那个里边,就是里com里,那怎么做可以通过配置在你的里。和项目的配置文件中进行配置,这么做也可以做到让它能加载叉文件类型,那咱们看一下啊,具体怎么做。
09:06
首先啊,放到这个下面,简单直接给它放过来,然后咱们看配置啊,在里边我们加上这个内容。大家看这个位置啊,包含哪些类型,咱包含买第二个在项目的配置文件中咱们找到啊,这个文件中我们加上这段话。就是告诉他你的文件在什么位置,答案是这个位置啊XL清点叉L,这是咱们说的第三个问题,叉llo文件加载问题,这个我给他记住啊,就是记住这里边的解决方式,很多时候啊,其实我们为了方便。经常都是放到目录下,这个最方便,它就避免再去做各种配置。这个啊看实际,根据实际来选取。这个咱们就说到这里啊,然后之后呢,我们再看下一个问题,下一个什么呢?就是流程定义部署的时候,咱们在管理员系统中上传的是一个zip文件,这个zip文件呢,有它的一些相关的规范,或者说一些要求。
10:13
那什么要求给大家写一下啊,首先第一个要求Z文件的名称要跟你流程的那个。保持一致。那这个什么意思呢?说的具体点啊,比如说我们现在啊,找到一个插文件,这个文件里边有一个流程key,也就是这个你的名字必须保持一致,比如说我这个那ZZ这是的第一个特点啊,或者说是咱们这个规范。我写下啊,就是例如。咱们是这样,那你的这个文件的名称。他就是。
11:00
请假。点Z就你打包成就是这个文件,就是里边的第一个规范啊。然后这个之后里边还有第二个规范。第二个是什么呢?继续写一下啊,我们在ZP文件里面肯定是打包进入一个叉文件,而这个叉L文件的命名也是有规范的,什么规范它需要是里边就是带上这个叫BPMN20点叉L,就类似于我们的这个格式。咱们找到啊,类似于BMN20要包含这个名字。我把这个拿过来啊。放到这里。就是点BMN2,零。然后咱们写个地主。啊,就是例如我们现在你可以写上这么一个类型文件,就这么一个名字就可以了,然后咱把它打包到ZP文件中,这样的话再上传就能完成流程定义部署,注意这个命名各位要注意啊,因为按照它完成这个压缩文件的部署,这是我们的第四个问题。
12:18
如果你发现部署后天启动报错或者出错,你又看一看是不是这里写错了,一般出错它会报这么一个错误,说你没有那个实力的K,什么请假或者什么加班,你看一下是不是这个名字写错,或者这个文件的名字跟这个规范不一致。这个啊,咱们说的第四个问题,然后之后呢,我们还有第五个问题,这个是什么呢?就是我们那个内网穿透的问题,因为我们项目中啊,咱们现在接口都在本地,而公众号是不能直接访问到咱的本地路径的,是这个过程,所以咱们需要用到内网穿透。我写一下啊,就是我们的接口和页面都是我们的本地,就是local house这个地址。
13:06
而现在公众号是不能直接访问咱们本地的路径的,所以需要使用到这个叫内网穿透,通过内网穿透让它仿到咱的本地,这各位记住啊,什么叫内网穿透?我们项目中的内网穿透主要有两个用途。哪两用途呢?首先第一个用途。微信公众号的页面通过内网穿透。到咱们本地的这个页面,这是第一个啊,然后第二个公众号里边,它这个接口也是通过内网穿透。到咱们本地的接口路径就是咱们8800啊,然后那个页面是那个9090这个页面。
14:03
这个是880,所以各位啊,这个你要给弄正确,不要给他弄乱,你要知道一个是到那个。公众号页面一个是到本地接口,一个是9090,一个是8800,这是我们特别提到的这个部分啊,内网穿透。内网穿透我们现在用的工具是那个工具呢?建议各位最好一个费的免费的也能用,但是有的时候可能会经常连不上,另外内网穿透因为它毕竟是通过一个域名到你的本地,有的时候可能会比较慢,你需要多等一会儿啊,这是它本身这个问题啊,得注意内网穿透的相关问题,咱项目中就是这么来使用的。这个主要这里啊,然后除此之外,那就是一些其他问题,什么其他问题呢,咱们看一下我这个就是图里边啊,在咱们这个。
15:02
相关这个图里边,我把这个找到啊,啊,应该是在这个位置啊,这个图,然后在里边我们找一下啊,当时咱们说的这么一个问题。大家看啊,我们当时做那个公众号测试做授权的时候,他总是报个错,说叫认证失败,那这里边最终咱们解决方式就是改了一下,我们这个返回状态码是208,因为咱之前不是这个值,它总是有提示我这个在前端做的处理,所以这个特别注意啊,把这个认证失败改成208,另外就是在我们前端这个接口中就要加上一个跨域注意,要不然它会出错,会报一个这个403。这个啊,是咱们的其他问题。所以以上啊,就是我们项目中主要的问题,包括他的解决方式,各位把这些给他去看一看,有一些可能我没有总结到,但是我在讲的过程中给各位应该都讲到了,所以咱们到这里啊,就是从这个功能模块,核心流程,项目中用到的技术,以及项目的问题和解决方式三个方面,把我们的云上办公系统给各位做了一个完整的总结。
我来说两句