就是这个线上账本管理系统,要求是小程序的形式写出来,用微信开发工具,idea写代码,数据库用MySQL
可以到我的资源这里下载
https://download.csdn.net/download/qq_29235677/87885493
https://download.csdn.net/download/qq_29235677/87885677
计算机毕设之基于Java的记账管理系统
可以参考下
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
String type = req.getParameter("type");
HttpSession session = req.getSession();
try {
if(type.equals("用户")){
if(str.equals(randomCode)){
User user = userService.loginUser(username, password);
session.setAttribute("currentUser", user);
session.setAttribute("currentType", "用户");
req.getRequestDispatcher("index.jsp").forward(req, resp);
}
else{
req.setAttribute("messageInfo", "验证码错误!请重新输入");
req.getRequestDispatcher("login.jsp").forward(req, resp);
} } catch (Exception e) {
req.setAttribute("messageInfo", e.getMessage());
e.printStackTrace();
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
}
@Override
public User loginUser(String username, String password) throws UserException {
User user2 = userDao.findUserByName(username);
if(user2==null){
throw new UserException("用户名不存在,请重新输入!");
}if(!password.equals(user2.getPassword())){
throw new UserException("登录密码错误,请重新输入!");
}
return user2;
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String str = req.getParameter("user.id");
long id = Long.parseLong(str);
String name = req.getParameter("user.name");
String password = req.getParameter("user.pass");
String rname = req.getParameter("user.rname");
String sex = req.getParameter("user.sex");
String age = req.getParameter("user.age");
String tel = req.getParameter("user.tel");
HttpSession session = req.getSession();
user = new User(id,name,sex,age,password,tel,rname,new Date());
try{
userService.editUser(user);
resp.sendRedirect("editUserSuccess.jsp");
}
@Override
public void editUser(User user) {
userDao.updateUser(user);
}
<script type="text/javascript">
var myChart = new FusionCharts("<%=path%>/FusionCharts/Charts/Pie3D.swf", "myChartId",
"600", "400");
var strXML = "<chart caption='收入一览'>${data}</chart>";
myChart.setDataXML(strXML);
myChart.render("chartdiv1");
$(document).ready(function(){
var $messageInfo = $("#messageInfo").val();
if($messageInfo != null && $messageInfo != ""){
$.messager.show({
title:'提示',
msg:$messageInfo,
timeout:2000,
showType:'slide'
});
$("#messageInfo").val("");
}
});
</script>
Tong tong1 = tongService.findTongByMonth(month,username);
if(tong1==null){
Tong tong = new Tong(username,"入账","公费",new Date(),year,month,num1,num2);
tongService.saveTong(tong);
String info="<set name='出账' value='"+tong.getZhi()+"' /><set name='入账' value='"+tong.getShou()+"' />";
req.setAttribute("data", info);
req.getRequestDispatcher("zhang/zhang_ylist.jsp").forward(req, resp);
}else{
long id =tong1.getId();
Tong tong = new Tong(id,username,"入账","公费",new Date(),year,month,num1,num2);
tongService.updateTong(tong);
String info="<set name='出账' value='"+tong.getZhi()+"' /><set name='入账' value='"+tong.getShou()+"' />";
req.setAttribute("data", info);
req.getRequestDispatcher("zhang/zhang_ylist.jsp").forward(req, resp);
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String name = req.getParameter("zhang.name");
String type = req.getParameter("zhang.type");
String kind = req.getParameter("zhang.kind");
String date = req.getParameter("zhang.date");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date time = simpleDateFormat.parse(date);
String string = req.getParameter("zhang.count");
double count =Double.parseDouble(string);
String yong = req.getParameter("zhang.yong");
String info = req.getParameter("zhang.info");
HttpSession session = req.getSession();
User user = (User) session.getAttribute("currentUser");
String rname = user.getRname();
String username = user.getName();
Zhang zhang = new Zhang(name,username,rname,type,kind,time,count,yong,info);
zhangService.addZhang(zhang);
List<Zhang> list = zhangService.findZhangByUserName(username);
System.out.println(list);
req.getSession().setAttribute("zhang_list", list);
resp.sendRedirect("zhang/zhang_list.jsp");
@Override
public void addZhang(Zhang zhang) throws ZhangException {
try{
zhangdao.addZhang(zhang);
}catch(Exception e){
throw new ZhangException("添加失败,请重新添加");
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话:Question1:等待多久?一直等么?
Question2:最终是回滚事务 or 回滚当前语句?
对于问题中提到的具体需求和规范、时间要求和预算范围等信息,没有给出具体的说明,因此无法给出解决方案。需要更详细的信息才能确定具体的实现方案。
小程序形式?
App({
onLaunch: function () {
// 初始化数据库连接
wx.cloud.init({
env: 'your-cloud-env-id'
})
}
})
// pages/index/index.js
Page({
data: {
userInfo: {},
accountList: [], // 账本列表数据
},
// 用户登录功能实现
login: function (e) {
wx.login({
success: res => {
if (res.code) {
wx.request({
url: 'https://your-server-url/login', // 服务器接口地址
method: 'POST',
data: {
code: res.code, // 从微信登录成功后获取的code参数
},
success: res => {
if (res.data.success) {
// 如果登录成功,将用户信息保存到本地缓存中,并跳转到账本列表页面
wx.setStorageSync('userInfo', res.data.userInfo);
wx.switchTab({
url: '/pages/accounts/list', // 账本列表页面路径
});
} else {
// 如果登录失败,提示用户重新登录
wx.showToast({
title: '登录失败,请重新登录!',
icon: 'none',
});
}
},
fail: err => {
wx.showToast({
title: '登录失败,请稍后重试!',
icon: 'none',
});
},
});
} else {
wx.showToast({
title: '登录失败,请检查网络连接!',
icon: 'none',
});
}
},
fail: err => {
wx.showToast({
title: '登录失败,请检查网络连接!',
icon: 'none',
});
},
})
},
你要导到哪里
没人帮你做的兄弟,这个功能新做的话,没人愿意的
有人做了吗,
看了这么多评论,我想给你说:当你想找一个人给你办事时候,他一直给你讲大道理,以你多年的经验,你觉得这时候你应该怎么办来解决这个问题😄
关于微信开发的账本管理 小程序,我帮你找到一些开源的项目,你可以参考下:
一款简单的微信共享记账小程序:https://gitee.com/chniccs/jizhang
基于微信小程序家庭记账管理系统设计:https://www.2bysj.cn/Article/jsp/202101/19227.html
计算机毕业设计JAVA网络记账设计服务端mybatis+源码+调试部署+系统+数据库+lw:https://download.csdn.net/download/fad651/85470521
java基于微信小程序的个人家庭收入支出记账本小程序 uniap:https://blog.csdn.net/QQ123311197/article/details/126812916
或者你自己再找找,有不少资源的。基于别人的开源项目,在结合自己的需求来修改下
这是一个完整的系统了,去git上下载一个类似的项目改改,或者去闲鱼找人做呗
撞到我专业上了呢,uni-app加云函数就行了
这个要专门找人做才行,功能挺多的,在问答这里没法写完全部代码
参考GPT作答如下
正好在做一个差不多的项目,仅供参考哈
1.用户管理
用户登录功能的实现可以通过微信小程序提供的用户授权机制进行。具体可以参考微信开发者文档。如果需要记录更多用户信息,需要将用户信息保存在 MySQL 数据库中,并为每个用户分配唯一的用户 ID,作为账数据的关联键(如下文所示)。
2.账本管理
账单类型的增、改、删操作和账本信息(包括收入、支出的详细信息)的增、删、改、查操作需要在小程序前端进行实现,并与后端的 MySQL 数据库进行交互。这里介绍使用微信云开发作为中间层的方案。
在云函数中编写以下代码来处理账单信息的增删改查操作:
const cloud = require('wx-server-sdk')
cloud.init()
const db = wx.cloud.database()
// 增加一条账单信息
exports.addBill = async (bill) => {
try {
return await db.collection('bill').add({
data: bill
})
} catch (e) {
console.error(e)
return null
}
}
// 删除一条账单信息
exports.deleteBill = async (billId) => {
try {
return await db.collection('bill').doc(billId).remove()
} catch (e) {
console.error(e)
return null
}
}
// 更新一条账单信息
exports.updateBill = async (billId, bill) => {
try {
return await db.collection('bill').doc(billId).update({
data: bill
})
} catch (e) {
console.error(e)
return null
}
}
// 查询所有账单信息
exports.getAllBills = async () => {
try {
return await db.collection('bill').get()
} catch (e) {
console.error(e)
return null
}
}
然后在小程序前端中调用这些云函数来完成相应操作,例如添加一条账单信息:
wx.cloud.callFunction({
name: 'addBill',
data: {
// 账单信息
title: '购物',
type: '支出',
amount: 100,
// ...
},
success: function(res) {
console.log('添加账单成功')
},
fail: function(err) {
console.error(err)
}
})
3.账单管理
日账单导出、用户单天账单信息的查询、导出、年账单导出、用户全年账单信息的查询、导出和用户年账单统计需要在后端进行实现,以保证数据的一致性和可靠性。具体实现方式可以使用 Spring Boot 框架和 MySQL 数据库进行开发。
4.用户日常管理
用户日程、纪念日、重要事件的增、删、改、查功能可以通过微信小程序模板消息或订阅消息来实现。我们可以在每个用户登录时,将其订阅的模板消息和订阅消息类型保存在 MySQL 数据库中,然后在需要发送提醒信息时,查询数据库并向用户发送提醒。
5.用户反馈管理
向小程序作者发送反馈消息可以通过微信小程序提供的客服功能或自定义管理后台来实现。