| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- <template>
- <view>
- <view v-if="showLogin">
- <login :ocode="ocode" :appkey="appkey" scope="snsapi_userinfo" :visible="visible" @success="loginSuccess"
- @fail="loginFail" @cancel="loginCancel" />
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- // 获取用户信息
- ocode: '1015730314',
- // 商户appkey
- appkey: '9D6ACFE8CF9AFD07',
- // 是否授权可见
- visible: false,
- // 是否启动授权
- showLogin: false,
- // 获取用户信息
- appid: 'wxd6f090391d410534',
- }
- },
- onLoad() {
- this.hasUserInfo()
- },
- methods: {
- // 检查是否存在用户信息
- hasUserInfo() {
- let userInfo = uni.getStorageSync('userInfo');
- // console.log(userInfo);
- if (userInfo) {
- uni.reLaunch({
- url: "/pagesClockIn/home/home"
- })
- } else {
- // console.log("重新授权");
- this.showLogin = true
- this.visible = true
- }
- },
- // 授权成功回调
- loginSuccess(res) {
- // console.log("成功");
- let wxcode = res.detail.wxcode
- // 获取wxcode后请求登录
- this.login(wxcode)
- },
- // 授权失败回调
- loginFail() {
- // console.log("授权失败");
- uni.showModal({
- title: '提示',
- content: '授权:请先领取校园卡、并激活!',
- confirmText: '领取',
- success: (res) => {
- if (res.confirm) {
- uni.reLaunch({
- url: "/pages/qr_code/qr_code"
- });
- } else if (res.cancel) {
- uni.reLaunch({
- url: "/pagesClockIn/404/404"
- })
- }
- }
- });
- },
- // 授权取消回调
- loginCancel() {
- // console.log("取消");
- uni.showModal({
- title: '提示',
- content: '请先授权,否则无法使用该功能',
- confirmText: '授权',
- success: (res) => {
- if (res.confirm) {
- uni.reLaunch({
- url: "/pagesClockIn/index/index"
- })
- } else if (res.cancel) {
- uni.reLaunch({
- url: "/pagesClockIn/404/404"
- })
- }
- }
- });
- },
- // 用户登陆获取个人信息和token
- async login(wxcode) {
- let res = await this.$myRequest_clockIn({
- url: "/attendance/api/system/user/login/app",
- method: "post",
- header:{
- 'content-type': 'application/json',
- 'platform': 2,
- 'Accept-Language': 'zh-CN,zh;q=0.9'
- },
- data: {
- redirect_uri: `mnp://${this.appid}`,
- wxcode,
- }
- })
- // console.log(res);
- if (res.code == 200) {
- uni.setStorageSync("token", res.data.token)
- uni.reLaunch({
- url: "/pagesClockIn/home/home"
- })
- } else {
- uni.showToast({
- title: res.message,
- icon: 'none'
- })
- }
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- </style>
|