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 }