当前位置: 首页 > article >正文

基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)

畅阅读系统小程目录基于java的畅阅读系统小程序设计与实现一、前言二、系统功能设计三、系统实现四、数据库设计1、实体ER图五、核心代码六、论文参考七、最新计算机毕设选题推荐八、源码获取博主介绍✌️大厂码农|毕设布道师阿里云开发社区乘风者计划专家博主CSDN平台Java领域优质创作者专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️主要项目小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。文末获取源码联系基于java的畅阅读系统小程序设计与实现一、前言畅阅读系统小程序可以实现目标用户群需要的功能首先对畅阅读微信小程序进行需求分析得出畅阅读微信小程序主要功能。接着对畅阅读微信小程序进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等详细设计主要包括畅阅读微信小程序数据库访问的实现主要功能模块的具体实现模块实现关键代码等。最后对畅阅读微信小程序进行了功能测试并对测试结果进行了分析总结得出畅阅读微信小程序存在的不足及需要改进的地方为以后的畅阅读微信小程序维护提供了方便同时也为今后开发类似畅阅读微信小程序提供了借鉴和帮助。二、系统功能设计三、系统实现畅阅读微信小程序登录界面通过填写账号、密码、登录用户类型等信息进行登录如图5-1所示。图5-1登录界面图用户注册通过填写用户名、密码、姓名、性别、身份证、手机等信息输入完成后选择提交即可注册成功如图5-2所示。图5-2用户注册界面图用户登录进入首页可以进行首页、书城、书架、我的等功能模块的查看与操作如图5-3所示。图5-3系统首页界面图书城在书城页面可以查看书籍名称、分类、字数、章节、封面、作者、价格、上架日期、是否完结、内容1、内容2、内容3等信息进行购买加入书架如图5-4所示。图5-4书城界面图我的在我的页面可以查看充值信息、扣费信息、书城、购买章节、章节信息、留言板等详细信息如图5-5所示。图5-5我的界面图管理员通过填写用户名、密码、角色进行登录如图5-7所示。图5-7管理员登录界面图管理员通过填写用户名、密码、角色进行登录如图5-7所示。图5-7管理员登录界面图四、数据库设计1、实体ER图1设计的商品实体其具备的属性如下图。图4.4 商品实体属性图2设计的书城实体其具备的属性如下图。图4.5 书城实体属性图表2书架字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPshujimingchengvarchar200书籍名称fenleivarchar200分类zishuvarchar200字数zhangjievarchar200章节fengmianvarchar200封面yonghumingvarchar200用户名useridbigint用户id表3书城字段名称类型长度字段说明主键默认值idbigint主键主键addtimetimestamp创建时间CURRENT_TIMESTAMPshujimingchengvarchar200书籍名称fenleivarchar200分类fengmianvarchar200封面zishuvarchar200字数zhangjievarchar200章节neirong1longtext4294967295内容1neirong2longtext4294967295内容2neirong3longtext4294967295内容3zuozhevarchar200作者jiageint价格shangjiariqidate上架日期shifouwanjievarchar200是否完结五、核心代码package com.controller; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth; import com.entity.BumenEntity; import com.entity.view.BumenView; import com.service.BumenService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil; /** * 部门 * 后端接口 * author * email * date 2021-05-07 10:42:31 */ RestController RequestMapping(/bumen) public class BumenController { Autowired private BumenService bumenService; /** * 后端列表 */ RequestMapping(/page) public R page(RequestParam MapString, Object params,BumenEntity bumen, HttpServletRequest request){ EntityWrapperBumenEntity ew new EntityWrapperBumenEntity(); PageUtils page bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params)); return R.ok().put(data, page); } /** * 前端列表 */ RequestMapping(/list) public R list(RequestParam MapString, Object params,BumenEntity bumen, HttpServletRequest request){ EntityWrapperBumenEntity ew new EntityWrapperBumenEntity(); PageUtils page bumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, bumen), params), params)); return R.ok().put(data, page); } /** * 列表 */ RequestMapping(/lists) public R list( BumenEntity bumen){ EntityWrapperBumenEntity ew new EntityWrapperBumenEntity(); ew.allEq(MPUtil.allEQMapPre( bumen, bumen)); return R.ok().put(data, bumenService.selectListView(ew)); } /** * 查询 */ RequestMapping(/query) public R query(BumenEntity bumen){ EntityWrapper BumenEntity ew new EntityWrapper BumenEntity(); ew.allEq(MPUtil.allEQMapPre( bumen, bumen)); BumenView bumenView bumenService.selectView(ew); return R.ok(查询部门成功).put(data, bumenView); } /** * 后端详情 */ RequestMapping(/info/{id}) public R info(PathVariable(id) Long id){ BumenEntity bumen bumenService.selectById(id); return R.ok().put(data, bumen); } /** * 前端详情 */ RequestMapping(/detail/{id}) public R detail(PathVariable(id) Long id){ BumenEntity bumen bumenService.selectById(id); return R.ok().put(data, bumen); } /** * 后端保存 */ RequestMapping(/save) public R save(RequestBody BumenEntity bumen, HttpServletRequest request){ bumen.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(bumen); bumenService.insert(bumen); return R.ok(); } /** * 前端保存 */ RequestMapping(/add) public R add(RequestBody BumenEntity bumen, HttpServletRequest request){ bumen.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(bumen); bumenService.insert(bumen); return R.ok(); } /** * 修改 */ RequestMapping(/update) public R update(RequestBody BumenEntity bumen, HttpServletRequest request){ //ValidatorUtils.validateEntity(bumen); bumenService.updateById(bumen);//全部更新 return R.ok(); } /** * 删除 */ RequestMapping(/delete) public R delete(RequestBody Long[] ids){ bumenService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ RequestMapping(/remind/{columnName}/{type}) public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) { map.put(column, columnName); map.put(type, type); if(type.equals(2)) { SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd); Calendar c Calendar.getInstance(); Date remindStartDate null; Date remindEndDate null; if(map.get(remindstart)!null) { Integer remindStart Integer.parseInt(map.get(remindstart).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate c.getTime(); map.put(remindstart, sdf.format(remindStartDate)); } if(map.get(remindend)!null) { Integer remindEnd Integer.parseInt(map.get(remindend).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate c.getTime(); map.put(remindend, sdf.format(remindEndDate)); } } WrapperBumenEntity wrapper new EntityWrapperBumenEntity(); if(map.get(remindstart)!null) { wrapper.ge(columnName, map.get(remindstart)); } if(map.get(remindend)!null) { wrapper.le(columnName, map.get(remindend)); } int count bumenService.selectCount(wrapper); return R.ok().put(count, count); } } package com.controller; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth; import com.entity.GangweiEntity; import com.entity.view.GangweiView; import com.service.GangweiService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil; /** * 岗位 * 后端接口 * author * email * date 2021-05-07 10:42:31 */ RestController RequestMapping(/gangwei) public class GangweiController { Autowired private GangweiService gangweiService; /** * 后端列表 */ RequestMapping(/page) public R page(RequestParam MapString, Object params,GangweiEntity gangwei, HttpServletRequest request){ EntityWrapperGangweiEntity ew new EntityWrapperGangweiEntity(); PageUtils page gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params)); return R.ok().put(data, page); } /** * 前端列表 */ RequestMapping(/list) public R list(RequestParam MapString, Object params,GangweiEntity gangwei, HttpServletRequest request){ EntityWrapperGangweiEntity ew new EntityWrapperGangweiEntity(); PageUtils page gangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gangwei), params), params)); return R.ok().put(data, page); } /** * 列表 */ RequestMapping(/lists) public R list( GangweiEntity gangwei){ EntityWrapperGangweiEntity ew new EntityWrapperGangweiEntity(); ew.allEq(MPUtil.allEQMapPre( gangwei, gangwei)); return R.ok().put(data, gangweiService.selectListView(ew)); } /** * 查询 */ RequestMapping(/query) public R query(GangweiEntity gangwei){ EntityWrapper GangweiEntity ew new EntityWrapper GangweiEntity(); ew.allEq(MPUtil.allEQMapPre( gangwei, gangwei)); GangweiView gangweiView gangweiService.selectView(ew); return R.ok(查询岗位成功).put(data, gangweiView); } /** * 后端详情 */ RequestMapping(/info/{id}) public R info(PathVariable(id) Long id){ GangweiEntity gangwei gangweiService.selectById(id); return R.ok().put(data, gangwei); } /** * 前端详情 */ RequestMapping(/detail/{id}) public R detail(PathVariable(id) Long id){ GangweiEntity gangwei gangweiService.selectById(id); return R.ok().put(data, gangwei); } /** * 后端保存 */ RequestMapping(/save) public R save(RequestBody GangweiEntity gangwei, HttpServletRequest request){ gangwei.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(gangwei); gangweiService.insert(gangwei); return R.ok(); } /** * 前端保存 */ RequestMapping(/add) public R add(RequestBody GangweiEntity gangwei, HttpServletRequest request){ gangwei.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(gangwei); gangweiService.insert(gangwei); return R.ok(); } /** * 修改 */ RequestMapping(/update) public R update(RequestBody GangweiEntity gangwei, HttpServletRequest request){ //ValidatorUtils.validateEntity(gangwei); gangweiService.updateById(gangwei);//全部更新 return R.ok(); } /** * 删除 */ RequestMapping(/delete) public R delete(RequestBody Long[] ids){ gangweiService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ RequestMapping(/remind/{columnName}/{type}) public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) { map.put(column, columnName); map.put(type, type); if(type.equals(2)) { SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd); Calendar c Calendar.getInstance(); Date remindStartDate null; Date remindEndDate null; if(map.get(remindstart)!null) { Integer remindStart Integer.parseInt(map.get(remindstart).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate c.getTime(); map.put(remindstart, sdf.format(remindStartDate)); } if(map.get(remindend)!null) { Integer remindEnd Integer.parseInt(map.get(remindend).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate c.getTime(); map.put(remindend, sdf.format(remindEndDate)); } } WrapperGangweiEntity wrapper new EntityWrapperGangweiEntity(); if(map.get(remindstart)!null) { wrapper.ge(columnName, map.get(remindstart)); } if(map.get(remindend)!null) { wrapper.le(columnName, map.get(remindend)); } int count gangweiService.selectCount(wrapper); return R.ok().put(count, count); } } package com.controller; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth; import com.entity.JixiaokaoheEntity; import com.entity.view.JixiaokaoheView; import com.service.JixiaokaoheService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil; /** * 绩效考核 * 后端接口 * author * email * date 2021-05-07 10:42:31 */ RestController RequestMapping(/jixiaokaohe) public class JixiaokaoheController { Autowired private JixiaokaoheService jixiaokaoheService; /** * 后端列表 */ RequestMapping(/page) public R page(RequestParam MapString, Object params,JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){ String tableName request.getSession().getAttribute(tableName).toString(); if(tableName.equals(yuangong)) { jixiaokaohe.setYuangonggonghao((String)request.getSession().getAttribute(username)); } EntityWrapperJixiaokaoheEntity ew new EntityWrapperJixiaokaoheEntity(); PageUtils page jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params)); return R.ok().put(data, page); } /** * 前端列表 */ RequestMapping(/list) public R list(RequestParam MapString, Object params,JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){ EntityWrapperJixiaokaoheEntity ew new EntityWrapperJixiaokaoheEntity(); PageUtils page jixiaokaoheService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jixiaokaohe), params), params)); return R.ok().put(data, page); } /** * 列表 */ RequestMapping(/lists) public R list( JixiaokaoheEntity jixiaokaohe){ EntityWrapperJixiaokaoheEntity ew new EntityWrapperJixiaokaoheEntity(); ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, jixiaokaohe)); return R.ok().put(data, jixiaokaoheService.selectListView(ew)); } /** * 查询 */ RequestMapping(/query) public R query(JixiaokaoheEntity jixiaokaohe){ EntityWrapper JixiaokaoheEntity ew new EntityWrapper JixiaokaoheEntity(); ew.allEq(MPUtil.allEQMapPre( jixiaokaohe, jixiaokaohe)); JixiaokaoheView jixiaokaoheView jixiaokaoheService.selectView(ew); return R.ok(查询绩效考核成功).put(data, jixiaokaoheView); } /** * 后端详情 */ RequestMapping(/info/{id}) public R info(PathVariable(id) Long id){ JixiaokaoheEntity jixiaokaohe jixiaokaoheService.selectById(id); return R.ok().put(data, jixiaokaohe); } /** * 前端详情 */ RequestMapping(/detail/{id}) public R detail(PathVariable(id) Long id){ JixiaokaoheEntity jixiaokaohe jixiaokaoheService.selectById(id); return R.ok().put(data, jixiaokaohe); } /** * 后端保存 */ RequestMapping(/save) public R save(RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){ jixiaokaohe.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(jixiaokaohe); jixiaokaoheService.insert(jixiaokaohe); return R.ok(); } /** * 前端保存 */ RequestMapping(/add) public R add(RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){ jixiaokaohe.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(jixiaokaohe); jixiaokaoheService.insert(jixiaokaohe); return R.ok(); } /** * 修改 */ RequestMapping(/update) public R update(RequestBody JixiaokaoheEntity jixiaokaohe, HttpServletRequest request){ //ValidatorUtils.validateEntity(jixiaokaohe); jixiaokaoheService.updateById(jixiaokaohe);//全部更新 return R.ok(); } /** * 删除 */ RequestMapping(/delete) public R delete(RequestBody Long[] ids){ jixiaokaoheService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ RequestMapping(/remind/{columnName}/{type}) public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) { map.put(column, columnName); map.put(type, type); if(type.equals(2)) { SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd); Calendar c Calendar.getInstance(); Date remindStartDate null; Date remindEndDate null; if(map.get(remindstart)!null) { Integer remindStart Integer.parseInt(map.get(remindstart).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate c.getTime(); map.put(remindstart, sdf.format(remindStartDate)); } if(map.get(remindend)!null) { Integer remindEnd Integer.parseInt(map.get(remindend).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate c.getTime(); map.put(remindend, sdf.format(remindEndDate)); } } WrapperJixiaokaoheEntity wrapper new EntityWrapperJixiaokaoheEntity(); if(map.get(remindstart)!null) { wrapper.ge(columnName, map.get(remindstart)); } if(map.get(remindend)!null) { wrapper.le(columnName, map.get(remindend)); } String tableName request.getSession().getAttribute(tableName).toString(); if(tableName.equals(yuangong)) { wrapper.eq(yuangonggonghao, (String)request.getSession().getAttribute(username)); } int count jixiaokaoheService.selectCount(wrapper); return R.ok().put(count, count); } }六、论文参考七、最新计算机毕设选题推荐最新计算机软件毕业设计选题大全-CSDN博客八、源码获取大家点赞、收藏、关注、评论啦 、获取联系方式在文章末尾

相关文章:

基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)

