3.1.2 最新消息浏览模块
前端用户进入健康管理系统,进入动态浏览菜单,可以在后台查看管理员发布的健康新闻信息。如下图3-2所示:
图 3-2 动态新闻浏览界面
3.1.3 体检知识浏览模块
小程序健康管理系统前端用户登录系统后,可点击首页或下方体检知识菜单,进入体检知识文章列表页面。具体显示界面如下图3-3所示。
图3-3体检知识列表界面
3.1.4体检套餐清单模块
小程序健康管理系统前端用户登录系统后,可以点击首页进入体检预约模块进行在线预约。进入列表显示当前可用的体检套餐。相关体检显示操作界面如下图3-4所示。
图3-4 体检列表显示界面
3.1.5在线预约体检功能模块
小程序健康管理前台用户从预约体检列表中选择要预约的体检套餐,进入预约界面。网上预约如下图3-5、3-6、3-7。
图4-5前台用户在线预约界面
图4 -6 前台用户在线预约操作界面
预订提交成功后,可以显示预订信息和二维码。体检时管理员可使用二维码注销预约。详情如下:
p>
图3-7 预约成功信息界面
3.2后台功能模块的展示3.2.1用户登录功能
用户登录小程序健康管理系统后台用户后,可以授权相关信息的管理功能。登录界面如下图3-11所示。
图3-11后台用户登录界面
3.2.2 后台管理主界面
小程序健康管理系统管理员登录系统后,可以在后台进入主界面的管理菜单 开发小程序 ,对相应信息进行管理。主要包括用户管理、预约管理、内容管理、信息统计等相关功能。后台管理操作主界面如下图3-12所示:
图3-12后台管理功能界面图
四、核心代码展示
const AdminBiz = require('../../../biz/admin_biz.js');
const pageHelper = require('../../../helper/page_helper.js');
Page({
/**
* 页面的初始数据
*/
data: {
formContent: [{
type: 'text',
val: '',
}]
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: async function (options) {
if (!AdminBiz.isAdmin(this)) return;
let parent = pageHelper.getPrevPage(2);
if (!parent) return;
let formContent = parent.data.formContent;
if (formContent && formContent.length > 0)
this.setData({
formContent
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: async function () {
},
model: function (e) {
pageHelper.model(this, e);
},
bindSaveTap: function (e) {
let parent = pageHelper.getPrevPage(2);
if (!parent) return;
parent.setData({
formContent: this.data.formContent
});
},
url: function (e) {
pageHelper.url(e, this);
},
bindSaveTap: function (e) {
let formContent = this.selectComponent("#contentEditor").getNodeList();
let parent = pageHelper.getPrevPage(2);
if (!parent) return;
parent.setData({
formContent
}, () => {
parent._setContentDesc();
});
wx.navigateBack({
delta: 0,
});
}
})
const AdminBiz = require('../../../../biz/admin_biz.js');
const pageHelper = require('../../../../helper/page_helper.js');
const PassportBiz = require('../../../../biz/passport_biz.js');
Page({
/**
* 页面的初始数据
*/
data: {
name: '',
pwd: '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
AdminBiz.clearAdminToken();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
url: function (e) {
pageHelper.url(e, this);
},
bindBackTap: function (e) {
wx.reLaunch({
url: pageHelper.fmtURLByPID('/pages/my/index/my_index'),
});
},
bindLoginTap: async function (e) {
return PassportBiz.adminLogin(this.data.name, this.data.pwd, this);
}
})
const AdminBiz = require('../../../../biz/admin_biz.js');
const pageHelper = require('../../../../helper/page_helper.js');
const cloudHelper = require('../../../../helper/cloud_helper.js');
Page({
/**
* 页面的初始数据
*/
data: {},
/**
* 生命周期函数--监听页面加载
*/
onLoad: async function (options) {
if (!AdminBiz.isAdmin(this)) return;
this._loadDetail();
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: async function () {
await this._loadDetail();
wx.stopPullDownRefresh();
},
_loadDetail: async function () {
let admin = AdminBiz.getAdminToken();
this.setData({
isLoad: true,
admin
});
try {
let opts = {
title: 'bar'
}
let res = await cloudHelper.callCloudData('admin/home', {}, opts);
this.setData({
data: res
});
} catch (err) {
console.log(err);
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
url: function (e) {
pageHelper.url(e, this);
},
bindExitTap: function (e) {
let callback = function () {
AdminBiz.clearAdminToken();
wx.reLaunch({
url: pageHelper.fmtURLByPID('/pages/my/index/my_index'),
});
}
pageHelper.showConfirm('您确认退出?', callback);
},
bindSettingTap: function (e) {
let itemList = ['清除数据缓存'];
wx.showActionSheet({
itemList,
success: async res => {
switch (res.tapIndex) {
case 0: { //清除缓存
await this._clearCache();
break;
}
}
},
fail: function (res) {}
})
},
_clearCache: async function () {
try {
let opts = {
title: '数据缓存清除中'
}
await cloudHelper.callCloudSumbit('admin/clear_cache', {}, opts).then(res => {
pageHelper.showSuccToast('清除成功');
});
} catch (err) {
console.error(err);
}
}
})
V。项目总结
基于微信小程序开发实现这个健康管理系统,经过研究分析,得出需要两类用户角色。一个是系统的前端用户,另一个是后端管理员用户。前端用户的主要需求是通过该平台获取最新的健康相关知识推送 小程序外包定制 小程序定制 ,获取最新的健康相关新闻,在线预约就医。后台管理员用户主要实现相关数据的管理功能,一是实现新闻动态的管理操作小程序开发系统,二是实现预约信息的发布管理,三是实现注册用户的信息管理功能小程序开发系统,以及四是执行在线信息查看和统计等功能。
在分析了微信小程序健康管理系统的需求后,总结了系统各个用户角色所需的功能模块,并进行了基本的功能模块设计。各个角色相关的具体功能模块如下所示。
前端用户可以扫描共享二维码登录系统。此时小程序开发系统 小程序商城开发 ,经过用户授权后,会自动使用用户的微信账号注册登录小程序。登录小程序健康管理系统后,您可以执行以下功能:
个人资料维护:您可以修改个人资料,填写您的姓名、手机号码、城市等相关信息。动态浏览:可以浏览后台发布的健康新闻动态信息。体检知识浏览:可以浏览后台发布的体检知识和健康知识信息。体检预约:您可以根据自己的需要预约后台下发的体检。首先查看可以预约的时间段 小程序开发制作 ,然后在指定时间预约体检。我的预约:可以查看自己的预约信息和记录,也可以取消预约。预约会生成预约码,您去体检时可以根据预约码注销。
后台用户登录后可以进行健康管理系统的业务数据管理操作,可以进行的主要功能操作如下:
1、用户管理:可以管理前端注册用户小程序用户信息,并进行相应的数据查看和导出操作。
2、内容管理:在内容管理和获取块中,主要进行动态新闻和医学知识的发布、编辑、修改状态、预览和进入首页。进入首页的功能类似于贴顶。操作。
3、预约管理:可以发布新的预约信息,修改和设置发布的预约信息的状态,查看前端小程序用户的预约信息,可以预约注销操作.
4、管理员操作日志:主要查看管理员的操作日志信息。
5、信息统计管理:主要是统计和查看预约数、用户数、文章数等相关信息。