# 后端开发指南(云函数)

# 目录结构

红色框内的均是云端文件

# common(公共模块)

公共模块目录,该目录一般情况下不需要你写,是通过导入某些插件用的,如uni-id,uni-pay等

# router(主路由函数)

二开时,云端一般只需要改 router 这一个即可。这个 router 使用了VK的路由开发框架,里面可以写无数个云函数或云对象。

传送门 - vk路由开发框架 (opens new window)

# router目录介绍

所有接口都写在 service 目录内,如 router/service/client/user.js 这个文件写的是客户端的用户相关的API,只有 service 目录下的文件才可以被前端调用 vk.callFunction 访问。

传送门 - 开发首个云对象接口并和前端进行交互 (opens new window)

# service目录介绍

# client端接口

# admin端接口

# dao目录介绍

传送门 - dao介绍 (opens new window)

# middleware目录介绍

传送门 - middleware中间件介绍 (opens new window)

# 二开说明

一般情况下,你新加的接口,客户端 的都加在 client目录 内,admin端 的都加在 admin目录 内。

# 如何快速找到前端请求的接口写在哪里?

比如我想修改 商品详情页 页面接口,则先在HBX启用运行H5项目,F12打开浏览器控制台,然后页面点击任意1个商品进入 商品详情页,此时控制台会打印云函数的请求路径

如上图中红色框内的部分就是云函数的请求路径,即 client/pub.getGoodsInfo,也就是我们要到 router/service/client/pub.js 这个文件的 getGoodsInfo 接口里改代码。

为了方便查找,每个接口的注释上都有 @url client/pub.getGoodsInfo 前端调用的url参数地址 类似这样的注释,因此其实你可以直接搜索项目包含 client/pub.getGoodsInfo 字符串的文件有哪些,即可快速找到对应的接口代码位置了。

# 分销模式二开指南

vkmall自带的分销默认是二级分销 + 区域代理

# 二级分销概念介绍

而A下面可以分享无数个B,B又可以分销无数个C

A下面所有的B称为A的直推客户,A下面所有的C称为A的间推客户(同时也是B的直推客户),A下面所有的B+C称为A的团队。

# 区域代理概念介绍

假设

  • A浙江省的省级代理
  • B浙江省杭州市的市级代理
  • C浙江省杭州市西湖区的区级代理

现在有客户D下单了,收货地址是:浙江省杭州市西湖区xxxx路xxx号

  • A可以获得:浙江省代理奖励
  • B可以获得:浙江省杭州市代理奖励
  • C可以获得:浙江省杭州市西湖区代理奖励

通常这些代理都是该品牌的地方高级经销商,区域奖励可以刺激Ta们多多推广自己代理区域的客户。

如果上面的分销模式不满足你的需求,你可以进行二开

如果只是想在此基础上稍微优化下,则直接修改原分销相关的代码即可。

一般只需要改 fx2目录 下的代码即可

如果你的模式跟现有的完全不一样,则需要新增分销模式,此时可以在 rewardMode/mode/ 该目录下复制 fx2目录,并改名为 weishang(微商模式),然后再重写内部代码。

weishang/type/1001.js 内写 订单付款后的结算逻辑。

weishang/type/1002.js 内写 订单退款后的处理逻辑。

最后测试的时候,需要将数据库内的 vk-mall-mch 表的第一条记录(也只有一条记录)的 fx.mode 的值从 fx2 改为 weishang 即可,这样后面的订单分销结算代码会走你新写的 weishang 模式