大厂程序员裸辞,全职开发一个网络小说小程序,开发周期一个月

B站影视 港台电影 2025-09-16 12:06 1

摘要:本项是小说阅读小程序和图书销售小程序,同时可以在线支付,通过优惠券可以促进销售。同时可以在线申请作者,用户可以在线去分享小说,分享后如果有其他人购买小说,自己会获得收益。作者的收益比普通的用户收益高。

你好,我程序员小孟。

不上班,全职搞私活,专业开发,是一种什么体验?

比上班的时间长多了,我每天工作超过12个小时,但是感觉不到累。主要是少了很多扯皮,原来和产品经理扯皮,和项目主管扯皮。

现在我追求简单,只要我们把东西做好,服务好客户,其他的都可以忽略。

有的员工上班划水,划水就划水呗,按时交付,项目按时上线就行。

现在的UI、开发全是根据客户的需求定制的。

前期因为审核资质的问题,我们也帮客户积极弄各种渠道和办法,帮助审核通过,目前小程序已经上线。

备注:需要开发

本项是小说阅读小程序和图书销售小程序,同时可以在线支付,通过优惠券可以促进销售。同时可以在线申请作者,用户可以在线去分享小说,分享后如果有其他人购买小说,自己会获得收益。作者的收益比普通的用户收益高。

为了获得更好的体验,观看的时候可以对小说进行相关的设置。例如背景设置、字体设置。

同时管理员可以对小程序端所有的信息进行管理。

同行比较:番茄小程序、七猫。

技术栈:springboot+vue+mysql+uniapp+redis+mybaits-plus

添加图片注释,不超过 140 字(可选)

用户端:

用户:微信登录,openid,昵称,头像,创建时间

实体图书信息展示:封面图、名字、图书简介(图文c),可以在线购买或者加入购物车

实体图书分类:名字

小说信息展示:封面图、标题、作者、简介、章节;点击开始阅读的按钮,直接从最开始阅读,也可以点击章节,从章节月度。屏幕左滑可以进入下一页,屏幕右滑可以进入上一页。

小说分为免费阅读和付费的阅读,付费阅读的可以免费看一部分。

小说分类:名字

在线加入购物车:将选择的实体图书加入购物车

优惠券:在线领取优惠券,购买小说或者实体书的时候可以使用

积分使用:每天签到可以获得20积分,每天可以签到一次,100积分可以抵一元,购买小说或者购买图书的时候均可使用。可以在我的积分详情中查询我的积分总数和签到日期信息。

微信支付:购买图书或者小说支付的时候,均可用微信支付

在线申请成为作者:后台进行审核,成功后,即可成为作者。管理员审核通过后,名字旁边的状态改为作者。

电子图书分享:点击电子图书分享,会生成分享的图片,然后分享给其他的微信用户,如果有客户通过分享进去小程序付费 那么分享的人会得到收益。

普通用户分享的收益是10%。

作者分享的收益是20%。

消息查看:可以查看系统的消息。我的信息里面

小说阅读器:可以查看一系列的设置,(翻页、字体调节、背景设置)、语音播放、评分系统、读书笔记、标注(有问题)、离线下载、阅读统计(时长、页数)、阅读记录。

我的信息查看:我的个人信息查看、我的读书笔记,我的阅读时长、我的阅读记录

管理员端:

用户管理:用户的信息查看,包括用户的昵称,可以进行查询或者删除,提供分页查询

实体图书管理:包括图书的增删改查,提供分页查询,可以按照图书的名字查询,字段见小程序端。

实体图书分类查询:对图书的名字进行增删改查

优惠券管理:包括优惠券的增删改查,可以在线添加满多少减多少

图书订单的管理:图书的订单管理,字段包括图书订单编号(当前时期+三位随机数)、图书名字、购买人、购买日期、价格、数量。

可以点击在线发货,点击发货弹出运单号,加快递的类型(中通、申通、顺丰),可以在线填写

小说管理:填写小说的详情,可以分为免费小说和付费小说,付费的小说可以设置免费多少字,看其他的再进行付费。

小说分类管理:小说分类的增删改查,包括小说的名字的添加。

积分管理:可以对用户的积分进行管理。

消息管理:在线发布全部的消息,用户在前台点击消息,可以进行查看。包括消息的标题、内容。

作者审核:在线进行作者的审核,同意或者拒绝

分享收益管理:在线查看分享的具体收益,包括用户名字,类别(用户还是作者),金额、订单、日期

签到管理:查询用户的签到情况

数据统计(echart图):统计用户量、图书订单量、小说订单量

小程序端的采用的是uniapp开发,后端采用的是springboot,数据库采用的是mysql, 缓存采用的是redis,持久化采用的mybaits。

** * 用户控制器,小孟微:fly996868 */@Api(tags = "用户管理")@RestController@RequestMapping("/system/user")public class UserController extends BaseController { @Resource private UserService userService; @Resource private RoleService roleService; @Resource private DictionaryDataService dictionaryDataService; @OperationLog @ApiOperation("分页查询用户") @GetMapping("/page") public ApiResult> page(UserParam param) { return success(userService.pageRel(param)); } @OperationLog @ApiOperation("分页查询用户") @GetMapping("/commonPage") public ApiResult> commonPage(UserParam param) { return success(userService.pageCommonRel(param)); } @OperationLog @ApiOperation("查询全部用户") @GetMapping public ApiResult> list(UserParam param) { return success(userService.listRel(param)); } @GetMapping("/listRelForEchart") public ApiResult> listRelForEchart(UserParam param) { Listlist = userService.listRelForEchart(param); return success(list); } @GetMapping("/readRecordlistRelForEchart") public ApiResult> readRecordlistRelForEchart(UserParam param) { Listlist = userService.readRecordlistRelForEchart(param); return success(list); } @GetMapping("/starlistRelForEchart") public ApiResult> starlistRelForEchart(UserParam param) { Listlist = userService.starlistRelForEchart(param); return success(list); } @GetMapping("/statuslistRelForEchart") public ApiResult> statuslistRelForEchart(UserParam param) { Listlist = userService.statuslistRelForEchart(param); return success(list); } @GetMapping("/annolistRelForEchart") public ApiResultannolistRelForEchart(UserParam param) { Listlist = userService.annolistRelForEchart(param); BarVo barVo = new BarVo; List; for(UserVo li : list) { xList.add(li.getName); yList.add(li.getValue); } barVo.setName(xList); barVo.setValue(yList); return success(barVo); } @GetMapping("/orderlistRelForEchart") public ApiResultorderlistRelForEchart(UserParam param) { Listlist = userService.orderlistRelForEchart(param); BarVo barVo = new BarVo; Listalready = new ArrayList; for(UserVo li : list) { if(li.getName.equals(date)) { xList.add(date); yList.add(li.getValue); already.add(li.getName); break; } } if(already.size==0){ xList.add(date); yList.add(0); } } barVo.setName(xList); barVo.setValue(yList); return success(barVo); } @GetMapping("/orderlistRelMonthForEchart") public ApiResultorderlistRelMonthForEchart(UserParam param) { Listlist = userService.orderlistRelMonthForEchart(param); BarVo barVo = new BarVo; List; for(UserVo li : list) { if(li.getName.equals(date)) { xList.add(date); yList.add(li.getValue); already.add(li.getName); break; } } if(already.size==0){ xList.add(date); yList.add(0); } } barVo.setName(xList); barVo.setValue(yList); return success(barVo); } @GetMapping("/ebookOrderlistRelForEchart") public ApiResultebookOrderlistRelForEchart(UserParam param) { Listlist = userService.ebookOrderlistRelForEchart(param); BarVo barVo = new BarVo; List; for(UserVo li : list) { if(li.getName.equals(date)) { xList.add(date); yList.add(li.getValue); already.add(li.getName); break; } } if(already.size==0){ xList.add(date); yList.add(0); } } barVo.setName(xList); barVo.setValue(yList); return success(barVo); } @GetMapping("/ebookOrderlistRelMonthForEchart") public ApiResultebookOrderlistRelMonthForEchart(UserParam param) { Listlist = userService.ebookOrderlistRelMonthForEchart(param); BarVo barVo = new BarVo; List; for(UserVo li : list) { if(li.getName.equals(date)) { xList.add(date); yList.add(li.getValue); already.add(li.getName); break; } } if(already.size==0){ xList.add(date); yList.add(0); } } barVo.setName(xList); barVo.setValue(yList); return success(barVo); }

小孟的使命就是成立一家专业的软件开发公司,帮助中小企业提高工作的效率、提高获客量、提高收入。

希望大家多多点赞、转发、在看,这是对我最大的鼓励 和支持。图片我才有动力去开源更多优质的项目。

来源:程序员springmeng一点号

相关推荐