畅阅读系统小程 目录 基于java的畅阅读系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&a…...

2025-2026年护眼灯品牌推荐:十大评测专业排行防蓝光伤眼价格特点

摘要 当消费者对家庭光环境的认知从“照亮空间”跃迁至“健康护眼”,如何从纷繁复杂的市场中精准选择一盏真正经得起科学检验的护眼灯,已成为现代家庭决策者的核心焦虑。根据全球知名市场研究机构Grand View Research发布的报告,全球LED照明市…...

【FlinkSQL笔记】(三)Flink SQL 核心重难点(窗口函数、水印)

一、窗口函数 流式数据无限无边界,例如想要统计每5分钟、每1小时的数据,必须用窗口函数,这是Flink SQL和普通SQL最大的区别之一。 1、 滚动窗口 TUMBLE(最常用) 特点:无重叠、无间隔、固定时长,…...

WenShape文生3D模型:基于One-2-3-45框架的开源3D资产生成工具项目深度解析

WenShape文生3D模型:基于One-2-3-45框架的开源3D资产生成工具项目深度解析 项目简介 WenShape 是一个基于 One-2-3-45 技术框架开发的开源“文生3D”模型生成系统,旨在通过文本指令快速、高效地生成高质量3D模型资产。该项目由 unitagain 维护&#xff0…...

