支付宝小程序账号直接访问https://open.alipay.com/ 注册,选择小程序类目,类目选「工具-文件管理」,审核时效1-2工作日。后端服务资源直接使用支付宝云开发,免费额度足够1000人以下企业使用,无需额外采购服务器。
提前准备营业执照扫描件、法人身份证正反面、100字以内的功能说明文档,说明系统为企业内部档案存储、查询、借阅用途即可。
直接访问https://opendocs.alipay.com/mini/ide/download 下载对应操作系统的支付宝小程序开发者工具,安装时全部选择默认配置即可。
打开开发者工具,选择「新建项目」,项目类型选「小程序」,模板选「云开发基础模板」,填写自己的小程序AppID(在支付宝开放平台控制台-小程序详情页可直接获取),项目名称填「企业档案管理系统」,点击确定完成初始化。
找到项目根目录下的app.json文件,替换成以下完整可直接复用的配置:
``` { "pages": [ "pages/index/index", "pages/archive/list", "pages/archive/detail", "pages/borrow/apply", "pages/user/center" ], "window": { "defaultTitle": "企业档案管理系统", "titleBarColor": "1677ff" }, "permission": { "scope.userInfo": { "desc": "需要获取你的身份信息用于档案借阅审批" } } } ```所有页面进入前先校验用户身份,仅企业内部实名认证用户可访问,在app.js的onLaunch生命周期里添加以下代码:
``` App({ onLaunch() { // 调取支付宝实名认证接口 my.getAuthCode({ scopes: ['auth_user'], success: (res) => { my.request({ url: 'https://你的云开发域名/auth', method: 'POST', data: { authCode: res.authCode }, success: (authRes) => { if (!authRes.data.isInternal) { my.alert({ title: '无访问权限', content: '仅企业内部员工可访问' }); my.navigateBack(); } // 存储用户身份信息 my.setStorageSync({ key: 'userInfo', data: authRes.data.userInfo }); } }) } }) } }) ```注意:云开发的auth接口直接在支付宝云控制台创建云函数,逻辑是拿authCode换用户手机号,匹配企业内部员工手机号库即可。
新建pages/archive/list页面,wxml代码如下:
```
对应页面js的查询逻辑代码如下:
``` Page({ data: { archiveList: [], searchKey: '' }, onLoad() { this.getArchiveList() }, getArchiveList() { my.cloudFunction.call({ name: 'getArchiveList', data: { searchKey: this.data.searchKey }, success: (res) => { this.setData({ archiveList: res.result.data }) } }) }, handleSearch(e) { this.setData({ searchKey: e.detail.value }, () => { this.getArchiveList() }) }, goDetail(e) { my.navigateTo({ url: `/pages/archive/detail?id=${e.currentTarget.dataset.id}` }) } }) ```新建pages/borrow/apply页面,提交逻辑核心代码如下:
``` submitApply() { const { archiveId, borrowReason, borrowDays } = this.data; const userInfo = my.getStorageSync({ key: 'userInfo' }).data; my.cloudFunction.call({ name: 'submitBorrowApply', data: { archiveId, borrowReason, borrowDays, applyUser: userInfo.name, applyUserId: userInfo.id }, success: () => { my.showToast({ content: '申请提交成功,审批结果将通过支付宝消息通知' }); my.navigateBack(); } }) } ```云函数submitBorrowApply额外添加消息订阅逻辑,调用支付宝统一消息发送接口,申请通过/驳回都实时推送给申请人,接口文档地址:https://opendocs.alipay.com/mini/introduce/message-template ,直接套用「审批通知」模板即可。
在开发者工具右上角点击「预览」,扫码在手机支付宝上打开测试,依次测试权限校验、档案搜索、详情查看、借阅申请功能,所有功能正常后点击「上传」,上传代码到开放平台。
登录支付宝开放平台,进入小程序控制台,找到版本管理,提交刚上传的版本审核,审核时提交的功能说明填「企业内部档案管理工具,提供档案查询、借阅申请功能,仅内部员工可访问」,审核时效1-3工作日,审核通过后点击发布即可上线。
权限校验不通过:检查员工手机号库是否包含测试用户的支付宝绑定手机号,云函数的auth接口是否正确解析authCode返回的用户信息。
档案列表加载失败:检查云函数getArchiveList的数据库权限是否设置为「所有用户可读」,数据库集合名称是否和代码里一致。
消息通知收不到:检查消息模板是否已经申请通过,用户是否已经授权接收小程序消息。
审核被驳回:检查小程序类目是否正确选择「工具-文件管理」,功能说明是否明确标注为内部使用,未对外提供服务。