当前位置: 首页 > news >正文

第四篇:服务商(工人端)-01服务商入驻申请

目录

  • 1 需求分析
  • 2 创建数据源
  • 3 搭建申请页面
  • 4 搭建申请查看页面
  • 5 搭建跳转逻辑
  • 总结

在用户小程序中注册的普通用户,如果想要成为平台的服务提供商,需要通过入驻流程提交必要的资质信息,并经过平台的审核。这是确保服务商质量,构建平台信任体系的第一步。

1 需求分析

核心需求是:

  • 用户可以在服务商小程序或用户小程序的特定入口发起入驻申请。
  • 申请人需要填写个人信息、联系方式、服务经验、服务区域等。
  • 申请人需要上传身份证明(如身份证正反面)和相关的职业资质证明图片。
  • 提交申请后,系统应记录申请信息,并将服务商状态标记为“待审核”。
  • 申请人能够查看自己的申请状态(待审核、已通过、已拒绝)。
  • 入驻申请的审核由管理员在管理后台完成。

2 创建数据源

添加一个服务商申请表,添加必要的字段
在这里插入图片描述

3 搭建申请页面

在小程序端我的页面,我们搭建一个菜单服务商入驻申请
在这里插入图片描述
创建一个服务商入驻申请页面
在这里插入图片描述
添加表单容器,数据模型选择我们的服务商申请表
在这里插入图片描述
将自我介绍改为多行输入
在这里插入图片描述
审核状态的选中值改为1
在这里插入图片描述
所属用户从全局变量绑定数据标识
在这里插入图片描述
将无需向用户显示的字段进行隐藏
在这里插入图片描述
打开必填字段
在这里插入图片描述
继续添加一个申请成功的页面
在这里插入图片描述
搭建申请成功的布局
在这里插入图片描述
在表单提交成功后跳转到申请成功的页面
在这里插入图片描述

4 搭建申请查看页面

当申请提交之后,后续我们再打开这个模块的时候就是查看页面,创建一个申请查看页面
在这里插入图片描述
添加数据详情组件,数据模型选择服务商申请表
在这里插入图片描述
数据筛选配置为openid等于我们系统变量里的openId
在这里插入图片描述

5 搭建跳转逻辑

回到我的页面,搭建一下申请的跳转逻辑,先要检查用户是否注册,如果未注册我们就要求注册。这里可以沿用我们在服务详情页面的功能,如果已经注册看是否首次申请,如果首次申请就跳转到申请页面,如果已经申请过了就跳转到查看页面。

新建一个javascript方法

function generateRandomOpenID(length = 28, prefix = 'o', options = {}) {// 参数验证if (length <= prefix.length) {throw new Error('OpenID总长度必须大于前缀长度');}// 配置选项const { uppercase = false, includeNumbers = true,timestamp = false } = options;// 字符集let chars = 'abcdefghijklmnopqrstuvwxyz';if (uppercase) chars += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';if (includeNumbers) chars += '0123456789';// 计算随机部分长度let randomLength = length - prefix.length;// 如果启用时间戳,预留8位给时间戳(缩短随机部分)let timestampPart = '';if (timestamp) {if (randomLength < 9) {throw new Error('启用时间戳选项时,总长度至少需要比前缀长9位');}timestampPart = Math.floor(Date.now() / 1000).toString(36).padStart(8, '0');randomLength -= 8;}// 生成随机字符串let randomPart = '';for (let i = 0; i < randomLength; i++) {randomPart += chars.charAt(Math.floor(Math.random() * chars.length));}// 组合结果return prefix + (timestamp ? timestampPart + randomPart : randomPart);
}
export default async function({event, data}) {const userInfo = await $w.auth.getUserInfo()const openid = userInfo.openId||generateRandomOpenID()console.log("openid",openid)const result = await $w.cloud.callDataSource({dataSourceName: 'userManagement_hrhzd6x',methodName: 'getUserInfo',params: {openid: openid}, // 方法入参});console.log("result",result)if (result?.data?.isRegistered) {$w.utils.navigateTo({pageId: 'u_shen_qing_cha_kan', // 页面 Idparams: {}});} else {$w.utils.showModal({title: '注册提示',content: '尚未注册,请先注册用户',success(res) {if (res.confirm) {console.log('用户点击确定');$w.modal1.open({})} else if (res.cancel) {console.log('用户点击取消');}}});}}

然后给我们的组件绑定这个方法
在这里插入图片描述

总结

本篇我们介绍了服务商入驻申请的搭建过程,包括搭建数据源,创建页面,配置页面跳转等步骤。服务商是我们小程序的核心角色,下一篇我们就搭建一下管理员审核的功能。

相关文章:

  • 数学:初步理解什么是柯西序列?
  • csharp基础....
  • 【术语扫盲】评估指标Precision、Recall、F1-score、Support是什么含义?
  • Go 语言中switch case条件分支语句
  • 【明日方舟 × 红黑树】干员调度如何不掉线?算法工程的平衡魔法全揭秘!
  • 0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
  • 掌握Git核心:版本控制、分支管理与远程操作
  • 【AI智能体】Dify 从部署到使用操作详解
  • LeetCode - 94. 二叉树的中序遍历
  • LeetCode 高频 SQL 50 题(基础版)之 【高级字符串函数 / 正则表达式 / 子句】· 上
  • 云原生技术驱动 IT 架构现代化转型:企业实践与落地策略全解
  • 2025-04-20-CPU-GPU-NPU 的区别及应用前景
  • Java处理字符数组转换为开始日期和结束日期
  • CCF GESP202503 Grade4-B4263 [GESP202503 四级] 荒地开垦
  • 自然语言处理——文本分类
  • QRadioButton(续)+ CheckBox + QLabel(2)
  • Spring Cloud微服务架构实践指南
  • 为什么要引入内联函数?
  • 71常用控件_QHBoxLayout的使用
  • OCS2库及其在足式机器人上的应用
  • 南京本地网站/成人培训机构
  • 学会网站建设总结/体验营销策划方案
  • 京东物流网站/电子报刊的传播媒体是什么
  • 校园网站建设需要什么/百度贴吧官网入口
  • 南京做网站优化/chrome官网
  • 徐州网站建设费用/推广赚钱一个50元