github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/vin-code/general_vehicle.go (about)

     1  package vincode
     2  
     3  import (
     4  	"github.com/artisanhe/tools/vin-code/mfrs/general"
     5  	"github.com/artisanhe/tools/vin-code/misc"
     6  )
     7  
     8  // note this file not for GM(通用汽车)
     9  type GeneralVINCode string
    10  
    11  func (str GeneralVINCode) ParseWMI() (WMIData, error) {
    12  	wmi := WMIData{}
    13  	wmi.Continent = misc.GetVINContinent(string(str))
    14  	wmi.Country = misc.GetVINCountry(string(str))
    15  	wmi.Manufacturer = misc.GetVINManuf(string(str))
    16  
    17  	return wmi, nil
    18  }
    19  
    20  func (str GeneralVINCode) ParseVDS() (VDSData, error) {
    21  	vds := VDSData{}
    22  	return vds, nil
    23  }
    24  
    25  func (str GeneralVINCode) ParseVIS() (VISData, error) {
    26  	re := general.GetVISRune(string(str))
    27  	vis := VISData{}
    28  	vis.SequenceNO = re.SequenceNO
    29  	vis.ModelYear = misc.GetModelYearStr(re.YearRune)
    30  	if vis.ModelYear == "0" {
    31  		return vis, VINCodeParseYearError
    32  	}
    33  
    34  	return vis, nil
    35  }