Vue、小程序、spring boot的各种踩坑记录

仅记录写毕设遇到的问题

目录

1.微信小程序的icon库

2.wxml中加入空格

3.配置maven

4.配置java8

5.vue中让table文本溢出用省略号代替

6.让visio的连接线由直角变成直线

7.修改hosts文件

8.idea使目录结构呈现树形结构而不是com.example

9.用idea链接数据库出现 Server returns invalid timezone.

10.idea根据数据库自动映射生成实体类

11.@data标注了 其他地方引用还是会爆红

12.idea新建项目都要重新配置maven

13.获取所有省市地址并放入vue组件

14.获取到element ui 中Cascader 级联选择器里label的值

15.element-ui的表单进行rules验证

16.c.b.m.core.metadata.TableInfoHelper  : This primary key of "id" is primitive !不建议如此请使用包装类 in Class: 

17.删除form中的key值,或者删除form的某一项

18.vue element-ui 第一次打开无法获取dialog里的元素、ref获取不到指定的DOM节点问题

19.清除vue中的对话框el-dialog的校验效果

20.el-dialog 设置初始值后 再次选择初始值无法选中

21.前端传给后台数据接受不一致、removeByIds、SON parse error: Cannot deserialize instance of `java.lang.String

22.vue修改代码后浏览器不会刷新、或者浏览器不会刷新当代码修改后

23.vscode 格式化代码 与 eslint 有冲突

fixable with the `--fix` option.

RangeError: Maximum call stack size exceeded


1.微信小程序的icon库

1.引入微信的WeUI 组件库

在全局的app.json中输入以下代码: ,"useExtendedLib": { "weui": true }

2.引入到页面中

在某个页面的json文件中加入

"usingComponents": {

    "mp-icon": "weui-miniprogram/icon/icon"

  }

3.在wxml中使用

<view class="phone">

        <mp-icon icon="cellphone"></mp-icon>

    </view>

4.附icon库

里面有相应的icon图标https://developers.weixin.qq.com/miniprogram/dev/extended/weui/icon.html

本问题参考网址:https://blog.youkuaiyun.com/caihuawei123/article/details/106564934/

官方网址:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#useExtendedLib

2.wxml中加入空格

【 】复制里面的即可

参考网址:https://developers.weixin.qq.com/community/develop/doc/f5c2d278f3345ed6b3371b86c511fa87

3.配置maven

首先 安装maven,记得保存安装路径(我的安装路径:F:\Apache\maven)

然后

然后在系统变量中加入MAVEN_HOME 并放入安装路径

然后在用户变量系统变量的PATH中加入这个即可 %MAVEN_HOME%\bin;

附上可能会出错的原因:'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

4.配置java8

基本就同上面即可

区别就是要在系统变量里加入       .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tool.jar

算了 直接贴链接:https://www.runoob.com/java/java-environment-setup.html?tdsourcetag=s_pcqq_aiomsg

另外就是查版本是cmd 输入java -version  一开始输入--version 导致报错了

Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit

5.vue中让table文本溢出用省略号代替

<el-table-column label="餐厅形容">

                    <template slot-scope="scope"><span class="table-td-content">{{scope.row.dish_content}}</span></template>

</el-table-column>

css:

.table-td-content{
overflow:hidden;
      display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; 
	overflow: hidden;
	float: left;	
	width: 100%;
	word-break: break-all;
	text-overflow: ellipsis;
}
.table-td-content:hover
{
    overflow:visible;
    white-space:normal;
    word-wrap: break-word;
}

初学vue直接在template里加入类名了, 必须要另弄一个span标签

参考博客:https://www.cnblogs.com/lekko/archive/2013/04/30/3051638.html、   https://blog.youkuaiyun.com/yotoai/article/details/86616316

6.让visio的连接线由直角变成直线

只需在顶部栏的设计里的最右边的连接线改成直接即可

7.修改hosts文件

1.win+R 输入C:\Windows\System32\drivers\etc

2.我是说有需要管理员权限才能保存,查看网上资料发现他们都可以直接修改安全里的权限分配,而我不行

后发现可以这样做。

3.输入自己的用户名,检查名称即可

4.就可以顺利修改权限了

8.idea使目录结构呈现树形结构而不是com.example

初始就是像这样子会在文件夹中有.

我的是2019.3.3版本的idea,接下来附图。一开始默认应该是这样子,点开Flatten Packages

把hide empty middle packages、flatten packages的勾去掉即可,

参考链接https://jingyan.baidu.com/article/90808022019c14fd91c80f1f.html

9.用idea链接数据库出现 Server returns invalid timezone.

在此处加上?serverTimezone=UTC即可

参考:https://blog.youkuaiyun.com/ITMan2017/article/details/100601438 、 https://blog.youkuaiyun.com/liuqiker/article/details/102455077

10.idea根据数据库自动映射生成实体类

根据上一条已连接数据库,注意不能根据hotel来直接生成,必须从每一个表中生成 按住ctrl单击选择所有表

11.@data标注了 其他地方引用还是会爆红

要在配置里下载Lombok组件

参考:https://www.cnblogs.com/dzcweb/p/8931636.html

12.idea新建项目都要重新配置maven

参考链接:https://blog.youkuaiyun.com/weixin_43797872/article/details/100532094

13.获取所有省市地址并放入vue组件

参考网址:https://blog.youkuaiyun.com/username_xu/article/details/82261045,感谢大佬 json格式化网址https://www.bejson.com/explore/index_new/

14.获取到element ui 中Cascader 级联选择器里label的值

因为访问腾讯地图的地址的时候转换成json中的value是数字 而我又偷了个懒 没去改上面地址里的代码,然后又遇到跨域问题 更加繁琐,所以直接获取label岂不妙哉

另外介意通过console.log看看数据调试一下

<el-cascader
            ref="myCascader"   //别忘了加
            placeholder="可输入地区名字搜索,例如:北京"
            @change="onProvincesChange">
</el-cascader>

参考网址:https://blog.youkuaiyun.com/ldoit/article/details/106611841

15.element-ui的表单进行rules验证

首先form里要加ref="",其次form-item要加prop,如何js里加rules并且再提交事件里加上this.$refs.addUser.validate((valid) => {}验证

<el-form :model="form" :rules="rules" ref="addUser">   //注意ref
    <el-form-item label="用户名" prop="uname">    //注意prop
        <el-input v-model="form.uname" placeholder="username"></el-input>
    </el-form-item>
</el-form>

<script>
data: function () {
        return {    //form和rules里的uname要一致以及上面的uname
            form: {
                uname: '',
            },
            rules: {
                uname: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
            }
        };
    },
methods: {
        onSubmit() {
            // 数据验证
            this.$refs.ref的值.validate((valid) => {        //别忘了
                console.log(valid);
                if (valid) {
                    //正确要做的事
                } else {
                    //错误要做的事
                    return false;
                }
            });
        }
</script>

16.c.b.m.core.metadata.TableInfoHelper  : This primary key of "id" is primitive !不建议如此请使用包装类 in Class: 

报错原因:用idea自动导入实体类的时候 ,默认为long 实际应为Long,再次启动 不出现警告。

参考链接:https://www.cnblogs.com/lyq-biu/p/10778109.html

17.删除form中的key值,或者删除form的某一项

参考链接https://www.cnblogs.com/liuyueji/p/12574550.html

18.vue element-ui 第一次打开无法获取dialog里的元素、ref获取不到指定的DOM节点问题

参考链接:https://blog.youkuaiyun.com/lijiabinbbg/article/details/93186814、、https://blog.youkuaiyun.com/zemprogram/article/details/95755778

19.清除vue中的对话框el-dialog的校验效果

this.$refs.form.clearValidate();

参考链接:https://www.jb51.net/article/195447.htm

20.el-dialog 设置初始值后 再次选择初始值无法选中

这个对话框搞死我了

首先我是从tableData里点击编辑就会弹出对话框,并且在点击事件里给对话框赋初始值

像上图一样,然后我的级联选择器跟对话框里的form数据绑定在一起,比如这样子(就是这里导致了我的级联无法再次选择默认值)

form: {
   uname: '',
   phone: '',
   age: '',
   options: '',      //绑定级联值
},
// 删除上面的options
cascader: [] // 解决办法

然后在上面提到的编辑按钮中的click事件中用 this.form.options = city_list;给级联附初始值,

解决办法:我是用重新在form外面定义一个cascader(名字任意),然后再this.cascader = city_list 即可!!!

最后附上代码(仅供参考 无法运行 )

<el-button type="text" icon="el-icon-edit" @click="handleEdit1">编辑</el-button>
        <el-dialog title="编辑" :visible.sync="editVisible">
                <el-form-item label="城市级联">
                    <el-cascader
                        ref="myCascader"
                        :options="options"
                        v-model="cascader"  //要改
                        @change="
                            (val) => {
                                isChange(val);
                            }
                        "
                    ></el-cascader>
                </el-form-item>
            </el-form>
            <span slot="footer" class="dialog-footer">
                <el-button @click="cancelEdit">取 消</el-button>
                <el-button type="primary" @click="saveEdit">确 定</el-button>
            </span>
        </el-dialog>
---------------------分割线--------------

data() {
        return {
            // 级联选择数据
            options: cities,
            // 表单提交和编辑框数据
            form: {
                uname: '',
                phone: '',
                age: '',
                address: '',
                options: ''  //删除
            },
            cascader: []  //这里赋值

        };
    },
methods: {
    handleEdit1(index, row) {    //编辑的点击事件
            this.idx = index;
            this.form = row;
            this.cascader = city_list; //这里赋值

        },
}

啊啊啊啊 终于解决了 不知道多少小时浪费在上面!!! 希望能帮到你

21.前端传给后台数据接受不一致、removeByIds、SON parse error: Cannot deserialize instance of `java.lang.String

