Ai
1 Star 0 Fork 0

MrCoder/openapi

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
model_af_event_notification.go 20.15 KB
一键复制 编辑 原始数据 按行查看 历史
MrCoder 提交于 2023-12-22 15:27 +08:00 . update
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
/*
Naf_EventExposure
AF Event Exposure Service. © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved.
API version: 1.2.0
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package OpenAPI_Naf_EventExposure
import (
"encoding/json"
"fmt"
"time"
)
// checks if the AfEventNotification type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &AfEventNotification{}
// AfEventNotification Represents information related to an event to be reported.
type AfEventNotification struct {
Event AfEvent `json:"event"`
// string with format 'date-time' as defined in OpenAPI.
TimeStamp time.Time `json:"timeStamp"`
SvcExprcInfos []ServiceExperienceInfoPerApp `json:"svcExprcInfos,omitempty"`
UeMobilityInfos []UeMobilityCollection `json:"ueMobilityInfos,omitempty"`
UeCommInfos []UeCommunicationCollection `json:"ueCommInfos,omitempty"`
ExcepInfos []ExceptionInfo `json:"excepInfos,omitempty"`
CongestionInfos []UserDataCongestionCollection `json:"congestionInfos,omitempty"`
PerfDataInfos []PerformanceDataCollection `json:"perfDataInfos,omitempty"`
DispersionInfos []DispersionCollection `json:"dispersionInfos,omitempty"`
CollBhvrInfs []CollectiveBehaviourInfo `json:"collBhvrInfs,omitempty"`
MsQoeMetrInfos []MsQoeMetricsCollection `json:"msQoeMetrInfos,omitempty"`
MsConsumpInfos []MsConsumptionCollection `json:"msConsumpInfos,omitempty"`
MsNetAssInvInfos []MsNetAssInvocationCollection `json:"msNetAssInvInfos,omitempty"`
MsDynPlyInvInfos []MsDynPolicyInvocationCollection `json:"msDynPlyInvInfos,omitempty"`
MsAccActInfos []MSAccessActivityCollection `json:"msAccActInfos,omitempty"`
}
type _AfEventNotification AfEventNotification
// NewAfEventNotification instantiates a new AfEventNotification object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewAfEventNotification(event AfEvent, timeStamp time.Time) *AfEventNotification {
this := AfEventNotification{}
this.Event = event
this.TimeStamp = timeStamp
return &this
}
// NewAfEventNotificationWithDefaults instantiates a new AfEventNotification object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewAfEventNotificationWithDefaults() *AfEventNotification {
this := AfEventNotification{}
return &this
}
// GetEvent returns the Event field value
func (o *AfEventNotification) GetEvent() AfEvent {
if o == nil {
var ret AfEvent
return ret
}
return o.Event
}
// GetEventOk returns a tuple with the Event field value
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetEventOk() (*AfEvent, bool) {
if o == nil {
return nil, false
}
return &o.Event, true
}
// SetEvent sets field value
func (o *AfEventNotification) SetEvent(v AfEvent) {
o.Event = v
}
// GetTimeStamp returns the TimeStamp field value
func (o *AfEventNotification) GetTimeStamp() time.Time {
if o == nil {
var ret time.Time
return ret
}
return o.TimeStamp
}
// GetTimeStampOk returns a tuple with the TimeStamp field value
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetTimeStampOk() (*time.Time, bool) {
if o == nil {
return nil, false
}
return &o.TimeStamp, true
}
// SetTimeStamp sets field value
func (o *AfEventNotification) SetTimeStamp(v time.Time) {
o.TimeStamp = v
}
// GetSvcExprcInfos returns the SvcExprcInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetSvcExprcInfos() []ServiceExperienceInfoPerApp {
if o == nil || IsNil(o.SvcExprcInfos) {
var ret []ServiceExperienceInfoPerApp
return ret
}
return o.SvcExprcInfos
}
// GetSvcExprcInfosOk returns a tuple with the SvcExprcInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetSvcExprcInfosOk() ([]ServiceExperienceInfoPerApp, bool) {
if o == nil || IsNil(o.SvcExprcInfos) {
return nil, false
}
return o.SvcExprcInfos, true
}
// HasSvcExprcInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasSvcExprcInfos() bool {
if o != nil && !IsNil(o.SvcExprcInfos) {
return true
}
return false
}
// SetSvcExprcInfos gets a reference to the given []ServiceExperienceInfoPerApp and assigns it to the SvcExprcInfos field.
func (o *AfEventNotification) SetSvcExprcInfos(v []ServiceExperienceInfoPerApp) {
o.SvcExprcInfos = v
}
// GetUeMobilityInfos returns the UeMobilityInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetUeMobilityInfos() []UeMobilityCollection {
if o == nil || IsNil(o.UeMobilityInfos) {
var ret []UeMobilityCollection
return ret
}
return o.UeMobilityInfos
}
// GetUeMobilityInfosOk returns a tuple with the UeMobilityInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetUeMobilityInfosOk() ([]UeMobilityCollection, bool) {
if o == nil || IsNil(o.UeMobilityInfos) {
return nil, false
}
return o.UeMobilityInfos, true
}
// HasUeMobilityInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasUeMobilityInfos() bool {
if o != nil && !IsNil(o.UeMobilityInfos) {
return true
}
return false
}
// SetUeMobilityInfos gets a reference to the given []UeMobilityCollection and assigns it to the UeMobilityInfos field.
func (o *AfEventNotification) SetUeMobilityInfos(v []UeMobilityCollection) {
o.UeMobilityInfos = v
}
// GetUeCommInfos returns the UeCommInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetUeCommInfos() []UeCommunicationCollection {
if o == nil || IsNil(o.UeCommInfos) {
var ret []UeCommunicationCollection
return ret
}
return o.UeCommInfos
}
// GetUeCommInfosOk returns a tuple with the UeCommInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetUeCommInfosOk() ([]UeCommunicationCollection, bool) {
if o == nil || IsNil(o.UeCommInfos) {
return nil, false
}
return o.UeCommInfos, true
}
// HasUeCommInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasUeCommInfos() bool {
if o != nil && !IsNil(o.UeCommInfos) {
return true
}
return false
}
// SetUeCommInfos gets a reference to the given []UeCommunicationCollection and assigns it to the UeCommInfos field.
func (o *AfEventNotification) SetUeCommInfos(v []UeCommunicationCollection) {
o.UeCommInfos = v
}
// GetExcepInfos returns the ExcepInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetExcepInfos() []ExceptionInfo {
if o == nil || IsNil(o.ExcepInfos) {
var ret []ExceptionInfo
return ret
}
return o.ExcepInfos
}
// GetExcepInfosOk returns a tuple with the ExcepInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetExcepInfosOk() ([]ExceptionInfo, bool) {
if o == nil || IsNil(o.ExcepInfos) {
return nil, false
}
return o.ExcepInfos, true
}
// HasExcepInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasExcepInfos() bool {
if o != nil && !IsNil(o.ExcepInfos) {
return true
}
return false
}
// SetExcepInfos gets a reference to the given []ExceptionInfo and assigns it to the ExcepInfos field.
func (o *AfEventNotification) SetExcepInfos(v []ExceptionInfo) {
o.ExcepInfos = v
}
// GetCongestionInfos returns the CongestionInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetCongestionInfos() []UserDataCongestionCollection {
if o == nil || IsNil(o.CongestionInfos) {
var ret []UserDataCongestionCollection
return ret
}
return o.CongestionInfos
}
// GetCongestionInfosOk returns a tuple with the CongestionInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetCongestionInfosOk() ([]UserDataCongestionCollection, bool) {
if o == nil || IsNil(o.CongestionInfos) {
return nil, false
}
return o.CongestionInfos, true
}
// HasCongestionInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasCongestionInfos() bool {
if o != nil && !IsNil(o.CongestionInfos) {
return true
}
return false
}
// SetCongestionInfos gets a reference to the given []UserDataCongestionCollection and assigns it to the CongestionInfos field.
func (o *AfEventNotification) SetCongestionInfos(v []UserDataCongestionCollection) {
o.CongestionInfos = v
}
// GetPerfDataInfos returns the PerfDataInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetPerfDataInfos() []PerformanceDataCollection {
if o == nil || IsNil(o.PerfDataInfos) {
var ret []PerformanceDataCollection
return ret
}
return o.PerfDataInfos
}
// GetPerfDataInfosOk returns a tuple with the PerfDataInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetPerfDataInfosOk() ([]PerformanceDataCollection, bool) {
if o == nil || IsNil(o.PerfDataInfos) {
return nil, false
}
return o.PerfDataInfos, true
}
// HasPerfDataInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasPerfDataInfos() bool {
if o != nil && !IsNil(o.PerfDataInfos) {
return true
}
return false
}
// SetPerfDataInfos gets a reference to the given []PerformanceDataCollection and assigns it to the PerfDataInfos field.
func (o *AfEventNotification) SetPerfDataInfos(v []PerformanceDataCollection) {
o.PerfDataInfos = v
}
// GetDispersionInfos returns the DispersionInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetDispersionInfos() []DispersionCollection {
if o == nil || IsNil(o.DispersionInfos) {
var ret []DispersionCollection
return ret
}
return o.DispersionInfos
}
// GetDispersionInfosOk returns a tuple with the DispersionInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetDispersionInfosOk() ([]DispersionCollection, bool) {
if o == nil || IsNil(o.DispersionInfos) {
return nil, false
}
return o.DispersionInfos, true
}
// HasDispersionInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasDispersionInfos() bool {
if o != nil && !IsNil(o.DispersionInfos) {
return true
}
return false
}
// SetDispersionInfos gets a reference to the given []DispersionCollection and assigns it to the DispersionInfos field.
func (o *AfEventNotification) SetDispersionInfos(v []DispersionCollection) {
o.DispersionInfos = v
}
// GetCollBhvrInfs returns the CollBhvrInfs field value if set, zero value otherwise.
func (o *AfEventNotification) GetCollBhvrInfs() []CollectiveBehaviourInfo {
if o == nil || IsNil(o.CollBhvrInfs) {
var ret []CollectiveBehaviourInfo
return ret
}
return o.CollBhvrInfs
}
// GetCollBhvrInfsOk returns a tuple with the CollBhvrInfs field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetCollBhvrInfsOk() ([]CollectiveBehaviourInfo, bool) {
if o == nil || IsNil(o.CollBhvrInfs) {
return nil, false
}
return o.CollBhvrInfs, true
}
// HasCollBhvrInfs returns a boolean if a field has been set.
func (o *AfEventNotification) HasCollBhvrInfs() bool {
if o != nil && !IsNil(o.CollBhvrInfs) {
return true
}
return false
}
// SetCollBhvrInfs gets a reference to the given []CollectiveBehaviourInfo and assigns it to the CollBhvrInfs field.
func (o *AfEventNotification) SetCollBhvrInfs(v []CollectiveBehaviourInfo) {
o.CollBhvrInfs = v
}
// GetMsQoeMetrInfos returns the MsQoeMetrInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetMsQoeMetrInfos() []MsQoeMetricsCollection {
if o == nil || IsNil(o.MsQoeMetrInfos) {
var ret []MsQoeMetricsCollection
return ret
}
return o.MsQoeMetrInfos
}
// GetMsQoeMetrInfosOk returns a tuple with the MsQoeMetrInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetMsQoeMetrInfosOk() ([]MsQoeMetricsCollection, bool) {
if o == nil || IsNil(o.MsQoeMetrInfos) {
return nil, false
}
return o.MsQoeMetrInfos, true
}
// HasMsQoeMetrInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasMsQoeMetrInfos() bool {
if o != nil && !IsNil(o.MsQoeMetrInfos) {
return true
}
return false
}
// SetMsQoeMetrInfos gets a reference to the given []MsQoeMetricsCollection and assigns it to the MsQoeMetrInfos field.
func (o *AfEventNotification) SetMsQoeMetrInfos(v []MsQoeMetricsCollection) {
o.MsQoeMetrInfos = v
}
// GetMsConsumpInfos returns the MsConsumpInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetMsConsumpInfos() []MsConsumptionCollection {
if o == nil || IsNil(o.MsConsumpInfos) {
var ret []MsConsumptionCollection
return ret
}
return o.MsConsumpInfos
}
// GetMsConsumpInfosOk returns a tuple with the MsConsumpInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetMsConsumpInfosOk() ([]MsConsumptionCollection, bool) {
if o == nil || IsNil(o.MsConsumpInfos) {
return nil, false
}
return o.MsConsumpInfos, true
}
// HasMsConsumpInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasMsConsumpInfos() bool {
if o != nil && !IsNil(o.MsConsumpInfos) {
return true
}
return false
}
// SetMsConsumpInfos gets a reference to the given []MsConsumptionCollection and assigns it to the MsConsumpInfos field.
func (o *AfEventNotification) SetMsConsumpInfos(v []MsConsumptionCollection) {
o.MsConsumpInfos = v
}
// GetMsNetAssInvInfos returns the MsNetAssInvInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetMsNetAssInvInfos() []MsNetAssInvocationCollection {
if o == nil || IsNil(o.MsNetAssInvInfos) {
var ret []MsNetAssInvocationCollection
return ret
}
return o.MsNetAssInvInfos
}
// GetMsNetAssInvInfosOk returns a tuple with the MsNetAssInvInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetMsNetAssInvInfosOk() ([]MsNetAssInvocationCollection, bool) {
if o == nil || IsNil(o.MsNetAssInvInfos) {
return nil, false
}
return o.MsNetAssInvInfos, true
}
// HasMsNetAssInvInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasMsNetAssInvInfos() bool {
if o != nil && !IsNil(o.MsNetAssInvInfos) {
return true
}
return false
}
// SetMsNetAssInvInfos gets a reference to the given []MsNetAssInvocationCollection and assigns it to the MsNetAssInvInfos field.
func (o *AfEventNotification) SetMsNetAssInvInfos(v []MsNetAssInvocationCollection) {
o.MsNetAssInvInfos = v
}
// GetMsDynPlyInvInfos returns the MsDynPlyInvInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetMsDynPlyInvInfos() []MsDynPolicyInvocationCollection {
if o == nil || IsNil(o.MsDynPlyInvInfos) {
var ret []MsDynPolicyInvocationCollection
return ret
}
return o.MsDynPlyInvInfos
}
// GetMsDynPlyInvInfosOk returns a tuple with the MsDynPlyInvInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetMsDynPlyInvInfosOk() ([]MsDynPolicyInvocationCollection, bool) {
if o == nil || IsNil(o.MsDynPlyInvInfos) {
return nil, false
}
return o.MsDynPlyInvInfos, true
}
// HasMsDynPlyInvInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasMsDynPlyInvInfos() bool {
if o != nil && !IsNil(o.MsDynPlyInvInfos) {
return true
}
return false
}
// SetMsDynPlyInvInfos gets a reference to the given []MsDynPolicyInvocationCollection and assigns it to the MsDynPlyInvInfos field.
func (o *AfEventNotification) SetMsDynPlyInvInfos(v []MsDynPolicyInvocationCollection) {
o.MsDynPlyInvInfos = v
}
// GetMsAccActInfos returns the MsAccActInfos field value if set, zero value otherwise.
func (o *AfEventNotification) GetMsAccActInfos() []MSAccessActivityCollection {
if o == nil || IsNil(o.MsAccActInfos) {
var ret []MSAccessActivityCollection
return ret
}
return o.MsAccActInfos
}
// GetMsAccActInfosOk returns a tuple with the MsAccActInfos field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *AfEventNotification) GetMsAccActInfosOk() ([]MSAccessActivityCollection, bool) {
if o == nil || IsNil(o.MsAccActInfos) {
return nil, false
}
return o.MsAccActInfos, true
}
// HasMsAccActInfos returns a boolean if a field has been set.
func (o *AfEventNotification) HasMsAccActInfos() bool {
if o != nil && !IsNil(o.MsAccActInfos) {
return true
}
return false
}
// SetMsAccActInfos gets a reference to the given []MSAccessActivityCollection and assigns it to the MsAccActInfos field.
func (o *AfEventNotification) SetMsAccActInfos(v []MSAccessActivityCollection) {
o.MsAccActInfos = v
}
func (o AfEventNotification) MarshalJSON() ([]byte, error) {
toSerialize, err := o.ToMap()
if err != nil {
return []byte{}, err
}
return json.Marshal(toSerialize)
}
func (o AfEventNotification) ToMap() (map[string]interface{}, error) {
toSerialize := map[string]interface{}{}
toSerialize["event"] = o.Event
toSerialize["timeStamp"] = o.TimeStamp
if !IsNil(o.SvcExprcInfos) {
toSerialize["svcExprcInfos"] = o.SvcExprcInfos
}
if !IsNil(o.UeMobilityInfos) {
toSerialize["ueMobilityInfos"] = o.UeMobilityInfos
}
if !IsNil(o.UeCommInfos) {
toSerialize["ueCommInfos"] = o.UeCommInfos
}
if !IsNil(o.ExcepInfos) {
toSerialize["excepInfos"] = o.ExcepInfos
}
if !IsNil(o.CongestionInfos) {
toSerialize["congestionInfos"] = o.CongestionInfos
}
if !IsNil(o.PerfDataInfos) {
toSerialize["perfDataInfos"] = o.PerfDataInfos
}
if !IsNil(o.DispersionInfos) {
toSerialize["dispersionInfos"] = o.DispersionInfos
}
if !IsNil(o.CollBhvrInfs) {
toSerialize["collBhvrInfs"] = o.CollBhvrInfs
}
if !IsNil(o.MsQoeMetrInfos) {
toSerialize["msQoeMetrInfos"] = o.MsQoeMetrInfos
}
if !IsNil(o.MsConsumpInfos) {
toSerialize["msConsumpInfos"] = o.MsConsumpInfos
}
if !IsNil(o.MsNetAssInvInfos) {
toSerialize["msNetAssInvInfos"] = o.MsNetAssInvInfos
}
if !IsNil(o.MsDynPlyInvInfos) {
toSerialize["msDynPlyInvInfos"] = o.MsDynPlyInvInfos
}
if !IsNil(o.MsAccActInfos) {
toSerialize["msAccActInfos"] = o.MsAccActInfos
}
return toSerialize, nil
}
func (o *AfEventNotification) UnmarshalJSON(bytes []byte) (err error) {
// This validates that all required properties are included in the JSON object
// by unmarshalling the object into a generic map with string keys and checking
// that every required field exists as a key in the generic map.
requiredProperties := []string{
"event",
"timeStamp",
}
allProperties := make(map[string]interface{})
err = json.Unmarshal(bytes, &allProperties)
if err != nil {
return err
}
for _, requiredProperty := range requiredProperties {
if _, exists := allProperties[requiredProperty]; !exists {
return fmt.Errorf("no value given for required property %v", requiredProperty)
}
}
varAfEventNotification := _AfEventNotification{}
err = json.Unmarshal(bytes, &varAfEventNotification)
if err != nil {
return err
}
*o = AfEventNotification(varAfEventNotification)
return err
}
type NullableAfEventNotification struct {
value *AfEventNotification
isSet bool
}
func (v NullableAfEventNotification) Get() *AfEventNotification {
return v.value
}
func (v *NullableAfEventNotification) Set(val *AfEventNotification) {
v.value = val
v.isSet = true
}
func (v NullableAfEventNotification) IsSet() bool {
return v.isSet
}
func (v *NullableAfEventNotification) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableAfEventNotification(val *AfEventNotification) *NullableAfEventNotification {
return &NullableAfEventNotification{value: val, isSet: true}
}
func (v NullableAfEventNotification) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableAfEventNotification) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/konglinglong/openapi.git
git@gitee.com:konglinglong/openapi.git
konglinglong
openapi
openapi
e403a3c726a4

搜索帮助