一、现有:公司Portal Web系统。
新需求:开发微信小程序,能查询 Portal 系统的数据。
新需求详解:
入口:“magic公司”微信公众号,点击底部菜单“智慧服务”-“货主在线门户”,打开 “XXX在线服务“” 小程序。
用户的微信号首次打开 打开 “XXX在线服务“” 小程序时(此微信号还未绑定Portal账号的),弹出登录页的微信绑定/手机绑定页面,需要微信快捷绑定 或 手机号绑定(手机号及短信验证码),提交时通过手机号找到对应的Portal账号.
未能查找到有效的Portal账号(账号启用,对应货主启用)则提示“此手机号未开通XXX在线服务,请联业务员”,绑定失败;否则绑定成功,直接显示此货主的运营首页。
二、用户账号表user_customer
CREATE TABLE `user_customer` (
`id` bigint(64) NOT NULL,
`user_name` varchar(20) DEFAULT NULL COMMENT '用户账号',
`company_id` bigint(64) DEFAULT NULL COMMENT '组织id',
`password` varchar(50) DEFAULT NULL COMMENT '登录密码',
`random_code` int(4) DEFAULT NULL COMMENT '密码盐值',
`real_name` varchar(20) DEFAULT NULL COMMENT '用户姓名',
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0禁用 ,1启用)',
`type` int(1) DEFAULT '2' COMMENT '账号类型(po用户)',
`phone` varchar(11) DEFAULT NULL COMMENT '手机号',
`customer_id` bigint(64) DEFAULT NULL COMMENT '所属货主',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`create_user` bigint(64) DEFAULT NULL,
`update_user` bigint(64) DEFAULT NULL,
`deleted` tinyint(1) DEFAULT '0',
`bind_wechat` tinyint(1) DEFAULT NULL COMMENT '微信小程序绑定(1-绑定,0-未绑定)',
`open_id` varchar(100) DEFAULT NULL COMMENT '微信openId',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
三、后端开发流程
1.提供微信小程序登录接口。小程序拿code换取openId。
2.提供获取用户绑定手机号信息。小程序拿着sessionKey、encryptedData(加密)、iv,调后台接口获取手机号(解密)。
3.微信小程序绑定Portal账号(user_customer,手机号和openId绑定)。
两种方式:
第一种:微信快捷绑定,小程序获取手机号;
第二种:输入手机号、验证码,绑定。(这里先跳过)
4.微信小程序portal登录(参数传openId)
5.微信小程序portal账号解绑(参数传openId)
6. 接口1-4网关不拦截(不需要校验token及权限),需要配置网关不拦截。
四、参考资料
1.微信公众平台 申请账号
https://mp.weixin.qq
2.微信小程序登录时序
https://developers.weixin.qq/miniprogram/dev/framework/open-ability/login.html
3.参考开发
https://github/binarywang/weixin-java-miniapp-demo
更多推荐
微信小程序后端开发
发布评论