From 21523d4bfa12cd3b5f9aca2a30ec31c9e9e7dc50 Mon Sep 17 00:00:00 2001 From: wilsonsliu Date: Thu, 16 Dec 2021 20:48:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=8D=95?= =?UTF-8?q?=E9=A1=B5=E6=A8=A1=E6=9D=BF=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...76\345\210\260\346\211\223\345\215\241.md" | 26 ++++ .../\344\273\213\347\273\215.md" | 52 ++++++++ ...13\345\272\217\347\273\204\344\273\266.md" | 41 ++++++ .../\346\216\245\345\217\243.md" | 125 ++++++++++++++++++ .../\347\256\241\347\220\206\347\253\257.md" | 19 +++ 5 files changed, 263 insertions(+) create mode 100644 "product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" create mode 100644 "product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" create mode 100644 "product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" create mode 100644 "product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" create mode 100644 "product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\347\256\241\347\220\206\347\253\257.md" diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" new file mode 100644 index 000000000000..2595eb5a40e8 --- /dev/null +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" @@ -0,0 +1,26 @@ +# 签到打卡 +## 模块说明 +小程序中 “签到打卡”是一个典型的促进用户活跃,提高粘性的模块。 +本模块支持典型的7日连续打卡,签到后可配置积分奖励,连续签到x天,可进行额外的抽奖。 + +点击[小程序组件下载地址](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/signIn.zip)下载zip包 + +## 效果截图 +### 小程序端效果截图 +![](https://qcloudimg.tencent-cloud.cn/raw/920e18da69c8f414d14a4695c56a0316.jpg) + +### 管理端截图 +1. ![添加奖品](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/console/guide/step1/prize.png) +2. ![签到配置](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/console/guide/step1/config.png) +3. ![编辑签到规则](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/console/guide/step1/rule.png) + +## 项目配置 + +1. temId: 该订阅提醒模板 ID,需要登录当前小程序的 mp 管理系统,进入 +搜索"签到提醒"模板,然后点击选用, 详细内容配置如下效果: +温馨提示:{{thing2.DATA}} +签到奖励:{{thing1.DATA}} +活动名称:{{thing3.DATA}} +2. page: 即使用者订阅后,会收到一个服务通知消息,提醒签到打卡,然后点击这条消息,需要跳转到的小程序页面,这里根据自己页面路径自由配置。比如 pages/index/card +3. tag:表示当前是生效哪个签到打卡项目ID,当前固定为 continuous-weekly,一周连续签到。 + diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" new file mode 100644 index 000000000000..76e3422cfac4 --- /dev/null +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" @@ -0,0 +1,52 @@ +# 概述 +## 产品介绍 +小程序开发过程中,有很多通用的业务模块,例如:打卡签到、邀请有礼、趣味小游戏、运营banner配置等。 + +这些模块业务模型具备通用性,但是前端每个小程序都有自己的样式设计。因此,每个小程序都需要重复性的进行开发。 + +单页模板致力于帮助小程序开发者聚焦前端交互展示,无需关注于实现接口以及管理端。 + +开通单页模板后,运营人员可直接在管理端配置新功能,小程序前端源码组件可导入到小程序内快速接入,也可以对前端组件进行二开以满足业务需求。 + + +## 产品优势 +相比于开源的模板,需要前后端都自行部署维护。 + +单页模板只需要关注前端交互,管理端以及后端接口将由模块开发者进行运维以及迭代,省心省力。 + +模块基于云开发开发,无需运维,弹性扩缩容。 + +## 适用场景 +小程序内新增业务模块,且模块的业务模型具有很强的通用性。 + +## 面向群体 +小程序开发者,有小程序开发能力 + +## 产品说明 +### 使用入口 +[下载微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html) +1. 开发者右键新建时,会有配置单页模板的入口进行插入和管理。 +![](https://qcloudimg.tencent-cloud.cn/raw/908ec2988651c3185554674f414b86aa.png) +2. 选择单页模块进行,如果未开通微信云开发需要先点击授权开通。 +![](https://qcloudimg.tencent-cloud.cn/raw/86ae58eda00b8ce0191b62b94b6624af.png) + +### 控制台 +小程序开发者在微信开发者工具内开通后,可进入对应的模块控制台页面查看接入指引、导入小程序组件、查看模块提供的接口。 + +![](https://qcloudimg.tencent-cloud.cn/raw/25ded4b6bd239b0eee3a00b6e1419c37.png) + +### 管理端 +在控制台内点击访问管理系统,可得到管理端链接。 +运营人员通过链接在浏览器内通过账号+密码登录后可进行管理。 + +![](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/console/guide/step1/prize.png) + +### 接口 +![](https://qcloudimg.tencent-cloud.cn/raw/3d6bb6f0a5d028a04da1c4b9f07ccc0a.png) +在控制台内可查看模块提供的开放接口 +1. 小程序端接口,开发者可在小程序端调用,可使用接口构建自己的交互展示 +2. 服务端接口,可在服务器端调用,通过该接口可与已有后台系统互联互通 +3. 自定义接口,需要自行实现以与其他模块连通,例如:签到接口内发积分需要调用自定义的发积分接口。 + +### 小程序组件 +每个模块都会有对应的小程序源码组件,开发者可直接导入使用,可根据自己的需要进行二开,或者基于模块提供的接口完全自己开发小程序页面。 diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" new file mode 100644 index 000000000000..775948893544 --- /dev/null +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" @@ -0,0 +1,41 @@ +# 小程序组件 +## 概述 +小程序源码组件是由模块开发者提供模板示例,源码组件导入后可参考模块的 README 文件进行配置。 +开发者可基于前端代码进行二次开发以满足自己的小程序交互样式需求。 + + +## 小程序目录树 +```shell +. +├── README.md +├── cloudfunctions # 云开发云函数目录 +├── miniprogram # 小程序前端代码 +│ ├── miniprogram_npm +│ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/saas-module,需要在 miniprogram 下安装依赖 +│ ├── pages +│ │ ├── index +│ │ └── demo +│ ├── page_module # 场景应用安装的目录 +│ │ ├── sign-in # 按模块放置,可安装多个模块 +│ │ │ ├── README.md +│ │ │ ├── components # 模块内的组件 +│ │ │ ├── config.js +│ │ │ ├── images # 图片等资源 +│ │ │ ├── miniprogram_npm # 构建后的npm包 +│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/saas-module +│ │ │ ├── package.json +│ │ │ └── pages # 模块内示例页面 +│ └── sitemap.json +├── project.config.json +``` +## 组件的安装 +组件将安装在 `miniprogram/page_module` 目录下,每个模块一个文件夹。 + +`miniprogram/page_module/sign-in/pages`下为示例的页面。 +小程序的页面路径需要添加到`miniprogram/app.json`内的[`pages`](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#pages)。 + +## 维护说明 +[小程序插件](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/)的前后端都由插件开发者维护,使用者无法看到插件的代码。只能指定依赖的插件版本,通过插件暴露的接口能力。 + +单页模板的开发者,会配套提供小程序源码组件,开发者会更新示例与修复示例里存在的BUG。 +但是因为源码是交由开发者导入并修改,开发者遇到组件中遇到BUG,需要小程序开发者自行修复。 diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" new file mode 100644 index 000000000000..6c58be8b67f0 --- /dev/null +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" @@ -0,0 +1,125 @@ +# 接口 +单页模板通过开放的接口提供服务,业务方可在小程序端,服务器端调用接口。 + +## 小程序端接口调用 + +### 小程序目录树 +```shell +. +├── README.md +├── cloudfunctions # 云开发云函数目录 +├── miniprogram # 小程序前端代码 +│ ├── miniprogram_npm +│ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/saas-module,需要在 miniprogram 下安装依赖 +│ ├── pages +│ │ ├── index +│ │ └── demo +│ ├── page_module # 场景应用安装的目录 +│ │ ├── sign-in # 按模块放置,可安装多个模块 +│ │ │ ├── README.md +│ │ │ ├── components +│ │ │ ├── config.js +│ │ │ ├── images +│ │ │ ├── miniprogram_npm # 构建后的npm包 +│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/saas-module +│ │ │ ├── package.json +│ │ │ └── pages +│ └── sitemap.json +├── project.config.json +``` +### 引入sdk +#### 组件内引入 +小程序端导入组件后,在组件目录下会安装好 `@cloudbase/saas-module`的npm包,可直接使用,无需额外引入。 + +#### miniprogram/pages 下引入 +参考[小程序使用Npm包](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html)进行引入。 + +1. 在 `miniprogram` 下安装模块,`npm install @cloudbase/saas-module` +2. 构建 npm,点击开发者工具中的菜单栏:工具 --> 构建 npm +![](https://res.wx.qq.com/wxdoc/dist/assets/img/construction.408e13ae.png) +3. 勾选“使用 npm 模块”选项 +![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPYAAAC4CAYAAADQQBHUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABWNSURBVHhe7Z1NjyVFdobrJ7Dxfn4B8k+YTbP2pll7w9IyGjweWcgCWbK8QF660cibYWlZLY2EhCyPZPNh42G6sVuYL41laDG2aRajMZZhBAO67qfgLR9OncjMc+uDqNsv0qN7M+LEiYjseDKzSkXG0eeff74zxszNZ5991sJiGzM5lbhrWGxjJqUSdisW25gJqWTtYLGNmZBK1g4W25gJqWTtYLGNmZBK1g4W25gJqWTtYLGNmZBK1g4W25gJqWTtYLGNmZBK1g4W25gJqWTtYLGNmZBK1g4W25gJqWTtYLGNmZBK1g4W25gJqWTtYLGNmZBK1g4tsf/yv366+63bf7I7+qcfbIJY2lS5ZuLNN9/cPfHEE7uPP/54U7kxF00la4eW2B2pBW2qXBUffvjh7pFHHtkdHR2d4rHHHjsRLMc9/PDDxxLGXE899VTZtuK55547Zmt5hH7pX31FGIPiXnzxxW/U5TFVc1/r2xwulawdWmJX4m6hylWhxY0EVT1UMXyPcmchESxKJrJsQJ4bN26cKocqB31eu3bt1IUlQj+MmbGrjFxRbtr76cCIStYO5y/2qz/YPf2Ln+wev/v8SVmVq2KL2Ajw6KOPfkMSQBRk3pIjQjxts1Cj8swWsRlXviiQn3moHePNMebBpZK1w/mJfV/oo3/8w93v/vyvdvz39Ac/OamrclVskRIRuKuOHlNH4o8gj6TiU2Oo7tjVIz/HW8Su2kaIGc3JPHhUsnY4u9hfC3308h/sfvv2n+9+9ZtPd3f+9z+/KqPufkyVq2JJqig732NdvNNRR46bN2+e1I9+xqY/6viU2Kp75plnFkUUxCBtHA9kkckf62Nfqr9+/fpJ/drvBcxhU8naYW+xv/vmD0+EPvq77+0e+vs/2v3L//zH7r9/8+vdQ6/+8Vd1X8dWuSokdl70S0RhaAd8j7JzJ4zHopKS/t96660T4XObDDnW7tiRePHik2MEpr84RuZRjdk8GFSydthL7O/c/rPjx+3H/+3Hu6O//f3d0Qu/t/vRL356XPbdf/6L3dEr3z+5W1+02AIJkOP27dunHsWRbu3xnPbqtxIeqkflrthCcx09fm8ZszlcKlk77HfHvn83/tGHPzsW+Xdu/XD3+L/+9fH3p//9b766g4e79XmLPbr70gax7969e+puq7qlR1tyIm/1s/CSZGti625czYk+l8T2b8kfXCpZO+wt9tFLT+zu3H/0/tXnnx5L/eOP3tgdvfjEKamhylWxRWwWPPJFISSPyrIwfK8Eop94R1a/cRxLUsOa2EDf+YIR21XzHo3ZPBhUsnbYT2wes//h+7uHXn5yd/fTX+7u/vqXu4deefK4LD6CiypXhRZ4lE1QLrmquHwx0B0Yqjt8hpgo9q1bt04ex5cEQ8zqsR3iUwK5Y12cD+Q5bRmzOVwqWTvs/cszyf2dn/3pMSOpoco1G1HsiITz3dNcJpWsHVpin/qTUkTm0RsGUnf+pNQY8xWVrB1aYh/q/wRizGxUsnZoiW2MuRwqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTu0xP423nnG20O3vCGU1wDnF+yP3jwqeANp3FyAfmhDDj7j64Gpi68PBrbbrV49vLY5QSSPAWjLXPQecuqeffbZk3pgPEtzE9qDjPksjSv32WWp/aiO4/xvNoLY/D75Q6aStUNL7I7UgjZVrq1sFZsYkUWLRBn4Tv58zEJjU7/87m/FLI2HBUhbvhMb+67ybREb6FNj7wgRNxfU+ckxsCUndYw1zkkbIVRjjlT5t/QJnBvOHeeVzRtGfRwSlawdWmJX4m6hyrWVLWJXi2pNwFGbeFejfRQfOJZgihkd86n2lcCj8mps1JOLz1jHcdxoYAsaE2Ot6jNxfiOqMQN9xVzx/BJLGx1XUEcb/VvS5kHY06yStcP5i/3q/hvfV7Aw9I86goWX74Zr2+BWbYhnEbFw4mJcWlSxn7y4K7GJj7kj1D/55JPfKCMf5bEssiYd/Y9imNfauaV+Sx/V2HLu/G/JeeKOXz3JxPqch/J9NkK8SlSydjg/sb/ePOAsG99XjBaNhNEVXY9qVWyE2Hv37p20YdHmn5NHC5k+1S/QN8dalHxyrDsQeRQvsfMCrsr5PnrkJN+aaJElManL0mSW2kfyRS3nJocE5vcFfBJLG9AjveJpm8sitCdf/Pc4JCpZO5xdbO0Gcg4b31fwD7e0+KhDjCgHi0E/51ZUbYDvI6FYmFF+teUzlgv6yG1YiHnvbeWI46DdaFFXYud+BHn5Bd/o/FFetcuov6V+GP9IbMqYD+0p4xy///77x+W04aKgsRDDHEXuK6L58amL6aFQydphb7EvYuP7ijWxufpnWbRIMojFNrssBhZWbAMsDsq0kCM8QrMIqaMN4xotJuqI0yKljDbqb1Qe22vMio3zELoDql2+a0LsK8N5Wjq3QD05YhnHuV2eB30SI6k15jiWKDbHS2OtztMhU8naYS+xL2rj+wotkKpObPlHz3lGbYgZ9Uc5i4825NtX7BiTy/lksVPGjp98Epdz6zhSiZ3liTCfeKEYEfsjD2PQhVF1uR+NU7+DoC/KyKfzuzS2TD5Ph04la4f97tj378YXsfF9BYthJJqI/+gskkoGGLWJ5bSLd8K4+LLYlGcJyEk5caB+R/3lcvrgiYIc9B1jgXxxbhHGmNvlsjyftXOrOeuY9voxh++Iq7iYK49TeZinftyJY1GcoC7e6UeMzsVVp5K1w95iX8TG9xUskLXFl+VgoXAMo5/BchuhtuqThSM54+KkrFqQak8cxEWYH50hj4MfLbgbSkb6jDkycW58ZrGBHJpDno/mOUJz5jv5actYNS793iD/boI4tct5xJLYmXyeDp1K1g77ic1j9gVsfF/BAllbfKN/dF31q/ZLC0XtJIHaazFnoSLk0yKPEo36q8pHgkIWJkI7cmmMQCy5EZDxj+azhPrTeaEs59CxxpHHT30eN/UWu6aStcPevzyT3Oe58T2LLi6oNdakEXExi7U2LEL6iHdZLU6OyRkXZBy7xjUiC5jjKzEEsVkQ9Y10VRuQlHk++bxkKiEj1Gn86oOxML94fqo8I7GJ07nZwtocriKVrB1aYp/6k1JE5tEbBlKf9U9KjXkQqWTt0BLbG98bczlUsnZoiW2MuRwqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTtYbGMmpJK1g8U2ZkIqWTu0xPbG9998OybvLNdbOSP5DZ1L5DFkyDN6Y+kWltp33gaqN5GOxkuu6r3pZj8qWTu0xO5ILWhT5drKVrGJEdXCFFF0vmvBxmNkYLeLaqESszQeBNJOGcTGvqt8I1HE6BW9EerIEfvSq4jXxI7z3wJzpx3faRv7zCydJ7NMJWuHltiVuFuocm1li9jV4l0TcNQm3m1pnxc+x1rYihkd86n2I4GrcnJUomRivyO6Yi/FM0bi2VOMTREY92gMzAGqOrNOJWuH8xf7VW98r+MoDm3ITXzMHaGeHFukoH4klaDvqh/ljuMTS2LzJEJ57JvvOYc5O5WsHc5P7K83D/DG9/+/Q0gUR2LHi8KoHFkk34go1xJZ1Jg7jm8ULxgf54vzo/Ya++i859xmO5WsHc4utnYD8cb334A+chvE2LLxPW1juxESO/cjlHdN7FF7oZ/XacNjOPID+UEXMmK0+6Y5G5WsHfYW2xvf17ttgmSROJTRRv2NytU+yjeC+jxOjnO7nD+ezyqeOY0exYnXuSSGXHyqj3yu45xMj0rWDnuJ7Y3vzyZ2jKnGQT9RkhG0VxvGQs6tG9KrnzzXKLbmqzraxnjl1vnQHKo5mR6VrB32u2Pfvxt74/uL2fge6GdtzhqLjhmnfvzgux6Jcy7Go3bxu4hix+8xRujcaA7xPPiOfTYqWTvsLbY3vq/v2GpPHKwt9mocWcYKjYXv9Ml4yEG5+lrakJ42lbS5XPJqrpoT+fkusdU/MdWcTI9K1g77ic1jtje+P1nsEfJJJrVXedVfVR77WYL8xGu8lOWx6hiitLSt5pDFFowPmTUfIEZikyuOzXfss1HJ2mHvX55Jbm98/1V8HLvGNYJ2UYQcTz95vBmNpaoD6pQ3ii+ZqSNG81yjmlMUm3qdJz6Xzq1Zp5K1Q0vsU39Sisg8esNA6rP+SakxDyKVrB1aYnvje2Muh0rWDi2xjTGXQyVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrB4ttzIRUsnaw2MZMSCVrh5bYl/XOs/iGzaWyWFe9WTMz2ytx89tI9bZP3iI6etNn9QZT3hbqPbMOi0rWDi2xO1IL2lS5lmBxI2ssWxM71lXvxh6J8m0iSRkTF53qYgRxUzyL/WBQydqhJXYl7haqXCMk4NYtcZH4qoutY8bWuWPzuXReYjtztahk7XD+Yr96to3vR3fmtTt2tcAzszyKc8HRC/yB71yI4lgjzK9qowtXvGPHi0Ps01wtKlk7nJ/YX28ecJaN71mM3G20MPkeF3gkSnrWOzZtEUOPw1EactMuikcZdcSwnQ9tVac7ajyOfQnNL959q1jK1J+Oc5zFPjwqWTucXWztBnIOG9+zYK9fv36yMKOcUV7q+H6eYscLBcfEkofcUVByXrt27fgTuAioLsdyPHpKUFvmSzzoYpAhj9opNuaK86cvvlvsq00la4e9xb6Ije/ZxJ6frbUwkata6JDv2FVMZiQZ/UkMIF8UO7cjFrmi5JRXx9zRqz5pr4sYSPAqrhJ7bc7xqcNcPSpZO+wl9kVufM+ClWSIJSlYpHrcpJwY1Wmx81313Tt2bJ/F1vccn8VdOxYaC/NRv3xWgkIlto41V8YUx2iuNpWsHfa7Y9+/G1/UxvdRbMTgzkNZXtARyuPiP2+xl+7Y+4hN+a1bt4ZzQvg49gjxUXiN9YUXXihzmatJJWuHvcW+qI3vWagSG5CLhTt6tKwkPm+xkUj15Iw/Y+8jtiAnqI8RzP35558//oznJo6FY+rIpXpzdalk7bCf2DxmX9DG91lsvrOgWcAscgmnehY1Esey8xab7+STZMrL53mIHcsYC33l8Weoi1ID42WsOae5elSydtj7l2eS+zw3vgeJDYiU70Ac604mIXNMFJv6GB/jtiCx44XjvJDYcYyaiySlLD+tVFJHmOdFjdlcDpWsHVpin/qTUkTm0RsGUu/zJ6UzcZFiGzOikrVDS+wHceN7i22+DSpZO7TENsZcDpWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHSy2MRNSydrBYhszIZWsHVpiv/HGG8fvAHvppZd2r7zyyiIvv/zycSxtqlxbIcfa20WJ0Vs+lxht8cP7zNZe91vB20U7bz7Vm0cZb1UfIW+OY3yMM79/jdg4T2L0htPM6BwA+fO7y9dQmy1zMtupZO3QEhtZP/jgg929e/d2H3300SLEEEubKtdWtshAXVyMlagsZvJUi3okzBrkQpSlseV+146hGj8sjTPmoZ7zkb/HmNw+Cko8F60ckyEP879x48bi+9NNn0rWDi2xX3vttd0nn3yy++KLL3ZffvnlIsQQS5sq1wgWVnWnycQ7zz5ix3d5LyFptYirmEx8Dzhjod8ofxwvcdqTTFBWiUL5VrH5Xo2tumNzLnI544vnNKM+dAFgThxXYzN9Klk7tMS+ffv2sbBb/yOWNlWuESyQtbtFXMQc06ZaxJm4eOljrR/qJSTtWOhrC5f6fFEhz0iSahx5PrpQdMSmv/w9xtCGfEuP3owjXqQE7TmX7Bem3IqvLhymTyVrh5bYr7/++vHdeOt/xNKmyjWCxbEmXF6gtImLs5Irt6mEylBP7qquQ+47lnNnzuIwF/Ub5yIRR7J1xKaM79Qzz3ghEZRTT5zOL2Wxfz7jxUZjXDu3ZplK1g5Til0tsky8M+wrdpU3I8G2xou8sDnOZXnckMWQhMxJErFTJzFRttg3P/My11gmznJHpb88XqB/nScxijXbqGTtcCXv2BnaVIs4c5ZH8REs3rUYoN94d87Hgj61IT7H1OtncImtuyMxmgP5dOGinrr8Pcaor3h+FMd5yuXEm8ujkrXDdGKz2ERcXBkWqBa44pWD8vO+Y4t84WHRbxEbiNMY+Ix5BBJzR9b4Y/4sdiTPT0SxYznE80Yfiot5VK42HFfnKUL7aoxmO5WsHaYTWws5LroMi464KLYWP2wVe5Rf5Lyg8cXjzsImJzFRlgr6YEfNKPJWsYnjUT2PS2j88RxQxpjyeVK5+hHvvffeqTJi48/fZn8qWTtMJXYUMi66DIuOxUZ8bKP6qiwv2KX8gnpJABImLnS+x5glyIdYPGqvCcA4eSSOYyR+SWw9QsfxEcux5h3ReITiOE83b948Kc/niZzEqI2OoRqb6VPJ2mEqsRFEiyMvuoziqsXO9y1iV3kzkpactNcvptT/FrHVVxaOHLEPwbF+H0Cb+LuBCmLIkwUEjbFqT7za0Kfi4nlaY6lvsz+VrB2mEptFokUeF11GC55FS0wWg3KJTT0LL4u1lF/E3LSN8TFvBfHA97V+FKc++Iz1zDf/Qkvk2HjBGKGLUmwnumKD+lybp9lOJWuHltj8Uqf7Byq0qXIZY8ZUsnZoif3uu+/u7ty5s3v77bd377zzziLEEEubKpcxZkwla4eW2MaYy6GStYPFNmZCKlk7WGxjJqUSdisW25jJqcRdw2IbcwWo5F3CYhtzBajkXcJiG3NFqAQeYbGNuUJUEldYbGOuGJXIGYttzBWkkjlisY25olRCC4ttzBXHYhtzoFhsYw4Qi23MgWKxjTlwLLYxB4jFNuYAsdjGHCAW25gDxGIbc3B8vvs/bIc8SEtcYgoAAAAASUVORK5CYII=) +4. 构建完成后即可使用 npm 包。 + +### 完整代码示例 +```js +import { SaasModule } from '@cloudbase/saas-module' + +// 初始化模块名称 +const saasModule = new SaasModule('tcb:SignUp') + +// 调用小程序端接口 callMethod(methodName: string, data: object) +saasModule.callMethod('doSignIn', { + a: 1, + b: 2 +}) +``` + +## 服务端接口调用 +### 安装npm +```shell +npm install @cloudbase/saas-module wx-server-sdk sm-crypto -s +``` +### 代码示例 +```javascript +const SaasModule = require('@cloudbase/saas-module'); +// 初始化模块名称 +const saasModule = new SaasModule('tcb:SignUp', { + secretId: 'your-secret-id', + secretKey: 'your-secret-key' +}) + +// 调用服务端接口 callMethod(methodName: string, data: object) +saasModule.callMethod('doSignIn', { + a: 1, + b: 2 +}) +``` + +## 自定义接口 +自定义接口由模块定义接口名、入参、出参,业务方来实现接口逻辑。 + +模块会调用自定义接口来实现与业务已有系统的数据打通,接口调用参考管理端接口。 + +场景举例:用户签到后发放积分,签到模块会先调用业务实现的 发积分 接口,积分发放成功则完成签到。 + +### 实现规范 +一个模块下有多个自定义接口,开发者可选择一个云开发环境,系统会部署一个示例云函数到该环境下。 + +开发者在该函数内实现该模块的所有自定义接口。 +#### 目录结构 + +```shell +. +├── README.md +├── api # 每个文件对应一个自定义接口 +│ ├── sendPrize.js +│ └── demo.js +├── index.js # 负责将接口路由转发 +└── package.json +``` + +#### 实现接口 +例如,当前需要实现的自定义接口为 `sendPrize`,则编辑 /api/sendPrize.js文件。 + +```js +const objCloud = require('wx-server-sdk'); +/** + * 具体的业务函数,在这里实现你发奖,发积分的逻辑,data 入参是固定的,出参必须遵循规范 + * @param { object } data - 业务入参 + * @returns { object } - 返回参数 + * @returns { number } code 返回的状态标记,成功返回0, 非0代表错误 + * @returns { string } [msg] 如果成功,则可以不返回,如果失败把相应的错误原因中文描述放在这里 + * + */ +module.exports = async (data) => { + console.log("参数:", data); + // 这里实现你具体的业务逻辑,比如发积分,发奖 + return {code:0, msg:'suc'}; +}; + +``` + +**错误码** +1. -1:自定义接口未实现,请按规范在${methodApiFile}文件中编写代码实现接口 +2. -2:调用接口实现异常:${errMessage} \ No newline at end of file diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\347\256\241\347\220\206\347\253\257.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\347\256\241\347\220\206\347\253\257.md" new file mode 100644 index 000000000000..25188296c06a --- /dev/null +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\347\256\241\347\220\206\347\253\257.md" @@ -0,0 +1,19 @@ +# 管理端 + +## 账号创建与授权 + +1. 在控制台内的主页,点击创建账号并授予权限。 +2. 点击前往创建,在账号与权限设置弹窗内,新建用户并授予权限,支持按照模块授予用户权限。 +![](https://qcloudimg.tencent-cloud.cn/raw/3d6bb6f0a5d028a04da1c4b9f07ccc0a.png) + +## 获取访问链接 +控制台内右上角可获取链接 +1. 访问管理系统:会生成以超级管理员身份访问的链接,免密登录。 +2. 复制链接:给运营人员需要通过账号+密码登录的链接 +![](https://qcloudimg.tencent-cloud.cn/raw/5b6989389897618a44147e624f58204a.png) + +## 管理端登录 +1. 管理端支持账号与密码登录 +![](https://qcloudimg.tencent-cloud.cn/raw/8e070a67a7c0a976de4fc09333e07f33.png) +2. 登录后可在管理端进行配置 +![](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/console/guide/step1/prize.png) From b748140e08828886286c92a3b3eb8a1362637e94 Mon Sep 17 00:00:00 2001 From: wilsonsliu Date: Thu, 16 Dec 2021 21:55:27 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...13\345\272\217\347\273\204\344\273\266.md" | 4 ++-- .../\346\216\245\345\217\243.md" | 22 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" index 775948893544..711e50f91b4e 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" @@ -11,7 +11,7 @@ ├── cloudfunctions # 云开发云函数目录 ├── miniprogram # 小程序前端代码 │ ├── miniprogram_npm -│ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/saas-module,需要在 miniprogram 下安装依赖 +│ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/page-module,需要在 miniprogram 下安装依赖 │ ├── pages │ │ ├── index │ │ └── demo @@ -22,7 +22,7 @@ │ │ │ ├── config.js │ │ │ ├── images # 图片等资源 │ │ │ ├── miniprogram_npm # 构建后的npm包 -│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/saas-module +│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/page-module │ │ │ ├── package.json │ │ │ └── pages # 模块内示例页面 │ └── sitemap.json diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" index 6c58be8b67f0..02d9644ac344 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" @@ -10,7 +10,7 @@ ├── cloudfunctions # 云开发云函数目录 ├── miniprogram # 小程序前端代码 │ ├── miniprogram_npm -│ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/saas-module,需要在 miniprogram 下安装依赖 +│ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/page-module,需要在 miniprogram 下安装依赖 │ ├── pages │ │ ├── index │ │ └── demo @@ -21,7 +21,7 @@ │ │ │ ├── config.js │ │ │ ├── images │ │ │ ├── miniprogram_npm # 构建后的npm包 -│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/saas-module +│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/page-module │ │ │ ├── package.json │ │ │ └── pages │ └── sitemap.json @@ -29,12 +29,12 @@ ``` ### 引入sdk #### 组件内引入 -小程序端导入组件后,在组件目录下会安装好 `@cloudbase/saas-module`的npm包,可直接使用,无需额外引入。 +小程序端导入组件后,在组件目录下会安装好 `@cloudbase/page-module`的npm包,可直接使用,无需额外引入。 #### miniprogram/pages 下引入 参考[小程序使用Npm包](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html)进行引入。 -1. 在 `miniprogram` 下安装模块,`npm install @cloudbase/saas-module` +1. 在 `miniprogram` 下安装模块,`npm install @cloudbase/page-module` 2. 构建 npm,点击开发者工具中的菜单栏:工具 --> 构建 npm ![](https://res.wx.qq.com/wxdoc/dist/assets/img/construction.408e13ae.png) 3. 勾选“使用 npm 模块”选项 @@ -43,13 +43,13 @@ ### 完整代码示例 ```js -import { SaasModule } from '@cloudbase/saas-module' +import { PageModule } from '@cloudbase/page-module' // 初始化模块名称 -const saasModule = new SaasModule('tcb:SignUp') +const pageModule = new PageModule('tcb:SignUp') // 调用小程序端接口 callMethod(methodName: string, data: object) -saasModule.callMethod('doSignIn', { +pageModule.callMethod('doSignIn', { a: 1, b: 2 }) @@ -58,19 +58,19 @@ saasModule.callMethod('doSignIn', { ## 服务端接口调用 ### 安装npm ```shell -npm install @cloudbase/saas-module wx-server-sdk sm-crypto -s +npm install @cloudbase/page-module wx-server-sdk sm-crypto -s ``` ### 代码示例 ```javascript -const SaasModule = require('@cloudbase/saas-module'); +const PageModule = require('@cloudbase/page-module'); // 初始化模块名称 -const saasModule = new SaasModule('tcb:SignUp', { +const pageModule = new PageModule('tcb:SignUp', { secretId: 'your-secret-id', secretKey: 'your-secret-key' }) // 调用服务端接口 callMethod(methodName: string, data: object) -saasModule.callMethod('doSignIn', { +pageModule.callMethod('doSignIn', { a: 1, b: 2 }) From e2213829cabcb415119927248ecb53ecec4aa2ce Mon Sep 17 00:00:00 2001 From: wilsonsliu Date: Tue, 28 Dec 2021 21:23:35 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E6=8E=A5=E5=8F=A3=E6=93=8D=E4=BD=9C=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\346\216\245\345\217\243.md" | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" index 02d9644ac344..76c99db4d3a3 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" @@ -82,7 +82,22 @@ pageModule.callMethod('doSignIn', { 模块会调用自定义接口来实现与业务已有系统的数据打通,接口调用参考管理端接口。 场景举例:用户签到后发放积分,签到模块会先调用业务实现的 发积分 接口,积分发放成功则完成签到。 - +### 操作指南 +云开发相关操作,可前往[云开发](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html)了解详情。 + +**步骤1**:选择云开发环境,部署示例云函数 +![](https://qcloudimg.tencent-cloud.cn/raw/b54def8b602f5c4b36547a48e2887106.png) +**步骤2**:确认接口协议前往实现 +![](https://qcloudimg.tencent-cloud.cn/raw/cf05ca39fec115cd8e39954973e89d18.png) +**步骤3** 请前往微信开发者工具,切换云开发的环境 +![](htthttps://qcloudimg.tencent-cloud.cn/raw/606f4351cf22f57165eef1ad6dd1c64e.png) +**步骤4**:右键云函数文件夹进行代码下载 +![](https://qcloudimg.tencent-cloud.cn/raw/cf05ca39fec115cd8e39954973e89d18.png) +**步骤5**:在云函数下新建 /api/send_prize.js 文件并实现该接口 +![](https://qcloudimg.tencent-cloud.cn/raw/cf05ca39fec115cd8e39954973e89d18.png) +**步骤6**:上传云函数 +![](https://qcloudimg.tencent-cloud.cn/raw/bd1e4e3145dc632a202e1be25ceaeba6.png) +**步骤7**:点击下一步,确认连接到云函数 ### 实现规范 一个模块下有多个自定义接口,开发者可选择一个云开发环境,系统会部署一个示例云函数到该环境下。 From 2d142ebf8b622c983b761ed98d3005b245d15986 Mon Sep 17 00:00:00 2001 From: wilsonsliu Date: Fri, 31 Dec 2021 01:17:14 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...76\345\210\260\346\211\223\345\215\241.md" | 5 ++-- .../\344\273\213\347\273\215.md" | 3 +- ...13\345\272\217\347\273\204\344\273\266.md" | 28 ++++++++++--------- .../\346\216\245\345\217\243.md" | 16 +++++------ 4 files changed, 26 insertions(+), 26 deletions(-) diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" index 2595eb5a40e8..bfd70443f619 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/module/\347\255\276\345\210\260\346\211\223\345\215\241.md" @@ -3,11 +3,11 @@ 小程序中 “签到打卡”是一个典型的促进用户活跃,提高粘性的模块。 本模块支持典型的7日连续打卡,签到后可配置积分奖励,连续签到x天,可进行额外的抽奖。 -点击[小程序组件下载地址](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/signIn.zip)下载zip包 +点击[小程序组件下载地址](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/scene-module.zip)下载zip包 ## 效果截图 ### 小程序端效果截图 -![](https://qcloudimg.tencent-cloud.cn/raw/920e18da69c8f414d14a4695c56a0316.jpg) +![](https://qcloudimg.tencent-cloud.cn/raw/e1b38ea969e6e4bd5896190b0bbc7150.png) ### 管理端截图 1. ![添加奖品](https://scene-module-9gee6idgabd997ca-1306328562.tcloudbaseapp.com/signIn/console/guide/step1/prize.png) @@ -23,4 +23,3 @@ 活动名称:{{thing3.DATA}} 2. page: 即使用者订阅后,会收到一个服务通知消息,提醒签到打卡,然后点击这条消息,需要跳转到的小程序页面,这里根据自己页面路径自由配置。比如 pages/index/card 3. tag:表示当前是生效哪个签到打卡项目ID,当前固定为 continuous-weekly,一周连续签到。 - diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" index 76e3422cfac4..58ec2d9aa251 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\344\273\213\347\273\215.md" @@ -26,7 +26,7 @@ ### 使用入口 [下载微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html) 1. 开发者右键新建时,会有配置单页模板的入口进行插入和管理。 -![](https://qcloudimg.tencent-cloud.cn/raw/908ec2988651c3185554674f414b86aa.png) +![](https://qcloudimg.tencent-cloud.cn/raw/a3313221d295a411c2506e83ec856798.png) 2. 选择单页模块进行,如果未开通微信云开发需要先点击授权开通。 ![](https://qcloudimg.tencent-cloud.cn/raw/86ae58eda00b8ce0191b62b94b6624af.png) @@ -50,3 +50,4 @@ ### 小程序组件 每个模块都会有对应的小程序源码组件,开发者可直接导入使用,可根据自己的需要进行二开,或者基于模块提供的接口完全自己开发小程序页面。 +![](https://qcloudimg.tencent-cloud.cn/raw/d984368d6769b336e93131edc24b8d27.png) \ No newline at end of file diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" index 711e50f91b4e..af54c70df149 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\345\260\217\347\250\213\345\272\217\347\273\204\344\273\266.md" @@ -3,6 +3,15 @@ 小程序源码组件是由模块开发者提供模板示例,源码组件导入后可参考模块的 README 文件进行配置。 开发者可基于前端代码进行二次开发以满足自己的小程序交互样式需求。 +## 组件的导入 +1. 在 miniprogramRoot 目录下对文件夹点击右键,则弹出**配置单页模板**入口。 +2. 在单页模板控制台的小程序组件页面 +![](https://qcloudimg.tencent-cloud.cn/raw/b0e60a4bbdc4063f3f78d96dae3dfff2.png) +3. 选中组件并点击,弹出组件预览弹窗 +![](https://qcloudimg.tencent-cloud.cn/raw/d984368d6769b336e93131edc24b8d27.png) +4. 点击“导入到IDE”,导入成功并弹出提示弹窗。会在**打开当前控制台的目录**下创建 `page_module_{模块名}`目录,如遇文件夹冲突则会自动递增。组件导入成功后将自动导入示例页面路径到`app.json`内的[`pages`](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#pages)中。 +![](https://qcloudimg.tencent-cloud.cn/raw/47f30be83fb14a8960fafd4dfedf09ac.png) + ## 小程序目录树 ```shell @@ -14,28 +23,21 @@ │ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/page-module,需要在 miniprogram 下安装依赖 │ ├── pages │ │ ├── index -│ │ └── demo -│ ├── page_module # 场景应用安装的目录 -│ │ ├── sign-in # 按模块放置,可安装多个模块 +│ │ ├── page_module_sign_up # 导入目录规范 page_module_${模块名} │ │ │ ├── README.md │ │ │ ├── components # 模块内的组件 │ │ │ ├── config.js -│ │ │ ├── images # 图片等资源 -│ │ │ ├── miniprogram_npm # 构建后的npm包 -│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/page-module +│ │ │ ├── images +│ │ │ ├── miniprogram_npm # 构建后的npm包,包含 @cloudbase/page-module │ │ │ ├── package.json │ │ │ └── pages # 模块内示例页面 +│ │ └── demo │ └── sitemap.json ├── project.config.json ``` -## 组件的安装 -组件将安装在 `miniprogram/page_module` 目录下,每个模块一个文件夹。 - -`miniprogram/page_module/sign-in/pages`下为示例的页面。 -小程序的页面路径需要添加到`miniprogram/app.json`内的[`pages`](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#pages)。 ## 维护说明 -[小程序插件](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/)的前后端都由插件开发者维护,使用者无法看到插件的代码。只能指定依赖的插件版本,通过插件暴露的接口能力。 - 单页模板的开发者,会配套提供小程序源码组件,开发者会更新示例与修复示例里存在的BUG。 但是因为源码是交由开发者导入并修改,开发者遇到组件中遇到BUG,需要小程序开发者自行修复。 + +[小程序插件](https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/)的前后端都由插件开发者维护,使用者无法看到插件的代码。只能指定依赖的插件版本,通过插件暴露的接口能力。 \ No newline at end of file diff --git "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" index 76c99db4d3a3..6de5718abd2a 100644 --- "a/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" +++ "b/product/\347\247\273\345\212\250\344\270\216\351\200\232\344\277\241/\345\272\224\347\224\250\346\234\215\345\212\241\345\271\263\345\217\260/\345\274\200\345\217\221\346\214\207\345\215\227/\345\215\225\351\241\265\346\250\241\346\235\277/\346\216\245\345\217\243.md" @@ -13,17 +13,15 @@ │ ├── node_modules # 如果希望在 miniprogram/pages 下调用 @cloudbase/page-module,需要在 miniprogram 下安装依赖 │ ├── pages │ │ ├── index -│ │ └── demo -│ ├── page_module # 场景应用安装的目录 -│ │ ├── sign-in # 按模块放置,可安装多个模块 +│ │ ├── page_module_sign_up # 导入目录规范 page_module_${模块名} │ │ │ ├── README.md │ │ │ ├── components │ │ │ ├── config.js │ │ │ ├── images -│ │ │ ├── miniprogram_npm # 构建后的npm包 -│ │ │ ├── node_modules # 模块内会安装好相关的依赖,包括 @cloudbase/page-module +│ │ │ ├── miniprogram_npm # 构建后的npm包,包含 @cloudbase/page-module │ │ │ ├── package.json │ │ │ └── pages +│ │ └── demo │ └── sitemap.json ├── project.config.json ``` @@ -46,7 +44,7 @@ import { PageModule } from '@cloudbase/page-module' // 初始化模块名称 -const pageModule = new PageModule('tcb:SignUp') +const pageModule = new PageModule('tcb:sign_up') // 调用小程序端接口 callMethod(methodName: string, data: object) pageModule.callMethod('doSignIn', { @@ -64,7 +62,7 @@ npm install @cloudbase/page-module wx-server-sdk sm-crypto -s ```javascript const PageModule = require('@cloudbase/page-module'); // 初始化模块名称 -const pageModule = new PageModule('tcb:SignUp', { +const pageModule = new PageModule('tcb:sign_up', { secretId: 'your-secret-id', secretKey: 'your-secret-key' }) @@ -108,14 +106,14 @@ pageModule.callMethod('doSignIn', { . ├── README.md ├── api # 每个文件对应一个自定义接口 -│ ├── sendPrize.js +│ ├── send_prize.js │ └── demo.js ├── index.js # 负责将接口路由转发 └── package.json ``` #### 实现接口 -例如,当前需要实现的自定义接口为 `sendPrize`,则编辑 /api/sendPrize.js文件。 +例如,当前需要实现的自定义接口为 `send_prize`,则编辑 /api/send_prize.js文件。 ```js const objCloud = require('wx-server-sdk');