GOM三维扫描在GDT分析中的应用:几何公差评价为何越来越依赖全场数据

随着工业产品结构复杂度持续提高,传统基于尺寸链的质量控制方式正在逐步向几何公差控制体系演进。尤其在汽车制造、精密模具、航空零部件及新能源结构件等领域,产品质量评价已不仅取决于尺寸是否符合要求,更关注零件在真实装配条件下的几何状…...

【教程】全流程基于最新导则下的生态环境影响评价技术方法及图件制作与案例实践技术应用

专题一:生态环境影响评价框架及流程 以某既包含陆域、又包含水域的项目为主要案例,兼顾其它类型项目,主要内容包括: 1、生态环境影响评价基本思路与要求:工作程序、报告编制技术要求与规范 2、资料收集与初步踏勘&a…...

双十一话务峰值8倍冲击_智能语音机器人扛峰技术方案

双十一话务峰值8倍冲击:国内主流的智能语音机器人推荐这样扛本文从技术架构视角,解析智能语音机器人在电商大促场景下应对话务峰值冲击的核心方案。一、电商大促场景下的客服联络核心挑战 每年双十一、618 等大促节点,电商零售行业的话务量都…...

商业设计复盘|法式肉制品包装升级逻辑:如何用视觉解决进口品牌本土化痛点