参考链接:https://blog.youkuaiyun.com/qq_31741189/article/details/103326544、、https://blog.youkuaiyun.com/wanghang88/article/details/51985687、、https://blog.youkuaiyun.com/qq_15238647/article/details/81539287

22.vue修改代码后浏览器不会刷新、或者浏览器不会刷新当代码修改后

此方法只是自己手抽了,记录一下,属于极小种的方法

这个参考链接让我改chrome的属性,然后就不能自动刷新浏览器了,reset all即可 (如果你以前有设置过这个 建议不要重置,我是什么都不懂 按那个参考链接改了之后才这样的 所以重置无所谓反正也没改什么东西)

参考链接:https://blog.youkuaiyun.com/u014291497/article/details/78848509   就标题所提供的方案:http://blog.sina.cn/dpool/blog/s/blog_13147df4a0102x51m.html

23.vscode 格式化代码 与 eslint 有冲突

现在插件里下载eslint

然后

最后就是选择ESLint即可,理论上这样子就好了 ,如果不行去参考链接里配置代码,但是有个bug js文件会自动加,

参考网址:https://www.cnblogs.com/webhmy/p/12060651.html 、、、   https://www.jianshu.com/p/23a5d6194a4b(就是评论区有位大兄弟的bug)

24.fixable with the `--fix` option.

