评论

#小程序云开发挑战赛#-菲特日记-冲天敖广

该小程序功能包括饮食记录、健康自测、资讯阅读、身材管理等,用户使用此系统可以了解自己每日每餐食物热量信息,阅读健康小知识等,系统会对用户的使用情况进行记录,用户可随时查看各种数据变化。

应用场景:基于当代大学生普遍的亚健康状态,萌生了现代健康生活的需要,普遍大学生需要进行合理饮食和科学锻炼,所以需要特定的程序实现这一需求。

目标用户:大学生

实现思路由于新型冠状病毒疫情,全国各大高校下发通知,要求学生自行在家自我隔离,不外出、不聚集,因此,在校大学生都在家度过了一个难忘的超长假期,而因为糟糕的生活习惯和心理因素,这一群体的自身健康状况有明显下滑趋势。不考虑疫情原因,当代大学生普遍的亚健康状态也是一个值得深入探讨的问题。为提高大学生这一群体对自身健康情况的重视度,增强这个群体对健康管理概念的认知,同时为他们培养健康的饮食习惯, 设计应运而生。设计利用了云服务器开发、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'

}



团队简介:我们是一支专业的团队。也是一支年轻的团队。默契度高,合作过程非常顺利,互相了解。知己知彼,百战百胜。我们更注重将产品表达清楚与准确。



最后一次编辑于  09-09  
点赞 0
收藏
评论

1 个评论

  • 守一
    守一
    星期五 13:53

    我们团队想要开发一个小程序,可以合作吗?如可以合作,欢迎加微信:mfj-1991-rsf

    星期五 13:53
    赞同
    回复
登录 后发表内容