init
This commit is contained in:
34
app/backend-cangjie/cjpm.toml
Normal file
34
app/backend-cangjie/cjpm.toml
Normal file
@@ -0,0 +1,34 @@
|
||||
[package]
|
||||
cjc-version = "1.0.0"
|
||||
name = "mossAi"
|
||||
description = "nothing here"
|
||||
version = "1.0.0"
|
||||
target-dir = "dist"
|
||||
src-dir = "src"
|
||||
output-type = "executable"
|
||||
compile-option = ""
|
||||
override-compile-option = ""
|
||||
link-option = ""
|
||||
package-configuration = { }
|
||||
|
||||
[dependencies]
|
||||
mysql = {git = "https://gitcode.com/Cangjie-SIG/mysql-driver.git", branch="master"}
|
||||
httpclient4cj = {git = "https://gitcode.com/Cangjie-TPC/httpclient4cj.git", branch="develop"}
|
||||
|
||||
[target]
|
||||
[target.aarch64-linux-ohos]
|
||||
compile-option = "-B \"${DEVECO_CANGJIE_HOME}/compiler/third_party/llvm/bin\" -B \"${DEVECO_CANGJIE_HOME}/musl/usr/lib/aarch64-linux-ohos\" -L \"${DEVECO_CANGJIE_HOME}/musl/usr/lib/aarch64-linux-ohos\" -L \"${DEVECO_CANGJIE_HOME}/build/linux_ohos_aarch64_llvm/openssl\" --sysroot \"${DEVECO_CANGJIE_HOME}/musl\""
|
||||
[target.aarch64-linux-ohos.bin-dependencies]
|
||||
path-option = [ "${AARCH64_LIBS}", "${AARCH64_MACRO_LIBS}", "${AARCH64_KIT_LIBS}" ]
|
||||
[target.aarch64-linux-ohos.bin-dependencies.package-option]
|
||||
[target.x86_64-linux-ohos]
|
||||
compile-option = "-B \"${DEVECO_CANGJIE_HOME}/compiler/third_party/llvm/bin\" -B \"${DEVECO_CANGJIE_HOME}/musl/usr/lib/x86_64-linux-ohos\" -L \"${DEVECO_CANGJIE_HOME}/musl/usr/lib/x86_64-linux-ohos\" -L \"${DEVECO_CANGJIE_HOME}/build/linux_ohos_x86_64_llvm/openssl\" --sysroot \"${DEVECO_CANGJIE_HOME}/musl\""
|
||||
[target.x86_64-linux-ohos.bin-dependencies]
|
||||
path-option = [ "${X86_64_OHOS_LIBS}", "${X86_64_OHOS_MACRO_LIBS}", "${X86_64_OHOS_KIT_LIBS}" ]
|
||||
[target.x86_64-unknown-windows-gnu]
|
||||
[target.x86_64-unknown-windows-gnu.bin-dependencies]
|
||||
path-option = [ "${X86_64_LIBS}", "${X86_64_MACRO_LIBS}" ]
|
||||
[target.x86_64-unknown-windows-gnu.bin-dependencies.package-option]
|
||||
[target.x86_64-w64-mingw32]
|
||||
[target.x86_64-w64-mingw32.bin-dependencies]
|
||||
path-option = ["D:\\cangjie\\modules\\windows_x86_64_llvm\\stdx\\dynamic\\stdx"]
|
||||
0
app/backend-cangjie/data/user.sql
Normal file
0
app/backend-cangjie/data/user.sql
Normal file
46
app/backend-cangjie/src/database/default.cj
Normal file
46
app/backend-cangjie/src/database/default.cj
Normal file
@@ -0,0 +1,46 @@
|
||||
package mossAi.database
|
||||
|
||||
import std.time.*
|
||||
import std.math.numeric.*
|
||||
import std.database.sql.*
|
||||
import mysql.cdbc.*
|
||||
|
||||
public func useSql(): Unit {
|
||||
var driver = DriverManager.getDriver("mysql").getOrThrow()
|
||||
var property1 = ("username", "root")
|
||||
var property2 = ("password", "123456")
|
||||
var property3 = ("database", "Test")
|
||||
var property4 = ("host", "192.168.110.129")
|
||||
var property5 = ("port", "13306")
|
||||
var dataSource = driver.open("mysql://192.168.110.129", [property1, property2, property3,property4,property5])
|
||||
var connection = dataSource.connect()
|
||||
// 插入
|
||||
var statemnt_INsert = connection.prepareStatement("insert into simple values (?, ?, ?, ?, ?, ?, ?, ?)")
|
||||
statemnt_INsert.set(1, 100)
|
||||
statemnt_INsert.set(2, "MySQL")
|
||||
statemnt_INsert.setNull(3)
|
||||
statemnt_INsert.set(4, 123.456789)
|
||||
statemnt_INsert.set(5, Decimal.parse("1.234567"))
|
||||
statemnt_INsert.set(6, DateTime.now())
|
||||
statemnt_INsert.set(7, DateTime.now())
|
||||
statemnt_INsert.set(8, DateTime.now())
|
||||
var result_INsert = statemnt_INsert.update()
|
||||
|
||||
println("effect row: ${result_INsert.rowCount} lastInsertId: ${result_INsert.lastInsertId}")
|
||||
|
||||
|
||||
// 查询
|
||||
var statemnt = connection.prepareStatement("select * from simple")
|
||||
var result = statemnt.query()
|
||||
while (result.next()) {
|
||||
result.get<UInt64>(1) |> println
|
||||
result.getOrNull<String>(2) |> println
|
||||
result.getOrNull<Int32>(3) |> println
|
||||
result.getOrNull<Float64>(4) |> println
|
||||
result.getOrNull<Decimal>(5) |> println
|
||||
result.getOrNull<DateTime>(6) |> println
|
||||
result.getOrNull<DateTime>(7) |> println
|
||||
result.getOrNull<DateTime>(8) |> println
|
||||
}
|
||||
|
||||
}
|
||||
8
app/backend-cangjie/src/main.cj
Normal file
8
app/backend-cangjie/src/main.cj
Normal file
@@ -0,0 +1,8 @@
|
||||
package mossAi
|
||||
|
||||
import mossAi.server.startServer
|
||||
import mossAi.database.useSql
|
||||
main() {
|
||||
useSql()
|
||||
startServer()
|
||||
}
|
||||
17
app/backend-cangjie/src/server/api/chat.cj
Normal file
17
app/backend-cangjie/src/server/api/chat.cj
Normal file
@@ -0,0 +1,17 @@
|
||||
package mossAi.server.api
|
||||
|
||||
import stdx.encoding.json.*
|
||||
import stdx.net.http.*
|
||||
import std.collection.HashMap
|
||||
|
||||
|
||||
protected func chat(httpContext: HttpContext): Unit {
|
||||
let responseData = HashMap<String, JsonValue>()
|
||||
responseData.add("name", JsonString("张三"))
|
||||
responseData.add("age", JsonInt(15))
|
||||
|
||||
let jsonString = JsonObject(responseData).toString() // 将JsonObject转为字符串
|
||||
let jsonBytes = jsonString // 将字符串转为UTF-8字节数组
|
||||
|
||||
httpContext.responseBuilder.header("Content-Type", "application/json").body(jsonBytes) // 传入字节数组
|
||||
}
|
||||
1
app/backend-cangjie/src/server/api/seeting.cj
Normal file
1
app/backend-cangjie/src/server/api/seeting.cj
Normal file
@@ -0,0 +1 @@
|
||||
package mossAi.server.api
|
||||
16
app/backend-cangjie/src/server/api/test.cj
Normal file
16
app/backend-cangjie/src/server/api/test.cj
Normal file
@@ -0,0 +1,16 @@
|
||||
package mossAi.server.api
|
||||
|
||||
import stdx.encoding.json.*
|
||||
import stdx.net.http.*
|
||||
import std.collection.HashMap
|
||||
|
||||
protected func hello(httpContext: HttpContext): Unit {
|
||||
let responseData = HashMap<String, JsonValue>()
|
||||
responseData.add("name", JsonString("张三"))
|
||||
responseData.add("age", JsonInt(15))
|
||||
|
||||
let jsonString = JsonObject(responseData).toString() // 将JsonObject转为字符串
|
||||
let jsonBytes = jsonString // 将字符串转为UTF-8字节数组
|
||||
|
||||
httpContext.responseBuilder.header("Content-Type", "application/json").body(jsonBytes) // 传入字节数组
|
||||
}
|
||||
20
app/backend-cangjie/src/server/default.cj
Normal file
20
app/backend-cangjie/src/server/default.cj
Normal file
@@ -0,0 +1,20 @@
|
||||
package mossAi.server
|
||||
|
||||
import stdx.net.http.*
|
||||
import std.time.*
|
||||
import std.sync.*
|
||||
import stdx.log.*
|
||||
import stdx.encoding.json.*
|
||||
import std.collection.HashMap
|
||||
import mossAi.server.api.*
|
||||
|
||||
let server = ServerBuilder().addr("127.0.0.1").port(2100).build()
|
||||
|
||||
public func startServer(): Unit {
|
||||
server.distributor.register("/hello", hello)
|
||||
server.distributor.register("/api/chat", chat)
|
||||
|
||||
server.logger.level = LogLevel.ALL
|
||||
|
||||
server.serve()
|
||||
}
|
||||
9
app/backend-cangjie/src/tools/connect.cj
Normal file
9
app/backend-cangjie/src/tools/connect.cj
Normal file
@@ -0,0 +1,9 @@
|
||||
package mossAi.tools
|
||||
|
||||
import stdx.net.http.*
|
||||
|
||||
// public func getServetImp():Server{
|
||||
// return server;
|
||||
// }
|
||||
|
||||
public class MossAiServer {}
|
||||
1
app/backend-cangjie/src/tools/message.cj
Normal file
1
app/backend-cangjie/src/tools/message.cj
Normal file
@@ -0,0 +1 @@
|
||||
package mossAi.tools
|
||||
Reference in New Issue
Block a user