📖 前言:肉制品行业的视觉同质化困境在快消品商业设计领域,高端肉制品、法式肉制品一直是极具代表性的细分赛道。随着消费升级,用户选购逻辑从“看价格、看食材”转变为看视觉、看透明化、看品牌调性。但纵观目前国内市场&#xf…...

健康系列: 你缺乏维生素B2吗?什么时候需要使用维生素B2补充剂?

写着玩的,如有疏漏欢迎指出 维生素B2是什么? 维生素B2也叫核黄素,英文是 Riboflavin,属于水溶性维生素B族。 它在体内主要参与能量代谢。身体把碳水、脂肪、蛋白质转化成能量时,需要B2参与。B2还和皮肤、口腔黏膜、眼…...

画图比写论文还难?这款毕设神器直接救大命

大家好!今天给大家分享一下我用这款毕设论文画图神器的完整使用流程,从生成配图到 AI 老师解析,手把手教你,小白也能一看就会! 一、准备阶段:3 种方式提交需求,总有一种适合你 打开工具后&…...

LangGraph与智能体:当AI学会了“思考图谱”,离真正干活还有多远?

你有没有发现:现在的AI聊天工具虽然能回答五花八门的问题,可一旦交给它稍微复杂点的任务——比如“订一张去上海的机票,顺便查查那边的天气,再帮我写份会议纪要”——它就手忙脚乱,要么忘记前面的信息,要么…...

