评论

基于云开发的商城小程序开发之路系列之后台管理

基于云开发 的商城小程序的开发过程以及开发过程中遇到的问题

经过上篇文章的准备工作,现在就可以正式开始写商城了

  • 后台管理

后台管理分以下几大块 : 用户 、 商品管理 、 订单管理、优惠券及设置。由于小程序云函数有最多50个的限制,故而需要把云函数按照木块综合处理(刚开始的时候没注意,写着写着方法数量超了,没办法只好又把所有的方法汇总分模块了)

1,用户管理,用户管理包括 用户登录注册、更新用户信息(getuserInfo提供的信息,可根据情况保存) ,获取用户列表,获取打印员(本小程序接入快递助手),更新打印员,添加虚拟用户,删除虚拟用户,获取虚拟用户 ,

创建名字为 user_manage的函数, req_type对应函数可根据需求实现

user_manage


// 云函数入口函数
exports.main = async(event, context) => {
  const wxContext = cloud.getWXContext()
  const result={}
  const req_type = event.req_type
  const data = event.data
  switch (req_type) {
    case "login":
      return await login(wxContext)
    case "up_data_msg":
      return await updataUserMsg(wxContext, data)
    case "get_user":
      return await getUserList(data)
    case "get_printer":
      return await getPrinter()
    case "up_printer":
      return await upPrinter(data)
    case "add_invented_user":
      for (let key in data) {
        if (!keyIsInPara(key, data[key])) {
          result.code = 202
          result.msg = "参数错误"
          return result
        }
      }
      return await addUser(data)
    case "del_invented_user":
      for (let key in data) {
        if (!keyIsInPara(key, data[key])) {
          result.code = 202
          result.msg = "参数错误"
          return result
        }
      }
      return await delUser(data)
    case "get_invented_user":
      for (let key in data) {
        if (!keyIsInPara(key, data[key])) {
          result.code = 202
          result.msg = "参数错误"
          return result
        }
      }
      return await getInventedUser(data)
    case "cleant_invented_user":
      for (let key in data) {
        if (!keyIsInPara(key, data[key])) {
          result.code = 202
          result.msg = "参数错误"
          return result
        }
      }
      return await cleanUser(data)
      default :
      result.code = 203
      result.msg = "req_type 不存在"
      return result
  }


}


2,商品管理

商品管理包括 商品的增删改查复制等等

创建名字为 goods_manage的函数, req_type对应函数可根据需求实现

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const result = {}
  const req_type = event.req_type
  const data = event.data
  switch (req_type) {
    case "add_clazz"://添加分类
      return await addClazz(data)
    case "del_clazz"://删除分类
      return await delClazz(data)
    case "edit_clazz"://编辑分类
      return await editClazz(data)
    case "get_clazz"://获取分类列表
      return await getClazz(data)
    case "get_clazz_item"://获取单个分类信息
      return await getClazzItem(data)
      // case "clean_clazz":
      //   return await cleanClazz()
    case "add_goods"://添加商品
      return await addGoods(data)
    case "del_goods"://删除商品
      return await delGoods(data)
    case "edit_goods"://编辑商品
      return await editGoods(data)
    case "get_goods_web"://获取商品列表(后台管理用)
      return await getGoodsForWeb(data)
    case "get_goods_wechat"://获取商品列表(小程序理用)
      return await getGoodsForWechat()
    case "get_goods_by_clazz"://根据分类获取商品列表
      return await getGoodsBylazz(data)
    case "get_goods_info"://商品详情
      return await getGoodsInfo(data)
    case "copy_goods"://复制商品
      return await copyGoods(data)
      //添加评论开始
    case "add_comment_web"://添加商品评论(后台管理用)
      return await addCommentWeb(data)
    case "get_comment_web"://获取商品评论(后台管理用)
      return await getCommentWeb(data)
    case "del_comment"://删除评论
      return await delComment(data)
    default:
      result.code = 203
      result.msg = "req_type 不存在"
      return result
  }


}

3,订单管理(暂未写到后续补上)

4,设置

设置包括优惠券 规则图文 支付方式 发货地址 等等一些操作

创建名为setting_manage的函数,req_type对应函数可根据需求实现

// 云函数入口函数
exports.main = async(event, context) => {
  const result = {}
  const req_type = event.req_type
  const data = event.data
  switch (req_type) {
    case "add_banner"://添加首页banner
      return await addBanner(data)
    case "del_banner"://删除banner
      return await delBanner(data)
    case "edit_banner"://编辑banner
     return await editBanner(data)
    case "get_banner"://获取banner列表
      return await getBanner()
    case "get_banner_item"://获取单个banner信息
      return await getBannerItem(data)
    case "clean_banner"://请空banner
      return await cleanBanner()
      // 一下为图文规则接口
    case "add_rule"://添加图文规则
      return await addUseingHelp(data)
    case "del_rule"://删除图文规则
      return await delUseingHelp(data)
    case "edit_rule"://修改图文规则
      return await editUseingHelp(data)
    case "get_rule"://获取图文规则
      return await getUseingHelp()
    case "get_rule_by_type"://根据type获取图文规则
      return await getUseingHelpItemByType(data)
    case "get_rule_item"://获取单个图文规则
      return await getUseingHelpItem(data)
    case "clean_rule"://清空图文规则
      return await cleanUseingHelp()
      //发货地址(快递助手发货时用)
    case "get_send_address"://获取发货地址 
      return await getSendAddress()
    case "set_send_address"://设置发货地址 
      return await editSendAddress(data)
      //支付方式 
    case "get_pay_way"://获取支付方式(发货方式需小程序集合内置几种发货方式,后台只可控制起是否可用)
      return await getPayWay()
    case "edit_pay_way":
      return await editPayWay(data)
      //运费模板
    case "get_postage"://
      return await getPostageList()
    case "add_postage":
      return await addPostage(data)
    case "del_postage":
      return await delPostage(data)
      //优惠券
    case "add_coupon":
      return await addCoupon(data)
    case "get_coupon_list":
      return await getCouponList(data)
    case "get_coupon":
      return await getCoupon(data)
    case "del_coupon":
      return await delCoupon(data)
    case "edit_coupon":
      return await editCoupon(data)
    case "get_coupon_user":
      return await getCouponUser(data)
    default:
      result.code = 203
      result.msg = "req_type 不存在"
      return result
  }


}


后台管理调小程序云函数详见 http调用云函数API文档


最后一次编辑于  2020-01-11  
点赞 0
收藏
评论
登录 后发表内容