应用场景:基于当代大学生普遍的亚健康状态,萌生了现代健康生活的需要,普遍大学生需要进行合理饮食和科学锻炼,所以需要特定的程序实现这一需求。
目标用户:大学生
实现思路:由于新型冠状病毒疫情,全国各大高校下发通知,要求学生自行在家自我隔离,不外出、不聚集,因此,在校大学生都在家度过了一个难忘的超长假期,而因为糟糕的生活习惯和心理因素,这一群体的自身健康状况有明显下滑趋势。不考虑疫情原因,当代大学生普遍的亚健康状态也是一个值得深入探讨的问题。为提高大学生这一群体对自身健康情况的重视度,增强这个群体对健康管理概念的认知,同时为他们培养健康的饮食习惯, 设计应运而生。设计利用了云服务器开发、HTML、CSS、JavaScript等技术,实现了一款基于微信小程序的大学生健康管理系统,该小程序功能包括饮食记录、健康自测、资讯阅读、身材管理等,用户使用此系统可以了解自己每日每餐食物热量信息,阅读健康小知识等,系统会对用户的使用情况进行记录,用户可随时查看各种数据变化,帮助用户进行身材管理,引导用户合理饮食和科学锻炼,适应现代健康生活的需要,提高健康意识。
架构图:
效果截图:
功能代码展示:----------------------------------------------------------------
import request from “./…/utils/request.js”;
/**
* 公共接口 ,优惠券接口 , 行业此讯 , 手机号码注册
*
*/
/**
* 获取主页数据 无需授权
*
*/
export function getIndexData()
{
return request.get(“index”,{},{ noAuth : true});
}
/**
* 获取登录授权login
*
*/
export function getLogo()
{
return request.get(‘wechat/get_logo’, {}, { noAuth : true});
}
/**
* 保存form_id
* @param string formId
*/
export function setFormId(formId) {
return request.post(“wechat/set_form_id”, { formId: formId});
}
/**
* 文章分类列表
*
*/
export function getArticleCategoryList(){
return request.get(‘article/category/list’,{},{noAuth:true})
}
/**
* 文章列表
* @param int cid
*
*/
export function getArticleList(cid,data){
return request.get(‘article/list/’ + cid, data,{noAuth:true})
}
/**
* 文章 热门列表
*
*/
export function getArticleHotList(){
return request.get(‘article/hot/list’,{},{noAuth:true});
}
/**
* 文章 轮播列表
*
*/
export function getArticleBannerList(){
return request.get(‘article/banner/list’,{},{noAuth:true})
}
/**
* 文章详情
* @param int id
*
*/
export function getArticleDetails(id){
return request.get(‘article/details/’+id,{},{noAuth:true});
}
/**
* 手机号+验证码登录接口
* @param object data
*/
export function loginMobile(data){
return request.post(‘login/mobile’,data,{noAuth:true})
}
/**
* 验证码发送
* @param object phone
*/
export function registerVerify(phone, reset){
return request.post(‘register/verify’, { phone: phone, type: reset === undefined ? ‘reset’ : reset },{noAuth:true})
}
/**
* 手机号注册
* @param object data
*
*/
export function phoneRegister(data){
return request.post(‘register’,data,{noAuth:true});
}
/**
* 手机号修改密码
* @param object data
*
*/
export function phoneRegisterReset(data){
return request.post(‘register/reset’,data,{noAuth:true})
}
/**
* 手机号+密码登录
* @param object data
*
*/
export function phoneLogin(data){
return request.post(‘login’,data,{noAuth:true})
}
/**
* 绑定手机号
*
*/
export function bindingPhone(data){
return request.post(‘binding’,data);
}
/**
* 退出登錄
*
*/
export function logout(){
return request.get(‘logout’);
}
/**
* 获取订阅消息id
*/
export function getTemlIds()
{
return request.get(‘wechat/teml_ids’, {}, { noAuth:true});
}
import request from “./…/utils/request.js”;
/**
*
* 用户相关接口
*
*/
/**
* 小程序用户登录
* @param data object 小程序用户登陆信息
*/
export function login(data) {
return request.post(“wechat/mp_auth”, data, { noAuth : true });
}
/**
* 获取用户中心菜单
*
*/
export function getMenuList() {
return request.get(“menu/user”);
}
/**
* 获取用户信息
*
*/
export function getUserInfo(){
return request.get(‘user’);
}
/**
* 修改用户信息
* @param object
*/
export function userEdit(data){
return request.post(‘user/edit’,data);
}
/**
* 会员等级列表
*
*/
export function userLevelGrade(){
return request.get(‘user/level/grade’);
}
/**
* 获取某个等级任务
* @param int id 任务id
*/
export function userLevelTask(id){
return request.get(‘user/level/task/’+id);
}
/**
* 检查用户是否可以成为会员
*
*/
export function userLevelDetection(){
return request.get(‘user/level/detection’);
}
/**
* 获取分销海报图片
*
*/
export function spreadBanner(){
return request.get(‘spread/banner’,{type:1});
}
/**
*
* 获取推广用户一级和二级
* @param object data
*/
export function spreadPeople(data){
return request.post(‘spread/people’,data);
}
/**
*
* 推广佣金明细
* @param int type
* @param object data
*/
export function spreadCommission(type,data){
return request.get(‘spread/commission/’+type,data);
}
/**
*
* 推广佣金/提现总和
* @param int type
*/
export function spreadCount(type){
return request.get(‘spread/count/’+type);
}
/**
*
* 推广订单
* @param object data
*/
export function spreadOrder(data){
return request.post(‘spread/order’,data);
}
/**
* 提现申请
* @param object data
*/
export function extractCash(data){
return request.post(‘extract/cash’,data)
}
/**
* 提现银行/提现最低金额
*
*/
export function extractBank(){
return request.get(‘extract/bank’);
}
/**
* 活动状态
*
*/
export function userActivity(){
return request.get(‘user/activity’);
}
/**
* 小程序充值
*
*/
export function rechargeRoutine(data){
return request.post(‘recharge/routine’,data)
}
/**
*
* 地址列表
* @param object data
*/
export function getAddressList(data){
return request.get(‘address/list’,data);
}
/**
* 设置默认地址
* @param int id
*/
export function setAddressDefault(id){
return request.post(‘address/default/set’,{id:id})
}
/**
* 获取默认地址
*
*/
export function getAddressDefault(){
return request.get(‘address/default’);
}
/**
* 删除地址
* @param int id
*
*/
export function delAddress(id){
return request.post(‘address/del’,{id:id})
}
/**
* 修改 添加地址
* @param object data
*/
export function editAddress(data){
return request.post(‘address/edit’,data);
}
/**
* 获取单个地址
* @param int id
*/
export function getAddressDetail(id){
return request.get(‘address/detail/’+id);
}
/**
* 设置用户分享
*
*/
export function userShare(){
return request.post(‘user/share’);
}
/**
* 获取签到配置
*
*/
export function getSignConfig(){
return request.get(‘sign/config’)
}
/**
* 获取签到列表
* @param object data
*/
export function getSignList(data){
return request.get(‘sign/list’,data);
}
/**
* 签到列表(年月)
* @param object data
*
*/
export function getSignMonthList(data){
return request.get(‘sign/month’,data)
}
/**
* 用户签到
*/
export function setSignIntegral(){
return request.post(‘sign/integral’)
}
/*
* 资金明细(types|0=全部,1=消费,2=充值,3=返佣,4=提现)
* */
export function getCommissionInfo(q, types) {
return request.get(“spread/commission/” + types, q);
}
/*
* 签到用户信息
* */
export function postSignUser(sign) {
return request.post(“sign/user”, sign);
}
/*
* 积分记录
* */
export function getIntegralList(q) {
return request.get(“integral/list”, q);
}
/*
* 点击领取优惠券
* */
export function getCouponReceive(couponId) {
return request.post(“coupon/receive”, couponId);
}
/*
* 领取优惠券列表
* */
export function getCoupon(q) {
return request.get(“coupons”, q);
}
/*
* 获取推广人排行
* */
export function getRankList(q) {
return request.get(“rank”, q);
}
/*
* 获取佣金排名
* */
export function getBrokerageRank(q) {
return request.get(“brokerage_rank”, q);
}
团队简介:我们是一支专业的团队。也是一支年轻的团队。默契度高,合作过程非常顺利,互相了解。知己知彼,百战百胜。我们更注重将产品表达清楚与准确。
import { HTTP_REQUEST_URL, CACHE_USERINFO, CACHE_TOKEN, CACHE_EXPIRES_TIME } from ‘./config.js’;
import Server from ‘./utils/Server.js’;
import util from ‘./utils/util.js’;
App({
onLaunch: function (option) {
if (HTTP_REQUEST_URL==’’){
console.error(“请配置根目录下的config.js文件中的 ‘HTTP_REQUEST_URL’\n\n请修改开发者工具中【详情】->【AppID】改为自己的Appid\n\n请前往后台【小程序】->【小程序配置】填写自己的 appId and AppSecret”);
return false;
}
let that = this;
let token = wx.getStorageSync(CACHE_TOKEN);
let expiresTime = wx.getStorageSync(CACHE_EXPIRES_TIME);
let userInfo = wx.getStorageSync(CACHE_USERINFO);
this.globalData.isLog = !!userInfo && util.checkLogin(token, expiresTime,true);
if (this.globalData.isLog) {
this.globalData.token = token;
this.globalData.expiresTime = expiresTime;
this.globalData.userInfo = userInfo ? JSON.parse(userInfo) : {};
}
if (option.query.hasOwnProperty(‘scene’)){
switch (option.scene) {
//扫描小程序码
case 1047:
that.globalData.code = option.query.scene;
break;
//长按图片识别小程序码
case 1048:
that.globalData.code = option.query.scene;
break;
//手机相册选取小程序码
case 1049:
that.globalData.code = option.query.scene;
break;
//直接进入小程序
case 1001:
that.globalData.spid = option.query.scene;
break;
}
}
// 获取导航高度;
wx.getSystemInfo({
success: res => {
//导航高度
this.globalData.navHeight = res.statusBarHeight * (750 / res.windowWidth) + 97;
}, fail(err) {}
});
const updateManager = wx.getUpdateManager();
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
})
updateManager.onUpdateReady(function () {
wx.showModal({
title: ‘更新提示’,
content: ‘新版本已经准备好,是否重启应用?’,
success: function (res) {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
}
}
})
});
updateManager.onUpdateFailed(function () {
return that.Tips({title:‘新版本下载失败’});
})
//实例化聊天服务
this.$chat = new Server(this);
},
$chat:null,
globalData: {
navHeight: 0,
routineStyle: ‘#ffffff’,
openPages: ‘’,
spid: 0,
code:0,
urlImages: ‘’,
url: HTTP_REQUEST_URL,
token: ‘’,
isLog:false,
expiresTime:0,
MyMenus:[],
userInfo:{},
loginType:‘routine’
},
/**
* 聊天事件快捷注册
*
*/
$on: function (name, action){
this.$chat.$on(name,action);
},
/*
* 信息提示 + 跳转
* @param object opt {title:‘提示语’,icon:’’} | url
* @param object to_url 跳转url 有5种跳转方式 {tab:1-5,url:跳转地址}
*/
Tips: function (opt, to_url) {
return util.Tips(opt, to_url);
},
/**
* 快捷调取助手函数
*/
help:function()
{
return util.$h;
},
/*
* 合并数组
* @param array list 请求返回数据
* @param array sp 原始数组
* @return array
*/
SplitArray: function (list, sp) { return util.SplitArray(list, sp)},
})
module.exports = {
// 请求域名 格式: https://您的域名
HTTP_REQUEST_URL:‘http://chat.wjbbf.cn’,
// Socket链接 暂不做配置
WSS_SERVER_URL:’’,
// 以下配置非开发者,无需修改
// 请求头
HEADER:{
‘content-type’: ‘application/json’
},
// Socket调试模式
SERVER_DEBUG:true,
// 心跳间隔
PINGINTERVAL:3000,
// 回话密钥名称
TOKENNAME: ‘Authori-zation’,
//用户信息缓存名称
CACHE_USERINFO:‘USERINFO’,
//token缓存名称
CACHE_TOKEN:‘TOKEN’,
//token过期事件
CACHE_EXPIRES_TIME:‘EXPIRES_TIME’,
//模板缓存
CACHE_SUBSCRIBE_MESSAGE:‘SUBSCRIBE_MESSAGE’
}
团队简介:我们是一支专业的团队。也是一支年轻的团队。默契度高,合作过程非常顺利,互相了解。知己知彼,百战百胜。我们更注重将产品表达清楚与准确。