阅读落地灯哪个牌子好?优质款阅读落地灯推荐,买前建议收藏!

​想要真正舒服又省心的照明,就别只会盯着参数看。说实话,挑护眼大路灯我就盯两点:光线柔不柔、用久了会不会累眼。像我家书桌前那种容易眩光的,我用一会儿就觉得不对劲;但像下面这些护眼大路灯,调光调色做…...

好用的山西GEO服务商

你可能已经感受到:当客户在AI大模型里问“山西哪家GEO优化公司靠谱?”、“中小企业如何用AI引流”时,你的企业信息根本搜不到。流量入口变了,传统SEO正在失效。如果能选对一家GEO服务商,就能在这个新战场里抢占先机。我…...

选对服务商事半功倍!2026 全国头部综合型设计搭建会展服务商核心优势解读

本文详解 2026 年全国各大会展中心全国头部综合型设计搭建会展服务商的核心优势与价值,核心定义为全国头部综合型设计搭建会展服务商是指具备全产业链整合能力、全国化服务网络、丰富的行业经验与强大的技术实力,能够为客户提供一站式、全流程会展设计搭…...

基于项目代码实测:XCP/CCP 模块“标定差异”全流程深度操作指南

在实际项目的 XCP/CCP 标定业务中,核对与同步底层内存参数是一项极其高频的操作。本指南将完全基于最新版“标定差异(Calibration Difference)”界面的真实功能逻辑,为你提供一份严谨、详细、且立即可用的三倍容量操作手册。无论你…...

SurfaceFlinger 调用 libdrm 的详细代码流程分析

1. 整体架构图 ┌─────────────────────────────────────────────────────────────────┐ │ 应用层框架 │ │ ┌──────────────…...

安卓上架权限弹窗

https://ask.dcloud.net.cn/article/41194 直接这个网站看,但是要注意!!!!!真机运行的时候,改了manifest.json的配置要重新打基座...

【限时开放】ElevenLabs波斯文语音调试秘钥包(含Persian SSML扩展标签库、RTL音频波形对齐工具、实时音素诊断CLI):仅支持至2024年Q3 API v2退役前

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs波斯文语音支持的演进与技术边界 ElevenLabs自2022年推出多语言TTS服务以来,波斯文(Farsi)长期处于实验性支持阶段。早期版本仅能通过自定义音色音素级微调…...

用于参数扫描的自定义工具

能够改变光学系统的参数是任何设置分析的关键部分,以便更好地了解系统在从制造错误到组件潜在错位的任何情况下的行为。设计一个在面对这些不可避免的偏离理想化预期设计时表现出鲁棒性的系统,与找到一个完全满足所有规范的初始设计一样重要,…...

