亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第2天 多端全棧項目實戰

標簽:
SpringBoot

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

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

课程讲师: 神思者

 



课程内容:

    乘客登录


课程收获:

         https://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



        https://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 不存在 则提示用户 需要注册。


https://img1.sycdn.imooc.com//631739190001bf0714630839.jpg




https://img1.sycdn.imooc.com//6317392e0001a53b14620844.jpg















    

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
27
獲贊與收藏
19

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 1
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消