#!/bin/bash


EnNetWorkId=$(ip link show | awk '/ether/ {print $2; exit}' | sed 's/://g')

#cooper管理域名
CooperDomain="https://coopervue.wesais.com"
CooperApiDomain="https://api.wesais.com/cooper2"
CooperUser="edge"
CooperPwd="Edge123!@#QWE"

#系统设置时区
timedatectl set-timezone Asia/Shanghai

encodeUrl() {
  echo "$1" | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g'
}


#==================
#====cooper========
#===================
searchCooperDev() {
  #  检查是否注册过
  Result=$(curl "${CooperApiDomain}/sideGate/list" \
    -H 'AuthRouter: /sideDevice/side' \
    -H "Authorization: Cooper-vue-token/${CooperToken}" \
    -H "Origin: ${CooperDomain}" \
    --data-raw "page=1&size=10&is_enable=0&device_id=${EnNetWorkId}&app_id=10101" \
    --compressed)

  DeviceId=$(echo ${Result} | grep -o "${NetWorkId}")
  echo ${DeviceId}
}

setCooperToken() {
  Result=$(curl "${CooperApiDomain}/account/login" \
    -H 'AuthRouter: /login?redirect=%2FsideDevice%2FsideEdit' \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H "Origin: ${CooperDomain}" \
    --data-raw "username=`encodeUrl ${CooperUser}`&password=`encodeUrl ${CooperPwd}`" \
    --compressed)
  #  获取token
  token=$(echo ${Result} | grep -o '"token":"[^"]*' | grep -o '[^"]*$')
  CooperToken=${token}
}

addCooperDevDo() {
  dateTime=$(date "+%Y-%m-%d %H:%M:%S")
  curl "${CooperApiDomain}/sideGate/update" \
    -H 'Accept: application/json, text/plain, */*' \
    -H 'AuthRouter: /sideDevice/sideEdit' \
    -H "Authorization: Cooper-vue-token/${CooperToken}" \
    -H "Origin: ${CooperDomain}" \
    --data-raw "device_id=${EnNetWorkId}&device_info=rk3588&device_domain=${EnNetWorkId}.edge.papa.com.cn&device_type=2302&app_id=10101&dev_platform=linux/arm64/v8" \
    --compressed
}

addCooperDev() {
  #  检查是否注册过
  DeviceId=`searchCooperDev`
  echo -e "====设备id为:${DeviceId}========"

  if [[ -z ${DeviceId} ]]; then
    echo -e "\n====备注为:${NetWorkId} 的设备没在cooper注册,注册ing"
    addCooperDevDo
  else
    echo -e "\n====备注为:${NetWorkId} 的设备已在cooper注册"
  fi
}





exec() {
  #cooper注册
  echo -e "\n====cooper设置网卡id和域名前缀===="
  setCooperToken
  addCooperDev
}

#========方法调用======
exec