【专利视点】某抗病毒药物领域明星企业上市进程知产问题分析

医药领域IPO,正在随着证券市场监管新形势而发生变化,并从CXO板块向更多细分赛道延伸。知识产权问题是影响企业IPO上市的重要因素之一。从上海证券交易所官网统计得知,截至2024年10月14日,有102家医药制造业企业终止科创板IPO申请&…...

通用异步导出服务设计:从业务功能到平台基础能力的抽象

在后台管理系统中,“导出 Excel”几乎是一个绕不开的功能。看似只是点击一个按钮、下载一个文件,背后却经常隐藏着性能、稳定性、安全性和用户体验问题。 当数据量较小时,同步导出通常可以满足需求。但随着业务数据规模增长,导出操…...

影刀RPA跨境店群运营架构:TikTok Shop矩阵多节点高并发调度与Python环境隔离实战

大家好,我是林焱。 太有意思了,刚刷朋友圈,看到一个在跨境圈子里被疯狂转发的消息。 有几个当年和我一样,在职业技术学院念工程出身的 00 后学弟,最近跑回母校干了件特别硬核的事。 他们没有像传统的成功校友那样&a…...

维萨报告:AI 加速诈骗成消费者新危害,企业需提速应对

AI 加速类 ClickFix 诈骗还记得 ClickFix 吗?这是近年来流行的一种社会工程技术,它通过利用心理弱点绕过传统的网络钓鱼防御。在 ClickFix 攻击中,受害者会被呈现一个看似容易解决的问题,从而诱使他们自己执行恶意操作。例如&…...

特朗普移动数据泄露:客户信息险曝光,T1 手机真实订单远低于网传

特朗普移动数据泄露:客户信息岌岌可危就在 T1 手机似乎即将发布之时,特朗普移动(Trump Mobile)被指控不安全地存储客户数据,使得客户的地址和电话号码面临泄露风险。YouTuber Coffeezilla 最先在他的第二个频道 voidzi…...

影刀RPA跨境店群运营架构:Python协同Chromium底层调度与高并发容器化实战

定了。在跨境电商自动化的技术角斗场里,我们终于打破了“商业指纹浏览器单机RPA”的低效垄断,实现了一套足以支撑万级店铺矩阵的分布式微服务调度架构。 这几天,科技圈被“DeepSeek V4 首发华为昇腾芯片,国产 AI 开始打破英伟达 …...

小学期第一周

理论部分:学会了低通滤波器原理:只允许低于截止频率的信号通过,高于截止频率的信号被大幅衰减方波变成正弦波的原理:方波是基波无数奇次谐波的叠加,低通滤波器只留基波、滤掉高频谐波,输出就接近正弦波二阶…...

突破内存瓶颈:HBM、CXL与GPU新部署策略

训练生成式AI模型本身已是一项成本高昂、能耗巨大的工作。随着超大规模数据中心和前沿研究机构竞相扩展边缘推理与智能体AI能力,GPU的部署正变得愈加复杂,尤其是在内存层面。在数据中心中,对先进内存配置的需求日益迫切。不断增多的AI处理器正…...

网页端嵌入 Agent 对接前端方案

本文将深入探讨「网页端嵌入AI」的核心概念与实战技巧,帮助你快速掌握关键要点。让我们开始吧! 网页端嵌入 Agent 对接前端方案 1. 引言 当前前端项目正从被动展示走向主动交互,AI Agent 嵌入网页端可自动化 UI 操作、优化布局并辅助编码。…...

【ElevenLabs潮州话语音实战指南】:20年语音AI专家亲授3大落地陷阱与5步合规部署法

更多请点击: https://kaifayun.com 第一章:ElevenLabs潮州话语音技术全景概览 ElevenLabs 作为全球领先的语音合成平台,长期聚焦于高保真、多语言、情感化TTS技术研发。尽管其官方公开支持的语言列表尚未正式纳入潮州话(Teochew&…...

AI安全——实战敏感词汇绕过手法

一、前言 在今年大概 6 月份的时候,煮波在一些公众号以及 src 平台上看到了一个船新漏洞——AI 漏洞,后面更是看到了应运而生的所谓《ai 魔咒》,随着人工智能的兴起,一些学校或者机构或者平台都部署了 AI,有些 AI 虽然…...