开发日志:freemark微信网站架构思路

2024-03-04 23:00

本文主要是介绍开发日志:freemark微信网站架构思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前写了一个微信网站,微信网站因为是从纯html改编过来的(hybrid app遗留问题)。很多数据都是通过ajax获取,并通过模板机制进行渲染。后来为了尝试新的结构,自主研发了一个router机制,做成了SPA模式。再后来,项目越写越庞大,模块页面多达四五十个,SPA越来越麻烦,越来越庞大。所以打算再写一个多页面的版本。这里打算用freemark来写,这样我的页面也不需要大动,通过java读取我原来的html,在此基础上来附加一些freemark标签,并统一java平台的session来管理原来写得很恶心的浏览器sessionStorage和localStorage。

我需要解决哪些问题呢?

1、域名

这个不是很难,但是我要写在第一个,因为这个是基础工作。微信系统是基于域名的,所以我需要配置一个域名来对应我的系统进行解析。例如:wwww.yzyt.com/home_index.page作为首页地址跳转。

2、页面路径的翻译

原本的页面路径,是具有层级的,比如YZYTWX/view/home/index.html这样的地址。如果变成freemark,可能就变成了home_index.do这样的地址,而最重要的是freeMark的接口我不可能写home_index.do、home_home.do等等多个地址,只能用一个来进行跳转。我需要用参数来区别吗?还是说专门的后缀,例如home_index.page,转发到专门的类和地址上,然后用来区分?我看这个方案可以,刚好我可以做一个新的拦截器。

3、拦截器和session

如果按照上述的方法,这个拦截器就比较好做了,统一某种后缀到指定的拦截器。然后读取里面的session,如果有session,就转发到对应的control上去,否则就跳转到微信的登陆界面,让他微信登陆或者是账号密码登陆,这样才可以使用我们的系统。
session里面就专门用来存储配置,比如说客户端版本配置appConfig,用户信息loginUser,微信初始化基础信息wxConfig、客户端阅读资料等等。

4、相对跳转地址

原本的方法中,各个地址之间采用相对路径进行跳转,当然也统一方法localService.openWindow()这个方法可以用来改造。那么假设原本的SPA模式采用了openWindow()的方法改造地址完成,配置一个mapConfig将支持freemark方式的页面统统转换成为home_index.page这种地址,然后非SPA模式下面的页面,可以继续采用html方式进行访问,当然也可以采用修改跳转地址的方式继续。

5、配置问题

以往的配置是写死一个json在app.js里面,可否根据不同的配置让客户端读取不同的config.json作为客户端配置,这样就可以避免大量的数据冗余,同时,我也可以把数据字典值之类的东西写成json配置文件,这样就可以大量减少读取数据库的频率。

6、SPA页面的改造

这部分没有太多的难度,把以往的一些引用都写回来,如果是一些公共引用的文件,就用freemark统一引用进去。鉴于浏览器缓存,这些文件加载一次之后应该会非常快的。

这篇关于开发日志:freemark微信网站架构思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步