<script setup lang="ts">
import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
import { store } from "./store";
onLaunch(async (query) => {
  
  
  // wx.getLaunchOptionsSync((res:any) => {
  //   console.log('获取本次应用启动的参数信息',res)
  // })

  await store.dispatch('serveInfo/wxLogin',{authType:'wx',isJudg:true}) // 查看当前用户是否为新用户
  // console.log('查看当前用户是否为新用户',res)
  let userInfo = uni.getStorageSync('userInfo')

  // savePromoteInfo(query)   // 新用户
  if(!userInfo.phoneNumber) savePromoteInfo(query)   // 新用户
  
  autoUpdate()   // 检查版本更新

});
onShow(() => {
  console.log("App Show");
});
onHide(() => {
  console.log("App Hide");
});

/**
 * 自动更新版本
 */
function autoUpdate(){
     // 获取小程序更新机制兼容 
    if (uni.canIUse('getUpdateManager')) {
        const updateManager = uni.getUpdateManager()
        // 检查是否有新版本发布
        updateManager.onCheckForUpdate(function (res) {
            if (res.hasUpdate) {
                //小程序有新版本，则静默下载新版本，做好更新准备
                updateManager.onUpdateReady(function () {
                    // uni.jxAlert({
                    //     title: '更新提示',
                    //     content: '应用已经升级到新版本了请及时更新',
                    //     success: () => {
                    //         updateManager.applyUpdate()
                    //     }
                    // })
                    uni.showModal({
                      title:'更新提示',
                      content: '应用已经升级到新版本了请及时更新',
                      confirmText: '确定',
                      showCancel: false,
                      confirmColor: "#51b535",
                      success: () => {
                        updateManager.applyUpdate()
                      }
                    })
                })
                // 新的版本下载失败
                updateManager.onUpdateFailed(function () {
                    uni.showModal({
                        title: '温馨提示',
                        content: '新版本已经上线，请您删除当前小程序，重新搜索打开',
                    })
                })
            }
        })
    } else {
        // 提示用户在最新版本的客户端上体验
        uni.showModal({
            title: '温馨提示',
            content: '当前微信版本过低，可能无法使用该功能，请升级到最新版本后重试。'
        })
    }
}

/**
 * 是否保存推荐信息
 */
function savePromoteInfo(query:any){
   if(query?.scene  && query.scene === 1047){
    // 扫描小程序码进入
    if(query.query){
      console.log(query,"App Launch,扫码的参数信息",query?.query);
      const encodedStr = decodeURIComponent(query.query.scene); // 编码单个参数
      console.log('encodedStr',encodedStr)
      uni.setStorageSync('promotionSource',encodedStr.slice(8))
    }
   }
}
</script>
<style>
@import './static/font/iconfont.css';
page {
  background-color: #efefef;
}
</style>
