【三】鸡汤来咯开发学习笔记-44

前端 · 2024-07-31

1.在app.vue中引入user.js,其中这里给里面的函数传值,pinia存储,userStore.loginSuccess({...res,showToast:false});这里面的...是指展开res对象内容,然后后面又传了一个值,刚好就能代替掉了,这个showtoast就变成false了,然后组成了一个新的对象

import{onLaunch,onShow,onHide} from "@dcloudio/uni-app"
    import { useUserStore } from "./stores/user";

    const uniIdco =uniCloud.importObject('uni-id-co')
    const userStore =useUserStore()
    onLaunch(()=>{
        console.log('APP Lanch')
        
        uni.login({
            success:login=>{
                uniIdco.loginByWeixin({
                    code:login.code
                }).then(res=>{
                    userStore.loginSuccess({...res,showToast:false});
                })
            }
        })
    })

2.修改user.js里面的内容,获取我们想要的字段wx_openid.mp as openid这个的意思是wx_openid中的mp值我们as为openid的名字

这个是userinfo,登录进来时数据的初始化获取

try {
            let res = await usersTable.where("'_id' == $cloudEnv_uid")
                .field('mobile,username,email,avatar,wx_openid.mp as openid,register_date')
                .get()

3.由于wx的openid不能随便获取,所以我们需要在uni-id-users.schema的此处权限校验先删除(后面补上,方便开发)

4.给self加上pinia存储储存的属性,getDaysDifference这个在tool.js里面的引用,ai的时间戳返回距离当前天数

<view class="info">
                    <view class="username">{{UserStore.userInfo.username}}</view>
                    <view class="text">喝汤的第{{getDaysDifference(UserStore.userInfo.register_date)}}天</view>
                </view>

js部分


import { useUserStore } from "../../stores/user";
import { getDaysDifference } from "../../utils/tools";
const UserStore = useUserStore();

Theme Jasmine by Kent Liao