Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
N
Neos-rs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Neos-rs
Commits
09ee5611
Commit
09ee5611
authored
Dec 24, 2022
by
Chunchi Che
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Merge branch 'optimize/service/strings' into 'main'"
This reverts merge request
!7
parent
c9739a80
Pipeline
#18818
passed with stages
in 5 minutes and 38 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
8 additions
and
47 deletions
+8
-47
src/service/cards/db/model.rs
src/service/cards/db/model.rs
+2
-26
src/service/cards/mod.rs
src/service/cards/mod.rs
+1
-1
src/service/mod.rs
src/service/mod.rs
+1
-2
src/service/strings.rs
src/service/strings.rs
+4
-18
No files found.
src/service/cards/db/model.rs
View file @
09ee5611
use
diesel_derives
::
Queryable
;
#[derive(serde::Serialize,
serde::Deserialize,
Queryable,
Clone,
Debug,
Default,
PartialEq,
Eq)]
#[derive(serde::Serialize,
Queryable,
Clone,
Debug,
Default,
PartialEq,
Eq)]
#[diesel(table_name
=
datas)]
pub
struct
CardDatas
{
pub
id
:
i64
,
...
...
@@ -17,7 +17,7 @@ pub struct CardDatas {
}
// TODO: 这里字段应该命名得更清晰一点
#[derive(serde::Serialize,
serde::Deserialize,
Queryable,
Clone,
Debug,
Default,
PartialEq,
Eq)]
#[derive(serde::Serialize,
Queryable,
Clone,
Debug,
Default,
PartialEq,
Eq)]
#[diesel(table_name
=
texts)]
pub
struct
CardTexts
{
pub
id
:
i64
,
...
...
@@ -40,27 +40,3 @@ pub struct CardTexts {
pub
str15
:
Option
<
String
>
,
pub
str16
:
Option
<
String
>
,
}
impl
CardTexts
{
pub
fn
get_str_by_offset
(
&
self
,
offset
:
usize
)
->
Option
<
String
>
{
match
offset
{
1
=>
self
.str1
.to_owned
(),
2
=>
self
.str2
.to_owned
(),
3
=>
self
.str3
.to_owned
(),
4
=>
self
.str4
.to_owned
(),
5
=>
self
.str5
.to_owned
(),
6
=>
self
.str6
.to_owned
(),
7
=>
self
.str7
.to_owned
(),
8
=>
self
.str8
.to_owned
(),
9
=>
self
.str9
.to_owned
(),
10
=>
self
.str10
.to_owned
(),
11
=>
self
.str11
.to_owned
(),
12
=>
self
.str12
.to_owned
(),
13
=>
self
.str13
.to_owned
(),
14
=>
self
.str14
.to_owned
(),
15
=>
self
.str15
.to_owned
(),
16
=>
self
.str16
.to_owned
(),
_
=>
None
,
}
}
}
src/service/cards/mod.rs
View file @
09ee5611
...
...
@@ -36,7 +36,7 @@ pub fn service(param: String) -> String {
}
}
#[derive(serde::Serialize,
serde::Deserialize,
Default,
Debug)]
#[derive(serde::Serialize,
Default,
Debug)]
pub
struct
CardMeta
{
pub
id
:
i64
,
pub
data
:
db
::
CardDatas
,
...
...
src/service/mod.rs
View file @
09ee5611
//! TODO: 这里应该做依赖注入来实现服务之间调用
mod
cards
;
mod
deck
;
mod
strings
;
pub
use
cards
::
{
service
as
cards_service
,
CardMeta
}
;
pub
use
cards
::
service
as
cards_service
;
pub
use
deck
::
service
as
deck_service
;
pub
use
strings
::{
service_maker
as
strings_service
,
strings_conf_reader
};
src/service/strings.rs
View file @
09ee5611
use
super
::{
cards_service
,
CardMeta
};
use
std
::{
collections
::
HashMap
,
fs
::
File
,
...
...
@@ -15,23 +14,10 @@ pub fn service_maker(strings_manager: StringsManager) -> impl Fn(String) -> Stri
let
(
r
#
type
,
code
)
=
param
.split_once
(
'_'
)
.unwrap_or_default
();
let
code
=
code
.parse
::
<
i64
>
()
.unwrap_or_default
();
if
r
#
type
==
"!card"
{
let
card_code
=
(
code
>>
4
)
&
0x0fffffff
;
let
offset
=
code
&
0xf
;
let
card
=
serde_json
::
from_str
::
<
CardMeta
>
(
cards_service
(
card_code
.to_string
())
.as_str
())
.unwrap_or_default
();
card
.text
.get_str_by_offset
(
offset
as
usize
)
.unwrap_or_default
()
}
else
{
strings_manager
.get
(
r
#
type
)
.map_or
(
Some
(
""
.to_string
()),
|
hash
|
hash
.get
(
&
code
)
.cloned
())
.unwrap_or_default
()
}
strings_manager
.get
(
r
#
type
)
.map_or
(
Some
(
""
.to_string
()),
|
hash
|
hash
.get
(
&
code
)
.cloned
())
.unwrap_or_default
()
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment