diff --git a/README.md b/README.md index f697f1d..1303606 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,2 @@ -# document +# document 文档 -文档 \ No newline at end of file diff --git a/代码块/C#/bigdatacache.snippet b/代码块/C#/bigdatacache.snippet new file mode 100644 index 0000000..48441f9 --- /dev/null +++ b/代码块/C#/bigdatacache.snippet @@ -0,0 +1,59 @@ + + + +
+ bigdatacache + bigdatacache + 类的代码片段包含数据库访问 + zz + + Expansion + SurroundsWith + +
+ + + + name + 字段名 + T_APP_CONFIGS + + + daoclass + 类名 + T_App_Config + + + + /// 缓存数据 + /// + private static List<$daoclass$> _$name$ = null; + /// + /// 锁 + /// + private static object _$name$_LOCK = new object(); + /// + /// app配置数据,引用类型,不可修改,只能查询使用 + /// + public static List<$daoclass$> $name$LIST + { + get + { + if (_$name$ == null) + { + lock (_$name$_LOCK) + { + var dao = new DAO(); + _$name$ = dao.daoRes.context.$daoclass$.ToList(); + } + } + return _$name$; + } + } + $selected$$end$ + ]]> + + +
+
diff --git a/代码块/C#/classbase.snippet b/代码块/C#/classbase.snippet new file mode 100644 index 0000000..2d3235a --- /dev/null +++ b/代码块/C#/classbase.snippet @@ -0,0 +1,51 @@ + + + +
+ classBll + classBll + 类的代码片段 + zz + + Expansion + SurroundsWith + +
+ + + + modifier + 修饰符 + public + + + name + 类名 + MyClass + + + inherit + 类名 + BLLBase + + + + /// + /// + $modifier$ class $name$ : $inherit$ + { + /// + /// + /// + /// + $modifier$ $name$(DAO dao):base(dao){ + + } + + $selected$$end$ + }]]> + + +
+
diff --git a/代码块/C#/classbasedao.snippet b/代码块/C#/classbasedao.snippet new file mode 100644 index 0000000..3cc20c8 --- /dev/null +++ b/代码块/C#/classbasedao.snippet @@ -0,0 +1,63 @@ + + + +
+ classBlldao + classBlldao + 类的代码片段包含数据库访问 + zz + + Expansion + SurroundsWith + +
+ + + + name + 类名 + MyClass + + + daoclass + 类名 + T_ + + + + /// + /// + public class $name$ : BLLBase + { + /// + /// + /// + /// + public $name$(DAO dao):base(dao){ + + } + /// + /// + /// + /// + public List<$daoclass$> GetList() + { + var list = dao.daoRes.context.$daoclass$.Where(it=>true).ToList(); + return list; + } + /// + /// + /// + /// + public $daoclass$ GetFirstOrDefault() { + var data = dao.daoRes.context.$daoclass$.FirstOrDefault(it => true); + return data; + } + + $selected$$end$ + }]]> + + +
+
diff --git a/其它/202102226远程桌面备份.json b/其它/202102226远程桌面备份.json new file mode 100644 index 0000000..44d1094 --- /dev/null +++ b/其它/202102226远程桌面备份.json @@ -0,0 +1,256 @@ +{ + "Connections": [ + { + "ConnectionType": 25, + "Group": "moguext", + "ID": "3b50fe58-b722-43d8-bc07-6a768ed59462", + "Name": "moguext", + "GroupDetails": { + "SafePassword": "LVfk8hUoy/orZ6HR+VxTsw==", + "UserName": "sjgame" + }, + "MetaInformation": { + "Cost": 0.0, + "PasswordHistory": [ + { + "LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedDateTimeString": "2023-03-29T07:19:23", + "SafePassword": "ob6Y/dNMaZU14hgzF60kzQ==" + } + ] + } + }, + { + "Url": "43.129.195.20:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\海外", + "ID": "53efb8ce-b5da-40a8-a650-4d925670b61a", + "Name": "PC", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "101.42.136.223:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\国内", + "ID": "8f6f0ca1-83e4-44d3-a3b6-e2b24d0117dd", + "Name": "PC", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "82.157.13.127:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\国内", + "ID": "d4ad266c-0ea8-4013-8357-b58ce6bb5a19", + "Name": "web1", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "101.32.15.216:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\海外", + "ID": "abc22a42-2683-4c63-802b-978141388f75", + "Name": "web1", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "82.157.29.123:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\国内", + "ID": "4c69f35e-f313-4541-bafe-dd549afeea2d", + "Name": "web2", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "101.32.14.235:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\海外", + "ID": "dfa45f6b-4e19-4229-b94d-0c95b6190e15", + "Name": "web2", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "43.135.25.193:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\海外", + "ID": "645f675f-9ff4-4e31-a663-6ec9d7370bcf", + "Name": "web3", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "82.157.14.24:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\国内", + "ID": "5f98d041-50dc-4f9b-94e4-3a6019c05eaf", + "Name": "web3", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "121.5.26.77:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext", + "ID": "4ad621ac-fd72-461b-8fb7-475654c1d616", + "Name": "测试环境", + "OpenEmbedded": true, + "RDP": {} + }, + { + "ConnectionType": 25, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\国内", + "ID": "d73becde-7ef3-4a03-9dcd-b6d2f74b5938", + "Name": "国内" + }, + { + "ConnectionType": 25, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\海外", + "ID": "54e52304-dc8c-44e3-b050-d82b17c3eb81", + "Name": "海外" + }, + { + "Url": "172.27.27.21", + "ConnectionType": 1, + "Group": "家", + "ID": "4a19dfdf-3774-49c2-81ee-7d3846a4a858", + "Name": "家", + "OpenEmbedded": true, + "MetaInformation": { + "Cost": 0.0, + "PasswordHistory": [ + { + "LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedDateTimeString": "2023-09-01T01:46:09", + "SafePassword": "JQaNT6ye7Lk=" + }, + { + "LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedDateTimeString": "2023-03-30T02:42:27", + "SafePassword": "o63hoW1KAMI=" + } + ] + }, + "RDP": { "SafePassword": "UwNATVDYiZ0=", "UserName": "zpc" } + }, + { + "ConnectionType": 25, + "Group": "家", + "ID": "6c79556d-587f-40ef-bfb0-304445f8bb4a", + "Name": "家" + }, + { + "Url": "81.70.0.132:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\国内", + "ID": "10979a05-9984-4564-9fef-cdf1e891dce7", + "Name": "扩展服务", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "43.129.199.134:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\海外", + "ID": "ddeec6fa-6fae-4068-8c18-17ec0c05083e", + "Name": "扩展服务", + "OpenEmbedded": true, + "RDP": {} + }, + { + "ConnectionType": 25, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\其它", + "ID": "ee02aa6b-c8d9-4cf9-a4c6-38cc0e1fe205", + "Name": "其它" + }, + { + "Url": "112.124.23.127:33389", + "ConnectionType": 1, + "Group": "moguext\\国内", + "ID": "e0062dd8-71de-4b61-8aaa-1f072ecae07f", + "Name": "跳板机", + "OpenEmbedded": true, + "MetaInformation": { + "Cost": 0.0, + "PasswordHistory": [ + { + "LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedDateTimeString": "2023-07-28T05:59:14", + "SafePassword": "GmAg8YgbEf2Jo1yVEEXGGckO+rAJWTrK" + } + ] + }, + "RDP": { + "SafePassword": "eUzDxJLEO+b1vA8xlsvMWM59DNt0JJz+", + "UserName": "zhangzhe" + } + }, + { + "Url": "112.124.23.127:33389", + "ConnectionType": 1, + "Group": "moguext\\国内", + "ID": "5cd54c98-ef36-4b05-ac54-8da50d057700", + "Name": "跳板机1", + "OpenEmbedded": true, + "MetaInformation": { + "Cost": 0.0, + "PasswordHistory": [ + { + "LoggedModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedBy": "ZHANGZHE-PC\\zhangzhe", + "ModifiedDateTimeString": "2023-09-19T08:09:34", + "SafePassword": "omcbYur0NK7sYHNDaWy6ZskO+rAJWTrK" + } + ] + }, + "RDP": { + "SafePassword": "fV8bd+9uDurFrlkdVsxGqc59DNt0JJz+", + "UserName": "yinming" + } + }, + { + "Url": "43.143.246.189:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\其它", + "ID": "8493afcd-6f3f-41a0-87e7-f057799858bd", + "Name": "西南交大服务器", + "OpenEmbedded": true, + "RDP": {} + }, + { + "Url": "146.56.198.144:33389", + "ConnectionType": 1, + "CredentialConnectionID": "1310CF82-6FAB-4B7A-9EEA-3E2E451CA2CF", + "Group": "moguext\\其它", + "ID": "e6820f26-81b8-4713-be5a-5b62dc1ea436", + "Name": "西南交大正式服务器-跳板机", + "OpenEmbedded": true, + "RDP": {} + } + ], + "DatabaseID": "a9c3669a-1bb4-426a-98f6-6d03854e8a09", + "Version": 2 +} diff --git a/其它/圣剑-工作文档.docx b/其它/圣剑-工作文档.docx new file mode 100644 index 0000000..57e99c1 Binary files /dev/null and b/其它/圣剑-工作文档.docx differ diff --git a/其它/抖音-HISSAI绘画生成器.docx b/其它/抖音-HISSAI绘画生成器.docx new file mode 100644 index 0000000..cbc3544 Binary files /dev/null and b/其它/抖音-HISSAI绘画生成器.docx differ diff --git a/常用SQL/SQLQuery1.sql b/常用SQL/SQLQuery1.sql new file mode 100644 index 0000000..3cdf661 --- /dev/null +++ b/常用SQL/SQLQuery1.sql @@ -0,0 +1,87 @@ +select * from HissAI_UserData.[dbo].[T_Users] where UserName like '%466bb414a3754d55%' +select top 1000 * from Phone300_VL_UI_CBT.dbo.T_App_Config;--App +select top 1000 * from HissAI_Res.[dbo].[T_App_Config] +select * from Phone300_VL_UI_CBT.dbo.T_VL_UI_Popout +select * from HissAI_UserData.[dbo].[T_Users_Data] where UserId=10123 +update HissAI_UserData.[dbo].[T_Users_Data] set Currency=1000 where id=10114 +select * from HissAI_UserData.[dbo].[T_Users] where username='24bc5fc59a5dc3b4' +select * from HissAI_UserData.[dbo].[T_Users_Data] where UserId=10113 +select * from HissAI_UserData.[dbo].[T_Users] where username='189eed353de9b77f' +select * from HissAI_UserData.[dbo].[T_Users_Data] where UserId=10098 +select top 1000 * from HissAI_Res.[dbo].[T_App_Images] +select * from HissAI_UserData.[dbo].[T_Users] where username='3f952f27b93776c0' +select * from HissAI_UserData.[dbo].[T_Users_Data] +select * from HissAI_UserData.[dbo].[T_Users_Data] +update HissAI_UserData.[dbo].[T_Users_Data] set Currency=0,StatisticsData='' where UserId=44 +select * from HissAI_Data.dbo.T_Draw_Log where SizeTemplateId!=0 UserId=10120 +delete HissAI_UserData.[dbo].[T_Users_Data] where userid=11 +delete HissAI_UserData.[dbo].[T_Users] where id=11 +select count(1) from HissAI_Data.dbo.T_Draw_Log +select * from +select *,(select count(1) from HissAI_UserData.dbo.T_User_Favorite where DataId=f.DataId and appId=f.appid ) Favorite +from HissAI_UserData.dbo.T_User_Favorite f where userid='' and [type]=1 and appid=1 order by Favorite desc +select RAND() from HissAI_UserData.dbo.T_User_PhotoAlbum where type=0 and id<158 +update HissAI_UserData.dbo.T_User_PhotoAlbum set type=2 where type=0 and id<158 +select * from HissAI_Res.[dbo].[T_App_Language] where name='QQ󶨳ɹ' and +select * from HissAI_UserData.dbo.T_User_Favorite where [type]=0 and id=5 +select * from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and DrawId=21405 and userid=7 + +order by Favorite desc +select * from HissAI_Data.[dbo].[T_User_LimitAction_Log] + +17 + select * from HissAI_Res.dbo.[T_App_LevitatingBall] + select * from HissAI_Res.dbo.T_App_Popup + select * from HissAI_Data.[dbo].[T_Draw_Label] +select * from HissAI_Data.[dbo].[T_Draw_Label_Describe] +update HissAI_UserData.dbo.T_User_PhotoAlbum set Type=0 where [type]=2 order by Favorite desc +select * from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and Favorite=2 +select * from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and userid=71 + select * from HissAI_UserData.dbo.T_User_PhotoAlbum where +[type]=1 +select * from HissAI_UserData.dbo.T_User_OrderComplete +update p set p.Favorite=(select count(1) from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=1 and Favorite=p.id) from HissAI_UserData.dbo.T_User_PhotoAlbum p where [type]=0 and id=2 + + +select Id,UserId,[Type],FavoriteTime,UpdateTime,CreateTime,[Desc],AppId,DrawId,isnull((select Favorite from HissAI_UserData.dbo.T_User_PhotoAlbum where [type]=0 and id=f.Favorite),0) Favorite from HissAI_UserData.dbo.T_User_PhotoAlbum f +where [type]=0 and userid= + + +select u.Id,u.Email,u.IP,u.IpContinent,u.IpCountry,u.NickName,u.UserName,d.UserIconUrl,d.TemporaryCurrency,d.Currency,d.VipType from HissAI_UserData.[dbo].[T_Users] u left join HissAI_UserData.[dbo].[T_Users_Data] d on u.Id=d.UserId and u.AppId=d.AppId +where u.id in ( 10079) + +select *, +(select count(1) from HissAI_UserData.dbo.T_User_PhotoAlbum where DrawId=f.DrawId and appId=f.appid and [type]=0 ) Favorite +from HissAI_UserData.dbo.T_User_PhotoAlbum f +where userid=1 and [type]=1 and appid=1 + +select top 30 Id,UserId, from HissAI_UserData.dbo.T_User_PhotoAlbum + SELECT top 30 Id, UserId, [Type], FavoriteTime, UpdateTime, CreateTime, [Desc], AppId, DrawId, Favorite, TaskId FROM + [HissAI_UserData].dbo.T_User_PhotoAlbum where [type]=0 and appid=1001 order by FavoriteTime + select ISNULL(count(1),0) from [HissAI_UserData].dbo.T_User_PhotoAlbum where [type]=0 and appid=1002 + + select * from Phone300_VL_UI_CBT.dbo.T_VL_UI_FloatBall_Cfg + + select * from HissAI_Res.dbo.T_App_Language + select count(1) from HissAI_Data.dbo.T_User_LimitAction_Log where appid=1001and userid=1 + alter table HissAI_Res.dbo.T_App_Language add AppId int not null default 1000 + +insert into T_App_Language(Name,Value,Language) +select '','unlimited','en' +union all +select '羰','ghibli scenery','en' +union all +select '','ghibli figure','en' + +select RAND() from HissAI_UserData.dbo.T_User_PhotoAlbum + +GalleryListDto + +select * from Phone300_VL_UI_CBT.dbo.T_UI_ConfigImages + +select top 1000 * from CloudPlatFormUserData.dbo.T_Users_ConsumeList where bossid=25001 and CreateTime>'2023-04-23';--ûѼ¼ + +select top 1000 * from CloudPlatFormUserData.dbo.T_Users_ConsumeAgreement;--ǩԼ + +select top 1000 * from CloudPlatFormUserData.dbo.T_Users_ConsumeMoneyList;--ֵ¼ + diff --git a/常用SQL/SQLQuery2.sql b/常用SQL/SQLQuery2.sql new file mode 100644 index 0000000..1fb2844 --- /dev/null +++ b/常用SQL/SQLQuery2.sql @@ -0,0 +1 @@ +select ISNULL(sum(price),0) from HissAI_UserData.dbo.T_User_OrderComplete where userid='' \ No newline at end of file diff --git a/常用SQL/SQLQuery3sql.sql b/常用SQL/SQLQuery3sql.sql new file mode 100644 index 0000000..60b61eb --- /dev/null +++ b/常用SQL/SQLQuery3sql.sql @@ -0,0 +1,50 @@ +insert into HissAI_Res.dbo.T_App_Language(Name,Value,Language) +SELECT '', 'unlimited', 'en' +UNION ALL +SELECT '羰', 'ghibli scenery', 'en' +UNION ALL +SELECT '', 'ghibli figure', 'en' +UNION ALL +SELECT 'ˮī', 'ink painting', 'en' +UNION ALL +SELECT 'ͷ', 'art avatar', 'en' +UNION ALL +SELECT 'logo', 'commercial logo', 'en' +UNION ALL +SELECT 'º', 'Makoto Shinkai', 'en' +UNION ALL +SELECT '߸', 'Comic draft', 'en' +UNION ALL +SELECT '־', 'magazine style', 'en' +UNION ALL +SELECT 'ֶ', '3D to 2D', 'en' +UNION ALL +SELECT 'Q', 'Q-version figure', 'en' +UNION ALL +SELECT 'ϴɹȴ', 'Uploaded, waiting for review', 'en' +UNION ALL +SELECT 'ɹ', 'Created a successful order', 'en' +UNION ALL +SELECT 'ɾɹ', 'successfully deleted', 'en' +UNION ALL +SELECT '˶Ʒѷţظύ', 'Already issued, please do not resubmit', 'en' +UNION ALL +SELECT 'ղسɹ', 'Collection successfully', 'en' +UNION ALL +SELECT '¼ɹ', 'login successful', 'en' +UNION ALL +SELECT '滭㲻', 'drawing point is empty', 'en' +UNION ALL +SELECT 'Ʒɹ', 'Product released successfully', 'en' +UNION ALL +SELECT 'ҪϴͼƬ', 'The image to upload does not exist', 'en' +UNION ALL +SELECT '滭100', 'Painting Points 100', 'en' +UNION ALL +SELECT '滭350', 'Drawing Points 350', 'en' +UNION ALL +SELECT '滭600', 'Drawing Points 600', 'en' +UNION ALL +SELECT 'ղԴ', 'favorite resource does not exist', 'en' +UNION ALL +SELECT 'ȡղسɹ', 'Cancel favorite successfully', 'en' \ No newline at end of file diff --git a/常用SQL/快速启动.sql b/常用SQL/快速启动.sql new file mode 100644 index 0000000..3b10eb8 --- /dev/null +++ b/常用SQL/快速启动.sql @@ -0,0 +1,25 @@ +SELECT * FROM Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg where appId=1 and EpgParentCategory!=0 + +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg add IsQuickStartPopUp bit default 0 not null; +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg add IsOnlineQuickStartPopUp bit default 0 not null; +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_GameInputSetting add IsToggleKeyboard bit default 0 not null; +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add IsOnlineQuickStartPopUp bit default 0 not null; +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ϸ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_VL_UI_Epg_CategoryCfg', @level2type=N'COLUMN',@level2name=N'IsOnlineQuickStartPopUp' +GO +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ϸ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_VL_UI_Epg_CategoryCfg', @level2type=N'COLUMN',@level2name=N'IsQuickStartPopUp' +GO + update Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_CategoryCfg set IsQuickStartPopUp=1 where Extend1 like '%%' + +select* from Phone300_VL_UI_CBT.dbo.T_VL_UI_GameInputSetting + + + + select * from Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg + + alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add IsOnlineQuickStartPopUp bit default 0 not null; + + + +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add StartEnableTime datetime; +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add EndEnableTime datetime; + \ No newline at end of file diff --git a/常用SQL/成就表.sql b/常用SQL/成就表.sql new file mode 100644 index 0000000..13f8795 --- /dev/null +++ b/常用SQL/成就表.sql @@ -0,0 +1,95 @@ +USE [MoguExt] +GO + +/****** Object: Table [dbo].[T_User_Achievement] Script Date: 2022/10/10 11:25:37 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_User_Achievement]( + [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, + [AchievemenGuid] [nvarchar](64) NULL, + [BossId] [nvarchar](50) NULL, + [AppId] [int] NOT NULL, + [AchievementType] [int] NOT NULL, + [AchievementName] [nvarchar](200) NULL, + [SuccessIocn] [int] NOT NULL, + [ProcessingIocn] [int] NOT NULL, + [UndoneIocn] [int] NOT NULL, + [Diamond] [int] NOT NULL, + [MoguBi] [int] NOT NULL, + [RestrictedDate] [datetime] NOT NULL, + [OrderById] [int] NOT NULL, + [ShowText] [nvarchar](200) NULL, + [CreateDateTime] [datetime] NOT NULL, + [UpdateTimeDate] [datetime] NOT NULL, + [IsEnable] [bit] NOT NULL, + [BackgroundIocn] [int] NOT NULL, + [RewardText] [nvarchar](200) NULL, + CONSTRAINT [PK_T_USER_ACHIEVEMENT] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ψһ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AchievemenGuid' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'BossId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AppId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͣ1:Ϸ 2 ģ3.ֵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AchievementType' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'AchievementName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͼƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'SuccessIocn' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͽͼƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'ProcessingIocn' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾδͼƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'UndoneIocn' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͽʯ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'Diamond' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͽĢ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'MoguBi' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'RestrictedDate' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'˳򣬳ɾ˳' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'OrderById' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʾİ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'ShowText' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'޸ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'UpdateTimeDate' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'IsEnable' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾ鱳ͼƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'BackgroundIocn' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'İ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement', @level2type=N'COLUMN',@level2name=N'RewardText' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ûɾ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Achievement' +GO + + diff --git a/常用SQL/成就表条件表.sql b/常用SQL/成就表条件表.sql new file mode 100644 index 0000000..bd22d6f --- /dev/null +++ b/常用SQL/成就表条件表.sql @@ -0,0 +1,62 @@ +USE [MoguExt] +GO + +/****** Object: Table [dbo].[T_User_AchievementTrigger] Script Date: 2022/10/10 11:25:30 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_User_AchievementTrigger]( + [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, + [AchievementTriggerName] [nvarchar](50) NULL, + [AchievementTriggerCondition] [nvarchar](20) NULL, + [AchievementTriggerValue] [nvarchar](300) NULL, + [AchievementTriggerParams] [nvarchar](300) NULL, + [AchievementTriggerTriggerType] [int] NOT NULL, + [CreateDateTime] [datetime] NULL, + [UpdateDateTime] [datetime] NULL, + [Identigier] [nvarchar](64) NULL, + [AchievementTriggerMode] [int] NOT NULL, + CONSTRAINT [PK_T_USER_ACHIEVEMENTTRIGGER] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'Id' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerCondition' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ֵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerValue' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerParams' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʶ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerTriggerType' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'޸ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'UpdateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'֧ʶ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'Identigier' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʽ1,.2ۼƣ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger', @level2type=N'COLUMN',@level2name=N'AchievementTriggerMode' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾʹ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementTrigger' +GO + + diff --git a/常用SQL/成就表进度表.sql b/常用SQL/成就表进度表.sql new file mode 100644 index 0000000..cbf37e4 --- /dev/null +++ b/常用SQL/成就表进度表.sql @@ -0,0 +1,77 @@ +USE [MoguExt] +GO + +/****** Object: Table [dbo].[T_User_AchievementSpeed] Script Date: 2022/10/10 11:25:45 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_User_AchievementSpeed]( + [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, + [AchievemenGuid] [nvarchar](64) NULL, + [AchievemenName] [nvarchar](200) NULL, + [AchievemenTriggerId] [int] NOT NULL, + [AchievemenTriggerName] [nvarchar](200) NULL, + [IsComplete] [bit] NOT NULL, + [UserId] [nvarchar](200) NULL, + [BossId] [nvarchar](200) NULL, + [AppId] [int] NOT NULL, + [CreateDateTime] [datetime] NOT NULL, + [Remark] [nvarchar](300) NULL, + [Parameter1] [nvarchar](300) NULL, + [Parameter2] [nvarchar](300) NULL, + [Parameter3] [nvarchar](300) NULL, + CONSTRAINT [PK_T_USER_ACHIEVEMENTSPEED] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Id' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾΨһ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenGuid' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenTriggerId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾͽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AchievemenTriggerName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'IsComplete' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ûid' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'UserId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'BossId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'AppId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ע' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Remark' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Parameter1' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'2' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Parameter2' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'3' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed', @level2type=N'COLUMN',@level2name=N'Parameter3' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ûɵijɾͽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementSpeed' +GO + diff --git a/常用SQL/排行榜sql.sql b/常用SQL/排行榜sql.sql new file mode 100644 index 0000000..48789cb --- /dev/null +++ b/常用SQL/排行榜sql.sql @@ -0,0 +1,37 @@ + --ް ѯյӸߵͽн ȥޱвѯµĵݣ + --ٸݵ޵ͼƬҵӦûûз + select UserId,Totals,UserCount,(select NickName from HissAI_UserData.dbo.T_Users u where u.Id=t.UserId ) NickName, + (select UserIconUrl from HissAI_UserData.dbo.T_Users_Data u where u.UserId=t.UserId ) UserIconUrl + from ( + select top 30 UserId,sum(c) Totals,count(1) UserCount from ( + select DrawId,count(1) c, + (select top 1 UserId from HissAI_UserData.dbo.T_User_Gallery where DrawId=l.DrawId) UserId + from ( select DrawId,CreateTime as ExaminationDatetime,UserId from HissAI_UserData.dbo.T_User_Like li ) l + where ExaminationDatetime>='2024-02-01' and ExaminationDatetime<'2024-03-01' group by DrawId + ) x where UserId!='' group by UserId order by Totals desc +) t order by Totals desc + +-- Ȳѯ»жûȻûзͳ + select UserId,Totals,UserCount,(select NickName from HissAI_UserData.dbo.T_Users u where u.Id=t.UserId ) NickName,(select UserIconUrl from HissAI_UserData.dbo.T_Users_Data u where u.UserId=t.UserId ) UserIconUrl from ( + select top 30 UserId,count(1) Totals,count(1) UserCount from HissAI_UserData.dbo.T_User_Gallery where ExaminationDatetime>='2024-02-01' and ExaminationDatetime<'2024-03-01' group by userId + order by Totals desc + ) t order by Totals desc + + --ͬ ȲѯеĻͬݣٸĻͬҵӦĻûȻûͳƻͬû +select UserId,Totals,UserCount,(select NickName from HissAI_UserData.dbo.T_Users u where u.Id=t.UserId ) NickName,(select UserIconUrl from HissAI_UserData.dbo.T_Users_Data u where u.UserId=t.UserId ) UserIconUrl from ( + select top 30 UserId,SUM(Totals) Totals,count(1) UserCount from ( + select FollowDrawId,count(1) Totals from ( + select FollowDrawId,CreateTime ExaminationDatetime from HissAI_Data.dbo.T_Draw_Log where FollowDrawId!='' and IsException!=1 + ) Draw_Log + where ExaminationDatetime>='2024-02-01' and ExaminationDatetime<'2024-03-01' + group by FollowDrawId + ) drawlog inner join HissAI_UserData.dbo.T_User_Gallery g + on g.DrawId=drawlog.FollowDrawId where UserId!=0 + group by UserId order by Totals desc + ) t order by Totals desc + + + + + + diff --git a/常用SQL/推出游戏条件表.sql b/常用SQL/推出游戏条件表.sql new file mode 100644 index 0000000..19e6157 --- /dev/null +++ b/常用SQL/推出游戏条件表.sql @@ -0,0 +1,79 @@ +USE [MoguExt] +GO + +/****** Object: Table [dbo].[T_Ext_GamePopup] Script Date: 2022/10/10 11:26:49 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_Ext_GamePopup]( + [Id] [numeric](18, 0) IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, + [ExtGamePopupId] [nvarchar](64) NULL, + [ProductId] [nvarchar](100) NULL, + [ProductImage] [int] NOT NULL, + [ProductType] [int] NOT NULL, + [AppId] [int] NOT NULL, + [Continent] [nvarchar](200) NULL, + [CountryName] [nvarchar](200) NULL, + [BossId] [nvarchar](200) NULL, + [OnlinePlatform] [nvarchar](100) NULL, + [CreateDateTime] [datetime] NOT NULL, + [UpdateDateTime] [datetime] NOT NULL, + [ExtGameName] [nvarchar](200) NULL, + [OrderById] [int] NOT NULL, + [IsState] [bit] NOT NULL, + CONSTRAINT [PK_T_EXT_GAMEPOPUP] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ϵͳţڹ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ExtGamePopupId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ʒ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ProductId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƷͼƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ProductImage' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ʒ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ProductType' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'AppId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'Continent' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'CountryName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'BossId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƽ̨' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'OnlinePlatform' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'޸ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'UpdateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'ExtGameName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ȼ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'OrderById' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup', @level2type=N'COLUMN',@level2name=N'IsState' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'˳Ϸʾ͹' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_Ext_GamePopup' +GO + + diff --git a/常用SQL/每月统计查询-国内-不包含游客.sql b/常用SQL/每月统计查询-国内-不包含游客.sql new file mode 100644 index 0000000..032a2c5 --- /dev/null +++ b/常用SQL/每月统计查询-国内-不包含游客.sql @@ -0,0 +1,32 @@ +--国内tv +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=0 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' +group by UserId +) t + +--国内 tv new +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=19 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' +group by UserId +) t + +--国内 主包 +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=1 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' and BossId!='25001' + group by UserId +) t + +--国内 既游 +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=3 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' and BossId!='25001' + group by UserId +) t + +--国内 ios +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=1 and LoginTime>='2023-09-01' and LoginTime<'2023-10-01' and BossId='25001' + group by UserId +) t + + + diff --git a/常用SQL/每月统计查询-国内.sql b/常用SQL/每月统计查询-国内.sql new file mode 100644 index 0000000..8e0344a --- /dev/null +++ b/常用SQL/每月统计查询-国内.sql @@ -0,0 +1,29 @@ +select count(1) from ( + +SELECT UserID FROM MoguExt.dbo.T_Log_Login where CreateTime_Day>=20230801 and CreateTime_Day<20230901 and PlatformType='TV' and UserType>0 +and AppId=0 +group by userid +) t + + +select count(1) from ( + +SELECT UserID FROM MoguExt.dbo.T_Log_Login where CreateTime_Day>=20230801 and CreateTime_Day<20230901 and PlatformType='APP_ANDROID' and UserType>0 +and AppId=1 +group by userid +) t + + + + +select count(1) from ( + +SELECT UserID FROM MoguExt.dbo.T_Log_Login where CreateTime_Day>=20230801 and CreateTime_Day<20230901 and PlatformType='IOS' and UserType>0 +and AppId=1 +group by userid +) t + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=3 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossID!='25001' group by UserId +) t diff --git a/常用SQL/每月统计查询-国外.sql b/常用SQL/每月统计查询-国外.sql new file mode 100644 index 0000000..4ab3bee --- /dev/null +++ b/常用SQL/每月统计查询-国外.sql @@ -0,0 +1,83 @@ + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=4 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' +group by UserId +) t + + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=10 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId='25001' +group by UserId +) t + + + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=7 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId!='27002' + group by UserId +) t + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=7 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId='27002' + group by UserId +) t + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=8 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' and BossId='27002' group by UserId +) t + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=9 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId +) t + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=11 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId +) t + + +select 12,count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=12 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId +) t ; + +select 13,count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=13 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId +) t ; + +select 14,count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=14 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId +) t ; +select 15,count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=15 and LoginTime>='2023-04-01' and LoginTime<'2023-05-01' group by UserId +) t ; + + + + + + + + + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=4 and LoginTime>='2023-01-01' and LoginTime<'2023-02-01' group by UserId +) t + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=8 and BossId='27002' and LoginTime>='2023-01-01' and LoginTime<'2023-02-01' group by UserId +) t + + +select count(1) from ( +select UserId from CloudPlatFormUserData.dbo.T_User_Login where appid=11 and BossId='27002' and LoginTime>='2023-01-01' and LoginTime<'2023-02-01' group by UserId +) t + + + + + diff --git a/常用SQL/活动4003.sql b/常用SQL/活动4003.sql new file mode 100644 index 0000000..44a97e6 --- /dev/null +++ b/常用SQL/活动4003.sql @@ -0,0 +1,6 @@ +select count( distinct UserID ) from MoguExt.dbo.T_HD_UserLog where HdID=4003 +select sum(ParamsInt1) from MoguExt.dbo.T_HD_UserLog where HdID=4003 +select * from MoguExt.dbo.T_HD_UserLog where HdID=4003 +select Params1,sum(ParamsInt1),((select top 1 Params2 from MoguExt.dbo.T_HD_UserLog where HdID=4003 and Params1=logx.Params1 and ParamsInt2=1 )+'-'+(select top 1 Params2 from MoguExt.dbo.T_HD_UserLog where HdID=4003 and Params1=logx.Params1 and ParamsInt2=3 )) k from MoguExt.dbo.T_HD_UserLog logx where HdID=4003 group by Params1 + + \ No newline at end of file diff --git a/常用SQL/游戏多语言.sql b/常用SQL/游戏多语言.sql new file mode 100644 index 0000000..1d05db3 --- /dev/null +++ b/常用SQL/游戏多语言.sql @@ -0,0 +1,96 @@ +-- ================================================ +-- Template generated from Template Explorer using: +-- Create Procedure (New Menu).SQL +-- +-- Use the Specify Values for Template Parameters +-- command (Ctrl-Shift-M) to fill in the parameter +-- values below. +-- +-- This block of comments will not be included in +-- the definition of the procedure. +-- ================================================ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: +-- Create date: +-- Description: ͬϷԣAppId4ͬAppId +-- ============================================= +CREATE PROCEDURE [dbo].[Game_Multilingual_Synchronization] + +AS +BEGIN +declare @DefaultCfgCount int ;--Ģ +declare @CfgAppId int ;--AppId +declare @CfgCount int ;--AppidԵ + select@DefaultCfgCount=count(1) from MoguExt.dbo.T_Multilingual_Cfg where appid=4 and Extended1='Ϸ'; + DECLARE CfgData_Cursor CURSOR FOR + selectAppId,count(1) from MoguExt.dbo.T_Multilingual_Cfg where appid!=4 and Extended1='Ϸ' group by AppId; + --α + OPEN CfgData_Cursor + + FETCH NEXT FROM CfgData_Cursor INTO @CfgAppId,@CfgCount + --ѭ + WHILE @@FETCH_STATUS = 0 + BEGIN + if @CfgCount<@DefaultCfgCount + begin + Print ('ͬ=='+Convert(nvarchar(100),@CfgAppId)+'ԭ==>'+Convert(nvarchar(100),@CfgCount)); + insert into MoguExt.dbo.T_Multilingual_Cfg([ResId] + ,[CfgType] + ,[ResType] + ,[Language] + ,[Value] + ,[Uri] + ,[Explain] + ,[IsExport] + ,[CreateTime] + ,[Extended1] + ,[Extended2] + ,[ExtendedInt1] + ,[ExtendedInt2] + ,[AppId] + ,[Title] + ,[Title2] + ,[ImageId] + ,[ImageId2] + ,[ImageId3] + ,[ImageId4]) + select [ResId] + ,[CfgType] + ,[ResType] + ,[Language] + ,[Value] + ,[Uri] + ,[Explain] + ,[IsExport] + ,[CreateTime] + ,[Extended1] + ,[Extended2] + ,[ExtendedInt1] + ,[ExtendedInt2] + ,@CfgAppId + ,[Title] + ,[Title2] + ,[ImageId] + ,[ImageId2] + ,[ImageId3] + ,[ImageId4] from MoguExt.dbo.T_Multilingual_Cfg where Extended1='Ϸ' and appid=4 and Value not in ( + select Value from MoguExt.dbo.T_Multilingual_Cfg where appid=@CfgAppId and Extended1='Ϸ' ) + + end + + else + begin + print('appid{'+Convert(nvarchar(100),@CfgAppId)+'}Ҫͬ') + end + + FETCH NEXT FROM CfgData_Cursor INTO @CfgAppId,@CfgCount + END; + --رα + CLOSE CfgData_Cursor; + DEALLOCATE CfgData_Cursor; +END +GO diff --git a/常用SQL/游戏系列表.sql b/常用SQL/游戏系列表.sql new file mode 100644 index 0000000..1ce2071 --- /dev/null +++ b/常用SQL/游戏系列表.sql @@ -0,0 +1,51 @@ +USE [CloudPlatFormData] +GO + +/****** Object: Table [dbo].[T_CGame_SeriesGames] Script Date: 2022/10/10 11:43:32 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_CGame_SeriesGames]( + [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, + [SeriesId] [int] NOT NULL, + [SeriesName] [nvarchar](100) NULL, + [Remark] [nvarchar](200) NULL, + [OrderById] [int] NOT NULL, + [CreateDateTime] [datetime] NULL, + [UpdateDateTime] [datetime] NULL, + [IsOnline] [bit] NOT NULL, + CONSTRAINT [PK_T_CGAME_SERIESGAMES] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ϵбʶ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'SeriesId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ϵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'SeriesName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ע' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'Remark' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'OrderById' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'޸ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'UpdateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames', @level2type=N'COLUMN',@level2name=N'IsOnline' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'˳ϷʱϵͳϷ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_CGame_SeriesGames' +GO + + diff --git a/常用SQL/用户反馈表.sql b/常用SQL/用户反馈表.sql new file mode 100644 index 0000000..894775c --- /dev/null +++ b/常用SQL/用户反馈表.sql @@ -0,0 +1,49 @@ +USE [HissAI_Data] +GO + +/****** Object: Table [dbo].[T_User_Feedback] Script Date: 2023/5/8 10:16:42 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_User_Feedback]( + [Id] [int] IDENTITY(1,1) NOT NULL, + [UserId] [bigint] NOT NULL, + [Description] [nvarchar](1000) NULL, + [ContactInfo] [nvarchar](100) NULL, + [AppId] [int] NOT NULL, + [CreateDateTime] [datetime] NOT NULL, + CONSTRAINT [PK__T_User_F__3214EC27B1F8D290] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[T_User_Feedback] ADD DEFAULT (getdate()) FOR [CreateDateTime] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'Id' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ûId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'UserId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'Description' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ϵϢ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'ContactInfo' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'AppId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'û' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_Feedback' +GO + + diff --git a/常用SQL/用户成就表完成表.sql b/常用SQL/用户成就表完成表.sql new file mode 100644 index 0000000..61eb580 --- /dev/null +++ b/常用SQL/用户成就表完成表.sql @@ -0,0 +1,82 @@ +USE [MoguExt] +GO + +/****** Object: Table [dbo].[T_User_AchievementFinish] Script Date: 2022/10/10 11:25:41 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[T_User_AchievementFinish]( + [Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, + [AchievemenGuid] [nvarchar](64) NULL, + [AchievemenName] [nvarchar](200) NULL, + [UserId] [nvarchar](200) NULL, + [BossId] [nvarchar](200) NULL, + [AppId] [int] NOT NULL, + [CreateDateTime] [datetime] NOT NULL, + [Remark] [nvarchar](300) NULL, + [ShowAchievemen] [datetime] NOT NULL, + [Speed] [int] NOT NULL, + [IsCompleted] [bit] NOT NULL, + [SpeedCount] [int] NOT NULL, + [IsShowPopup] [bit] NOT NULL, + [UpdateDateTime] [datetime] NOT NULL, + [SuccessDateTime] [datetime] NULL, + CONSTRAINT [PK_T_USER_ACHIEVEMENTFINISH] PRIMARY KEY CLUSTERED +( + [Id] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'Id' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾΨһ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'AchievemenGuid' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɾ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'AchievemenName' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ûid' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'UserId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'BossId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'app' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'AppId' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'CreateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ע' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'Remark' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʾɾʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'ShowAchievemen' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'Speed' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'IsCompleted' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ܽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'SpeedCount' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƿʾ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'IsShowPopup' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'UpdateDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'޸ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish', @level2type=N'COLUMN',@level2name=N'SuccessDateTime' +GO + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ûɾɽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'T_User_AchievementFinish' +GO + + diff --git a/常用SQL/系统相关/获取注释.sql b/常用SQL/系统相关/获取注释.sql new file mode 100644 index 0000000..f1b3518 --- /dev/null +++ b/常用SQL/系统相关/获取注释.sql @@ -0,0 +1,39 @@ +--SELECT ֶ˵=isnull(props.[value],'') FROM syscolumns cols inner join sysobjects objs on cols.id= objs.id and objs.xtype='U' and objs.name<>'dtproperties' left join sys.extended_properties props on cols.id=props.major_id and cols.colid=props.minor_id + +SELECT + obj.name AS table_name, + ISNULL(ep.value,'') AS table_description +FROM + sys.objects AS obj +LEFT JOIN + sys.extended_properties AS ep +ON + ep.major_id = obj.object_id + AND ep.minor_id = 0 + AND ep.class = 1 +WHERE + obj.type = 'U' +ORDER BY + table_name ASC; + + +SELECT + obj.name AS table_name, + col.name AS column_name, + ISNULL(ep.value,'') AS column_description +FROM + sys.objects AS obj +INNER JOIN + sys.columns AS col +ON + col.object_id = obj.object_id +LEFT JOIN + sys.extended_properties AS ep +ON + ep.major_id = obj.object_id + AND ep.minor_id = col.column_id + AND ep.class = 1 +WHERE + obj.type = 'U' +ORDER BY + table_name ASC, col.column_id ASC; \ No newline at end of file diff --git a/常用SQL/系统相关/表详细信息2.sql b/常用SQL/系统相关/表详细信息2.sql new file mode 100644 index 0000000..9f616ca --- /dev/null +++ b/常用SQL/系统相关/表详细信息2.sql @@ -0,0 +1,33 @@ + +SELECT + + t.TABLE_NAME AS [TableName], + c.COLUMN_NAME AS [ColumnName], + c.ORDINAL_POSITION AS [ColumnIndex], + CAST(ISNULL(ep.[value], '') AS NVARCHAR(MAX)) AS [ColumnDescription], + c.DATA_TYPE AS [ColumnType], + CAST(CASE WHEN c.CHARACTER_MAXIMUM_LENGTH IS NULL THEN c.NUMERIC_PRECISION ELSE c.CHARACTER_MAXIMUM_LENGTH END AS NVARCHAR(10)) AS [ColumnSize], + CAST(CASE WHEN EXISTS ( + SELECT 1 FROM HissAI_Res.INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc + INNER JOIN HissAI_Res.INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = kcu.TABLE_NAME + WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY' + AND kcu.TABLE_SCHEMA = t.TABLE_SCHEMA + AND kcu.TABLE_NAME = t.TABLE_NAME + AND kcu.COLUMN_NAME = c.COLUMN_NAME + ) THEN 1 ELSE 0 END AS BIT) AS [ColumnIsPK], + CAST(CASE WHEN c.IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS [ColumnIsNull], + CAST(COLUMN_DEFAULT AS NVARCHAR(MAX)) AS [ColumnDefault] +FROM + HissAI_Res.INFORMATION_SCHEMA.TABLES t +INNER JOIN + HissAI_Res.INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_SCHEMA = c.TABLE_SCHEMA AND t.TABLE_NAME = c.TABLE_NAME +LEFT OUTER JOIN + HissAI_Res.sys.columns sc ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(sc.object_id) + '.' + OBJECT_NAME(sc.object_id) AND c.COLUMN_NAME = sc.name +LEFT OUTER JOIN + HissAI_Res.sys.extended_properties ep ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(ep.major_id) + '.' + OBJECT_NAME(ep.major_id) AND sc.column_id = ep.minor_id AND ep.name = 'MS_Description' +WHERE + t.TABLE_NAME = 'T_App_Config' and (ep.class=1 or ep.class is null ) +ORDER BY + c.ORDINAL_POSITION ASC; + + \ No newline at end of file diff --git a/常用SQL/系统相关/表详细信息、.sql b/常用SQL/系统相关/表详细信息、.sql new file mode 100644 index 0000000..748beab --- /dev/null +++ b/常用SQL/系统相关/表详细信息、.sql @@ -0,0 +1,123 @@ + +SELECT + col.object_id , + obj.name AS table_name, + col.name AS column_name, + ISNULL(ep.value,'') AS column_description, + inf.DATA_TYPE as column_type, + ISNULL(inf.CHARACTER_MAXIMUM_LENGTH ,0) as column_length, + indx.name +FROM + sys.objects AS obj +INNER JOIN + sys.columns AS col +ON + col.object_id = obj.object_id +LEFT JOIN + sys.extended_properties AS ep--ע +ON + ep.major_id = obj.object_id + AND ep.minor_id = col.column_id + AND ep.class = 1 +left join +INFORMATION_SCHEMA.COLUMNS inf +on +inf.TABLE_NAME=obj.name and +inf.COLUMN_NAME=col.name +left join sys.indexes indx +on + indx.object_id = obj.object_id +WHERE + obj.type = 'U' and obj.name='T_App_Config' +ORDER BY + table_name ASC, col.column_id ASC; + + +SELECT + T.TABLE_NAME AS , + c.ORDINAL_POSITION as ֶ˳, + C.COLUMN_NAME AS ֶ, + CASE + WHEN PT.VALUE IS NULL THEN '' + ELSE PT.VALUE + END AS ֶע, + C.DATA_TYPE AS ֶ, + C.CHARACTER_MAXIMUM_LENGTH AS ֶδС, + CASE + WHEN KCU.COLUMN_NAME IS NULL THEN 0 + ELSE 1 + END AS Ƿ +FROM INFORMATION_SCHEMA.TABLES T +INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME +LEFT JOIN sys.extended_properties PT ON PT.major_id = OBJECT_ID(T.TABLE_SCHEMA + '.' + T.TABLE_NAME) AND PT.minor_id = C.ORDINAL_POSITION AND PT.NAME ='MS_Description' +LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU ON KCU.TABLE_NAME = T.TABLE_NAME AND KCU.COLUMN_NAME = C.COLUMN_NAME AND EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME) +WHERE T.TABLE_TYPE = 'BASE TABLE' AND T.TABLE_NAME ='T_App_Config' +ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION; + + + +SELECT + t.TABLE_NAME AS [], + c.COLUMN_NAME AS [ֶ], + c.ORDINAL_POSITION AS [ֶ˳], + CAST(ISNULL(ep.[value], '') AS NVARCHAR(MAX)) AS [ֶע], + c.DATA_TYPE AS [ֶ], + CAST(CASE WHEN c.CHARACTER_MAXIMUM_LENGTH IS NULL THEN c.NUMERIC_PRECISION ELSE c.CHARACTER_MAXIMUM_LENGTH END AS NVARCHAR(10)) AS [ֶδС], + CAST(CASE WHEN EXISTS ( + SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc + INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = kcu.TABLE_NAME + WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY' + AND kcu.TABLE_SCHEMA = t.TABLE_SCHEMA + AND kcu.TABLE_NAME = t.TABLE_NAME + AND kcu.COLUMN_NAME = c.COLUMN_NAME + ) THEN 1 ELSE 0 END AS BIT) AS [Ƿ], + CAST(CASE WHEN c.IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS [Ƿɿ], + CAST(COLUMN_DEFAULT AS NVARCHAR(MAX)) AS [Ĭֵ] +FROM + HissAI_Res.INFORMATION_SCHEMA.TABLES t +INNER JOIN + HissAI_Res.INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_SCHEMA = c.TABLE_SCHEMA AND t.TABLE_NAME = c.TABLE_NAME +LEFT OUTER JOIN + HissAI_Res.sys.columns sc ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(sc.object_id) + '.' + OBJECT_NAME(sc.object_id) AND c.COLUMN_NAME = sc.name +LEFT OUTER JOIN + HissAI_Res.sys.extended_properties ep ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(ep.major_id) + '.' + OBJECT_NAME(ep.major_id) AND sc.column_id = ep.minor_id AND ep.name = 'MS_Description' +WHERE + t.TABLE_NAME = 'T_App_Config' +ORDER BY + c.ORDINAL_POSITION ASC; + + + SELECT name FROM sys.databases where[name] like '%HissAI%' ; + + + SELECT + obj.name AS table_name, + ISNULL(ep.value,'') AS table_description +FROM + HissAI_UserData.sys.objects AS obj +LEFT JOIN + HissAI_UserData.sys.extended_properties AS ep +ON + ep.major_id = obj.object_id + AND ep.minor_id = 0 + AND ep.class = 1 +WHERE + obj.type = 'U' +ORDER BY + table_name ASC; + + SELECT + obj.name AS TableName, + ISNULL(ep.value,'') AS TableDescription + FROM + HissAI_UserData.sys.objects AS obj + LEFT JOIN + HissAI_UserData.sys.extended_properties AS ep + ON + ep.major_id = obj.object_id + AND ep.minor_id = 0 + AND ep.class = 1 + WHERE + obj.type = 'U' + ORDER BY + TableName ASC; \ No newline at end of file diff --git a/常用SQL/菜单修改.sql b/常用SQL/菜单修改.sql new file mode 100644 index 0000000..b078db8 --- /dev/null +++ b/常用SQL/菜单修改.sql @@ -0,0 +1,3 @@ +SELECT TOP 100 * FROM Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg where EpgCategory=1003 +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add CountryName nvarchar(200); +alter table Phone300_VL_UI_CBT.dbo.T_VL_UI_Epg_Cfg add Continent nvarchar(200); \ No newline at end of file diff --git a/文档/.net/EfCode.md b/文档/.net/EfCode.md new file mode 100644 index 0000000..34a7af6 --- /dev/null +++ b/文档/.net/EfCode.md @@ -0,0 +1,5 @@ + +### 反向工程 +1. 安装 dotnet tool install --global dotnet-ef +2. 安装包 Microsoft.EntityFrameworkCore.Design +3. 执行命令 dotnet ef dbcontext scaffold "Server=172.27.27.12;Database=TextGenerationTest;User Id=zpc;Password=zpc;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer -o Models --force \ No newline at end of file diff --git a/文档/.net/grpc.md b/文档/.net/grpc.md new file mode 100644 index 0000000..73a2944 --- /dev/null +++ b/文档/.net/grpc.md @@ -0,0 +1,46 @@ +# gRPC服务 + +## 在已有.net code 中添加gRPC服务器 +### 1.按照包 +```C# +dotnet add package Grpc +dotnet add package Grpc.Tools +dotnet add package Grpc.AspNetCore +``` + +RegionStatisticsClientServer + +### 2.添加 .proto 文件 +helloworld.proto +```C# +syntax = "proto3"; + +package HelloWorld; + +service Greeter { + rpc SayHello (HelloRequest) returns (HelloReply) {} +} + +message HelloRequest { + string name = 1; +} + +message HelloReply { + string message = 1; +} +``` + +### 3.配置 csproj 文件 +```C# + + + +``` + +### 4.生成代码 + +### +```C# + +``` + \ No newline at end of file diff --git a/文档/Git/git.md b/文档/Git/git.md new file mode 100644 index 0000000..29abb14 --- /dev/null +++ b/文档/Git/git.md @@ -0,0 +1,107 @@ +# git + +# 常用命令 + +```sh +# 拉取代码 + git clone [url] + # git clone git@192.168.1.33:mogu_server/sunnysports.git + +# 更新代码 +git pull + +# 添加到暂存区 +git add . + +# 提交代码 +git commit -m "提交内容" + +# 推送代码 +git push + +# 切换分支 +git checkout <分支名称> +git checkout dev-sunny +#查看提交历史记录。 +git log + +#比较当前文件与暂存区或HEAD的差异。 +git diff + +#将当前工作区的修改保存起来,以便稍后恢复。 +git stash + +#恢复之前保存的修改,并删除对应的stash。 +git stash pop + +#安装子模块 +git submodule init +git submodule update + +``` + +# 创建ssh证书 +## 1.启动Git Bash: +## 2.生成新的SSH密钥 +```sh + ssh-keygen -t rsa -b 4096 -C "your_email@example.com" + + ssh-keygen -t rsa -b 4096 -C "zpc@pc" +``` +## 3.设置SSH代理 在某些系统上,你可能需要在每次启动计算机时添加SSH密钥到SSH代理。可以使用以下命令: +``` sh +eval "$(ssh-agent -s)" +ssh-add ~/.ssh/id_rsa +``` +## 5.复制公钥:使用以下命令将公钥复制到剪贴板: +```sh +cat ~/.ssh/id_rsa.pub | clip +``` +## 6.验证 +```sh + +ssh -T git@192.168.1.33 +ssh -T git@github.com +``` +ssh-copy-id -i ~/.ssh/id_rsa ubuntu@1.117.87.77 + +# Ubuntu 添加git +``` sh +sudo apt update +sudo apt install git +git --version +``` +## 圣剑 + + + +cat ~/.ssh/id_rsa.pub + +eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa + +ssh -T git@192.168.1.33 + +ssh-keygen -t rsa -b 4096 -C "zpc1131" +ssh-keygen -t rsa -b 4096 -C "zpc1131@gmail.com" +ssh -T git@github.com +### 拉取 +``` sh +git clone git@192.168.1.33:mogu_server/sunnysports.git + +``` +ssh-copy-id -i D:/ssh/229.pub root@192.168.1.229 + +eval "$(ssh-agent -s)" ssh-add D:/ssh/229 + +eval "$(ssh-agent -s)" ssh-add ~/.ssh/229 +ssh root@192.168.1.229 -i ~/.ssh/229_rsa +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl" +/home/z/.ssh/229_rsa +eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/229_rsa + ssh-copy-id -i /home/z/.ssh/229_rsa.pub root@192.168.1.229 + +git config --global user.email "zpc1131@wsl" + git config --global user.name "zhangzhe" + +``` \ No newline at end of file diff --git a/文档/SQL Server/设置sqlserver占用内存.sql b/文档/SQL Server/设置sqlserver占用内存.sql new file mode 100644 index 0000000..5223b81 --- /dev/null +++ b/文档/SQL Server/设置sqlserver占用内存.sql @@ -0,0 +1,9 @@ +EXEC sp_configure 'show advanced options', 1; +RECONFIGURE; +EXEC sp_configure 'max server memory (MB)'; +EXEC sp_configure 'min server memory (MB)'; + + +EXEC sp_configure 'max server memory (MB)', 10240; -- 10GB in MB +EXEC sp_configure 'min server memory (MB)', 4096; -- 4GB in MB +RECONFIGURE; \ No newline at end of file diff --git a/文档/linux/.net 8.md b/文档/linux/.net 8.md new file mode 100644 index 0000000..08a0f78 --- /dev/null +++ b/文档/linux/.net 8.md @@ -0,0 +1,25 @@ +# [Ubuntu 22.04安装.net 8](https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu-2204) + +```sh +# 更新包 +sudo apt-get update +# 安装.net 8 +sudo apt-get install -y dotnet-sdk-8.0 + +``` + +# 运行 +```sh +#恢复依赖 +dotnet restore + + +#编译项目 +dotnet build + +# 查看版本列表 +dotnet --list-sdks + +# 发布项目 +dotnet publish -c Release +``` diff --git a/文档/linux/BaGet.md b/文档/linux/BaGet.md new file mode 100644 index 0000000..c2d0b78 --- /dev/null +++ b/文档/linux/BaGet.md @@ -0,0 +1,28 @@ +# 安装BaGet +## 注意事项 +1. 原生的BaGet使用的是.net code 3.1版本,如果使用更高的版本,需要拉取[源代码](https://github.com/loic-sharma/BaGet),切换.net版本,然后编译、发布即可。 +2. 本次安装使用的是.net8 +3. 修改配置项:appsettings.json +```json +{ + "ApiKey": "d50e3dbd66", + "PackageDeletionBehavior": "Unlist", + "AllowPackageOverwrites": false, + "Database": { + "Type": "Sqlite", + "ConnectionString": "Data Source=./baget.db" + }, + "Storage": { + "Type": "FileSystem", + "Path": "/disk/packages" + }, + "Search": { + "Type": "Database" + }, +} +``` +## 安装服务 +```sh + +``` +## diff --git a/文档/linux/Gitea.md b/文档/linux/Gitea.md new file mode 100644 index 0000000..f9d3f52 --- /dev/null +++ b/文档/linux/Gitea.md @@ -0,0 +1,75 @@ +# Gitea +搭建私有Git服务器 +## +```sh +sudo apt update +sudo apt install git wget -y +# 创建git用户 +sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git +# 下载代码 +wget -O /tmp/gitea https://dl.gitea.io/gitea/1.16.7/gitea-1.16.7-linux-amd64 +wget -O /tmp/gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64 +# 将下载的文件移动到合适的位置并赋予执行权限 +sudo mv /tmp/gitea /usr/local/bin/gitea +sudo chmod +x /usr/local/bin/gitea +# 创建所需的目录: +sudo mkdir -p /var/lib/gitea/{custom,data,log} +sudo chown -R git:git /var/lib/gitea/ +sudo chmod -R 750 /var/lib/gitea/ +sudo mkdir /etc/gitea +sudo chown root:git /etc/gitea +sudo chmod 770 /etc/gitea +# 创建服务文件: +sudo nano /etc/systemd/system/gitea.service + +# 添加内容 +[Unit] +Description=Gitea +After=syslog.target +After=network.target +[Service] +RestartSec=2s +Type=simple +User=git +Group=git +WorkingDirectory=/var/lib/gitea/ +ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini +Restart=always +Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea/ +[Install] +WantedBy=multi-user.target + +#重新加载systemd并启动Gitea: +sudo systemctl daemon-reload +sudo systemctl enable gitea +sudo systemctl start gitea +sudo systemctl status gitea +# 可选,放开防火墙 +sudo ufw allow 3000/tcp +sudo ufw reload +``` + +## 配置项 /data/gitea/conf/app.ini +1. 数据库文件路径:/var/lib/gitea/data/gitea.db +2. 仓库根目录:/var/lib/gitea/data/gitea-repositories +3. LFS根目录:/var/lib/gitea/data/lfs +4. 日志路径:/var/lib/gitea/log +5. 管理员账号:huanmeng 9-9jYRqeywr!SA3 huanmeng@admin.com + + +## 在Gitea 的配置文件中设置 webhook.ALLOWED_HOST_LIST 来允许特定的服务器。 +```sh +#找到 Gitea 的配置文件: +#Gitea 的配置文件通常是 app.ini,它通常位于 Gitea 的安装目录下,例如 /etc/gitea/app.ini 或 /var/lib/gitea/custom/conf/app.ini。 +sudo nano /etc/gitea/app.ini +# 设置 ALLOWED_HOST_LIST: +# 在 [webhook] 部分中添加或修改 ALLOWED_HOST_LIST 设置,将你的服务器 IP 地址加入到允许列表中。你可以添加多个地址,用逗号分隔。 +[webhook] +ALLOWED_HOST_LIST = 192.168.195.30 +# 如果需要允许多个 IP 地址,可以这样: +[webhook] +ALLOWED_HOST_LIST = 192.168.195.30,192.168.195.31,example.com +# 保存文件并关闭编辑器。 +sudo systemctl restart gitea + +``` \ No newline at end of file diff --git a/文档/linux/Gitea/webhook.json b/文档/linux/Gitea/webhook.json new file mode 100644 index 0000000..94e98e2 --- /dev/null +++ b/文档/linux/Gitea/webhook.json @@ -0,0 +1,194 @@ +{ + "ref": "refs/heads/main", + "before": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "after": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "compare_url": "http://123.207.203.228:3000/server/CodeRelease/compare/dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c...dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "commits": [ + { + "id": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "message": "提交代码\n", + "url": "http://123.207.203.228:3000/server/CodeRelease/commit/dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "author": { + "name": "zpc", + "email": "zpc1131@gmail.com", + "username": "" + }, + "committer": { + "name": "zpc", + "email": "zpc1131@gmail.com", + "username": "" + }, + "verification": null, + "timestamp": "0001-01-01T00:00:00Z", + "added": null, + "removed": null, + "modified": null + } + ], + "total_commits": 1, + "head_commit": { + "id": "dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "message": "提交代码\n", + "url": "http://123.207.203.228:3000/server/CodeRelease/commit/dd420bcda9be2ff3dde9d65b4c30c0a08c9b043c", + "author": { + "name": "zpc", + "email": "zpc1131@gmail.com", + "username": "" + }, + "committer": { + "name": "zpc", + "email": "zpc1131@gmail.com", + "username": "" + }, + "verification": null, + "timestamp": "0001-01-01T00:00:00Z", + "added": null, + "removed": null, + "modified": null + }, + "repository": { + "id": 6, + "owner": { + "id": 3, + "login": "server", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "server@noreply.localhost", + "avatar_url": "http://123.207.203.228:3000/avatars/cf1e8c14e54505f60aa10ceb8d5d8ab3", + "html_url": "http://123.207.203.228:3000/server", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-06-02T13:09:11+08:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "server" + }, + "name": "CodeRelease", + "full_name": "server/CodeRelease", + "description": "代码发布", + "empty": false, + "private": false, + "fork": false, + "template": false, + "parent": null, + "mirror": false, + "size": 39, + "language": "", + "languages_url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/languages", + "html_url": "http://123.207.203.228:3000/server/CodeRelease", + "url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease", + "link": "", + "ssh_url": "git@123.207.203.228:server/CodeRelease.git", + "clone_url": "http://123.207.203.228:3000/server/CodeRelease.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 0, + "release_counter": 0, + "default_branch": "main", + "archived": false, + "created_at": "2024-06-25T11:48:41+08:00", + "updated_at": "2024-06-25T14:11:25+08:00", + "archived_at": "1970-01-01T08:00:00+08:00", + "permissions": { + "admin": false, + "push": false, + "pull": false + }, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "all", + "has_releases": true, + "has_packages": true, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": true, + "allow_rebase_update": true, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "http://123.207.203.228:3000/", + "internal": false, + "mirror_interval": "", + "object_format_name": "", + "mirror_updated": "0001-01-01T00:00:00Z", + "repo_transfer": null + }, + "pusher": { + "id": 2, + "login": "zhangzhe", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "zhangzhe@noreply.localhost", + "avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d", + "html_url": "http://123.207.203.228:3000/zhangzhe", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-05-31T17:08:51+08:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "zhangzhe" + }, + "sender": { + "id": 2, + "login": "zhangzhe", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "zhangzhe@noreply.localhost", + "avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d", + "html_url": "http://123.207.203.228:3000/zhangzhe", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-05-31T17:08:51+08:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "zhangzhe" + } +} + + + diff --git a/文档/linux/Gitea/webhook.发布.json b/文档/linux/Gitea/webhook.发布.json new file mode 100644 index 0000000..8d186e5 --- /dev/null +++ b/文档/linux/Gitea/webhook.发布.json @@ -0,0 +1,173 @@ + +{ + "action": "published", + "release": { + "id": 2, + "tag_name": "0.0.2", + "target_commitish": "main", + "name": "测试", + "body": "", + "url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/releases/2", + "html_url": "http://123.207.203.228:3000/server/CodeRelease/releases/tag/0.0.2", + "tarball_url": "http://123.207.203.228:3000/server/CodeRelease/archive/0.0.2.tar.gz", + "zipball_url": "http://123.207.203.228:3000/server/CodeRelease/archive/0.0.2.zip", + "upload_url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/releases/2/assets", + "draft": false, + "prerelease": false, + "created_at": "2024-06-25T14:57:42+08:00", + "published_at": "2024-06-25T14:57:42+08:00", + "author": { + "id": 2, + "login": "zhangzhe", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "zhangzhe@noreply.localhost", + "avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d", + "html_url": "http://123.207.203.228:3000/zhangzhe", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-05-31T17:08:51+08:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "zhangzhe" + }, + "assets": [ + { + "id": 5, + "name": "CodeRelease.0.0.2.zip", + "size": 1463907, + "download_count": 0, + "created_at": "2024-06-25T14:57:40+08:00", + "uuid": "87d80f69-7083-46be-aa29-2bc50b782718", + "browser_download_url": "http://123.207.203.228:3000/server/CodeRelease/releases/download/0.0.2/CodeRelease.0.0.2.zip" + } + ] + }, + "repository": { + "id": 6, + "owner": { + "id": 3, + "login": "server", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "", + "avatar_url": "http://123.207.203.228:3000/avatars/cf1e8c14e54505f60aa10ceb8d5d8ab3", + "html_url": "http://123.207.203.228:3000/server", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-06-02T13:09:11+08:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "server" + }, + "name": "CodeRelease", + "full_name": "server/CodeRelease", + "description": "代码发布", + "empty": false, + "private": false, + "fork": false, + "template": false, + "parent": null, + "mirror": false, + "size": 39, + "language": "", + "languages_url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease/languages", + "html_url": "http://123.207.203.228:3000/server/CodeRelease", + "url": "http://123.207.203.228:3000/api/v1/repos/server/CodeRelease", + "link": "", + "ssh_url": "git@123.207.203.228:server/CodeRelease.git", + "clone_url": "http://123.207.203.228:3000/server/CodeRelease.git", + "original_url": "", + "website": "", + "stars_count": 0, + "forks_count": 0, + "watchers_count": 1, + "open_issues_count": 0, + "open_pr_counter": 0, + "release_counter": 2, + "default_branch": "main", + "archived": false, + "created_at": "2024-06-25T11:48:41+08:00", + "updated_at": "2024-06-25T14:11:25+08:00", + "archived_at": "1970-01-01T08:00:00+08:00", + "permissions": { + "admin": true, + "push": true, + "pull": true + }, + "has_issues": true, + "internal_tracker": { + "enable_time_tracker": true, + "allow_only_contributors_to_track_time": true, + "enable_issue_dependencies": true + }, + "has_wiki": true, + "has_pull_requests": true, + "has_projects": true, + "projects_mode": "all", + "has_releases": true, + "has_packages": true, + "has_actions": true, + "ignore_whitespace_conflicts": false, + "allow_merge_commits": true, + "allow_rebase": true, + "allow_rebase_explicit": true, + "allow_squash_merge": true, + "allow_fast_forward_only_merge": true, + "allow_rebase_update": true, + "default_delete_branch_after_merge": false, + "default_merge_style": "merge", + "default_allow_maintainer_edit": false, + "avatar_url": "http://123.207.203.228:3000/", + "internal": false, + "mirror_interval": "", + "object_format_name": "", + "mirror_updated": "0001-01-01T00:00:00Z", + "repo_transfer": null + }, + "sender": { + "id": 2, + "login": "zhangzhe", + "login_name": "", + "source_id": 0, + "full_name": "", + "email": "zhangzhe@noreply.localhost", + "avatar_url": "http://123.207.203.228:3000/avatars/a41a0dc924cc9424ef91104f38c3b30d", + "html_url": "http://123.207.203.228:3000/zhangzhe", + "language": "", + "is_admin": false, + "last_login": "0001-01-01T00:00:00Z", + "created": "2024-05-31T17:08:51+08:00", + "restricted": false, + "active": false, + "prohibit_login": false, + "location": "", + "website": "", + "description": "", + "visibility": "public", + "followers_count": 0, + "following_count": 0, + "starred_repos_count": 0, + "username": "zhangzhe" + } + } \ No newline at end of file diff --git a/文档/linux/MySql安装使用.md b/文档/linux/MySql安装使用.md new file mode 100644 index 0000000..9677e4c --- /dev/null +++ b/文档/linux/MySql安装使用.md @@ -0,0 +1,75 @@ +#
mysql 安装记录
+ +## 操作环境 Ubuntu 22.04.2 LTS + +### 使用 apt 方式安装 + +```sh +#更新系统的软件包列表 +sudo apt update + +#查看可用的mysql版本 +apt list -a mysql-server + +#安装MySQL服务器 +sudo apt install mysql-server + +#安装特定版本,将 替换为你想要安装的具体版本号 +sudo apt-get install mysql-server= +sudo apt-get install mysql-server=5.7.35-1ubuntu18.04 + +#锁定版本(可选) +sudo apt-mark hold mysql-server + +#安装完成后,可以运行以下命令来启动MySQL服务 +sudo service mysql start + +#停止 MySQL 服务 +sudo service mysql stop + +#检查MySQL服务状态 +sudo service mysql status + +#(可选) 为了增加MySQL的安全性,你可以运行MySQL安全性脚本: +sudo mysql_secure_installation + +#使用 apt-get 删除 MySQL 软件包 +sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* + +#删除 MySQL 数据目录 +sudo rm -rf /etc/mysql /var/lib/mysql +``` + +### MySQL 的二进制发行版,手动安装 + +## 常用语句 + +```sh +#登录 +mysql -u 用户名 -p +#刷新权限 +FLUSH PRIVILEGES; +#退出mysql +exit; +``` + +### 常见问题 + +#### 安装完成后登录不上去 + +第一次登录时没有密码,造成无法登录这是由于 MYSQL 数据库一开始生成了一个随机密码 +解决方案: +方案 1.使用命令查看随机密码,利用该文件中的 user 和 password 登录 + +```sh +sudo cat /etc/mysql/debian.cnf + +#mysql -u debian-sys-maint -p +#mQxsCvggohEqn2rN +``` + +方案 2.修改密码,修改的密码可能要和 mysql 的规则一直 + +```sh +GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "密码"; +``` diff --git a/文档/linux/SQL Server安装记录.md b/文档/linux/SQL Server安装记录.md new file mode 100644 index 0000000..0182fde --- /dev/null +++ b/文档/linux/SQL Server安装记录.md @@ -0,0 +1,28 @@ +#
SQL Server安装记录
+ +## 操作环境 Ubuntu 22.04.2 LTS + +## [安装帮助文档](https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-ver15&preserve-view=true&tabs=ubuntu2004#install) + +### 安装方法 +1.导入公共存储库 GPG 密钥 +```sh + curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc +``` +2.注册 SQL Server Ubuntu 存储库: +```sh + sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)" +``` +3.运行以下命令以安装 SQL Server: +```sh + sudo apt-get update + sudo apt-get install -y mssql-server +``` +4.启动配置 +```sh +sudo /opt/mssql/bin/mssql-conf setup +``` +4.停止sqlserver +```sh +sudo systemctl stop mssql-server +``` \ No newline at end of file diff --git a/文档/linux/Shadowsocks.md b/文档/linux/Shadowsocks.md new file mode 100644 index 0000000..5c9fbab --- /dev/null +++ b/文档/linux/Shadowsocks.md @@ -0,0 +1,41 @@ +# 机场 Shadowsocks +可以通过v2rayN进行代理连接,实现翻墙 +## Shadowsocks 安装 +```sh +sudo apt update +# 安装包 +sudo apt install shadowsocks-libev -y +# 配置 Shadowsocks,创建并编辑 Shadowsocks 的配置文件。这个文件通常位于 /etc/shadowsocks-libev/config.json。 +sudo nano /etc/shadowsocks-libev/config.json +# 配置项 +{ + "server":["::1", "127.0.0.1"], + "mode":"tcp_and_udp", + "server_port":8388, + "local_port":1080, + "password":"07RT9gL2zLZ2", + "timeout":86400, + "method":"chacha20-ietf-poly1305" +} + +# 启动和设置开机自启 +sudo systemctl start shadowsocks-libev +sudo systemctl enable shadowsocks-libev +# 配置防火墙 +sudo ufw allow 8388/tcp +sudo ufw allow 8388/udp +sudo ufw reload + +# 检测服务状态 +sudo systemctl status shadowsocks-libev + + +``` +### 配置项解释 +"server": ["::1", "127.0.0.1"]:定义服务器地址。::1 是 IPv6 的本地回环地址,127.0.0.1 是 IPv4 的本地回环地址。这意味着当前配置只会监听本地回环接口。 +"mode": "tcp_and_udp":定义 Shadowsocks 工作模式,这里配置为同时支持 TCP 和 UDP 协议。 +"server_port": 8388:定义服务器监听的端口,这里设置为 8388。 +"local_port": 1080:定义本地代理的端口,这里设置为 1080。 +"password": "07RT9gL2zLZ2":定义连接到代理服务器时需要使用的密码。 +"timeout": 86400:定义连接超时时间,单位为秒,这里设置为 86400 秒(即 24 小时)。 +"method": "chacha20-ietf-poly1305":定义加密方法,这里使用 chacha20-ietf-poly1305,这是一种安全性较高的加密算法。 \ No newline at end of file diff --git a/文档/linux/ZeroTierOne.md b/文档/linux/ZeroTierOne.md new file mode 100644 index 0000000..2669978 --- /dev/null +++ b/文档/linux/ZeroTierOne.md @@ -0,0 +1,17 @@ +# 内网穿透 + +## 安装 +```sh +# GPG 密钥和仓库: +curl -s https://install.zerotier.com | sudo bash +# 安装 ZeroTier +sudo apt install zerotier-one +# 启动并加入网络 sudo zerotier-cli join +sudo zerotier-cli join 48d6023c465446a4 +# 检查连接状态 +sudo zerotier-cli listnetworks +# 开机自启 +sudo systemctl enable zerotier-one +# + +``` diff --git a/文档/linux/baget/baget.service b/文档/linux/baget/baget.service new file mode 100644 index 0000000..2acd7d1 --- /dev/null +++ b/文档/linux/baget/baget.service @@ -0,0 +1,40 @@ +[Unit] +Description=BaGet NuGet Server +After=network.target + +[Service] +WorkingDirectory=/disk/BaGet/net8.0/ +ExecStart=/disk/BaGet/net8.0/BaGet +Restart=always +# 如果网络服务崩溃,请在10秒钟后重新启动服务: +RestartSec=10 +SyslogIdentifier=baget +User=root + +[Install] +WantedBy=multi-user.target + + + +[Unit] +Description=sunny-sports-api +After=network.target +[Service] +# 运行 设置环境变量 +#指定服务的工作目录 +WorkingDirectory=/disk/BaGet/net8.0 +# run +ExecStart=/disk/BaGet/net8.0/BaGet +SyslogIdentifier=baget +User=root +# 打开资源限制infinity 默认会到65535 +LimitNOFILE=1048576 +LimitNPROC=infinity +LimitCORE=infinity +# 自动检查重启,10秒后重启 +Restart=always +RestartSec=10 +[Install] +WantedBy=multi-user.target + + diff --git a/文档/linux/baget/部署文档.md b/文档/linux/baget/部署文档.md new file mode 100644 index 0000000..db1e298 --- /dev/null +++ b/文档/linux/baget/部署文档.md @@ -0,0 +1,25 @@ +## 服务文件 +/etc/systemd/system/baget.service +```sh +sudo nano /etc/systemd/system/baget.service +sudo systemctl daemon-reload +sudo systemctl start baget +sudo systemctl enable baget +sudo systemctl status baget +sudo systemctl stop baget +``` +## 发布命令 +```sh +# /disk/BaGet/src/BaGet$ + dotnet publish -c Release -o /disk/BaGetApi/ +``` + +## 同步命令 +```sh +rsync -avz /disk/BaGetApi/ ubuntu@123.207.203.228:/disk/BaGet/net8.0/ +``` +## 上传 +```sh +dotnet nuget push XLib.NetCore.Utility.1.0.0.nupkg --source "http://123.207.203.228:91/v3/index.json" --api-key "066f010d59" + +``` diff --git a/文档/linux/ffmpeg.md b/文档/linux/ffmpeg.md new file mode 100644 index 0000000..0c675e6 --- /dev/null +++ b/文档/linux/ffmpeg.md @@ -0,0 +1,10 @@ +## 推取视频 + +```sh +nohup ffmpeg -re -stream_loop -1 -i /disk/ai_sports/data/sunny_sports/6MM20240327161002.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream_sunny_6MM20240327161002 >/dev/null 2>&1 & + + +``` + +rtsp://192.168.1.229:8554/stream_sunny_6MM20240327161002 +rtsp://192.168.1.229:8554/stream_sunny_8MM20240327160349 \ No newline at end of file diff --git a/文档/linux/liunx使用记录.md b/文档/linux/liunx使用记录.md new file mode 100644 index 0000000..50cecd8 --- /dev/null +++ b/文档/linux/liunx使用记录.md @@ -0,0 +1,100 @@ +#
liunx 使用记录
+ +## 基础命令 + +```sh +#关机 +sudo shutdown now + +#查看发行版信息 +lsb_release -a + +#查看内核版本: +uname -a + +#查看系统信息 +hostnamectl +# 删除指纹 +ssh-keygen -R 106.75.209.57 + +#安装ip查看工具 +sudo apt-get install net-tools + +#查看IP +ifconfig + +#查看端口是否打开,有输出为开启,没有输出为关闭 +lsof -i:3306 + +#开发防火墙的3306端口 +sudo ufw allow 3306/tcp + +# 创建文件夹(disk 文件夹名称) +sudo mkdir /disk + +# 获取权限 +sudo chmod -R 777 * +sudo chmod 777 /disk + +# 删除文件夹 +sudo rm -r /disk/sunnysports +# 发送ssh密钥 +ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@106.75.209.57 +``` + +### 常用命令 + +```sh +#文件和目录操作: +ls: 列出目录内容。 +cd: 切换目录。 +pwd: 显示当前工作目录的路径。 +cp: 复制文件或目录。 +mv: 移动或重命名文件或目录。 +rm: 删除文件或目录。 +mkdir: 创建目录。 +chmod: 修改文件或目录的权限。 +chown: 修改文件或目录的所有者。 + +#文件查看和编辑: +cat: 显示文件内容。 +less: 分页查看文件内容。 +head: 显示文件的开头部分。 +tail: 显示文件的结尾部分。 +nano 或 vim: 文本编辑器。 + +#系统信息和管理: +uname: 显示系统信息。 +df: 显示磁盘空间使用情况。 +du: 显示目录空间使用情况。 +top 或 htop: 显示系统资源使用情况。 +ps: 显示当前运行的进程。 +kill: 终止进程。 +shutdown 或 reboot: 关闭或重启系统。 + +#用户和权限管理: +whoami: 显示当前登录的用户名。 +who: 显示当前登录用户的信息。 +sudo: 以超级用户权限执行命令。 +adduser 或 useradd: 添加新用户。 +passwd: 修改用户密码。 +groups: 显示用户所属的组。 +visudo: 编辑 sudoers 文件,配置用户权限。 + +#网络相关: +ping: 测试网络连接。 +ifconfig: 或 ip: 显示网络接口信息。 +netstat: 显示网络状态。 +traceroute 或 mtr: 追踪网络路由。 +wget 或 curl: 下载文件。 +ssh: 远程登录。 + +#压缩和解压: +tar: 打包和解压文件。 +gzip 或 gunzip: 压缩和解压 gzip 格式的文件。 +zip 或 unzip: 压缩和解压 zip 格式的文件。 +``` + + +### 服务 +1. 服务基础位置 /etc/systemd/system/ \ No newline at end of file diff --git a/文档/linux/make.md b/文档/linux/make.md new file mode 100644 index 0000000..ce6facc --- /dev/null +++ b/文档/linux/make.md @@ -0,0 +1,9 @@ +## make + +```sh +sudo apt update +sudo apt install make +make --version + + +``` \ No newline at end of file diff --git a/文档/linux/nano.md b/文档/linux/nano.md new file mode 100644 index 0000000..df1799e --- /dev/null +++ b/文档/linux/nano.md @@ -0,0 +1,35 @@ +# nano文本编辑 + +## 安装 +```sh +apt-get install -y nano +``` + +## 使用语法 + ```sh +nano <文件名或文件绝对路径> +# 使用示例 +nano vvhan.com.txt +nano /root/vvhan.com.txt +``` +当你打开一个不存在的文件,那么即为新建文件。打开文件后,就可以直接编辑了。 +## 使用教程 +```sh +Ctrl+G,显示帮助文本 +Ctrl+O,保存当前文件 +Ctrl+R,读取其他文件并插入光标位置 +Ctrl+Y,跳至上一屏幕 +Ctrl+K,剪切当前一行 +Ctrl+C,显示光标位置 +Ctrl+X,退出编辑文本 +Ctrl+J,对其当前段落(以空格为分隔符) +Ctrl+W,搜索文本位置 +Ctrl+V,跳至下一屏幕 +Ctrl+U,粘贴文本至光标处 +Ctrl+T,运行拼写检查 +Ctrl+_,跳转到某一行 +ALT+U,撤销 +ALT+E,重做 +ALT+Y, 语法高亮 +ALT+#,显示行号 +``` \ No newline at end of file diff --git a/文档/linux/nginx.md b/文档/linux/nginx.md new file mode 100644 index 0000000..318bd3c --- /dev/null +++ b/文档/linux/nginx.md @@ -0,0 +1,231 @@ +# Nginx + +## 常用命令 +```sh +# 启动 Nginx 服务 +sudo systemctl start nginx +# 关闭 +sudo systemctl stop nginx +# 重启 +sudo systemctl restart nginx +# 重新加载 Nginx 以应用更改 +sudo systemctl reload nginx + +# 默认目录 +cd /var/www/ +# 配置文件 +cd /etc/nginx/ +/etc/nginx/nginx.conf + +#测试 Nginx 配置是否正确 +sudo nginx -t + +``` + +## 在 Ubuntu 22.04 上安装和配置 Nginx + +### 安装 +```sh +#首先,确保您的软件包索引是最新的: +sudo apt update +#步骤 2:安装 Nginx +sudo apt install nginx +#步骤 3:启动 Nginx 服务 +sudo systemctl start nginx +#步骤 4:使 Nginx 服务开机自启 +sudo systemctl enable nginx +#步骤 5:检查 Nginx 状态 +sudo systemctl status nginx +#步骤 6:配置防火墙 +sudo ufw allow 'Nginx Full' + +``` + +### 配置ssh +常见的存放路径是 /etc/nginx/ssl/ +```sh +sudo mkdir -p /etc/nginx/ssl +sudo cp /path/to/your/example.com.crt /etc/nginx/ssl/ +sudo cp /path/to/your/example.com.key /etc/nginx/ssl/ + +``` +```sh +server { + listen 443 ssl; + server_name api.zpc-xy.com; + + ssl_certificate /etc/nginx/ssl/api.zpc-xy.com_nginx/api.zpc-xy.com_bundle.crt; + ssl_certificate_key ssl/api.zpc-xy.com_nginx/api.zpc-xy.com.key; + + # ssl_protocols TLSv1.2 TLSv1.3; # 仅使用 TLS 1.2 和 1.3 + # ssl_ciphers HIGH:!aNULL:!MD5; # 配置强密码套件 + + # location / { + # proxy_pass http://localhost:3000; # 例如,如果你有一个后端应用运行在端口3000 + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # } +} +``` + ### 配置文件 +```bash +# 基础配置 +server { + listen 80; + server_name example.com www.example.com; + + root /var/www/example.com/html; + index index.html index.htm index.nginx-debian.html; + + location / { + try_files $uri $uri/ =404; + } +} + +server { + # 添加虚拟目录映射 + location /output/ { + # alias /disk/ai_sports/DataGateway/output/; + # 或者使用 root 指令(视具体情况而定) + root /disk/ai_sports/DataGateway/output/; + + # 可选配置:根据需要添加其他指令,如访问控制、缓存策略等 + autoindex on; # 如果希望列出目录内容 + # expires 30d; # 设置静态资源缓存过期时间 + # try_files $uri $uri/ =404; # 用于处理目录索引和文件不存在的情况 + } + } + + +# 代理转发 +server { + listen 82 default_server; + listen [::]:82 default_server; + + #root /var/www/web; + + # Add index.php to the list if you are using PHP + #index index.html index.htm index.nginx-debian.html; + + server_name _; + + location / { + proxy_pass http://192.168.195.32:8189; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + +} +# 代理转发,允许websocket +server { + listen 82 default_server; + listen [::]:82 default_server; + + #root /var/www/web; + + # Add index.php to the list if you are using PHP + #index index.html index.htm index.nginx-debian.html; + + server_name _; + + + location / { + proxy_pass http://192.168.195.32:8189; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + +} + +### 添加跨域 +server { + listen 83 default_server; + listen [::]:83 default_server; + + #root /var/www/web; + + # Add index.php to the list if you are using PHP + #index index.html index.htm index.nginx-debian.html; + + server_name _; + + location / { + proxy_pass http://192.168.195.32:9967; + + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + # 添加自定义标头 + + # 添加 CORS 标头 + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization'; + + # 如果需要处理 OPTIONS 请求 + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; + add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Length' 0; + add_header 'Content-Type' 'text/plain charset=UTF-8'; + return 204; + } + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + +} + + + +``` + + + # 安装支持 ngx_stream 模块的 Nginx 版本: + ```sh +sudo apt update +sudo apt install nginx-full +# 更新配置以启用 stream 模块: nginx.conf 文件中添加 +stream { + upstream rdp_backend { + server windows_server_ip:3389; + } + + server { + listen 3389; # 监听的端口,可以根据需要修改 + proxy_pass rdp_backend; + } +} + +## 进阶选项 nginx.conf 文件中添加 + +stream { + include /etc/nginx/stream.d/*.conf; # 确保 stream 块包含 conf.d 目录中的配置文件 +} + #/etc/nginx/stream.d/rdp.conf +upstream rdp_backend { + server 192.168.195.4:3389; # 将此 IP 替换为你的 Windows 服务器 IP +} + +server { + listen 89; # Nginx 监听的端口,可以根据需要修改 + proxy_pass rdp_backend; +} + + ``` \ No newline at end of file diff --git a/文档/linux/node.js.md b/文档/linux/node.js.md new file mode 100644 index 0000000..176eda9 --- /dev/null +++ b/文档/linux/node.js.md @@ -0,0 +1,14 @@ +# Node.js +[官网地址](https://nodejs.org/zh-cn/download/package-manager/all) +### [安装](https://github.com/nodesource/distributions?tab=readme-ov-file#debian-and-ubuntu-based-distributions) +```sh +sudo apt-get install -y curl +#下载Node.js安装脚本: +curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh +# 使用 sudo 运行Node.js设置脚本: +sudo -E bash nodesource_setup.sh +# 安装Node.js: +sudo apt-get install -y nodejs +#验证安装: +node -v +``` \ No newline at end of file diff --git a/文档/linux/rsync.md b/文档/linux/rsync.md new file mode 100644 index 0000000..ba990fe --- /dev/null +++ b/文档/linux/rsync.md @@ -0,0 +1,26 @@ +# rsync 服务器文件传输 + +## 安装 +```sh +sudo apt-get install rsync +``` + +## 常用命令 +```sh +# 从本地同步到远程服务器 +rsync -avz /path/to/local/dir/ user@remote.server:/path/to/remote/dir/ +# 从远程服务器同步到本地 +rsync -avz user@remote.server:/path/to/remote/dir/ /path/to/local/dir/ +#显示传输进度 +rsync -avz --progress /home/user/project/ user@remote.server:/home/user/backup/ +# 排除某些文件或目录 同步时排除某些文件或目录,可以使用 --exclude 选项: +rsync -avz --exclude 'node_modules' --exclude '*.log' /home/user/project/ user@remote.server:/home/user/backup/ +# 使用 rsync 同步删除文件 在源位置删除的文件,也在目标位置删除,可以使用 --delete 选项 +rsync -avz --delete /home/user/project/ user@remote.server:/home/user/backup/ + +``` +## 常用选项 +1. -a:归档模式,表示递归传输并保持所有文件属性。 +2. -v:详细模式,显示传输过程中的详细信息。 +3. -z:压缩文件数据,以减少传输量。 +4. -P:显示传输进度,并自动重启传输中断的部分 \ No newline at end of file diff --git a/文档/linux/ssh.md b/文档/linux/ssh.md new file mode 100644 index 0000000..e0325e7 --- /dev/null +++ b/文档/linux/ssh.md @@ -0,0 +1,69 @@ +# windwos ssh 创建 +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@pc" +# 输入路径 /c/Users/admin/.ssh/229_rsa +# 创建的路径不能有公共的读写权限 +eval "$(ssh-agent -s)" ssh-add ~/.ssh/229_rsa +ssh-copy-id -i ~/.ssh/229_rsa.pub root@192.168.1.229 +# 远程的时候可以添加密钥文件地址cd +ssh root@192.168.1.229 -i ~/.ssh/229_rsa +``` + +# linux ssh 创建 +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl" +# /home/z/.ssh/229_rsa +eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/229_rsa +ssh-copy-id -i /home/z/.ssh/229_rsa.pub root@192.168.1.229 + # 远程的时候可以添加密钥文件地址 +ssh root@192.168.1.229 -i ~/.ssh/229_rsa + +ssh root@192.168.1.229 -i ~/.ssh/229_rsa "cd /disk/work/sj_git/sunnysports/;make build-data" + +``` +ssh-copy-id -i /root/.ssh/id_rsa.pub + +# linux ssh 线上 +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@wsl" +# /home/z/.ssh/25_rsa +eval "$(ssh-agent -s)" ssh-add /home/z/.ssh/25_rsa +ssh-copy-id -i /home/z/.ssh/25_rsa.pub root@192.144.132.25 + # 远程的时候可以添加密钥文件地址 +ssh root@192.144.132.25 -i ~/.ssh/25_rsa + + +``` + +```sh +ssh-keygen -t rsa -b 4096 -C "zhangzhe@pc" +# 输入路径 /c/Users/admin/.ssh/25_rsa +# 创建的路径不能有公共的读写权限 +eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa +ssh-copy-id -i ~/.ssh/25_rsa.pub root@192.144.132.25 + +ssh root@106.75.209.57 +# 远程的时候可以添加密钥文件地址 +ssh root@192.144.132.25 -i ~/.ssh/25_rsa +``` +ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@1.117.87.77 +eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa +1.117.87.77 +dbt@com@1234 +ssh ubuntu@1.117.87.77 +ssh root@1.117.87.77 + + +ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.144.132.25 + +ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@123.207.203.228 +ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@106.75.209.57 + +ssh root@192.168.1.229 -i ~/.ssh/229_rsa + +123.207.203.228 + + + +ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@123.207.203.228 + diff --git a/文档/linux/服务文件/code-release.service b/文档/linux/服务文件/code-release.service new file mode 100644 index 0000000..7ee2f7c --- /dev/null +++ b/文档/linux/服务文件/code-release.service @@ -0,0 +1,22 @@ +[Unit] +Description=code-release +After=network.target +[Service] +# 运行 设置环境变量 +#指定服务的工作目录 +WorkingDirectory=/disk/CodeRelease +# run +ExecStart=/disk/CodeRelease/CodeRelease +SyslogIdentifier=CodeRelease +User=root +# 打开资源限制infinity 默认会到65535 +LimitNOFILE=1048576 +LimitNPROC=infinity +LimitCORE=infinity +# 自动检查重启,10秒后重启 +Restart=always +RestartSec=10 +[Install] +WantedBy=multi-user.target + + diff --git a/文档/linux/服务文件/部署文档.md b/文档/linux/服务文件/部署文档.md new file mode 100644 index 0000000..12bb061 --- /dev/null +++ b/文档/linux/服务文件/部署文档.md @@ -0,0 +1,33 @@ +## 服务文件 +/etc/systemd/system/baget.service +```sh +sudo nano /etc/systemd/system/code-release.service +sudo systemctl start code-release.service +sudo systemctl daemon-reload +sudo systemctl start baget +sudo systemctl enable baget +sudo systemctl status baget +sudo systemctl stop baget + + +sudo systemctl restart code-release + +``` +## 发布命令 +```sh +# /disk/BaGet/src/BaGet$ + dotnet publish -c Release -o /disk/BaGetApi/ + dotnet publish -c Release -o /disk/CodeRelease/public/ +``` + +## 同步命令 +```sh +rsync -avz /disk/BaGetApi/ ubuntu@123.207.203.228:/disk/BaGet/net8.0/ +rsync -avz /disk/CodeRelease/public/ ubuntu@123.207.203.228:/disk/CodeRelease/ + +``` +## 上传 +```sh +dotnet nuget push XLib.NetCore.Utility.1.0.0.nupkg --source "http://123.207.203.228:91/v3/index.json" --api-key "066f010d59" + +``` diff --git a/文档/windwos/netsh 代理转发.md b/文档/windwos/netsh 代理转发.md new file mode 100644 index 0000000..67da3ea --- /dev/null +++ b/文档/windwos/netsh 代理转发.md @@ -0,0 +1,16 @@ +```sh +# 查看所有转发 +netsh interface portproxy show all +# 转发端口 listenaddress 转发地址 到 connectaddress +netsh interface portproxy add v4tov4 listenport=7860 listenaddress=117.50.182.144 connectport=7860 connectaddress=127.0.0.1 +netsh advfirewall firewall add rule name="Allow Port 7860" protocol=TCP dir=in localport=7860 action=allow + + +# interface portproxy add +netsh interface portproxy add v4tov4 listenport=5000 listenaddress=117.50.182.144 connectport=5000 connectaddress=127.0.0.1 +# 删除转发 +netsh interface portproxy delete v4tov4 listenport=7860 listenaddress=117.50.182.144 +# 重启 +netsh interface portproxy reset + +``` \ No newline at end of file diff --git a/文档/其它/.editorconfig b/文档/其它/.editorconfig new file mode 100644 index 0000000..acb903c --- /dev/null +++ b/文档/其它/.editorconfig @@ -0,0 +1,214 @@ +############################### +# 核心编辑器配置选项 # +############################### +root = true +# All files +[*] +indent_style = space + +# XML project files +[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] +indent_size = 2 + +# XML config files +[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] +indent_size = 2 +[*.cs] +end_of_line = lf #指定换行符的类型,可以是lf(Unix/Linux)、crlf(Windows)或cr(老式的Mac OS)。 +# Code files +[*.{cs,csx,vb,vbx}] +indent_size = 4 +insert_final_newline = true +charset = utf-8 #设置文件字符集为utf-8,在 Linux 系统中,通常推荐使用 UTF-8 而不是 UTF-8 with BOM。添加 BOM 可能会干扰那些不期望在文件开头出现非 ASCII 字节的软件对 UTF-8 的使用。 +############################### +# .NET 编码约定 # +############################### +[*.{cs,vb}] + +# 组织 using 指令,将系统引用放在前面 +dotnet_sort_system_directives_first = true + +# this. 语法的偏好设置 +dotnet_style_qualification_for_field = false:silent # 对字段使用 this. 语法时,不强制要求 +dotnet_style_qualification_for_property = false:silent # 对属性使用 this. 语法时,不强制要求 +dotnet_style_qualification_for_method = false:silent # 对方法使用 this. 语法时,不强制要求 +dotnet_style_qualification_for_event = false:silent # 对事件使用 this. 语法时,不强制要求 + +# 语言关键字与 BCL(基类库)类型的偏好设置 +dotnet_style_predefined_type_for_locals_parameters_members = true:silent # 推荐在局部变量、参数和成员中使用语言关键字而不是 BCL 类型 +dotnet_style_predefined_type_for_member_access = true:silent # 推荐在成员访问中使用语言关键字而不是 BCL 类型 + +# 括号的偏好设置 +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent # 推荐在算术二元运算符周围始终使用括号以增强清晰度 +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent # 推荐在关系二元运算符周围始终使用括号以增强清晰度 +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent # 推荐在其他二元运算符周围始终使用括号以增强清晰度 +dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent # 在其他操作符周围使用括号时,只在必要时添加 + +# 修饰符的偏好设置 +dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent # 针对非接口成员,推荐添加访问修饰符 +dotnet_style_readonly_field = true:suggestion # 推荐将字段声明为只读 +dotnet_style_object_initializer = true:suggestion # 推荐使用对象初始化器 +dotnet_style_collection_initializer = true:suggestion # 推荐使用集合初始化器 +dotnet_style_explicit_tuple_names = true:suggestion # 推荐使用显式的元组成员命名 +dotnet_style_null_propagation = true:suggestion # 推荐使用 null 条件运算符(?.)进行空引用检查 +dotnet_style_coalesce_expression = true:suggestion # 推荐使用空值合并运算符(??) +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent # 在检查是否为 null 时,推荐使用 is 运算符而不是引用相等方法 +dotnet_style_prefer_inferred_tuple_names = true:suggestion # 推荐使用推断的元组成员命名 +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion # 推荐使用推断的匿名类型成员命名 +dotnet_style_prefer_auto_properties = true:silent # 推荐使用自动属性 +dotnet_style_prefer_conditional_expression_over_assignment = true:silent # 推荐使用条件表达式而不是赋值表达式 +dotnet_style_prefer_conditional_expression_over_return = true:silent # 推荐使用条件表达式而不是 return 语句 + +############################### +# 命名约定 # +############################### + +# 样式定义 +dotnet_naming_style.pascal_case_style.capitalization = pascal_case # 使用 PascalCase 风格 + +# 命名规则:常量字段应使用 PascalCase 风格 +dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion # 规则严重程度为建议 +dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields # 适用于 constant_fields 符号 +dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style # 风格为 PascalCase + +# 常量字段的符号定义 +dotnet_naming_symbols.constant_fields.applicable_kinds = field # 适用于字段 +dotnet_naming_symbols.constant_fields.applicable_accessibilities = * # 适用于所有可见性(public、internal、private 等) +dotnet_naming_symbols.constant_fields.required_modifiers = const # 必须具有 const 修饰符 + +############################### +# C# 编码约定 # +############################### +[*.cs] + +# var 的偏好设置 +csharp_style_var_for_built_in_types = true:silent # 当变量的类型是内置类型时,使用 var +csharp_style_var_when_type_is_apparent = true:silent # 当变量类型明显时,使用 var +csharp_style_var_elsewhere = true:silent # 在其他情况下,也使用 var + +# 表达式主体成员的偏好设置 +csharp_style_expression_bodied_methods = false:silent # 不使用表达式主体的方法 +csharp_style_expression_bodied_constructors = false:silent # 不使用表达式主体的构造函数 +csharp_style_expression_bodied_operators = false:silent # 不使用表达式主体的运算符 +csharp_style_expression_bodied_properties = true:silent # 使用表达式主体的属性 +csharp_style_expression_bodied_indexers = true:silent # 使用表达式主体的索引器 +csharp_style_expression_bodied_accessors = true:silent # 使用表达式主体的访问器 + +# 模式匹配的偏好设置 +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion # 推荐使用模式匹配而非 is 与类型转换检查 +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # 推荐使用模式匹配而非 as 与 null 检查 + +# 空检查的偏好设置 +csharp_style_throw_expression = true:suggestion # 推荐使用 throw 表达式 +csharp_style_conditional_delegate_call = true:suggestion # 推荐使用条件委托调用 + +# 修饰符的偏好设置 +csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion # 修饰符的推荐顺序 + +# 表达式级别的偏好设置 +csharp_prefer_braces = true:silent # 推荐使用大括号,即使在可能省略的情况下 +csharp_style_deconstructed_variable_declaration = true:suggestion # 推荐使用解构变量声明 +csharp_prefer_simple_default_expression = true:suggestion # 推荐使用简化的默认值表达式 +csharp_style_prefer_local_over_anonymous_function = true:suggestion # 推荐使用本地函数而非匿名函数 +csharp_style_inlined_variable_declaration = true:suggestion # 推荐内联变量声明 + +############################### +# C# 格式化规则 # +############################### +# 新行偏好设置 + +# 在大括号前添加新行(适用于所有情况) +csharp_new_line_before_open_brace = all + +# 在 "else" 关键字前添加新行 +csharp_new_line_before_else = true + +# 在 "catch" 关键字前添加新行 +csharp_new_line_before_catch = true + +# 在 "finally" 关键字前添加新行 +csharp_new_line_before_finally = true + +# 在对象初始化器中的成员前添加新行 +csharp_new_line_before_members_in_object_initializers = true + +# 在匿名类型初始化器中的成员前添加新行 +csharp_new_line_before_members_in_anonymous_types = true + +# 在查询表达式的子句之间添加新行 +csharp_new_line_between_query_expression_clauses = true + +# 缩进偏好设置 + +# 缩进 switch 语句的内容 +csharp_indent_case_contents = true + +# 缩进 switch 语句的标签 +csharp_indent_switch_labels = true + +# 缩进左对齐 switch 语句的标签 +csharp_indent_labels = flush_left + +# 空间首选项 +# 禁止在强制类型转换后添加空格 +csharp_space_after_cast = false + +# 在控制流语句(如 if、for、while)的关键字后添加空格 +csharp_space_after_keywords_in_control_flow_statements = true + +# 在方法调用的参数列表的括号内禁止添加空格 +csharp_space_between_method_call_parameter_list_parentheses = false + +# 在方法声明的参数列表的括号内禁止添加空格 +csharp_space_between_method_declaration_parameter_list_parentheses = false + +# 在圆括号内禁止添加空格 +csharp_space_between_parentheses = false + +# 在继承声明中的冒号前添加空格 +csharp_space_before_colon_in_inheritance_clause = true + +# 在继承声明中的冒号后添加空格 +csharp_space_after_colon_in_inheritance_clause = true + +# 在二元操作符周围的空格,前后都添加 +csharp_space_around_binary_operators = before_and_after + +# 在方法声明的空参数列表的括号内禁止添加空格 +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false + +# 在方法调用的方法名和左括号之间禁止添加空格 +csharp_space_between_method_call_name_and_opening_parenthesis = false + +# 在方法调用的空参数列表的括号内禁止添加空格 +csharp_space_between_method_call_empty_parameter_list_parentheses = false + +# 包装偏好设置 +csharp_preserve_single_line_statements = true # 保留单行语句的换行风格 +csharp_preserve_single_line_blocks = true # 保留单行块的换行风格 +# C# using 指令的放置偏好设置 +csharp_using_directive_placement = outside_namespace:silent # 在命名空间外部放置 using 指令,不强制要求 + +# 表达式主体的 Lambda 表达式的偏好设置 +csharp_style_expression_bodied_lambdas = true:silent # 推荐使用表达式主体的 Lambda 表达式,不强制要求 + +# 表达式主体的本地函数的偏好设置 +csharp_style_expression_bodied_local_functions = false:silent # 不推荐使用表达式主体的本地函数,不强制要求 + +# 简化 using 语句的偏好设置 +csharp_prefer_simple_using_statement = true:suggestion # 推荐使用简化的 using 语句,建议使用 + +# 命名空间声明风格的偏好设置 +csharp_style_namespace_declarations = block_scoped:silent # 使用块级作用域的命名空间声明风格,不强制要求 + +# 方法组转换的偏好设置 +csharp_style_prefer_method_group_conversion = true:silent # 推荐使用方法组转换,不强制要求 + +# 首选顶层语句的偏好设置 +csharp_style_prefer_top_level_statements = true:silent # 推荐使用顶层语句,不强制要求 + +# 首选主构造函数的偏好设置 +csharp_style_prefer_primary_constructors = true:suggestion # 推荐使用主构造函数,建议使用 + +# 使用静态本地函数的偏好设置 +csharp_prefer_static_local_function = true:suggestion # 推荐使用静态本地函数,建议使用 diff --git a/文档/其它/.editorconfig1 b/文档/其它/.editorconfig1 new file mode 100644 index 0000000..eceed73 --- /dev/null +++ b/文档/其它/.editorconfig1 @@ -0,0 +1,38 @@ + +root = true + +# 全部文件 +[*] +indent_style = space #指定缩进风格,可以是tab(制表符)或space(空格) + +# Xml files +[*.xml] +indent_size = 2 #定义一个缩进级别的大小。 + +[*.cs] +end_of_line = lf #指定换行符的类型,可以是lf(Unix/Linux)、crlf(Windows)或cr(老式的Mac OS)。 +indent_style = space #指定缩进风格,可以是tab(制表符)或space(空格) +charset = utf-8 #设置文件字符集为utf-8,在 Linux 系统中,通常推荐使用 UTF-8 而不是 UTF-8 with BOM。添加 BOM 可能会干扰那些不期望在文件开头出现非 ASCII 字节的软件对 UTF-8 的使用。 +trim_trailing_whitespace = true #指定是否删除行尾的空白字符。 +insert_final_newline = true #指定文件末尾是否应该插入一个空白行。 +indent_size = 4 +# 模式匹配的偏好设置 +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion # 推荐使用模式匹配而非 is 与类型转换检查 +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion # 推荐使用模式匹配而非 as 与 null 检查 + +# 空检查的偏好设置 +csharp_style_throw_expression = true:suggestion # 推荐使用 throw 表达式 +csharp_style_conditional_delegate_call = true:suggestion # 推荐使用条件委托调用 + +# 修饰符的偏好设置 +csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:suggestion # 修饰符的推荐顺序 + +# 表达式级别的偏好设置 +csharp_prefer_braces = true:silent # 推荐使用大括号,即使在可能省略的情况下 +csharp_style_deconstructed_variable_declaration = true:suggestion # 推荐使用解构变量声明 +csharp_prefer_simple_default_expression = true:suggestion # 推荐使用简化的默认值表达式 +csharp_style_prefer_local_over_anonymous_function = true:suggestion # 推荐使用本地函数而非匿名函数 +csharp_style_inlined_variable_declaration = true:suggestion # 推荐内联变量声明 +# 首选顶层语句的偏好设置 +csharp_style_prefer_top_level_statements = true:silent # 推荐使用顶层语句,不强制要求 + diff --git a/文档/其它/README.md b/文档/其它/README.md new file mode 100644 index 0000000..f697f1d --- /dev/null +++ b/文档/其它/README.md @@ -0,0 +1,3 @@ +# document + +文档 \ No newline at end of file diff --git a/文档/其它/sunny-sports-api.service b/文档/其它/sunny-sports-api.service new file mode 100644 index 0000000..128f601 --- /dev/null +++ b/文档/其它/sunny-sports-api.service @@ -0,0 +1,20 @@ +[Unit] +Description=sunny-sports-api +After=network.target +[Service] +# 运行 设置环境变量 +#指定服务的工作目录 +WorkingDirectory=/disk/ai_sports/sunnysportsapi +# run +ExecStart=/disk/ai_sports/sunnysportsapi/SunnySports.Api +SyslogIdentifier=SunnySportsApi +User=root +# 打开资源限制infinity 默认会到65535 +LimitNOFILE=1048576 +LimitNPROC=infinity +LimitCORE=infinity +# 自动检查重启,10秒后重启 +Restart=always +RestartSec=10 +[Install] +WantedBy=multi-user.target diff --git a/文档/其它/sunny-sports-api.service test b/文档/其它/sunny-sports-api.service test new file mode 100644 index 0000000..4d41361 --- /dev/null +++ b/文档/其它/sunny-sports-api.service test @@ -0,0 +1,20 @@ +[Unit] +Description=sunny-sports-api +After=network.target +[Service] +# 运行 设置环境变量 +#指定服务的工作目录 +WorkingDirectory=/disk/sunnysportsapi +# run +ExecStart=/disk/sunnysportsapi/SunnySports.Api +SyslogIdentifier=SunnySportsApi +User=root +# 打开资源限制infinity 默认会到65535 +LimitNOFILE=1048576 +LimitNPROC=infinity +LimitCORE=infinity +# 自动检查重启,10秒后重启 +Restart=always +RestartSec=10 +[Install] +WantedBy=multi-user.target diff --git a/文档/其它/test.md b/文档/其它/test.md new file mode 100644 index 0000000..c5cf1c4 --- /dev/null +++ b/文档/其它/test.md @@ -0,0 +1,17 @@ +后台管理 +需要管理数据库 +需要可以添加数据库 +需要可以删除数据库 + +学生数据库和系统库是否绑定 + + +dotnet ef dbcontext scaffold "Server=192.168.1.229;Database=SunnySport_StudentBase;User ID=chfl;Password=chfl;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer --no-pluralize --force --output-dir Model/Db_Student/ + +项目中 +学生数据库是分库,系统数据库是TenantId隔离 +需要的配置 +1.学校名称 +2.系统数据库租户id +3.系统数据库连接字符串 +4.学生数据库连接字符串 \ No newline at end of file diff --git a/文档/其它/工作文档.md b/文档/其它/工作文档.md new file mode 100644 index 0000000..63f7b60 --- /dev/null +++ b/文档/其它/工作文档.md @@ -0,0 +1,117 @@ +# 工作文档 + +## 远程服务器 + +用户名:_sjgame_ +密    码:_Itvgame2020@!$#_ +默认端口号:_33389_ + +### 国内服务器地址 + +| 服务器名称 | 外网地址 | 内网地址 | 备注 | +| ------------------ | ----------------- | ----------------- | -------------------- | +| 蘑菇游戏-web-1 | 82.157.13.127 | 172.21.64.107 | 绘画接口也在服务器上 | +| 蘑菇游戏-web-2 | 82.157.29.123 | 172.21.64.99 | | +| 蘑菇游戏-web-3 | 82.157.14.24 | 172.21.64.69 | | +| 蘑菇游戏-扩展服务 | 81.70.0.132 | 172.21.127.25 | | +| 蘑菇游戏-PC | 101.42.136.223 | 172.21.64.80 | 官网服务器 | +| ~~蘑菇游戏-web-1~~ | ~~82.157.20.213~~ | ~~172.21.112.18~~ | 已废弃 | +| ~~蘑菇游戏-web-2~~ | ~~82.157.29.123~~ | ~~172.21.112.4~~ | 已废弃 | +| ~~蘑菇游戏-web-3~~ | ~~82.157.14.24~~ | ~~172.21.112.25~~ | 已废弃 | + +### 海外服务器地址 + +| 服务器名称 | 外网地址 | 内网地址 | 备注 | +| ----------------- | ------------- | ------------ | ---------------------- | +| 蘑菇游戏-web-1 | 101.32.15.216 | 172.19.0.12 | 绘画服务器 1 | +| 蘑菇游戏-web-2 | 101.32.14.235 | 172.19.0.11 | 绘画服务器 2 | +| 蘑菇游戏-web-3 | 43.135.25.193 | 172.19.0.95 | 绘画服务器 3 | +| 蘑菇游戏-扩展服务 | 43.129.199 | 172.19.0.13 | | +| 蘑菇游戏-PC | 43.129.195.20 | 172.19.0.149 | 官网服务器 | +| DB | | 172.19.0.17 | 数据库服务器,没有外网 | + +### 跳板机 + +| 服务器名称 | 外网地址 | 内网地址 | 账号 | 密码 | 备注 | +| -------------- | -------------------- | -------- | -------- | ---------------- | -------------------------------------------------------------------------------------------------------- | +| 测试环境跳板机 | 112.124.23.127:33389 | -------- | zhangzhe | CRPCXmdJV5IbK6kh | 测试环境绘画 vnc 地址:
_121.11.212.23:15903_
_tvgame@1_ | +| 现网跳板机 | 112.124.23.127:33389 | -------- | yinming | nwA6QVatxEzIgEdw | 远程现网服务器地址:
_D:\Soft\mstsc-bat\无盘更新 server\601-games-国内-瑞云-华南-广东-cbd-2-(200 路)_ | + +### 其他服务器 + +| 服务器名称 | 外网地址 | 内网地址 | 账号 | 密码 | 备注 | +| ------------------------- | -------------------- | ------------------- | ------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 测试环境服务器 | 121.5.26.77:33389 | | sjgame | Itvgame2020@!$# | 蘑菇和绘画测试服务器 | +| vnc 绘画服务器 | | 121.11.212.23:15903 | | _tvgame@1_ | 需要使用 vnc 连接 | +| 西南交大服务器-测试 | 43.143.246.189:33389 | | sjgame | _Itvgame2020@!$#_ | 测试环境 | +| 西南交大正式服务器-跳板机 | 146.56.198.144:33389 | | sjgame | _Itvgame2020@!$#_ | 远程服务器后需要登录 vpn 才能连接校园服务器 | +| 西南交大正式服务器 | 10.31.19.58 | | sjgame | _Itvgame2020@!$#_ | 如果连上面的服务器,需要有如下步骤
1)登录跳板机:146.56.198.144:33389 用户名:sjgame 密码:Itvgame2020@!$#
2)拨VPN,在跳板机的桌面上有一个vpn.txt,上面都有说明,短信手机号是赵亮的
3)在跳板机上面直接远程:10.31.19.58 即可,然后这台就是正式的WEB服务器 | + +## 账号 + +| 名称 | 账号 | 密码 | 网址 | 备注 | +| ---------------------------------------------------------------------------------------------------- | ---------------------- | ----------------- | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| [git](http://192.168.1.33/users/sign_in) | zhangzhe@holyblade.com | dbt@com@123 | _http://192.168.1.33/users/sign_in_ | git 项目管理地址 | +| ~~[svn](http://192.168.1.19:82/svn/%e6%96%b0%e4%b8%9a%e5%8a%a1/98-%e9%a1%b9%e7%9b%ae/MoguExtCode/)~~ | zhangzhe | RG8orVOa | http://192.168.1.19:82/svn/%e6%96%b0%e4%b8%9a%e5%8a%a1/98-%e9%a1%b9%e7%9b%ae/MoguExtCode/ | 代码已经不再 svn 中管理,使用 git 管理 | +| [禅道](https://moguyouxi.zentaopm.com/) | zhangzhe | zhangzhe0714 | _https://moguyouxi.zentaopm.com/_ | 管理项目进度 | +| [神策](https://sj.cloud.sensorsdata.cn/login/index.html) | heyao@holyblade.com | heyao123!@# | https://sj.cloud.sensorsdata.cn/login/index.html | 用于统计app数据,没有自己的账号,注意:需要断开vpn才能访问 | +| [蓝湖](https://lanhuapp.com/link/#/invite?sid=lx0c2ZfN) | 18761127117 | | | 手机号登录,如果没有权限,找美术开通权限 | +| [百度统计](https://tongji.baidu.com/web/homepage/index) | 13162753112 | Mogu2022. | _https://tongji.baidu.com/web/homepage/index_ | 使用百度账号登录,如果需要发送验证码,找市场部(唐丹等人) | +| ~~[网站监测](http://81.70.0.156:8001/)~~ | logadmin | tech@mogu2021 | http://81.70.0.156:8001/ | 现在访问不通 | +| [友盟](https://www.umeng.com/) | 圣剑网络云游戏 | holyblade0306 | https://www.umeng.com/ | 验证手机(林宇):19521266946,类似神策 | +| [国内鲸云](https://jyapi.moguyouxi.cn:4433/admin/login) | shengjian | sjManager@admin19 | https://jyapi.moguyouxi.cn:4433/admin/login | | +| [海外鲸云](https://jyapihw.moguyouxi.cn:8400//admin/login) | shengjian | sjManager@admin19 | https://jyapihw.moguyouxi.cn:8400//admin/login | | + +## 阿里云OSS +阿里云cdn的客户端工具 +https://help.aliyun.com/document_detail/61872.html +~~holyblade@aliyun.com/holyblade1812~~ +AccessKey ID:_2ZtnBc61LYwbUoAq_ +AccessKey Secret:_ec4UWI8pJ9staa40HGFKcf1WewU0R5_ + + +## 开发事项 + +### api接口地址 + +#### 测试环境 + +* 蘑菇api + 1. [app接口](https://test.moguyouxi.cn:8400/Phone300_Api/) _https://test.moguyouxi.cn:8400/Phone300_Api/_ + 2. [游戏直播api](https://test.moguyouxi.cn:8400/GameLive/) _https://test.moguyouxi.cn:8400/GameLive/_ + 3. [扩展api](https://test.moguyouxi.cn:8400/MoguExt/) _https://test.moguyouxi.cn:8400/MoguExt/_ + 4. [游戏服务api](https://test.moguyouxi.cn:8400/GameApi/) _https://test.moguyouxi.cn:8400/GameApi/_ + 5. [游戏对战api](https://test.moguyouxi.cn:8400/GameFight/) _https://test.moguyouxi.cn:8400/GameFight/_ + 6. [支付api](https://test.moguyouxi.cn:8400/MoguExt.PaymentCenter/) _https://test.moguyouxi.cn:8400/MoguExt.PaymentCenter/_ + 7. [蘑菇活动api](https://test.moguyouxi.cn:8400/MoguExt.HD/) _https://test.moguyouxi.cn:8400/MoguExt.HD/_ +* 绘画api + 1. [绘画api](https://test.moguyouxi.cn:8400/HissAi4.Api/) _https://test.moguyouxi.cn:8400/HissAi4.Api/_ + 2. [绘画api_net6](https://test.moguyouxi.cn:8400/HissAi6.Api/) _https://test.moguyouxi.cn:8400/HissAi6.Api/_ + 3. [支付api](https://test.moguyouxi.cn:8400/HissAi4.PayCenter/) _https://test.moguyouxi.cn:8400/HissAi4.PayCenter/_ + +#### 国内正式api + +* 蘑菇api + 1. [app接口](https://sjapi.moguyouxi.cn:8400/Phone300_Api/) _https://sjapi.moguyouxi.cn:8400/Phone300_Api/_ + 2. [游戏直播api](https://sjapi.moguyouxi.cn:8400/GameLive/) _https://sjapi.moguyouxi.cn:8400/GameLive/_ + 3. [游戏服务api](https://sjapi.moguyouxi.cn:8400/Phone300_GameApi/) _https://sjapi.moguyouxi.cn:8400/Phone300_GameApi/_ + 4. [游戏对战api](https://sjapi.moguyouxi.cn:8400/GameFight/) _https://sjapi.moguyouxi.cn:8400/GameFight/_ + 5. [扩展api](https://moguext.moguyouxi.cn/MoguExt/) _https://moguext.moguyouxi.cn/MoguExt/_ + 6. [支付api](https://moguext.moguyouxi.cn/MoguExt.PaymentCenter/) _https://moguext.moguyouxi.cn/MoguExt.PaymentCenter/_ + 7. [蘑菇活动api](https://moguext.moguyouxi.cn/MoguExt.HD/) _https://moguext.moguyouxi.cn/MoguExt.HD/_ +* 绘画api + 1. [绘画api](https://api.hissai.com:8400/) _https://api.hissai.com:8400/_ + 2. [绘画api_net6](https://api.hissai.com:8400/HissAi6.Api/) _https://api.hissai.com:8400/HissAi6.Api/_ + 3. [支付api](https://api-pay.hissai.com/) _https://api-pay.hissai.com/_ + + +### 开发资料 +| 名称 | 地址 | 备注 | +| -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---- | +| [抖音开发文档](https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/content-security/picture-detect-v2) | https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/content-security/picture-detect-v2 | | +| [微信开发文档](https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html) | https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/skyline/introduction.html | | +| [微信公众平台](https://mp.weixin.qq.com/) | https://mp.weixin.qq.com/ | | +| [SEO综合查询](https://seo.chinaz.com/www.moguyouxi.cn) | https://seo.chinaz.com/www.moguyouxi.cn | | +|[云测试](https://www.testin.cn/account/login.htm)|https://www.testin.cn/account/login.htm|| +|[微软技术文档](https://learn.microsoft.com/zh-cn/docs/)|https://learn.microsoft.com/zh-cn/docs/|| +|[uni-app](https://uniapp.dcloud.net.cn/)|https://uniapp.dcloud.net.cn/|| \ No newline at end of file diff --git a/文档/其它/本地-阳光体育.md b/文档/其它/本地-阳光体育.md new file mode 100644 index 0000000..02787c4 --- /dev/null +++ b/文档/其它/本地-阳光体育.md @@ -0,0 +1,18 @@ +远程方式 +```sh +ssh -p 22 root@192.168.1.229 +# Itvgame2020@!$# +``` +# 服务器静态文件目录 +```sh +# /var/www/html/SunnySportsStudent +``` + +测试环境 +[学生端首页](http://192.168.1.229/SunnySportsStudent/index.html) +[教师端首页](http://192.168.1.229/SunnySportsTeacher/index.html) +唐镇环境 +[学生端首页](https://test.moguyouxi.cn/SunnySportsStudent/index.html) +[教师端首页](https://test.moguyouxi.cn/SunnySportsTeacher/index.html) + +ssh -p 22 ubuntu@124.222.7.198 \ No newline at end of file diff --git a/文档/其它/点赞.txt b/文档/其它/点赞.txt new file mode 100644 index 0000000..9b2f566 --- /dev/null +++ b/文档/其它/点赞.txt @@ -0,0 +1,63 @@ + public BaseResponse DownloadPng(int appId, long userId, long drawId) + { + //var photoAlbum = dao.daoUserData.context.T_User_PhotoAlbum.Where(t => t.Type == 0 && t.DrawId == drawId).FirstOrDefault(); + var photoAlbum = dao.daoUserData.context.T_User_Gallery.Where(t => t.Type == 0 && t.DrawId == drawId).FirstOrDefault(); + if (photoAlbum == null) + { + return new BaseResponse(ResonseCode.Error, "未找到画廊数据"); + } + var obj = dao.daoLog.context.T_Draw_Download_log.Where(t => t.UserId == userId && t.DrawId == drawId).FirstOrDefault(); + var imgUrl = string.Empty; + if (obj != null) + { + imgUrl = dao.daoData.context.T_Draw_Log.Where(it => it.Id == drawId).Select(t => t.TaskResult).FirstOrDefault(); + return new BaseResponse(ResonseCode.Success, "", imgUrl); + } + var user = dao.daoUserData.context.T_Users_Data.Where(t => t.UserId == userId).FirstOrDefault(); + if (user == null) + { + return new BaseResponse(ResonseCode.Error, "用户不存在"); + } + var like = dao.daoUserData.context.T_User_Like.FirstOrDefault(it => it.DrawId == drawId && it.UserId == userId); + if (like != null) + { + if (string.IsNullOrEmpty(imgUrl)) + { + imgUrl = dao.daoData.context.T_Draw_Log.Where(it => it.Id == drawId).Select(t => t.TaskResult).FirstOrDefault(); + } + return new BaseResponse(ResonseCode.Success, "", imgUrl); + } + var currency = user.Currency; + if (currency <= 0) + { + return new BaseResponse(ResonseCode.UserNotMoney, "用户金额不足"); + } + if (obj == null) + { + var t_Draw_Download_Log = new T_Draw_Download_log + { + UserId = userId, + DrawId = drawId, + GalleryId = photoAlbum.Id, + CreateDateTime = DateTime.Now, + LastDownloadDateTime = DateTime.Now, + DownloadCount = 1, + DownloadConsume = 1 + }; + dao.daoLog.Add(t_Draw_Download_Log); + } + else + { + obj.DownloadConsume += 1; + obj.DownloadCount += 1; + obj.LastDownloadDateTime = DateTime.Now; + dao.daoLog.Update(obj); + } + new AccountBLL(dao).UpUserCurrencyInfo(userId, currency: -1); + dao.daoLog.context.SaveChanges(); + if (string.IsNullOrEmpty(imgUrl)) + { + imgUrl = dao.daoData.context.T_Draw_Log.Where(it => it.Id == drawId).Select(t => t.TaskResult).FirstOrDefault(); + } + return new BaseResponse(ResonseCode.Success, "", imgUrl); + } \ No newline at end of file diff --git a/文档/其它/阳光体育部署文档.md b/文档/其它/阳光体育部署文档.md new file mode 100644 index 0000000..35a5734 --- /dev/null +++ b/文档/其它/阳光体育部署文档.md @@ -0,0 +1,232 @@ +# 阳光体育部署文档 + +## 先决条件 +1.dotnet 8 +2.git + +## 运行项目 +```sh +# 假设项目文件在 /disk/ 目录下(disk为空目录) +sudo mkdir /disk +sudo chmod 777 /disk + +# 拉取代码 +git clone git@192.168.1.33:mogu_server/sunnysports.git +# 进入到拉取代码文件中 +cd /disk/sunnysports +# 安装git子模块 +git submodule init +# 拉去子模块代码,拉完需要检测下子模块文件夹中是否有文件(子模块路径:/disk/sunnysports/SunnySports/XLib) +git submodule update +# 切换子模块分支(先切换到主目录,在切换分支,然后拉去代码) +cd /disk/sunnysports/SunnySports/XLib +git checkout main +git pull +# 切换主项目分支(和上面一样) +cd /disk/sunnysports +git checkout main +git pull +# 还原包 +cd /disk/sunnysports/SunnySports +dotnet restore +# 编译项目 +cd /disk/sunnysports/SunnySports +dotnet build +#编译api项目 +cd /disk/sunnysports/SunnySports/1-api/SunnySports.Api +dotnet build +# 运行项目 +cd /disk/sunnysports/SunnySports/1-api/SunnySports.Api +dotnet run +``` + +## 发布项目 +```sh +# 假设项目文件在 /disk/ 目录下(disk文件夹中已经有sunnysports项目文件夹) +# 创建文件夹SunnySportsApi DataGateway +cd /disk/ +mkdir sunnysportsapi +sudo chmod 777 sunnysportsapi +# 发布项目 +cd /disk/sunnysports/SunnySports/1-api/SunnySports.Api +dotnet publish -c Release -o /disk/sunnysportsapi +# 运行项目 +cd /disk/sunnysportsapi +./SunnySports.Api +``` + +## 发布项目 +```sh +# 假设项目文件在 /disk/ 目录下(disk文件夹中已经有sunnysports项目文件夹) +# 创建文件夹SunnySportsApi DataGateway +cd /disk/ +mkdir DataGateway +sudo chmod 777 DataGateway +# 发布项目 +cd /disk/sunnysports/SunnySports/2-service/DataGateway +dotnet publish -c Release -o /disk/DataGateway/ +rsync -avz /disk/DataGateway/ root@192.144.132.25:/disk/ai_sports/DataGateway/ +# 运行项目 /disk/DataGateway/NLog.config +cd /disk/sunnysportsapi +./SunnySports.Api +``` + + +dotnet publish -c Release -o /disk/DataGateway + +## 同步项目 +```sh +# 安装文件同步工具 +sudo apt-get install rsync +#同步文件 +rsync -avz /disk/sunnysportsapi/ root@192.168.1.229:/disk/ai_sports/sunnysportsapi +rsync -avz /disk/sunnysportsapi/ root@192.144.132.25:/disk/ai_sports/sunnysportsapi +# http://192.144.132.25/ +# ssh -p 22 root@192.144.132.25 +# 192.168.1.229,服务器密码:Itvgame2020@!$# +``` + +sudo systemctl stop pray-api.service + +rsync -avz /disk/PrayForBlessingsApi ubuntu@1.117.87.77:/disk/prayforblessingsapi +dbt@com@1234 +## 创建linux 服务 +```sh +# 你需要创建一个systemd服务单元文件。这个文件描述了如何启动、停止和重启你的程序。你可以在/etc/systemd/system/目录下创建一个新的.service文件,比如your_program.service + cd /etc/systemd/system/ + # 创建文件 + sudo nano sunny-sports-api.service + #粘贴内容 +[Unit] +Description=sunny-sports-api +After=network.target +[Service] +# 运行 设置环境变量 +#指定服务的工作目录 +WorkingDirectory=/disk/ai_sports/sunnysportsapi +# run +ExecStart=/disk/ai_sports/sunnysportsapi/SunnySports.Api +SyslogIdentifier=SunnySportsApi +User=root +# 打开资源限制infinity 默认会到65535 +LimitNOFILE=1048576 +LimitNPROC=infinity +LimitCORE=infinity +# 自动检查重启,10秒后重启 +Restart=always +RestartSec=10 +[Install] +WantedBy=multi-user.target + +#刷新服务 +sudo systemctl daemon-reload +# 启动服务 +sudo systemctl start sunny-sports-api.service +sudo systemctl start data-gateway.service +# 检测服务状态 +sudo systemctl status sunny-sports-api.service +# 设置开机启动 +sudo systemctl enable sunny-sports-api.service +sudo systemctl enable data-gateway.service +# 关闭服务 +sudo systemctl stop sunny-sports-api.service +sudo systemctl stop data-gateway.service +# 关闭开机启动 +sudo systemctl disable sunny-sports-api.service +# 重新启动服务 +sudo systemctl restart sunny-sports-api.service +sudo systemctl restart data-gateway.service +# 发布 +cd /disk/sunnysports/SunnySports/;make build-release-229 +cd /disk/sunnysports/SunnySports/;make build-release-25 + +``` +sudo systemctl restart data-gateway.service +## 更新项目 +```sh +# 先将检测服务状态,如果服务启动,先停止服务 +sudo systemctl status sunny-sports-api.service +# 停止服务 +sudo systemctl stop sunny-sports-api.service +sudo systemctl stop sunny-sports-api.service +# 同步文件 +rsync -avz /disk/sunnysportsapi/ root@192.168.1.229:/disk/ai_sports/sunnysportsapi +# 开启服务 +sudo systemctl start sunny-sports-api.service +# 检测服务状态 +sudo systemctl status sunny-sports-api.service + +sudo systemctl restart sunny-sports-api.service +``` + + +## 配置项 +```sh +# 配置学生人脸存放地址 +\\\\\\\\\\ +"StudentConfig":{ + # 存放学生人脸的路径 + "StudentFacePath": "./StudentFace/", +} +``` + + +## 接口乱码 + +```sh +LANG=en_US.UTF-8 +LANGUAGE= +LC_CTYPE="en_US.UTF-8" +LC_NUMERIC="en_US.UTF-8" +LC_TIME="en_US.UTF-8" +LC_COLLATE="en_US.UTF-8" +LC_MONETARY="en_US.UTF-8" +LC_MESSAGES="en_US.UTF-8" +LC_PAPER="en_US.UTF-8" +LC_NAME="en_US.UTF-8" +LC_ADDRESS="en_US.UTF-8" +LC_TELEPHONE="en_US.UTF-8" +LC_MEASUREMENT="en_US.UTF-8" +LC_IDENTIFICATION="en_US.UTF-8" +LC_ALL= + + +LANG=zh_CN.UTF-8 +LANGUAGE= +LC_CTYPE="zh_CN.UTF-8" +LC_NUMERIC="zh_CN.UTF-8" +LC_TIME="zh_CN.UTF-8" +LC_COLLATE="zh_CN.UTF-8" +LC_MONETARY="zh_CN.UTF-8" +LC_MESSAGES="zh_CN.UTF-8" +LC_PAPER="zh_CN.UTF-8" +LC_NAME="zh_CN.UTF-8" +LC_ADDRESS="zh_CN.UTF-8" +LC_TELEPHONE="zh_CN.UTF-8" +LC_MEASUREMENT="zh_CN.UTF-8" +LC_IDENTIFICATION="zh_CN.UTF-8" +LC_ALL= + +``` + + + + +## make 发布命令 +```sh +# 229服务器 +数据网关 ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-data-loca" +api ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-api-loca" +前端 ssh root@192.168.1.229 "cd /disk/work/sj_git/systemadmin/;make build-test" + +# 25服务器 +数据网关 ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-data" +api ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-api" +前端 ssh root@192.168.1.229 "cd /disk/work/sj_git/systemadmin/;make build" +ssh root@192.168.1.229 "cd /disk/work/sj_git/sunnysports/;make build-api-all" +ssh root@192.168.1.229 "cd /disk/work/sj_git/systemadmin/;make build-r" + +D:\办公软件\HBuilderX\cli.exe cli publish --platform h5 --project SunnySportsStudent + +```` + diff --git a/文档/服务器文档/api-1.md b/文档/服务器文档/api-1.md new file mode 100644 index 0000000..19c76d8 --- /dev/null +++ b/文档/服务器文档/api-1.md @@ -0,0 +1,2 @@ +1. [网络地址](https://api.zpc-xy.com/) +2. IP: 101.43.1.207 \ No newline at end of file diff --git a/文档/部署/baget/baget.service b/文档/部署/baget/baget.service new file mode 100644 index 0000000..2acd7d1 --- /dev/null +++ b/文档/部署/baget/baget.service @@ -0,0 +1,40 @@ +[Unit] +Description=BaGet NuGet Server +After=network.target + +[Service] +WorkingDirectory=/disk/BaGet/net8.0/ +ExecStart=/disk/BaGet/net8.0/BaGet +Restart=always +# 如果网络服务崩溃,请在10秒钟后重新启动服务: +RestartSec=10 +SyslogIdentifier=baget +User=root + +[Install] +WantedBy=multi-user.target + + + +[Unit] +Description=sunny-sports-api +After=network.target +[Service] +# 运行 设置环境变量 +#指定服务的工作目录 +WorkingDirectory=/disk/BaGet/net8.0 +# run +ExecStart=/disk/BaGet/net8.0/BaGet +SyslogIdentifier=baget +User=root +# 打开资源限制infinity 默认会到65535 +LimitNOFILE=1048576 +LimitNPROC=infinity +LimitCORE=infinity +# 自动检查重启,10秒后重启 +Restart=always +RestartSec=10 +[Install] +WantedBy=multi-user.target + + diff --git a/文档/部署/baget/部署文档.md b/文档/部署/baget/部署文档.md new file mode 100644 index 0000000..db1e298 --- /dev/null +++ b/文档/部署/baget/部署文档.md @@ -0,0 +1,25 @@ +## 服务文件 +/etc/systemd/system/baget.service +```sh +sudo nano /etc/systemd/system/baget.service +sudo systemctl daemon-reload +sudo systemctl start baget +sudo systemctl enable baget +sudo systemctl status baget +sudo systemctl stop baget +``` +## 发布命令 +```sh +# /disk/BaGet/src/BaGet$ + dotnet publish -c Release -o /disk/BaGetApi/ +``` + +## 同步命令 +```sh +rsync -avz /disk/BaGetApi/ ubuntu@123.207.203.228:/disk/BaGet/net8.0/ +``` +## 上传 +```sh +dotnet nuget push XLib.NetCore.Utility.1.0.0.nupkg --source "http://123.207.203.228:91/v3/index.json" --api-key "066f010d59" + +```