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();