Поскольку мы знаем формат, который mongodb использует для создания нового ObjectId с 12 байтами.
Пример (я выбираю случайную последовательность) a1b2c3d4e5f6g7h8i9j1k2l3
Поскольку счетчик будет уникальным, если мы будем хранить данные на одной машине, мы можем получить его без каких-либо сомнений, что он будет дублироваться.
Таким образом, короткий URL-адрес будет счетчик , и вот фрагмент кода, предполагающий, что ваш сервер работает правильно.
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// create a schema
const shortUrl = new Schema({
long_url: { type: String, required: true },
short_url: { type: String, required: true, unique: true },
});
const ShortUrl = mongoose.model('ShortUrl', shortUrl);
//The user can request to get a short URL by providing a long URL using a form
app.post('/shorten', function(req ,res){
//create a new shortUrl*/
//the submit form has an input with longURL as its name attribute.
const longUrl = req.body["longURL"];
const newUrl = ShortUrl({
long_url : longUrl,
short_url : "",
});
const shortUrl = newUrl._id.toString().slice(-6);
newUrl.short_url = shortUrl;
console.log(newUrl);
newUrl.save(function(err){
console.log("the new url is added");
})
});
Вы можете реализовать свой собственный визуальный джойстик, используя функции обратного вызова unity new , такие как OnBeginDrag
OnDrag
и OnEndDrag
. Существует уже сделанный пакет Visual Joystick для Unity, поэтому реализовать его можно, как изобретать колесо.
Все, что вам нужно сделать, это импортировать пакет CrossPlatformInputManager
из Unity's UnityStandardAssets , затем используйте CrossPlatformInputManager.GetAxis("Horizontal")
и CrossPlatformInputManager.GetAxisRaw("Horizontal")
, чтобы прочитать направление изображения / большого пальца.
Чтобы сделать это с нуля, вы можете передать этот учебник видео .