继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第2天 多端全栈项目实战

有梦
关注TA
已关注
手记 82
粉丝 27
获赞 19

课程名称:多端全栈项目实战:商业级代驾全流程落地

课程章节:  华夏代驾全栈小程序实战

课程讲师: 神思者

 



课程内容:

    乘客登录


课程收获:

         http://img4.sycdn.imooc.com/631734c70001f8f809160336.jpg

        1.首先编写 login 得sql 通过用户 openid 查询 tb_customer 是否存在用户

        2. service 里面 通过 登录code 发送到 vx 换取 openid 然后调用 sql 查询 返回id

        3.编写form 判断 传入得code是否为空

    @Data@Schema(description = "登陆系统")public class LoginForm {
    @NotBlank(message = "code不能为空")
    @Schema(description = "微信小程序临时授权")
    private String code;}

        4.编写 controller  调用service 获取 id



        http://img1.sycdn.imooc.com/63173635000182da09240303.jpg


    1.同样的 需要编写from类

    2.然后编写 feign Api  

    @PostMapping("/customer/login")
    public R login(LoginForm form);


    3.service  调用 feign得api  获取到 用户id


    @Override
    public Long login(LoginForm form) {
        R r = cstServiceApi.login(form);
        String userId = MapUtil.getStr(r, "userId");
        if (!StrUtil.isBlank(userId)) {
            return Convert.toLong(userId);
        }
        return null;
    }

    

    4.controller  获取id后 判断是否 为空 如果不为空 返回token 及 提示登录成功

     @PostMapping("/login")
    @Operation(summary = "登陆系统")
    public R login(@RequestBody @Valid LoginForm form) {
        Long customerId = customerService.login(form);
        if (customerId != null) {
            StpUtil.login(customerId);
            String token = StpUtil.getTokenInfo().getTokenValue();
            return R.ok().put("token", token);
        }
        return R.ok();
    }

    

前端登录方面 需要使用 uni.login 


login: function() {
    let that = this;
    uni.login({
        provider: 'weixin',
        success: function(resp) {
            let code = resp.code;
            let data = {
                code: code            };
            that.ajax(that.url.login, 'POST', data, function(resp) {
                if (!resp.data.hasOwnProperty('token')) {
                    that.$refs.uToast.show({
                        title: '请先注册',
                        type: 'error'
                    });
                } else {
                    let token = resp.data.token;
                    uni.setStorageSync('token', token);
                    that.$refs.uToast.show({
                        title: '登陆成功',
                        type: 'success',
                        callback: function() {
                            uni.switchTab({
                                url: '../'
                            });
                        }
                    });
                }
            });
        }
    });}



 思路 : 获取code 调用接口  login 如果返回token 存在 则跳转至首页, 如果token 不存在 则提示用户 需要注册。


http://img3.mukewang.com/631739190001bf0714630839.jpg




http://img4.mukewang.com/6317392e0001a53b14620844.jpg















    

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

你好 我想请问这个资料的解压码是啥


查看全部评论