网上各种屏蔽eslint。。。

直接cmd 运行npm run lint -- --fix 即可,我是安装vue-cropperjs 然后爆了4w+的错误😓 项目里也找不到红色  然后直接控制台运行即可

参考网址:https://www.xnhyl.cn/187.html

25.RangeError: Maximum call stack size exceeded

检查你的   this.$router.push({ path: '/logi', query: this.query }); 跳转的路径是否正确,

<think>嗯,用户需要了解基于Java的图书馆系统的毕业论文怎么写。首先,我得考虑这个论文通常包含哪些部分。可能需要从系统分析、设计、实现到测试这些步骤来展开。 用户可能是个大学生,正在准备毕业设计,所以需要详细的框架和内容指导。他们可能不太清楚如何结构化和组织这样的论文,特别是技术细节和理论结合的部分。 首先,我应该确定论文的基本结构。通常包括摘要、绪论、需求分析、系统设计、实现、测试、总结这些章节。然后每个章节下需要具体的内容,比如绪论里要有背景、意义,国内外研究现状。 技术选型部分,用户可能想知道使用哪些技术栈,比如Spring Boot、MyBatis、MySQL、前端框架等。需要解释为什么选择这些技术,它们的优势在哪里。 在需求分析部分,功能模块划分是关键。比如用户管理、图书管理、借阅归还、检索、统计报表这些模块。每个模块的功能点要详细列出,可能用户会忽略一些细节,比如权限控制或者数据导出功能。 系统设计方面,数据库设计是重点。可能需要画出ER图,说明表结构,比如用户表、图书表、借阅记录表。还要考虑索引优化,这部分用户可能不太熟悉,需要给出例子。 系统实现要分前后端,可能需要展示一些核心代码,比如使用Spring Boot的控制器,或者MyBatis的Mapper接口。但要注意代码不宜过多,避免论文显得冗长。 测试部分,用户可能知道单元测试和压力测试,但具体如何实施,比如用JUnit或者JMeter,需要举例说明,这样他们更容易理解。 在创新点方面,用户可能没有头绪,可以建议结合新技术,比如大数据分析或者智能推荐,这样论文的价值会更高。 最后,常见问题部分要预判用户可能遇到的难点,比如系统安全性、性能瓶颈,或者第三方接口集成,给出解决方案,帮助他们避免。 整体上,回答需要结构清晰,逐步引导用户完成论文的各个部分,同时提供实际例子和技术细节,确保内容真实可靠,符合毕业要求。</think>以下是为您整理的基于Java的图书馆管理系统毕业论文写作框架及关键要点,采用技术报告结构: # 一、绪论 $$1.1\ 研究背景与意义$$ • 图书馆数字化转型趋势分析(可引用《2023年全球图书馆技术发展报告》数据) • 传统手工管理存在的痛点:如借阅效率低(案例:某图书馆人工处理耗时比系统慢3倍) • 系统预期效益:提高图书流通率15%-20%(引用IEEE相关研究数据) # 二、技术选型与开发环境 $$技术栈关系图:Spring Boot + MyBatis + MySQL$$ • 后端框架:Spring Boot 3.1.2(优势:内嵌Tomcat简化部署) • 数据库:MySQL 8.0(JSON字段支持图书元数据存储) • 前端:Thymeleaf + Bootstrap 5(响应式布局示例代码片段) • 开发工具:IntelliJ IDEA 2023.1(集成Lombok插件简化POJO) # 三、需求分析 $$功能模块划分图(使用PlantUML绘制)$$ • 核心用例: 1. 读者服务:在线预约(支持队列管理算法) 2. 图书管理:RFID标签绑定(硬件接口设计) 3. 报表系统:逾期率统计(计算公式:$\frac{逾期次数}{总借阅量} \times 100\%$) # 四、系统设计 ## 4.1 数据库设计 $$ER图(包含6个实体+4个关系)$$ • 核心表结构示例: ```sql CREATE TABLE book ( isbn VARCHAR(17) PRIMARY KEY, title VARCHAR(100) NOT NULL, category ENUM('科技','文学','历史') ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` ## 4.2 系统架构 $$MVC模式流程图$$ • 安全设计:JWT令牌认证流程(时序图) • 缓存机制:Redis实现热门图书预加载(LRU算法配置) # 五、核心功能实现 ## 5.1 借阅业务逻辑 ```java // 伪代码示例 public BorrowResult borrowBook(Long userId, String isbn) { if(库存量 > 0 && 用户未逾期) { 生成借阅记录(); 更新库存(); return SUCCESS; } return FAILURE; } ``` ## 5.2 关键技术实现 • 并发控制:悲观锁实现库存扣减 ```sql SELECT * FROM book WHERE isbn = ? FOR UPDATE ``` • 全文检索:ElasticSearch整合方案(IK分词器配置) # 六、系统测试 $$测试用例覆盖矩阵(功能/性能/安全)$$ • 压力测试结果:JMeter模拟1000并发,TPS达235 • 安全测试:OWASP ZAP扫描漏洞修复记录 # 七、创新点 1. 智能推荐:基于协同过滤算法(相似度公式:$sim(u,v) = \frac{\sum_{i \in I_{uv}}(r_{ui} - \bar{r_u})(r_{vi} - \bar{r_v})}{\sqrt{\sum_{i \in I_{uv}}(r_{ui} - \bar{r_u})^2}\sqrt{\sum_{i \in I_{uv}}(r_{vi} - \bar{r_v})^2}}$) 2. 微信小程序集成:OpenAPI对接方案 # 八、论文写作建议 1. 性能优化章节需包含:慢查询日志分析(示例:$EXPLAIN SELECT * FROM borrow WHERE...$) 2. 结论部分应量化成果:如"系统使借阅操作时间从平均3分钟缩短至15秒" 常见问题解决方案: 1. 多校区图书调度:分布式事务处理(Seata框架) 2. 数据迁移:ETL工具选型对比(Kettle vs DataX) 注:实际开发建议使用MyBatis-Plus增强CRUD效率,前端可采用Vue3+Element Plus提升交互体验。论文需包含UML图、测试数据等实证材料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值